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  3F8
PortAddr+1  3F9 

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個位元形成一個字元。
JIS 字元碼:7個位元形成一個字元。

 

7
8

 

 2. 起始位元及停止位元
  Start Bit 低電位之起始位元 1
  Stop Bit 高電未知停止位元 1 , 1.5 , 2
 

範例:
若送兩個bytes [1 0 1 1 0 0 1 1 ][1 1 1 1 0 0 0 0 ]

StartBit:0  - StopBit:1

0   1   0   1   1   0   0   1   1     0   1   1   1   1   0   0   0   0   1
StartBit                       StopBit   StartBit                       StopBit

 

 3. 同位位元的檢查
  Parity (同位檢查) None , Even , Odd
 

說明:同位位元(parity bit)是一種自我檢查碼,是用來檢查所傳送資料正確性的一種核對碼。

它的做法是加進一個位元到每筆資料中,使得每筆資料中位元1的數目均保持一種特定的關係。
如果是將這個數目保持為偶數,則稱為even parity,如果是保持為奇數,則稱為odd parity
但是必須注意的是,使用parity方式檢查出錯誤時,不一定是資料出錯,也有可能是parity bit出錯,且其偵測錯誤的能力只能偵測一個bit錯誤的情形,而且只能偵測錯誤而不能修正 這是因為同位技術無法判斷找出八位元中的錯誤位元。。

Odd Parity Check (奇同位檢查):所包含的“1”為奇數個
Even Parity Check (偶同步檢查):所包含的“1”為偶數個

數位資料中是由「0」與「1」組成,若資料中的「1」的個數是偶數,若採用奇同位元,則檢查碼應設為「1」,使「1」的個數變成奇數,相反地,若採用偶同位 元,則檢查碼應設為「0」,使「1」的個數維持偶數。若資料中的若資料中的「1」的個數是奇數,若採用奇同位元,則檢查碼應設為「0」,使「1」的個數維 持奇數,相反地,若採用偶同位元,則檢查碼應設為「1」,使「1」的個數變成偶數。

格式:檢查位元(Parity Bit)+區域位元+數值位元

範例:
1 0010 1011 0100 (偶)
0 1000 1110 1100 (偶)
0 1111 1000 0011 (奇)
1 0000 1100 0101 (奇)

 

總結:
 

傳輸資料格式:起始位元 + 傳送字元 + 同位位元 + 停止位元

範例:

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)
接收端:正電壓 +3~+12V、負電壓 -3~-12V

傳送距離 50英呎(約15公尺)
最高速率 20Kbits/s

 ● RS232 連接設器

RS-232有25PIN及9PIN的連接器,又可分為公接頭與母接頭,公接頭和DTE相連,而母接頭與DCE連接。

232_9_06  

 

DB-9連接器 DB-25連接器      
101119--1.jpg  101119--2.jpg    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
TxD → 3
CTS ← 4
RTS → 5
DTR → 6
SG       7
DSR ← 20

  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)

 

 

 

 

 

 

創作者介紹
創作者 tsuozoe 的頭像
tsuozoe

隨便寫寫的新天地

tsuozoe 發表在 痞客邦 留言(0) 人氣()