RS232 Communication
RS-232介面主要工能為提供DTE與DCE之實體連接。
DTE |
Data Terminal Equipment 資料終端設備,指資料的來源端或接收端,e.g. 電腦、工作站。 |
DCE |
Data Communication Equipment 資料通訊設備,指資料通信之間的橋樑,e.g. 數據機(Modem)。 |
DSE |
Data Switching Equipment 資料交換設備,e.g. 電信機房裡的交換機。 |
◎ Communication (通訊傳輸型式)
Serial Communication (序列傳輸) |
將Word或Byte內的字元 (Bit) , 一個接一個依序傳送,一次只傳輸1個位元。 |
Parallel Communication (平行傳輸) |
將整個Word或Byte內的字元在同一時間內傳送,一次傳輸量為8個位元。 |
RS-232、RS-422與RS-485都是串列埠介面的標準,都是由電子工業協會(EIA)所制定的工業標準,可在不同電子/電機產品之間相容,建立通訊。
RS-232 |
為與單晶片之溝通介面,屬於單端工作方式,收/發端的資料信號是相對於「地」的電壓,如果傳輸線是閒置時,傳輸信號(TD)的電壓將是負的,在傳輸當中,電壓將是正負變化的,工作模式為全雙工。最快傳輸速度115Kbps。 |
RS-422 |
由RS-232標準改良發展而來,彌補了RS-232相關的特性不足,如最大傳輸電纜長度由50呎增加到4000呎(約1.2公里)、最大傳輸速率(bit/s)由20K提高到10M …等,改善了通訊距離,傳輸率與串列通訊的功能。 |
RS-485 |
由RS-422為基礎,增加了多點雙向通訊之能力,並可以允許多個接收器與驅動器連接到同一條匯流排上,同時還增加了驅動器的驅動能力和衝突保護特性,突破了只能連接10個裝置的限制,並解決因電器干擾而發生訊號錯誤之狀況,傳輸時先分成正負兩條線路,到達接收端後再將訊號相減還原成原來的訊號,故可避免當參考之地線因雜訊被干擾而產生訊號扭曲,但傳輸時因需用兩條線路故只能達到半雙工模式。 |
USB |
Universal Serial Bus (通用串列匯流排),各邊與集線器最大距離為5公尺,最大的連接設備為127個周邊設備。USB1.0/1.1採用速度高達12M,每個單一設備最高傳輸頻寬高達6Mbps。USB2.0速度提升至480Mbps |
IEEE-1394 |
FireWire (火線),傳輸速度是400Mbps,最多可串接63個周邊設備,還可提供非同步與同步兩種傳輸模式。 |
◎ 串列通訊方式:Universal Asynchronous (非同步) Receiver / Transmitter
Asynchronous Communication (非同步傳輸) |
在傳送的資料內加上同步信號 , 當接收端收到同步信號 , 便知道接下來的信號是資料,其使用起始位元(start Bit)及停止位元(Stop Bit)做為通訊的判斷。只要9支腳就夠了。 |
Synchronous Communication (同步傳輸) |
傳送與接收雙方共用一個時鐘脈衝 (Clock),通訊兩端使用同步訊號做為通訊的依據。需要使用到25支腳。 |
◎ 工作模式
Simplex Communication (單工傳輸) |
固定單一方向傳輸。(e.g. 電台廣播、收音機接收) |
Half Duplex Communication (半雙工傳輸) |
雙方向均能傳輸 ,但同一時間只能單向傳送,單向接收。(e.g. 無線電對講機) |
Full Duplex Communication (全雙工傳輸) |
可同時雙方向傳輸。(e.g. RS232、電話) |
● Port Address
Com1 | IRQ4 | 3F8H ~ 3FFH |
Address Specification PortAddr+7 3FF |
Com2 | IRQ3 | 2F8H ~ 2FFH |
● RS232 Chips
8250 / 16450 | 一個bytes的buffer |
16550 / 16650 | 16個or更多bytes的buffer |
● RS232 Communication Parameters (通訊埠初始化)
1. 資料的傳送單位 (Data Bit) | ||
ASCII 字元碼:8個位元形成一個字元。
|
7
|
|
2. 起始位元及停止位元 | ||
Start Bit 低電位之起始位元 | 1 | |
Stop Bit 高電未知停止位元 | 1 , 1.5 , 2 | |
範例: StartBit:0 - StopBit:1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
|
||
3. 同位位元的檢查 | ||
Parity (同位檢查) | None , Even , Odd | |
說明:同位位元(parity bit)是一種自我檢查碼,是用來檢查所傳送資料正確性的一種核對碼。 Odd Parity Check (奇同位檢查):所包含的“1”為奇數個 數位資料中是由「0」與「1」組成,若資料中的「1」的個數是偶數,若採用奇同位元,則檢查碼應設為「1」,使「1」的個數變成奇數,相反地,若採用偶同位 元,則檢查碼應設為「0」,使「1」的個數維持偶數。若資料中的若資料中的「1」的個數是奇數,若採用奇同位元,則檢查碼應設為「0」,使「1」的個數維 持奇數,相反地,若採用偶同位元,則檢查碼應設為「1」,使「1」的個數變成偶數。 格式:檢查位元(Parity Bit)+區域位元+數值位元 範例:
|
||
總結: | ||
傳輸資料格式:起始位元 + 傳送字元 + 同位位元 + 停止位元 範例: 1個起始位元 + 8個資料位元 + 0個同位位元 + 1個停止位元 = 最小傳輸單元為 10位元 為單位 若採用 19200 bps 的傳輸速度,每秒可傳輸 19200 / 10 = 1920 (Byte) 的資料。 若要傳輸 1Mb 的資料時,所需要的時間是 1000000 / 1920 約為 521杪 = 8分41杪
|
||
Baud Rate (每秒傳多少的bits;bps) | 150,300,1200,…,9600,19200,38400,115200 | |
● RS232 電氣規格
為負極準位 |
使用+3V~+15V表示邏輯"0" (Space),ㄧ般用途世作為"On / High"; 及-3V~-15V來表示邏輯"1" (Mark),ㄧ般用途世作為"Off / Low"。 |
電壓範圍 |
傳送端驅動器:正電壓 +3V~+15V(0)、負電壓 -3V~-15V(1) |
傳送距離 | 50英呎(約15公尺) |
最高速率 | 20Kbits/s |
● RS232 連接設器
RS-232有25PIN及9PIN的連接器,又可分為公接頭與母接頭,公接頭和DTE相連,而母接頭與DCE連接。
|
||||
DB-9連接器 | DB-25連接器 | |||
DB-25共有4條資料線、11條控制線、3條時序線及7條備用線,常用的只有9條。 | ||||
1 接腳 | PG | 保護用接地(外殼接地) | ||
3 接腳 | 2 接腳 | TxD | Transmit Data 傳輸資料(出) | → |
2 接腳 | 3 接腳 | RxD | Receive Data 接收資料(入) | ← |
7 接腳 | 4 接腳 | RTS | Request To Send 要求對方送資料,傳送端要求傳送(出),由電腦控制 | → |
8 接腳 | 5 接腳 | CTS | Clear To Send 偵測送對方的要求,接收端清除準備接收(入),由數據機控制 | ← |
6 接腳 | 6 接腳 | DSR | Data Set Ready 偵測對方是否已經Ready,接收端已準備妥當(入),由數據機控制。 | ← |
5 接腳 | 7 接腳 | SG | Signal Ground 信號接地 | |
1 接腳 | 8 接腳 | DCD | Carrier Detect 資料載波偵測,由數據機控制,當有載波被偵測到即表示現在是在線上。 | ← |
9 接腳 | - | (保留給資料測試) | ||
10 接腳 | - | (保留給資料測試) | ||
11 接腳 | - | |||
12 接腳 | SCD | 次級資料載波偵測 | ||
13 接腳 | SCS | 次級清除以發送 | ||
14 接腳 | STD | 次級傳輸資料 | ||
15 接腳 | TC | DCE傳送計時 | ||
16 接腳 | SRD | 次級接收資料 | ||
17 接腳 | RC | DCE接收計時 | ||
18 接腳 | - | |||
19 接腳 | SRS | 次級要求傳送 | ||
4 接腳 | 20 接腳 | DTR | Data Terminal Ready 通知對方我已經Ready,資料終端備妥,由電腦控制,通知可以傳輸了。 | → |
21 接腳 | SQD | 訊號品質偵測 | ||
9 接腳 | 22 接腳 | RI | Ring Indicator 鈴響指示(入) | ← |
23 接腳 | DRS | 資料訊號率偵測 | ||
24 接腳 | XTC | DTE傳送計時 | ||
25 接腳 | - | |||
DTE Computer | DCE Computer | Cable Connection (DTE to DTE) | ||
TxD → 2 RxD ← 3 RTS → 4 CTS ← 5 DSR ← 6 SG 7 DTR → 20 |
RxD ← 2 |
1 GND ←→ 1 GND 2 TxD →→ 3 RxD 3 RxD ←← 2 TxD 20 DTR →→ 6 DSR 6 DSR ←← 20 DTR 7 SG ←→ 7 SG 4 RTS →→ 5 CTS 5 CTS ←← 4 RTS 8 CD ----- 8 CD |
◎ 錯誤的預防
CheckSum檢查碼:將所有要傳送的字元的ASCII碼作一加總後與某依數目(通常是255)相除,取其餘數並將此餘數組合成傳送字串的一部份而傳送出去。
範例: 被傳送的字元是"ABCDEF123" ASCII碼加總:65+66+67+68+69+70+49+50+51=555 555 / 255 取餘數 45 故傳送字串是"ABCDEF123"+chr(45)
|
CRC (Cyclic Redundancy Check Code)檢查碼:衍生多項式 (Generation Polynomial)
CRC-8、CRC-16、CRC-32
◎ Universal Asynchronous Receiver/Transmitter(UART)通用異步收發傳輸器
為非同步之串列傳輸IC
是一種異步收發傳輸器,是電腦硬件的一部分,將資料由串行傳輸(Serial communication)與平行傳輸(Parallel communication)間作傳輸轉換。UART通常用在與其他通訊協定(如EIA RS-232)的連結上。
在UART上追加同步方式的序列信號變換電路的產品,被稱為USART(Universal Synchronous Asynchronous Receiver Transmitter)。
◎ Baud Rate Generator (BRG)
留言列表