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

當前位置:首頁 > > 嵌入式大雜燴
[導讀]嵌入式設備在運行中需要設置參數(shù),這個工作經(jīng)常由PC機來實現(xiàn),需要為雙方通信設計協(xié)議。

嵌入式設備在運行中需要設置參數(shù),這個工作經(jīng)常由PC機來實現(xiàn),需要為雙方通信設計協(xié)議,有代表性協(xié)議是如下三種:

從上表可以看到,一般嵌入式設備內(nèi)存和運算性能都有限,因此固定二進制是首選通信協(xié)議。

一. 簡單性

保證協(xié)議是一個簡單的方案,晦澀難懂往往意味著實現(xiàn)困難和容易出錯。協(xié)議的結構宜采用平面方式,每個域作用明確,數(shù)據(jù)域盡可能設計得長度和位置固定,注釋詳盡,文檔清晰,實例豐富,讓人盡快上手和理解。

協(xié)議一般都需要以下域:幀頭,長度,幀類型,目標地址,源地址,數(shù)據(jù),校驗,幀尾。

二. 可擴展

必須保證將來增加功能和更改硬件后協(xié)議仍能勝任工作,這往往是通過預留空間來實現(xiàn),協(xié)議的變更應該只是量的增加,不至于引起協(xié)議結構的變化。

三. 低耦合

理想情況下每個協(xié)議包是原子信息,即本協(xié)議包不與其他協(xié)議包牽連,以防止通訊丟幀和設置牽連帶來的錯誤。

四. 穩(wěn)定性

協(xié)議包長度適宜:太小包含的信息過少,協(xié)議包的種類繁多,容易引起通訊混亂和牽連錯誤;太大包含的信息過多,可讀性較差,組幀和解幀的工作困難,還會帶來通訊易受干擾的缺陷,一般協(xié)議長度以最小原子性信息為標尺。

協(xié)議必須包括校驗機制,以便于接收方判別協(xié)議包正確完整接收,如果出錯需要較好的機制來確保通訊成功(如重傳)。

五. 高效率

按信息類型區(qū)分協(xié)議包類別,如:設置網(wǎng)絡信息參數(shù),設置當前運行參數(shù),可以區(qū)分開來,方便程序處理。

將同種操作編碼為一個子集是一種高效手段,如Read操作,編碼為0x0010,Write操作,編碼為0x0020。

數(shù)據(jù)盡可能設計成同構模式,如果實在有差異,至少將同類型數(shù)據(jù)放置在一起,這樣程序可以充分利用指針和線性尋址加速處理。

六. 易實現(xiàn)

盡量減少復雜算法的使用,如,通訊鏈路穩(wěn)定,數(shù)據(jù)幀的校驗碼可以由CheckSum代替CRC。除非資源非常緊張,否則不要將過多的信息擠壓在一個數(shù)據(jù)里,因為它會帶來可讀性差和實現(xiàn)困難。

七.軟件開發(fā)

盡可能地讓硬件ISR完成驅動工作,不要讓“進程”參與復雜的時序邏輯,否則處理器將步履蹣跚且邏輯復雜!如:

接收固定長度的數(shù)據(jù)幀,可以使用DMA,每接收完一幀DMA_ISR向進程發(fā)消息。小心處理DMA斷層異常(接收的數(shù)據(jù)幀長度正常但數(shù)據(jù)錯誤,數(shù)據(jù)為上幀的后半部分+本幀的前半部分)。

接收不定長的數(shù)據(jù)幀,可以使用狀態(tài)機,當接收到“幀尾數(shù)據(jù)”時向進程發(fā)消息。小心數(shù)據(jù)紊亂和超時異常(數(shù)據(jù)紊亂時需要將狀態(tài)機及時復位,超時一般使用定時器監(jiān)控)。

八. 考慮硬件

如果通信鏈路是高速總線(如SPORT可達100Mbps),一般設計成一幀產(chǎn)生一次中斷,它通過長度觸發(fā)的DMA來實現(xiàn),需要將協(xié)議設計成固定長度,如附錄A。它具備高效率,但靈活性較差。

如果通信鏈路是低速總線(如UART一般100kbps),一般接收一字節(jié)產(chǎn)生一次中斷,可以將協(xié)議設計成變長幀,如附錄B。它具備高靈活性,但效率較低。

上圖顯示了PC發(fā)送數(shù)據(jù)幀的格式,總長為64字節(jié),是4字節(jié)的整倍數(shù),符合絕大部分32位處理器結構體對齊的特性。

  • 0x3C:INT8U,幀頭,可見字符’<’

  • Len:INT8U,本幀的總數(shù)據(jù)長度,在圖4即為64

  • Dst:INT8U,標識目標設備的ID號

  • Src:INT8U,標識源設備的ID號

  • Data:56字節(jié)的存儲區(qū),內(nèi)容依賴于具體的通信幀(實例見表2)

  • Cmd:INT16U,數(shù)據(jù)幀的類別

  • CS:INT8U, 對它前面所有數(shù)據(jù)(62字節(jié))進行8位累加和校驗

  • 0x7D:INT8U, 幀尾,可見字符’}’

Data域數(shù)據(jù)結構實例:

一個基于變長格式的UART通信協(xié)議實例:

PC與iWL880A(一種無線通信產(chǎn)品,詳見www.rimelink.com)通信幀采用變長格式,如下圖所示。大部分設備(常見為PC機)對于接收以“回車符”的機制很好處理,協(xié)議中的Tail就等于0x0D(換行符)。

免責聲明:本文來源網(wǎng)絡,免費傳達知識,版權歸原作者所有。如涉及作品版權問題,請聯(lián)系我進行刪除。

最后

以上就是本次的分享,如果覺得文章不錯,轉發(fā)、在看,也是我們繼續(xù)更新的動力。

猜你喜歡:

干貨 | 結構體、聯(lián)合體嵌套使用的一些實用操作

2020年精選原創(chuàng)筆記匯總

1024G 嵌入式資源大放送!包括但不限于C/C++、單片機、Linux等。在公眾號聊天界面回復1024,即可免費獲??!

免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