《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 兩種MCU間的串行通信協議設計
兩種MCU間的串行通信協議設計
林漢成,胡方明,王群澤,吳圣陶,熊 鑫
摘要: Cortex-M3是ARM公司推出的32位處理器,使用了最新一代的ARMv7架構,具有高性能、低功耗和低成本的優點。對那些對功耗與成本敏感、但又要求較高性能的嵌入式應用來說,Correx-M3無疑是最佳解決方案;而對成本要求苛刻、運算能力要求不高的設備來說,嵌入成熟穩定的8051處理器,已經成為了業內的流行做法。目前,越來越多的嵌入式系統同時使用了上述兩種MCU,因此如何使Cortex-M3與8051之間可以高效地進行信息交互,是實現設計目標的關鍵。
關鍵詞: 接口IC 通信 串行 MCU
Abstract:
Key words :

引言
    Cortex-M3是ARM公司推出的32位處理器,使用了最新一代的ARMv7架構,具有高性能、低功耗和低成本的優點。對那些對功耗與成本敏感、但又要求較高性能的嵌入式應用來說,Correx-M3無疑是最佳解決方案;而對成本要求苛刻、運算能力要求不高的設備來說,嵌入成熟穩定的8051處理器,已經成為了業內的流行做法。目前,越來越多的嵌入式系統同時使用了上述兩種MCU,因此如何使Cortex-M3與8051之間可以高效地進行信息交互,是實現設計目標的關鍵。

1 方案設計
    要進行信息交互,離不開物理接口。在嵌入式應用中,目前常用的接口有UART、SPI和I2C等串行接口。UART接口只需兩根數據線就可以工作,時序控制簡單,大部分設備都整合了這種接口。而且,經過電平轉換后UART的TTL電平可以轉換成RS232電平,RS232接口是計算機標準配置的通信接口,可以通過超級終端查看串口的數據,便于使用PC機對線路進行檢測分析。因此,本設計采用UART接口作為Cortex-M3與C51之間的通信接口。
    考慮到各種需求,本文設計了一種基于UART接口的,用于Cortex-M3和C51之間的通信協議,使Cortex-M3與C51之間可以高效地進行信息交互。當兩個MCU之間需要進行通信的時候,發送方把原始數據下放給通信協議,通信協議按照特定格式把數據打包,通過UART接口發送給對方。接收方收到數據時,MCU運行相應的通信協議,把數據解包,就可以得到發送方的原始數據,將其交付給上層程序。體系結構如圖1所示。

a.jpg


    如果使用其他串行接口,原理大體相同,只需對硬件作相應改動,即對接口控制模塊稍作修改即可投入使用。
    下面以實際工程中某種多媒體系統為例詳細說明。該系統采用了以Cortex-M3為內核的STM32處理器和嵌入了C51核的MST776視頻處理芯片,使用UART接口進行通信。

2 具體實現
2.1 硬件設置
    具體的器件不同,UART的工作方式也有所區別,主要表現在波特率、停止位、數據字長度等參數上。當兩個器件用UART連接時,所有參數必須完全一致,否則通信很容易出錯。在此,要特別注意波特率的設置:當線路質量好的時候,波特率可以設置得高點,以獲得較高的傳輸速率;線路質量差的時候,就要減小波特率,以降低誤碼率。
    本設計中,STM32與MST776都整合了UART接口,只需配置少量電阻;同時,線纜長度不超過20 cm,使用環境的電磁干擾小,波特率可以設置為38 400bps,甚至更高。另外,考慮到C51的處理速度較低,因此波特率不應設置得太高,避免造成C51側數據溢出,進而造成死機。
    本設計只需使用兩根數據線來實現兩個MCU之間的互連,把STM32上選定的UART接口的TX與對端的UART接口的RX相連,把RX與對端的UART接口的TX相連。
2.2 軟件設計
2.2.1數據幀解析
    Cortex-M3側和C51側采用同樣的數據幀格式,以簡化編程的難度,增強程序的可移植性。數據幀由起始標識符、數據長度、類型ID、通信內容、循環冗余校驗碼構成,如圖2所示。

