日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]引言 Cortex-M3是ARM公司推出的32位處理器,使用了最新一代的ARMv7架構(gòu),具有高性能、低功耗和低成本的優(yōu)點(diǎn)。對(duì)那些對(duì)功耗與成本敏感、但又要求較高性能的嵌入式應(yīng)用來(lái)說(shuō),Correx-M3無(wú)疑是最佳解決方案;而對(duì)成

引言
    Cortex-M3是ARM公司推出的32位處理器,使用了最新一代的ARMv7架構(gòu),具有高性能、低功耗和低成本的優(yōu)點(diǎn)。對(duì)那些對(duì)功耗與成本敏感、但又要求較高性能的嵌入式應(yīng)用來(lái)說(shuō),Correx-M3無(wú)疑是最佳解決方案;而對(duì)成本要求苛刻、運(yùn)算能力要求不高的設(shè)備來(lái)說(shuō),嵌入成熟穩(wěn)定的8051處理器,已經(jīng)成為了業(yè)內(nèi)的流行做法。目前,越來(lái)越多的嵌入式系統(tǒng)同時(shí)使用了上述兩種MCU,因此如何使Cortex-M3與8051之間可以高效地進(jìn)行信息交互,是實(shí)現(xiàn)設(shè)計(jì)目標(biāo)的關(guān)鍵。

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


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

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


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


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

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

結(jié)語(yǔ)
    本文基于Cortex-M3與C51之間的通信需求,設(shè)計(jì)了一種基于數(shù)據(jù)幀的通信協(xié)議,使得兩個(gè)MCU間可以進(jìn)行有效的信息交互。本設(shè)計(jì)已經(jīng)在某型多媒體系統(tǒng)上得到應(yīng)用,使用效果很好,表現(xiàn)非常穩(wěn)定。本設(shè)計(jì)具有良好的可移植性和通用性,在另一個(gè)嵌入式項(xiàng)目中,經(jīng)過(guò)對(duì)程序的少量修改,也在SPI接口上得到了應(yīng)用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

中國(guó)北京(2025年9月10日)—— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國(guó)際會(huì)展中心舉辦的第26屆中國(guó)國(guó)際光電博覽會(huì)(展位號(hào):12C12),全面展示GD25 SPI...

關(guān)鍵字: 光通信 MCU Flash

瑞典烏普薩拉,2025年9月4日 — 全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案供應(yīng)商IAR宣布,瑞薩最新推出的具備量產(chǎn)條件的RH850/U2A MCAL(微控制器抽象層)軟件包,已全面支持IAR的RH850工具鏈(v2.21...

關(guān)鍵字: MCU ADAS 電動(dòng)汽車(chē)

本屆年會(huì)將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計(jì)工程師推出25門(mén)技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

中國(guó)北京(2025年9月2日)—— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商兆易創(chuàng)新GigaDevice(股票代碼 603986)受邀出席2025智能汽車(chē)基礎(chǔ)軟件生態(tài)大會(huì)暨第四屆中國(guó)汽車(chē)芯片大會(huì),并與國(guó)內(nèi)領(lǐng)先的AUTOSAR車(chē)用操作系...

關(guān)鍵字: 汽車(chē)電子 MCU 智能汽車(chē)

2025年8月26日,?Elexcon深圳國(guó)際電子展?在?深圳會(huì)展中心(福田)1號(hào)館?(展臺(tái)號(hào):1L30)盛大舉行。作為全球電子產(chǎn)業(yè)鏈的重要盛會(huì),展會(huì)匯聚創(chuàng)新技術(shù)與行業(yè)解決方案。米爾電子MYIR攜RZ系列核心板、開(kāi)發(fā)板等...

關(guān)鍵字: 核心板 開(kāi)發(fā)板 MCU

針對(duì)HMI應(yīng)用所需的段碼式LCD和電容式觸控進(jìn)行優(yōu)化,為電磁爐提供精準(zhǔn)控制;支持通過(guò)雙區(qū)閃存實(shí)現(xiàn)便捷、安全的OTA

關(guān)鍵字: MCU 智能家電 電磁爐

聚焦工業(yè)4.0及能源管理應(yīng)用對(duì)主控MCU的高性能需求,極海正式發(fā)布APM32F425/427系列高性能拓展型MCU,集合運(yùn)算性能、ADC性能、Flash控制器性能與通信接口四大維度革新,進(jìn)一步增強(qiáng)了EMC性能,重新定義C...

關(guān)鍵字: MCU 工業(yè)應(yīng)用 極海

MarketsandMarkets預(yù)測(cè),到2027年,全球嵌入式AI市場(chǎng)規(guī)模將超過(guò)200億美元,年復(fù)合增長(zhǎng)率高達(dá)30%。這一增長(zhǎng)背后,是對(duì)高算力、低功耗、實(shí)時(shí)性和安全性的迫切需求,以及技術(shù)碎片化與跨界融合的復(fù)雜挑戰(zhàn)。在這...

關(guān)鍵字: Renesas AI 瑞薩電子 嵌入式AI MCU MPU

全新產(chǎn)品滿足DLMS Suite2表計(jì)應(yīng)用安全法規(guī),提供豐富的通信選項(xiàng)、電容式觸摸界面,以及支持軟件更新的雙區(qū)閃存

關(guān)鍵字: MCU 閃存 恒溫器

由于邊緣AI是指在邊緣設(shè)備上部署和運(yùn)行AI模型,而不是將數(shù)據(jù)傳輸?shù)街醒敕?wù)器進(jìn)行處理。這種方式具有低延遲、高響應(yīng)速度、保護(hù)隱私和降低數(shù)據(jù)傳輸成本等優(yōu)勢(shì)。微控制器(MCU)作為電子設(shè)備的主控制芯片,在邊緣AI的發(fā)展中扮演著...

關(guān)鍵字: MCU AI
關(guān)閉