在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串行通信波特率的一種自動(dòng)檢測(cè)方法

      串行通信波特率的一種自動(dòng)檢測(cè)方法

      作者: 時(shí)間:2012-06-06 來(lái)源:網(wǎng)絡(luò) 收藏

      2 低的檢測(cè)
        當(dāng)低于1200波特時(shí),接收端收到的字節(jié)都是0x00,因此只能確定其速率低于12 00波特,而不可能再得到更多的信息。為了解決這個(gè)問(wèn)題,可以在9600波特的速率下繼續(xù)接 收下一個(gè)字節(jié)信息。為600波特或更低時(shí),一個(gè)位的發(fā)送時(shí)間要大于9600波特時(shí)整 個(gè)字節(jié)的接收時(shí)間。因此,發(fā)送端每一個(gè)從‘1’(終止位)到‘0’(起始位)的跳變都會(huì) 讓接收端認(rèn)為一個(gè)新的字節(jié)開(kāi)始了。表2所示為600波特或更低的傳輸速率時(shí)接收端回車符的 二進(jìn)制序列(只給出開(kāi)始的一些位)。

      表2  低回車符的接收方式

      9600波特二進(jìn)制序列

      時(shí)間差
      (周期)

      時(shí)間差
      (實(shí)時(shí)間)

      600

      16 0's 16 1's 16 0's

      32

      3.33ms

      300

      32 0's 32 1's 32 0's

      64

      6.66ms

      150

      64 0's 64 1's 64 0's

      128

      13.33ms

      110

      87 0's 87 1's 87 0's

      174

      18.13ms

      75

      128 0's 128 1's 128 0's

      256

      26.66ms

      50

      192 0's 192 1's 192 0's

      384

      4 0.00ms

        600波特時(shí),第一個(gè)從‘1’到‘0’的跳變?cè)诔跏蓟院蠹纯贪l(fā)生。這個(gè)跳變讓接收端 得到字節(jié)0x00。第二個(gè)跳變?cè)诔跏蓟?16+16)*T9600秒以后發(fā)生,這會(huì)讓接收端認(rèn) 為另外一個(gè)字節(jié)開(kāi)始接收了。一個(gè)二進(jìn)制位的接收時(shí)間是T9600,所以串行接口電路 會(huì)在第一個(gè)跳變以后10* T9600秒提示第一個(gè)字節(jié)接收完畢,在(16+16+10)* T96 00秒以后提示第二個(gè)字節(jié)接收完畢。因此600波特時(shí),第一個(gè)字節(jié)接收完畢和第二個(gè)字節(jié) 接收完畢的時(shí)間差是(16+16+10-10)* T9600=32* T9600秒。表2的第三列所示 是把這個(gè)時(shí)間差以T9600的個(gè)數(shù)表示。因?yàn)門9600=1/9600秒=104.16毫秒,相 乘可以得到兩個(gè)字節(jié)接收完畢的實(shí)時(shí)間差。不同發(fā)送波特率的時(shí)間差如表2的最后一列所示 。有了這個(gè)時(shí)間差信息,就可以確定低傳輸速率時(shí)的波特率了:測(cè)定第一個(gè)和第二個(gè)字節(jié)的 接收時(shí)間差,然后在時(shí)間差常數(shù)表(表2)里查出哪個(gè)波特率下的時(shí)間差與之最相近,對(duì)應(yīng) 的就是終端發(fā)送波特率。即使測(cè)定的時(shí)間差有些誤差,一般也可以正確地確定波特率。

      3 實(shí)現(xiàn)方式
        通過(guò)以上分析,各種波特率都可以通過(guò)回車符的發(fā)送和接收信息來(lái)測(cè)定,算法實(shí)現(xiàn)的偽 代碼在本文的最后給出。應(yīng)用實(shí)踐證明了這種方法的有效性。
      ; Pseudo code to determine what baud rate a transmitter is at,

      on the b asis of a single

      ; RETURN (0x0D) character received from it.

      Initialise receive baud rate to 9600
      Wait for Byte to be received
      IF Byte = 0x00 THEN
         Start Timer
         REPEAT
         UNTIL (Timer > 50 ms OR New Byte Received)
         CASE Timer IN
          1 ms-4 ms: 600 Baud
          5 ms-10 ms: 300 Baud
            11 ms-15 ms: 150 Baud
            16 ms-22 ms: 110 Baud
            23 ms-32 ms: 75 Baud
            33 ms-49 ms: 50 Baud
             ELSE: Timed out; reset
        END CASE;
      ELSIF Byte >= 0xF1 THEN
         19200 Baud
      ELSE
        CASE Byte IN
          0x0D: 9600 Baud
          0xE6: 4800 Baud
          0x78: 2400 Baud
        0xE0,0xF0: 1800 Baud
          0x80: 1200 Baud
          ELSE: Line noise; reset
        END CASE
      END IF■

      參考文獻(xiàn):

      [1]趙依軍等. 單片微機(jī)接口技術(shù)[M].北京: 人民郵電出版社,1989.
      [2]劉利. 軟硬件技術(shù)參考大全[M].北京: 學(xué)苑出版社,1993.
      [3]張世一. 數(shù)字信號(hào)處理[M]. 北京:北京工業(yè)學(xué)院出版社,1987


      上一頁(yè) 1 2 下一頁(yè)

      評(píng)論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