b.jpg


    (1)起始標識符
    起始標識符的作用主要是用于定界,把不同的數據幀在一連串的數據中分離開來。起始標識符內的數據不能與數據幀中可能出現的任何數據相同,否則會引起歧義,導致定界失敗,造成數據錯誤。在本例中,為2個字節,選用0xFF+0xAA,因為該組合與其他數據具有排他性,不會引起歧義。
    (2)數據長度
    數據長度的計算方法為,從該位開始,到最后一個數據位結束,也就是CRC校驗位之前的一個字節。雖然使用Length位可以表示很長的數據幀,但在應用中應盡量采用短幀,以避免各種干擾因素造成少數數據位出錯,導致大量數據無效,影響通信效率。同時,應該設置一個最大發送長度,以便設置超時重傳計時器的值。本例采用1個字節,最大幀長為260個字節。
    (3)類型ID
    根據實際需要,類型ID可以采用1個或多個字節,用于表示該數據幀的作用類型。本例中,采用1個字節,可以表示256種作用類型,例如設備參數幀(如音量)、線路探測幀或應答幀。
    (4)通信內容
    通信內容與類型ID結合,表達特定意義。相同的Data,但ID不同的話,表達的信息不一樣。根據不同的ID,Data的長度可能會有所不同。
    (5)循環冗余校驗碼
    循環冗余校驗碼用于校驗接收到的數據是否在傳輸過程中出錯。本例中采用CRC-16算法,占2個字節,對從起始標識符開始到最后一個通信內容位的所有數據進行運算,把得到的結果附在最后。
2.2.2 收發流程
    發送流程:將要發送的數據添加起始標識符和長度后,計算CRC-16校驗碼,附在最后,形成一個完整的數據幀,然后通過UART發送出去。發送完畢后啟動超時重傳計時器。
    接收流程:當接收到一個字節的數據時,根據系統狀態采取不同的操作。當數據上交后,上層程序根據類型ID和通信內容來作出相應的響應。具體流程如圖3所示。

c.jpg


2.2.3 線路檢測機制
    雖然本例中的UART接口是一種有線通信,而且線纜長度不超過20 cm,但仍有可能出現插口松脫、線纜銅芯斷裂等情況,造成線路中斷。對于轉換成RS232電平的應用,雖然RS232的最大傳輸距離不超過15 m,但如果在惡劣的環境中使用,仍無法完全避免線路發生中斷。因
此,有效的線路檢測機制是必需的。
    本設計中,當本端系統狀態為Null時,每間隔1 s就發送一個線路探測幀,類型ID=0x00,通信內容=0x55。同時,如果本端在5 s內收不到任何新數據或者線路探測幀,則表明線路中斷,向上層程序發送線路中斷報告。對于需要交互秒時間信息的應用,線路探測幀可以省略,只檢測秒時間信息就可以達到線路探測的目的。
2.2.4 校正機制
    因為串行通信普遍存在誤碼的問題,因此簡單有效的校正機制是必須的。由于采用的是點到點的串行接口,數據幀都是按照發送的先后順序到達接收端,不會出現后一幀比前一幀早到的情況,只需要采用CRC-16和簡單的ARQ機制,再加上超時重傳機制,就可以提供高可靠的數據傳輸。
    接收方收到一個完整的數據幀之后,必須給發送方返回一個ACK幀,該幀的類型ID=0xFF。通信內容根據校驗的結果有所不同:校驗正確的,Data=1;校驗失敗的,Data=0。
    發送方發送完一個完整的數據幀之后,啟動超時重傳計時器。如果在計時器超時之前沒有收到ACK幀,或者收到的ACK幀的Data為0,就重發上一個數據幀;當收到ACK幀之后,計時器歸零。發送方只有在收到Data為1的ACK幀后,才能發送下一個數據幀。當連續超時5次時,表明線路中斷,向上層程序發送線路中斷報告。
    ACK幀和線路檢測幀無須應答。發送這兩種幀之后,無須設置超時重傳計時器。
2.2.5 接口控制
    接口控制主要管理UART接口的收發,在此采用中斷的方式來實現。若有數據需要發送,則必須等發送緩存為空時,才能把數據寫入到發送緩存,否則會把舊的數據覆蓋掉,造成數據丟失。當數據寫入結束后,產生一個發送中斷,通知MCU把數據通過UART接口發送出去。當收到一個數據時,UART產生一個中斷信號,通知MCU把數據放入接收緩存,保存完成后清除中斷信號,等待接收下一個數據。只需修改接口控制部
