串口通信模块1:串口基础知识
生活随笔
收集整理的這篇文章主要介紹了
串口通信模块1:串口基础知识
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
串行接口可以將接受來自CPU的并行數(shù)據(jù)字符,轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去。同時可將接收的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。一般完成這種功能的電路,稱為串行接口電路。常用的RS-232 (ANSI-EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機上的串行連接標(biāo)準(zhǔn)。可用于許多用途,比如連接鼠標(biāo)、打印機或者Modem,同時,也可以連接工業(yè)儀器儀表。
1.串口簡介
RS-232-C也稱標(biāo)準(zhǔn)串口,是目前最常用的一種串行通信接口,我們項目中也采用了這一種接口。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有25根信號線,采用標(biāo)準(zhǔn)25芯D型插頭座。后來,PC上使用了簡化了的9芯D型插座。硬件表現(xiàn)為計算機后面的9針D型接口,由于其形狀和針腳數(shù)量的原因,其接頭又被稱為DB9接頭。RS-232針腳定義如下表所示:| 針腳編號 | 功能 | 說明 |
| 1 | CD( Carrier Detect ) | 載波檢測 |
| 2 | RXD( ?Received Data ) | 接收數(shù)據(jù) |
| 3 | TXD( Transmit Data ) | 發(fā)送數(shù)據(jù) |
| 4 | DTR( Data Terminal Ready ) | 數(shù)據(jù)終端就緒 |
| 5 | GND( System Ground ) | 系統(tǒng)接地 |
| 6 | DSR( Data Set Ready ) | 數(shù)據(jù)設(shè)備就緒 |
| 7 | RTS( Request To Send ) | 請求發(fā)送 |
| 8 | CTS( Clear To Send ) | 允許發(fā)送 |
| 9 | RI( Ring Indicator ) | 響鈴指示器 |
其實,我們平常最常用的就是2/3/5這三個引腳。因為只需要這三個引腳便可完成基本的通信功能。
2.串口通信簡介
所謂的串口通信也非常容易理解,即串口按位(bit)發(fā)送和接受字節(jié)。雖然比按字節(jié)(byte)的秉性通信速度慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。串口通信的實現(xiàn)很簡單,而且能夠?qū)崿F(xiàn)遠距離通信。比如IEEE488定義并行通信狀態(tài)時,規(guī)定設(shè)備線總長不得超過20米,并且任意兩個設(shè)備間的長度不得超過2米;而對于串口通信而言,長度可以達到1200米。 一般情況下,串口用于ASCII碼字符的傳輸。通信使用3根線完成:第5針腳的地線,第3針腳發(fā)送,第2針腳接受。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時再領(lǐng)一根線上接收數(shù)據(jù)。其他針腳的線主要用于握手,可以不是必須的!串口通信有4個重要的參數(shù),分別是波特率、數(shù)據(jù)位、停止位和奇偶檢驗位。對于兩個進行通信的端口,這些參數(shù)必須匹配,否則通信將無法正常完成。下面主要討論一下這些參數(shù)的含義以及相應(yīng)的設(shè)置方法。 波特率: 這是一個衡量通信速度的參數(shù)。他表示每秒鐘傳送的bit的個數(shù)。例如,300波特表示每秒鐘發(fā)送300個bit。當(dāng)我們提到時鐘周期時就是指波特率。例如,如果協(xié)議需要4800波特率,那么時鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400、28800、36600.波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,堿性的例子就是GPIB設(shè)備的通信。 數(shù)據(jù)位: 這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當(dāng)計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是8位的,標(biāo)準(zhǔn)的值是5、7和8位。如何設(shè)置取決于想要傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。拓展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶檢驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。 停止位: 用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸同時也越慢。 奇偶檢驗位: 是在串口通信中一種簡單的檢錯方式。其實共包含了4中檢錯方式,分別是偶、積、高、低。當(dāng)然沒有檢驗位也是可以的。對于奇偶校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶數(shù)個或者奇數(shù)個邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是積校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正地檢查數(shù)據(jù),僅簡單置位邏輯高或邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否同步。有點公事需要處理,今天先到這里,明天繼續(xù)討論串口通信編程基礎(chǔ)。 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的串口通信模块1:串口基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows Live Messeng
- 下一篇: 飞鸽传书2007绿色版