<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          RS232串口通信詳解

          作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò) 收藏
          串口是計(jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。

          ---------------------------------

          本文引用地址:http://www.ex-cimer.com/article/201612/329555.htm

          串口的引腳定義:

          9芯 信號(hào)方向來(lái)自 縮寫(xiě) 描述 1 調(diào)制解調(diào)器 CD 載波檢測(cè) 2 調(diào)制解調(diào)器 RXD 接收數(shù)據(jù) 3 PC TXD 發(fā)送數(shù)據(jù) 4 PC DTR 數(shù)據(jù)終端準(zhǔn)備好 5

          GND 信號(hào)地 6 調(diào)制解調(diào)器 DSR 通訊設(shè)備準(zhǔn)備好 7 PC RTS 請(qǐng)求發(fā)送 8 調(diào)制解調(diào)器 CTS 允許發(fā)送 9 調(diào)制解調(diào)器 RI 響鈴指示器 兩個(gè)串口連接時(shí),接收數(shù)據(jù)針腳與發(fā)送數(shù)據(jù)針腳相連,彼此交叉,信號(hào)地對(duì)應(yīng)相接即可。

          ---------------------------------

          串口的電氣特性:

          1)RS-232串口通信最遠(yuǎn)距離是50英尺

          2)RS232可做到雙向傳輸,全雙工通訊,最高傳輸速率20kbps

          3)RS-232C上傳送的數(shù)字量采用負(fù)邏輯,且與地對(duì)稱(chēng)

          邏輯1:-3 ~-15V

          邏輯0:+3~+15V

          所以與單片機(jī)連接時(shí)常常需要加入電平轉(zhuǎn)換芯片:

          ---------------------------------

          串口通信參數(shù):

          a)波特率:RS-232-C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。

          b)數(shù)據(jù)位:標(biāo)準(zhǔn)的值是5、7和8位,如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位);擴(kuò)展的ASCII碼是0~255(8位)。

          c)停止位:用于表示單個(gè)包的最后一位,典型的值為1,1.5和2位。由于數(shù)是在傳輸線(xiàn)上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。

          d)奇偶校驗(yàn)位:在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位1,這樣就有3個(gè)邏輯高位。

          ---------------------------------

          串口通信的傳輸格式:

          串行通信中,線(xiàn)路空閑時(shí),線(xiàn)路的TTL電平總是高,經(jīng)反向RS232的電平總是低。一個(gè)數(shù)據(jù)的開(kāi)始RS232線(xiàn)路為高電平,結(jié)束時(shí)Rs232為低電平。數(shù)據(jù)總是從低位向高位一位一位的傳輸。示波器讀數(shù)時(shí),左邊是數(shù)據(jù)的高位。

          例如,對(duì)于16進(jìn)制數(shù)據(jù)55aaH,當(dāng)采用8位數(shù)據(jù)位、1位停止位傳輸時(shí),它在信號(hào)線(xiàn)上的波形如圖1(TTL電平)和圖2(RS-232電平)所示。

          55H=01010101B,取反后10101010B,加入一個(gè)起始位1,一個(gè)停止位0,55H的數(shù)據(jù)格式為1010101010B;

          aaH=10101010B,取反后01010101B,加入一個(gè)起始位1,一個(gè)停止位0,55H的數(shù)據(jù)格式為1101010100B;

          ---------------------------------

          串口通信的接收過(guò)程:

          (異步通信:接收器和發(fā)送器有各自的時(shí)鐘;同步通信:發(fā)送器和接收器由同一個(gè)時(shí)鐘源控制。RS232是異步通信)

          (1)開(kāi)始通信時(shí),信號(hào)線(xiàn)為空閑(邏輯1),當(dāng)檢測(cè)到由1到0的跳變時(shí),開(kāi)始對(duì)“接收時(shí)鐘”計(jì)數(shù)。

          (2)當(dāng)計(jì)到8個(gè)時(shí)鐘時(shí),對(duì)輸入信號(hào)進(jìn)行檢測(cè),若仍為低電平,則確認(rèn)這是“起始位”,而不是干擾信號(hào)。

          (3)接收端檢測(cè)到起始位后,隔16個(gè)接收時(shí)鐘,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D0位數(shù)據(jù)。若為邏輯1, 作為數(shù)據(jù)位1;若為邏輯0,作為數(shù)據(jù)位0。

          (4)再隔16個(gè)接收時(shí)鐘,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D1位數(shù)據(jù)。….,直到全部數(shù)據(jù)位都輸入。

          (5)檢測(cè)校驗(yàn)位P(如果有的話(huà))。

          (6)接收到規(guī)定的數(shù)據(jù)位個(gè)數(shù)和校驗(yàn)位后,通信接口電路希望收到停止位S(邏輯1),若此時(shí)未收到邏輯1,說(shuō)明出現(xiàn)了錯(cuò)誤,在狀態(tài)寄存器中置“幀錯(cuò)誤”標(biāo)志。若沒(méi)有錯(cuò)誤,對(duì)全部數(shù)據(jù)位進(jìn)行奇偶校驗(yàn),無(wú)校驗(yàn)錯(cuò)時(shí),把數(shù)據(jù)位從移位寄存器中送數(shù)據(jù)輸入寄存器。若校驗(yàn)錯(cuò),在狀態(tài)寄存器中置奇偶錯(cuò)標(biāo)志。

          (7)本幀信息全部接收完,把線(xiàn)路上出現(xiàn)的高電平作為空閑位。

          (8)當(dāng)信號(hào)再次變?yōu)榈蜁r(shí),開(kāi)始進(jìn)入下一幀的檢測(cè)。

          ---------------------------------

          單片機(jī)常用11.0592M的的晶振,這個(gè)奇怪?jǐn)?shù)字是有來(lái)歷的:

          波特率為9600BPS每位位寬t1=1/9600s

          晶振周期t2=1/11.0592/1000000S

          單片機(jī)機(jī)器周期t3=12*t2

          t1/t3=96

          即對(duì)于9600BPS的串口,單片機(jī)對(duì)其以96倍的速率進(jìn)行采樣。

          如果單片機(jī)晶振用的不正確,會(huì)對(duì)串口接受產(chǎn)生誤碼。

          ---------------------------------

          RS485和RS422

          RS485總線(xiàn),在要求通信距離為幾十米到上千米時(shí),廣泛采用RS-485 串行總線(xiàn)標(biāo)準(zhǔn)。RS485采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線(xiàn)收發(fā)器具有高靈敏度,能檢測(cè)低至200mV的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。RS485采用半雙工工作方式,任何時(shí)候只能有一點(diǎn)處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號(hào)加以控制。RS485用于多點(diǎn)互連時(shí)非常方便,可以省掉許多信號(hào)線(xiàn)。應(yīng)用RS485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32臺(tái)驅(qū)動(dòng)器和32臺(tái)接收器。

          RS422總線(xiàn),RS485和RS422電路原理基本相同,都是以差動(dòng)方式發(fā)送和接受,不需要數(shù)字地線(xiàn)。差動(dòng)工作是同速率條件下傳輸距離遠(yuǎn)的根本原因,這正是二者與RS232的根本區(qū)別,因?yàn)镽S232是單端輸入輸出,雙工工作時(shí)至少需要數(shù)字地線(xiàn)發(fā)送線(xiàn)和接受線(xiàn)三條線(xiàn)(異步傳輸),還可以加其它控制線(xiàn)完成同步等功能。RS422通過(guò)兩對(duì)雙絞線(xiàn)可以全雙工工作收發(fā)互不影響,而RS485只能半雙工工作,發(fā)收不能同時(shí)進(jìn)行,但它只需要一對(duì)雙絞線(xiàn)。RS422和RS485在19kpbs下能傳輸1200米。用新型收發(fā)器線(xiàn)路上可連接臺(tái)設(shè)備。



          關(guān)鍵詞: RS232串口通

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();