Potrebbe essere più facile da capire se esaminiamo rapidamente come è stato originariamente utilizzato lo standard RS-232.
Nota: tutti i numeri di pin seguenti si riferiscono al connettore D originale a 25 pin; la numerazione è cambiata sul connettore a 9 pin utilizzato sui PC successivi.
sfondo
DTE = Data Terminal Equipment: ai vecchi tempi, si trattava in genere di un terminale o di una stampante o di un'apparecchiatura che emulava quelli.
DCE = Data Communications Equipment: ai vecchi tempi, si trattava in genere di un modem o di un'altra interfaccia WAN.
Il pin 2 sul connettore D originale a 25 pin (descritto nella norma come "Dati trasmessi", "Circuito BA", "V24. Numero 103") dovrebbe essere un dato dal DTE al DCE.
Il pin 3 sul connettore D originale a 25 pin (descritto nella norma come "Dati ricevuti", "Circuito BB", "V24. Numero 104") dovrebbe essere un dato dal DCE al DTE.
Ciò significava che il cavo che collegava un terminale e un modem era "diretto" - il pin 2 su un terminale (DTE) a un'estremità del cavo in cui erano originati i dati, era collegato al pin 2 su un modem (o simile) all'altro estremità del cavo (DCE) dove sono stati ricevuti quei dati. Il modem ha quindi inviato quei dati utilizzando il collegamento di comunicazione, a qualunque apparecchiatura si trovasse all'altra estremità di quel collegamento.
Pin 3 "Dati ricevuti" era il segnale di dati nella direzione opposta, trasmesso dal modem (DCE) sul pin 3 e ricevuto dal terminale (DTE) sul pin 3.
Quindi puoi vedere che l'etichettatura di ciò che è stato trasmesso e ciò che è stato ricevuto, era dal punto di vista del DTE (cioè il terminale). Tutto ciò aveva senso quando le connessioni tipiche erano tra un DCE e un DTE.
Tuttavia, le apparecchiature che stiamo utilizzando in questi giorni (anche quando non usano RS-232 e utilizzano invece un'interfaccia di protocollo UART TTL o altra tensione) sono in genere tutte DTE efficaci (con un'eccezione che sono i modem). Il collegamento del pin 2 (che è un'uscita) su un pezzo di DTE, al pin 2 (un'altra uscita) su un altro apparecchio configurato come DTE, non ha senso (e quando si usano segnali di livello logico, potrebbe persino causare danni all'hardware). È qui che entra in gioco l'uso di cavi "incrociati" o "null modem" (ovvero senza modem).
La tua domanda
Ho lavorato con un dispositivo che utilizza la comunicazione RS232 con un PC. C'è stata una certa confusione in quanto hanno definito i loro pin TX e RX relativi al dispositivo. Nelle loro definizioni usano per indicare che TX è il pin che invia i dati dal dispositivo. Nella mia mente questo dovrebbe essere etichettato RX perché è il pin che riceve il computer.
Come dovrebbero essere definiti i pin? Sono relativi a ciascun dispositivo o relativi al "controller"?
Dalle informazioni di sfondo sopra, puoi vedere che la loro etichettatura è corretta se il loro dispositivo agisce come DTE (che la maggior parte lo è, a meno che non sia un modem o un'altra interfaccia WAN). Su un pezzo di DTE, il perno etichettato "Dati trasmessi" (pin 2 del connettore 25 pin) non invia dati. (E, come spiegato sopra, su un pezzo di DCE (ad esempio un modem) il pin noto come "Dati trasmessi" (pin 2 sul suo connettore a 25 pin) è in realtà un ingresso, che riceve il segnale dal DTE.)
La porta seriale del PC sarà anche configurata come DTE (a meno che non abbia una porta seriale molto insolita - che non si applicherà qui, come sapresti se fosse applicabile).
Pertanto si sta collegando il dispositivo DTE (questo dispositivo che hai menzionato) al dispositivo DTE (il PC), cioè non esiste un DCE nella "terminologia RS-232, cioè nessun modem, e il" null modem "o" incrociato "RS-232 sarà necessario il cablaggio. Qualunque pin sia RS-232 "Dati trasmessi" (probabilmente quello che hai menzionato hanno etichettato come TX) su questo dispositivo DTE, che sarà un'uscita , dovrà essere collegato all'RS-232 "Ricevuto Pin "dati" sul tuo PC (anche un dispositivo DTE), che è un input (e ovviamente viceversa per il trasferimento di dati nell'altra direzione).
Anche se questo non sembra applicarti a te, aggiungerò solo: per rendere la vita più complicata, alcuni produttori cercano di "aiutare" etichettando efficacemente le loro apparecchiature DTE come se fosse un pezzo di DCE. Contrassegnano il loro pin di input dei dati come Tx in modo che l'utente colleghi semplicemente "Tx" dal dispositivo esterno (che, se è DTE, sarà l'output dei dati da lì) al pin contrassegnato "Tx" sulla loro attrezzatura (che sanno che è un input ). Permettendo loro di dire "basta collegare Tx sul tuo dispositivo a Tx sulla nostra attrezzatura". Pensano che stanno cercando di aiutare, ma tale etichettatura spesso aggiunge solo confusione.
Come ha menzionato Dan Mills in un commento, molti di noi che sono cresciuti con RS-232, hanno trascorso ore felici a collegare varie apparecchiature con implementazioni RS-232 leggermente diverse, usando le "breakout box" che ha descritto. Queste scatole breakout hanno LED, che mostrano quali segnali sono attivamente pilotati (questo ti consente rapidamente di vedere se l'apparecchiatura è configurata come DTE o DCE: il pin 2 è guidato su quell'apparecchiatura? Sì = è DTE) e hanno posti in cui il ponticello corto i cavi possono essere utilizzati per collegare i vari pin del connettore.