分,就可以適用于不同的硬件接口。

3 實驗結果以及分析
    為了驗證本串行通信協議的有效性,連接STM32和MST776的UART接口,在這兩個MCU上運行本通信協議,并在線纜上引出兩個探測點,使用MAX232芯片進行電平轉換,然后接到PC機的RS232接口上,進行數據檢測。通過Windows的超級終端,可以在PC機上看到UART接口收發數據的狀況。同時,通過JTAG接口可以看到通信協議向上層程序交付的數據。
    實驗結果表明,本通信協議工作正常,收發數據正確,校正機制和線路檢測機制都工作良好。運行本通信協議后,兩個MCU都沒有出現數據溢出、死機等情況。這表明本文設計的串口通信協議能夠實現預期的功能,令Cortex-M3與C51之間可以有效地進行信息交互。

結語
    本文基于Cortex-M3與C51之間的通信需求,設計了一種基于數據幀的通信協議,使得兩個MCU間可以進行有效的信息交互。本設計已經在某型多媒體系統上得到應用,使用效果很好,表現非常穩定。本設計具有良好的可移植性和通用性,在另一個嵌入式項目中,經過對程序的少量修改,也在SPI接口上得到了應用。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲三级观看| 一区二区三区在线视频观看| 欧美欧美天天天天操| 欧美a级在线| 国产精品自拍网站| 亚洲国产成人久久综合一区| 欧美精品久久99| 亚洲男女自偷自拍| 日韩午夜在线视频| 99xxxx成人网| 免费美女久久99| 国产伦理精品不卡| 毛片精品免费在线观看| 亚洲日韩视频| 欧美成人嫩草网站| 国产欧美日韩在线观看| 欧美精品一区三区在线观看| 午夜视频一区在线观看| 国产精品久久久久久久久| 欧美日韩在线一区二区三区| 国产欧美一区二区精品忘忧草| 国产日韩精品一区| 99国产精品99久久久久久| 美女视频黄 久久| 亚洲国产91精品在线观看| 国产精品久久77777| 韩日精品视频一区| 欧美人牲a欧美精品| 欧美精品在线观看播放| 精品成人一区二区三区四区| 欧美日韩在线视频观看| 国产午夜精品久久久| 欧美电影资源| 伊人成综合网伊人222| 欧美日韩美女在线| 午夜国产精品视频免费体验区| 亚洲尤物在线| 国产日韩在线看| 久久九九免费视频| 午夜精品久久久久久久| 国产精品久久久久久亚洲调教| 日韩视频免费在线观看| 亚洲免费福利视频| 国产精品国产精品| 欧美无乱码久久久免费午夜一区| 久久精品91久久香蕉加勒比| 亚洲国产成人在线视频| 国产欧美日韩综合| 国产色爱av资源综合区| 国产精品国色综合久久| 夜夜嗨av一区二区三区免费区| 欧美日本三区| 久久久国产精品一区| 国产精品成人久久久久| 国产精品久久久一区麻豆最新章节| 亚洲一区二区三区在线播放| 日韩午夜av电影| 欧美一区二区三区在线看| 国产日韩欧美高清免费| 小黄鸭精品aⅴ导航网站入口| 国产欧美精品日韩| 午夜精品久久久久影视| 午夜精品一区二区三区在线播放| 1000部精品久久久久久久久| 亚洲欧美日韩一区| 亚洲色图自拍| 亚洲欧美精品中文字幕在线| 国产乱子伦一区二区三区国色天香| 久久国内精品自在自线400部| 国产精品成人一区| 国产精品欧美日韩一区二区| 国产一本一道久久香蕉| 久久久久国产一区二区三区四区| 99国产精品久久久久久久成人热| 久久嫩草精品久久久久| 欧美精品一区二区久久婷婷| 久久精品噜噜噜成人av农村| 欧美日韩亚洲综合| 欧美日本国产在线| 亚洲欧美色婷婷| 欧美日韩精品一二三区| 男人的天堂亚洲在线| 精品成人免费| 亚洲专区一区二区三区| 欧美日韩国产综合新一区| 久久精品国产在热久久| 一本色道久久综合狠狠躁篇怎么玩| 国内在线观看一区二区三区| 女同一区二区| 亚洲美女免费精品视频在线观看| 亚洲精品久久久久久久久久久| 欧美成人四级电影| 午夜视频在线观看一区| 欧美不卡视频一区发布| 国产精品一区二区久久国产| 国产在线视频欧美一区二区三区| 亚洲免费一区二区| 老司机午夜精品| 国内精品模特av私拍在线观看| 亚洲欧洲午夜| 免费观看欧美在线视频的网站| 在线成人av| 一区二区三区导航| 国产亚洲精品一区二区| 一区二区免费在线播放| 久久久之久亚州精品露出| 欧美性做爰猛烈叫床潮| 另类av导航| 亚洲欧美在线x视频| 中文精品99久久国产香蕉| 亚洲电影中文字幕| 亚洲一区二区在线播放| 欧美日韩 国产精品| 在线观看欧美精品| 亚洲二区三区四区| 中文日韩电影网站| 国产一区二区三区最好精华液| 欧美激情亚洲| 美女视频网站黄色亚洲| 国产真实乱偷精品视频免| 国产精品久久久久久久久婷婷| 一区二区在线看| 亚洲天堂av综合网| 欧美激情视频在线免费观看 欧美视频免费一| 欧美性猛交99久久久久99按摩| 欧美+日本+国产+在线a∨观看| 久久中文字幕一区二区三区| 亚洲欧美日韩中文视频| 欧美激情一区二区三级高清视频| 欧美资源在线观看| 亚洲欧美日韩精品一区二区| 日韩视频中文字幕| 亚洲人成高清| 亚洲精品午夜| 久久久久国产一区二区| 亚洲精品一区二区三区婷婷月| 精品成人在线观看| 国产原创一区二区| 欧美性做爰猛烈叫床潮| 亚洲精品一区二区三区婷婷月| 欧美日韩国产经典色站一区二区三区| 久久婷婷久久| 国产亚洲网站| 免费观看久久久4p| 亚洲午夜影视影院在线观看| 欧美国产在线观看| 欧美日韩高清免费| 久久久噜噜噜久久久| 欧美成人日本| 亚洲私人黄色宅男| 欧美.com| 蜜桃视频一区| 欧美一级电影久久| 欧美日韩麻豆| 国产日本亚洲高清| 欧美视频免费| 欧美喷水视频| 亚洲精品视频啊美女在线直播| 欧美色精品天天在线观看视频| 日韩特黄影片| 国产亚洲一级| 欧美日韩一区二区三区四区在线观看| 国产精品视频午夜| 久久亚洲免费| 国产精品一区二区三区成人| 国产精品专区h在线观看| 一区二区欧美日韩视频| 一区在线播放| 久久综合99re88久久爱| 亚洲欧美激情视频| 欧美一区二区三区啪啪| 亚洲自拍偷拍视频| 国产在线播放一区二区三区| 欧美剧在线观看| 久久精品免费| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日本免费一区二区三区| 欧美午夜精品久久久久久浪潮| 欧美日韩免费在线视频| 欧美v亚洲v综合ⅴ国产v| 久久亚洲影音av资源网| 国产亚洲欧美日韩精品| 亚洲性视频网址| 久久久久久久综合| 欧美日本精品在线| 久久嫩草精品久久久久| 国产精品成人午夜| 在线观看欧美日韩国产| 久久久噜噜噜久久久| 久久国产精品久久久久久电车| 午夜欧美理论片| 国产一区二区三区高清播放| 欧美性淫爽ww久久久久无| 99riav1国产精品视频| 亚洲精品资源美女情侣酒店| 另类人畜视频在线| 99国产精品国产精品毛片| 欧美国产第一页| 在线国产精品播放| 亚洲丁香婷深爱综合| 午夜久久99| 国内成人精品2018免费看| 欧美多人爱爱视频网站| 亚洲精选大片| 欧美系列电影免费观看| 国产精品久久久久久一区二区三区| 一本色道久久加勒比精品| 伊人狠狠色丁香综合尤物| 性欧美xxxx视频在线观看| 欧美精品亚洲一区二区在线播放| 久久精品123| 欧美一区亚洲| 美女视频一区免费观看| 国产亚洲aⅴaaaaaa毛片| 欧美人与性禽动交情品| 国产精品啊v在线| 亚洲欧美日韩在线高清直播| 久久久久成人网| 老色鬼久久亚洲一区二区| 美日韩在线观看| 久久久91精品国产一区二区精品| 伊人成人网在线看| 欧美日韩国产综合一区二区| 在线观看一区二区精品视频| 欧美三级乱码| 一色屋精品亚洲香蕉网站| 国产精品亚洲综合天堂夜夜| 欧美在线电影| 国产一区二区三区免费观看| 午夜在线视频观看日韩17c| 亚洲特级片在线| 亚洲香蕉成视频在线观看| 狠狠色综合网| 久久av一区二区三区亚洲| 国产日韩精品久久久| 久久久亚洲国产天美传媒修理工| 国产精品久久网站| 亚洲欧美在线x视频| 国产精品夫妻自拍| 99精品国产一区二区青青牛奶| 国产亚洲精品bv在线观看| 六月婷婷久久| 欧美日韩八区| 99日韩精品| 欧美国产1区2区| 国产欧美日韩一区| 狠狠狠色丁香婷婷综合久久五月| 久久精品国产精品亚洲| 欧美无乱码久久久免费午夜一区| 欧美国内亚洲| 欧美xx69| 鲁鲁狠狠狠7777一区二区| 亚洲欧美国产毛片在线| 国产精品久久久久久久第一福利| 国产精品日韩欧美一区| 亚洲精品综合久久中文字幕| 亚洲自拍偷拍色片视频| 欧美精品播放| 欧美一区二区三区免费看| 国产精品网站在线播放| 欧美精品麻豆| 在线精品国精品国产尤物884a| 一区二区三区自拍| 亚洲一区二区三区四区视频| 欧美日本韩国一区二区三区| 久久精品视频在线免费观看| 国产精品久久久久久久久免费桃花| 亚洲精品免费一区二区三区| 亚洲黄色小视频| 欧美日韩精品久久久| 香蕉久久久久久久av网站| 欧美日韩小视频| 在线观看国产精品淫| 亚洲国产精品久久91精品| 一区二区三区在线观看国产| 午夜精品久久久久久久99樱桃| 一本色道久久99精品综合| 欧美成人午夜影院| 午夜电影亚洲| 嫩模写真一区二区三区三州| 欧美日韩一区二区三区四区五区| 欧美极品在线视频| 国产日本欧美视频| 欧美日韩高清一区| 欧美日韩一区二区三区在线视频| 欧美日韩国产a| 亚洲欧美视频一区二区三区| 欧美精品一区二区三区一线天视频| 欧美自拍偷拍午夜视频| 国产人成一区二区三区影院| 国产在线视频欧美一区二区三区| 国产精品久久久久久久午夜| 午夜精品影院| 欧美99在线视频观看| 鲁大师成人一区二区三区| 国产精品久久久久久久一区探花| 99视频一区二区| 亚洲品质自拍| 一区二区三区高清视频在线观看| 亚洲国产精品久久久久秋霞蜜臀| 国产一区二区三区精品欧美日韩一区二区三区| 精品白丝av| 亚洲高清在线视频| 伊人一区二区三区久久精品| 国产精品有限公司| 亚洲欧美国产视频| 国产一区二区日韩精品欧美精品| 欧美日韩国产区| 亚洲综合色激情五月| 宅男噜噜噜66一区二区| 久久亚洲精品伦理| 国一区二区在线观看| 久久久女女女女999久久| 午夜精品av| 久久亚洲不卡| 久久蜜桃精品| 欧美视频一区二区| 韩国精品主播一区二区在线观看| 欧美日韩国产综合视频在线观看| 亚洲一区二区视频在线| 在线视频中文亚洲| 国产精品婷婷| 香港成人在线视频| 亚洲人人精品| 国产亚洲一区二区在线观看| 亚洲成在线观看| 欧美一区二区在线视频| 一区二区三区成人|