RS232接頭有DB9和DB25兩種規格,目前常見的是DB9的部分,它的標準工作電壓為正負15伏特,其中負電壓(可感應範圍約在-3V至-15V)的部分是表示數位訊號的1,正電壓則為0,至於0V左右的訊號則為Dead Area,是為了避免雜訊的干擾。若使用到的模組是使用TTL準位(0-5V),則需要再經由準位轉換IC,例如HIN232、MAX232等。相關的電路可以在Datasheet上找尋到:
圖:HIN232範例電路(擷取至HIN232 Datasheet)
一顆16PIN腳的轉換IC可以提供我們兩組輸出、兩組輸入的轉換,可以幫助硬體交握(Handshaking)。硬體交握,這是什麼東西呢?在DB9上面可以看到除了輸出(TX,PIN3)、輸入(RX,PIN2)外還有所謂DTR、RTS、DSR等,他們的全名如下:
PIN | 名稱 | 全名 | 方向 | 裝置端 |
4 | DTR | Data Terminal Ready | OUT | Raised by DTE |
6 | DSR | Data Set Ready | IN | Raised by DCE |
7 | RTS | Request To Send | OUT | from DCE |
8 | CTS | Clear To Send | IN | from DTE |
P.S. DTE = Data Terminal Equipment(例如電腦),
DCE = Data communications Equipment(例如數據機)
會有這些硬體交握的設定在於為了避免一些資料傳輸上的漏失,雙方會先傳達訊號告知準備傳送或接收。直到對方回應訊號後,才可以真正開始訊息交換。這樣的方式常見於電腦和數據機的溝通。請注意,這邊的腳位是以電腦端為主,因此如果今天是設備端的腳位設定時,PIN3為RX、PIN2則為TX,因此電腦與設備的連結不需要跳線(PIN2、3交換),但如果是設備和設備或是電腦和電腦之間相連結,則需要跳線。
現在有些RS232模組則簡化成只使用PIN2(RX)、PIN3(TX)和PIN5(GND)三線式的方式。這樣使用起來會比較方便,例如想要跟單晶片做結合時,使需要三隻腳位的使用,不用再為了交握的動作而多佔接腳。如果要使用的模組需要這樣的硬體交握的通訊方式,卻不想接腳功能被佔用的時候又該怎麼辦呢?
這邊提供兩種方式:
<I>
前面我們有提到HIN232這種準位IC有提供兩組輸出入的轉換,一組用於資料傳輸,而另一組可以用來通知設備相關的訊號。由上表來看,設備端需要接收到第4和第7兩隻腳位的訊號後,就可以準備接收資料,那第6和第8呢?因為這兩隻腳對於設備是輸出端,空接並不會影響設備的運作。瞭解這樣的運作原理後,我們可以送一個高電位的訊號給第4、7隻接腳,這邊當然不用用到單晶片的腳位,我們只需接到一個5V的電源即可,這樣就可以模擬成三線式的溝通方式了。
PIN4、7給假訊號的部分範例圖
<II>
第二種方式更偷懶了,我們只需要將第4跟第6隻腳短路,和第7和第8隻腳短路,這樣就完成了,夠簡單吧!
PIN4、6,PIN7、8短路範例圖
這邊有些網址內的參考資料還不錯:
請問一下,市面上買到的RS232 25公-->9母的跳線方式是不是跟CNC跳線方式不同??感恩^^
回覆刪除