RS232串列埠硬體引腳說明

2021-08-26 13:16:38 字數 2777 閱讀 2456

引言

在pc機的主機板上,有一種型別的介面可能為我們所忽視,那就是rs-232c序列介面,在微軟的windows系統中稱其為com。我們可以通過裝置管理器來檢視com的硬體引數設定,如圖1。

圖1 在windows上檢視pc串列埠設定

迄今為止,幾乎每一台pc都包含com。本質而言,com是pc為和外界通訊所提供的一種序列資料傳輸的介面。作為一種物理通訊的途徑和裝置,它和目前風靡的另一種序列介面――usb所提供的功能是一致的。不過rs-232c顯然已經開始被後起之秀usb趕超,因為usb的傳輸速率已經遠遠超過了rs-232c。

儘管如此,rs-232c仍然具有非常廣泛的應用,在相對長的一段時間裡,難以被usb等介面取代。rs-232c介面(又稱eia rs-232c),2023年由美國電子工業協會(eia)聯合貝爾系統、數據機廠家及計算機終端生產廠家共同制定,全名是"資料終端裝置(dte)和資料通訊裝置(dce)之間序列二進位制資料交換接**術標準"。

本文將對這一介面進行硬體原理的介紹,隨後我們將逐章學習dos平台的串列埠程式設計,及windows平台下基於api、控制項和第三方類的串列埠程式設計,最後本文將給出乙個綜合例項。

硬體原理

眾所周知,cpu與儲存晶元和i/o晶元的通訊是並行的(並行傳輸的最大位數依賴於cpu的字長、資料匯流排的寬度),一種叫做uart(通用非同步收發器,universal asynchronous receiver/transmitter)的晶元提供了並行資料傳輸和rs-232c序列資料傳輸方式的轉換。這樣的裝置通常有如圖2所示的管腳分布,當其向外傳輸資料時,cpu並行的將資料寫入這類晶元的暫存器,uart再將暫存器中的資料一位一位地移動並向外傳輸;當外界向其傳輸資料時,uart一位一位地接收資料,並將其移位組合為並行資料,cpu再並行地讀取這些資料。實際上,由於uart晶元一般以ttl/cmos電平工作,在uart連線介面之前,還要經過乙個ttl/cmos和rs-232c電平的轉換。rs-232c規定了其標準的電氣特性,邏輯1對應的電壓必須在-5~-15v之間;邏輯0對應的的電壓必須在+5~+15v之間。

圖2 uart並/串轉換

乙個常見的ttl/cmos和rs-232c電平轉換晶元如圖3。

圖3 常見的ttl/cmos和rs-232c電平轉換晶元

rs-232c通常以兩類接外掛程式與外界相連,分別稱為db9和db25,如圖4所示。

圖4 db9和db25

而接外掛程式中各個針的定義則如表1:

表1 db9和db25引腳定義

db9

db25

針號功能說明

縮寫針號

功能說明縮寫1

資料載波檢測

dcd8

資料載波檢測

dcd2

接收資料

rxd3

接收資料

rxd3

傳送資料

txd2

傳送資料

txd4

資料終端準備

dtr20

資料終端準備

dtr5

訊號地gnd

7訊號地

gnd6

資料裝置準備好

dsr6

資料準備好

dsr7

請求傳送

rts4

請求傳送

rts8

清除傳送

cts5

清除傳送

cts9

振鈴指示

dell

22振鈴指示

dell

rs-232c定義為資料通訊裝置(dce)和資料終端裝置(dte)之間的互連,實現上,到現在為止,究竟乙個裝置屬於dce還是屬於dte已經沒有明顯的界限,pc即可作為dce,又可作為dte。兩串口互連,連線方法主要有二:

一種方法是,資料的傳送和接收由軟體控制,不進行硬體握手,其連線方法如圖5(最常用db9連線示意)和表2(db9、db25三線連線表),真正需要互相連線的是rxd、txd和gnd;

圖5 無硬體握手時兩串口連線

表2 db9、db25三線連線

9針-9針

5針-25針

2 9針-25針

233222

3223

3355

7757

軟體握手又稱為xon/xoff,通常以ctrl-s(0x13)和ctrl-q(0x11)兩個字元來實現流控制。前者用於請求對方暫停傳送,後者用於清除暫停傳送的請求,繼續傳送資料。

另一種方法是,資料的傳送和接收由硬體控制,進行硬體握手,其連線方法如圖6(最常用db9連線示意),需要連線的訊號除rxd、txd和gnd外,還包括dtr、dsr、rts和cts。

硬體握手依賴於rts和cts訊號,當傳送裝置欲傳送資料時,將rts訊號置為有效表示請求傳送,接收裝置準備好後,置cts訊號有效,接著傳送裝置通過訊號線txd開始傳送序列資料。

這裡我們聯想開來,rts/cts模式在許多領域裡都出現過。回憶一下ieee 802.11無線區域網協議標準,在其mac協議中就使用了rts/cts,rts/cts抽象開來就是一種請求/應答。筆者曾經在拙作中多次以例項論證計算機領域裡許多知識的相通性,這又是乙個明證。

圖6 有硬體握手時兩串口連線

實際上,目前我們經常使用的是方法一,即只連線rxd、txd和gnd,簡單靈活。另外,串列埠之間互連還有諸多途徑,如圖7所示。

圖7 其它互連方式

學習筆記:

db9串列埠引腳2、3、4、5、6、7、8七個引腳是有用的。2表示傳送;3表示接收;4表示裝置終端準備好;5表示地;6表示裝置資料準備好;7表示傳送命令;8表示清除傳送命令。

rs232表示的資料根據協議是(-5)——(-15)表示1;(+5)——(+15)表示0。

RS 232串列埠介紹

串列埠介紹 序列介面 serial inte ce 是指資料一位一位地順序傳送,其特點是 通訊線路 簡單,只要一對 傳輸線就可以實現雙向通訊 可以直接利用 線作為傳輸線 從而大大降低了成本,特別適用於遠距離通訊,但傳送速度較慢。序列介面 一條資訊的各位資料被逐位按順序傳送的通訊方式稱為 序列通訊。序...

RS232串列埠介紹

通訊過程中只有兩個腳參與通訊 2腳 電腦的輸入rxd 3腳 電腦的輸出txd 通過2 3 腳就可以實現全雙工 可同時收發 的序列非同步 通訊 5腳 接地 連線2 3 5三個引腳即可進行通訊。微控制器的電平標準 ttl電平 5v 3.3v 表示1 0v表示0 rs232的電平標準 15 13 v表示1...

RS232串列埠通訊詳解

rs232串列埠通訊詳解 引腳定義,電氣特性,傳輸格式,接收過程,微控制器晶振,rs485,rs422 轉 2010 03 13 15 47 串列埠是計算機上一種非常通用的裝置通訊協議。串列埠的引腳定義 9芯訊號方向來自 縮寫描述 1數據機 cd載波檢測 2數據機 rxd接收資料3pc txd傳送資...