新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 兩種MCU間的串行通信協議設計

        兩種MCU間的串行通信協議設計

        作者: 時間:2011-04-12 來源:網絡 收藏

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

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

        本文引用地址:http://www.104case.com/article/156421.htm

        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相連。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 营山县| 循化| 云阳县| 江津市| 株洲市| 文水县| 江北区| 斗六市| 翁牛特旗| 中方县| 博乐市| 拜城县| 同心县| 荣昌县| 云阳县| 惠水县| 雅江县| 驻马店市| 沐川县| 平阴县| 杭锦后旗| 兰州市| 松滋市| 无锡市| 定西市| 开化县| 岳普湖县| 神农架林区| 朔州市| 永川市| 汪清县| 五华县| 镇宁| 杭州市| 老河口市| 若尔盖县| 海安县| 商河县| 嘉善县| 佳木斯市| 南部县|