伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三種常見嵌入式設備通信協議

Q4MP_gh_c472c21 ? 2018-03-06 10:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式設備與PC通訊的通信協議設計經驗

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

表1 三種常見通信協議

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

一. 簡單性

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

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

二. 可擴展

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

三. 低耦合

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

四. 穩定性

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

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

五. 高效率

按信息類型區分協議包類別,如:設置網絡信息參數,設置當前運行參數,可以區分開來,方便程序處理。

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

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

六. 易實現

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

七.軟件開發

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

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

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

八. 考慮硬件

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

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

附錄A 一個基于DMA傳輸固定長度的協議實例。

圖1顯示了PC發送數據幀的格式,總長為64字節,是4字節的整倍數,符合絕大部分32位處理器結構體對齊的特性。

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

Len:INT8U,本幀的總數據長度,在圖4即為64

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

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

Data:56字節的存儲區,內容依賴于具體的通信幀(實例見表2)

Cmd:INT16U,數據幀的類別

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

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

圖1 PC發送數據幀

表2 Data域數據結構實例

附錄B 一個基于變長格式的UART通信協議實例。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5206

    文章

    20562

    瀏覽量

    336060
  • 通信協議
    +關注

    關注

    28

    文章

    1093

    瀏覽量

    42297

原文標題:嵌入式設備與PC通訊的通信協議設計經驗

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    2025嵌入式開發教程|遠航哥

    https://www.bilibili.com/opus/1178756596191199237 嵌入式通信協議劍客:串口、I2C與SPI的深度解析 在嵌入式系統開發中,
    的頭像 發表于 03-20 17:35 ?1211次閱讀
    2025<b class='flag-5'>嵌入式</b>開發教程|遠航哥

    嵌入式驅動開發,需要掌握哪些技能?

    :掌握UART、SPI、I2C等接口常見通信協議,以及如何開發和調試相應的通信代碼。 2、 編程技能扎實的編程基礎:嵌入式驅動開發的核心是軟件編程,因此至少需要掌握C語言技能。 掌
    發表于 01-20 16:46

    小身材大能量的嵌入式板卡,profinet工業現場的通信替代好物

    推進,提升了能量密度和安全性。同時,回收技術的發展也在應對環境挑戰。政策支持與投資加速推動行業向更可持續和高效的方向發展,預計未來幾年將保持強勁增長。 嵌入式板卡評估板在鋰電池行業的應用效果: 通信協議的多樣性 多協議
    的頭像 發表于 12-15 15:40 ?369次閱讀

    通信協議IIC與SPI最全對比分析

    忘記的是各種總線的用途是什么?!按蟆?b class='flag-5'>協議是用于系統外的整個系統之間通信的,“小”協議是用于系統內各芯片間的通信,沒有跡象表明“大”協議有必要
    發表于 12-10 06:04

    Xilinx FPGA串行通信協議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統設計中關鍵的串行通信協議。介紹了它們的特性、優勢和應用場景
    的頭像 發表于 11-14 15:02 ?2709次閱讀
    Xilinx FPGA串行<b class='flag-5'>通信協議</b>介紹

    如何使用FPGA實現SRIO通信協議

    本例程詳細介紹了如何在FPGA上實現Serial RapidIO(SRIO)通信協議,并通過Verilog語言進行編程設計。SRIO作為一高速、低延遲的串行互連技術,在高性能計算和嵌入式系統中廣
    的頭像 發表于 11-12 14:38 ?5976次閱讀
    如何使用FPGA實現SRIO<b class='flag-5'>通信協議</b>

    嵌入式需要掌握哪些核心技能?

    /網絡設備)、中斷底半部處理,適用于高端嵌入式設備。 企業需求:RTOS是60%崗位的核心要求,Linux開發需求隨項目復雜度增長。 4)通信協議與接口 基礎
    發表于 10-21 16:25

    分布能源并網的通信協議有哪些?

    在分布能源(如光伏、儲能、微電網)并網場景中,通信協議需滿足 設備互聯、數據傳輸、遠程控制、調度協同 等核心需求,不同協議因設計目標不同,適用于從
    的頭像 發表于 09-18 16:40 ?1802次閱讀
    分布<b class='flag-5'>式</b>能源并網的<b class='flag-5'>通信協議</b>有哪些?

    嵌入式達到什么水平才能就業?

    :包括GPIO、定時器、中斷、ADC 等外設的配置與調試,能實現如溫濕度采集、電機控制等功能掌握嵌入式 Linux 驅動開發基礎:能編寫簡單字符設備驅動,實現設備的初始化、讀寫操作,會用內核調試
    發表于 09-15 10:20

    廣州郵科嵌入式通信電源系統:提升通信設備穩定性與效率的關鍵

    在今天的信息化社會,嵌入式通信電源系統已經成為許多通信設備的核心組成部分。特別是在廣州郵科,嵌入式通信
    的頭像 發表于 08-30 11:01 ?699次閱讀
    廣州郵科<b class='flag-5'>嵌入式</b><b class='flag-5'>通信</b>電源系統:提升<b class='flag-5'>通信</b><b class='flag-5'>設備</b>穩定性與效率的關鍵

    【干貨】一文帶你了解CAN、Modbus與LoRa三種通信協議的區別

    在工業自動化與物聯網領域,CAN、Modbus和LoRa是三種主流通信技術。而億佰特在該行業具有豐富的產品供客戶選擇與使用,幫助客戶進一步確定需求,本文將結合技術細節與實際案例解析其核心區別。一
    的頭像 發表于 08-28 19:32 ?2244次閱讀
    【干貨】一文帶你了解CAN、Modbus與LoRa<b class='flag-5'>三種</b><b class='flag-5'>通信協議</b>的區別

    哪些協議是工業通信協議?#格電子

    通信協議
    三格電子科技
    發布于 :2025年08月27日 14:16:07

    入行嵌入式應該怎么準備?

    任務調度的代碼是非常重要的。此外,了解操作系統內核的工作原理以及與硬件交互的方式也是必須的。 四、通信協議嵌入式系統通常需要與其他設備或系統進行通信。了解
    發表于 08-06 10:34

    ElfBoard嵌入式教育科普|CAN接口全面解析

    CAN的全稱是Controller Area Network,譯為控制器區域網絡,是一用于車輛、電力系統、工業設備嵌入式系統的半雙工異步串行通信協議和物理接口。
    的頭像 發表于 05-28 16:30 ?2641次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b>教育科普|CAN接口全面解析

    芯知識|廣州唯創電子語音芯片UART通信協議解析:發碼長度與校驗碼計算

    一、UART通信協議概述UART(通用異步收發器)是一廣泛應用于嵌入式系統的串行通信協議,其核心特點為無需時鐘同步,通過起始位、數據位、校驗位和停止位構成數據幀。在語音芯片應用中,U
    的頭像 發表于 05-27 08:48 ?827次閱讀
    芯知識|廣州唯創電子語音芯片UART<b class='flag-5'>通信協議</b>解析:發碼長度與校驗碼計算