PIC la PIC interfaţare prin RS485

F

fuzzzy

Guest
Salut,

Am încercat să vă conectaţi 2 PIC16f876 prin rs485 folosind SN75176 transceiver.Aş dori să utilizaţi o jumătate de duplex de configurare, asa ca am de control şi RE DE PINS impreuna cu Port C5 thata este întotdeauna 0 (primesc).Acesta va fi stabilit înainte de 1 şi transimitting apoi revine la 0.
Eu folosesc PINS C6 şi C7 să primească şi să transmită date.

Am unele probleme în comunication.After o mulţime de încercare de mi-am dat seama că atunci când un PIC transimts date, se pare ca le-a primit ceea ce le-a transmis acest lucru şi va completa primirea tampon.astfel încât transimitting pic primeşte acelaşi datelor pe care le trimite.şi în cazul în care alte pic tryes pentru a trimite date primul pic nu poate decoda date.

Am încercat toate configurare sugerat în datasheet pentru a elimina o prejudecată, cu 120 de ohm rezistenţe şi aşa mai departe, dar e la fel.aşa că ar trebui să excludă probleme pe linie.

Ce se va încerca să vă sugerăm?Cum pot rezolva aceasta problema?

mulţumesc!

Ps am programul meu PIC folosind CSC C

 
Se pare ca ai avea ecou problema.
Ce ar trebui să încercaţi să trimiteţi prima este o propoziţie (comandă) şi în această perioadă de timp, nu permit nimic pentru a fi citite de către primul PIC.După transmiterea într-o singură direcţie este completat aştepta răspunsul de la alte PIC ..

 
Dacă citiţi datasheets pentru SN75176 şi PIC16f876 veţi găsi că
receptor de SN75176 are un minim VOH de 2.7V şi RC7 PIN-ul de la
PIC a VIH minim de 0.8VDD = 4V (în acest caz).

Evident, chips-uri nu sunt compatibile electric, aşa că ar trebui să înceapă prin stabilirea
această problemă.

/ Rambo

 
Problema este că nu vă dezactiva Recepţie pe 75176 în timpul transmiterea.Verificaţi nivelurile de logică şi de pe RE DE PINS în timpul transmiterea.Uita-te cu un osciloscope la Rx PIN de 75176 în timpul transmiterea (RE PIN-ul la nivel înalt).Tu ar trebui să aibă un nivel ridicat constant de pe acest PIN.

 
hi fuzzzi,

de "problemă" pe care o vedem este normal cu RS485, dacă nu vă dezactivăm receibver ca marie65 wrote întotdeauna vă va primi, de asemenea, ceea ce se transmite

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Zâmbi" border="0" />Pe măsură ce programul de la CSC, puteţi căuta în CSC forum pentru cuvântul cheie RS485 şi veţi găsi o mulţime de informaţii utile, chiar unele sourcecode ca in acest thread:
http://www.ccsinfo.com/forum/viewtopic.php?t=21909&highlight=rs485

sper acest lucru vă va ajuta

 
problema tine fix este ceea ce am presupus.Am tryed o mulţime de soluţii.Am PIN DE RE şi de sn75176 legate toghrter cu codul PIN de C5 de PIC.Am pus manual High PIN C5 şi după transission fix sau după un timp, am pus-o jos manual.dar problema este aceeaşi, de asemenea, în utilizarea # RS232, există o opţiune pentru a controla acest PIN în mod automat de asemenea, în acest caz, problema este la fel!!

atunci când i tryed această configuraţie un un PIC 16f84A nu am avut această problemă!!transission a fost perfect!!codul este aproape la fel!

 
Ei bine, codul PIN, care a 16F84A ai folosi pentru a primi datele?

/ Rambo

 
În conformitate cu 16F84A datasheet portul B are TTL inputuri, adică este compatibil
cu SN75176.electrically

Aceasta este problema cu 16F876 - sale de intrare PIN nu
este electric
compatibile cu SN75176.De "ridicat" nivelul de iesire din SN75176 nu atinge
nivelul minim cerut de tensiune pe PIN C7, astfel încât nivelul de logica este în "interzis"
zonă.De asemenea, de a primi PIN-ul de la SN75176 este pus în mare impedanta Mod de când
receptorul este dezactivată, aşa C7 PIN ar putea fi overhearing de transmisie
pct.a SN75176.

S-ar putea să fie capabil de a trece de problema de a pune o rezistenţă pull-up (1 kΩ sau încercaţi
mai mici), pe de aderenţă C7 de 16F876.

Cu toate acestea, în cazul în care acest design va fi utilizat într-un "mission critical" Am aparat puternic
vă sugerăm să vă redesign compatibil cu chips-uri, sau de un nivel-shifter, altfel
de comunicare ar putea eşua în cazul în care, de exemplu, la temperatura ambiantă, se duce o
cuplu de grade.
Ce se întâmplă dacă un pacient moare din cauza acestui eşec?Cine va tine vina apoi, Texas Instruments?Punctul meu de vedere este: citiţi datasheet - toate./ Rambo

 
Sunt de acord tot ceea ce ai spus despre datasheet de lectură şi de securitate.Acesta este un prototip şi nu pot schimba asta.Am ales această configuraţie, din cauza hardware-ului din acest usart pic.
Evry regim
l-am văzut Evere folosit această două PINS C6 şi C7 pentru serial de comunicare, uneori interfaced cu sn75176 sau max 485.asa ca am presupus asta a fost o soluţie corectă.

Acum am încerca să vedem ce se întâmplă un spirit pullup rezistenţă.

Vă mulţumim pentru sprijin

 
Buna, am reuşit în sfârşit-o!!!se pare un lucru foarte prost acum!!problema a fost de a stabili corect TRISC.Am stabilit TRISC7 = 1 şi totul este ok acum.
meu de doi pic comunica perfect, fără nici o vina!!

 
codul este de lucru?Nu te supara ca să-l împărtăşească afară?Mă duc să utilizeze aceeaşi metodă de comunicare cu tine.

Mulţumesc

 
dacă yo ur cod este de lucru, atunci vă rugăm să-l împărtăşească cu noi

 
fuzzzy a scris:

Buna, am reuşit în sfârşit-o!!!
se pare un lucru foarte prost acum!!
problema a fost de a stabili corect TRISC.
Am stabilit TRISC7 = 1 şi totul este ok acum.

meu de doi pic comunica perfect, fără nici o vina!!
 
funnynypd a scris:fuzzzy a scris:

Buna, am reuşit în sfârşit-o!!!
se pare un lucru foarte prost acum!!
problema a fost de a stabili corect TRISC.
Am stabilit TRISC7 = 1 şi totul este ok acum.

meu de doi pic comunica perfect, fără nici o vina!!
 

Welcome to EDABoard.com

Sponsor

Back
Top