什麼是 RS232C
RS-232 (ANSI/EIA-232 標準) 為過去 IBM 相容電腦的序列連結功能, 可用以連接滑鼠、印表機或數據機,或用於工業級儀器控制等許多功能。
- 電腦中最常用的介面之一。
- RS-232 : Recommend Standard number 232.
- C 表示最新的版本.
- 大多電腦都是符合RS-232C一部份標準.
- 連線長度只能50~100 呎(17~33m)
- 一個 Comm Port只能接一台
- 全功能的 RS-232C 規定使用25-pin D 接頭,使用其中的 22 pins.
- 對電腦通訊,大多是不必要的,因此大多數PC只使用一個9pin的公接頭。
- 其實,只要使用其中3根pin便可達到全雙工 (full duplex)通訊的目的,一根Send,一根 receive,一根ground
(Full duplex:送資料與接收資料同時進行,亦即是 雙向的溝通bi-directional)
RS232定義兩種接頭形式,接腳訊號定義不同
- DCE (data communication Equipment)
- 母接頭
- 資料通訊設備→遠端儀器
- DTE (data terminal equipment)
- 公接頭
- 資料終端設備→電腦
- DTE 與DCE可直接一對一連接,
- 同類間連接需要用Null modem Cable,交換 send 與 receive腳位
資料如何傳輸 - start bit
- RS232是屬於序列式的(serial)傳輸資料,資料是一個bit一個bit傳
- 一般狀態,TD 與RD是在高電位,一端的TD 是接到另端的RD,當有資料要傳時,一 端的TD會先被拉低電位,而另一端的 RD接收到低電位開始接收資料,這個動作叫做送起始位元( Start bit)
接收資料-data bits
- Start bit後,兩邊的設備開始準備接收資料
- 為了溝通,兩邊必須有相同的傳輸速度(baud
rate),及有多少 data bits要送
(Baud rate: 每秒多少bit的傳輸動作) - 確定好傳輸速度,接著規定要傳多少bit, 一般是傳8或7 bit,以8 bit最常用。LSB最小位元先送。
資料檢查 Parity bit
- 檢查序列資料是否傳得正確?
- 奇偶檢查
- Data bit送完,會再送一個parity bit,讓接收端檢查資料是否正確
- 有以下幾種:
- none:不送parity bit (最常用)
- Odd:當data bit有偶數個1時 → 送1補成奇數個
- Even :當data bit有奇數個1時 → 送1補成偶數個
- Mark:永遠送1做parity bit
- Space :永遠送0做parity bit
Stop Bit
- 停止位元: 將電位拉高,宣告資料已經傳 輸完畢。
- 最常用的傳輸格式常記為 8-N-1 8:
- 8 data bit
- N: No parity bit
- 1: 1 start/stop bit
(設備較慢時用 2bits)
防止資料遺失
- 使用Handshaking(握手 )
- 可不用
- 很多方式
- 利用某一根線的高低電位 ( 如DTR),當一端準備收資料時先拉高某一線電位,另一端接收到訊息後,才開始送資料
- 利用TD, RD線,傳送特殊的byte 當成準備接收資料的代號
- 使用中斷(interrupt)或詢問(polling)
- Interrupt:有事件發生時執行
- Polling:以軟體不斷檢查資料
- 使用Acknowledgement(確認 )
- 收到資料時,送回一個特殊byte確認資料收到
- 錯誤檢查(error checking) 送checksum byte給接收端檢查資料正確性,有問題,通知重送資料
沒有留言:
張貼留言