chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

三種常見嵌入式設備通信協(xié)議

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

掃碼添加小助手

加入工程師交流群

嵌入式設備與PC通訊的通信協(xié)議設計經(jīng)驗

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

表1 三種常見通信協(xié)議

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

一. 簡單性

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

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

二. 可擴展

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

三. 低耦合

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

四. 穩(wěn)定性

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

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

五. 高效率

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

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

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

六. 易實現(xiàn)

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

七.軟件開發(fā)

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

接收固定長度的數(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。它具備高靈活性,但效率較低。

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

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

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, 幀尾,可見字符’}’

圖1 PC發(fā)送數(shù)據(jù)幀

表2 Data域數(shù)據(jù)結(jié)構(gòu)實例

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

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

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

    關(guān)注

    5175

    文章

    19973

    瀏覽量

    324378
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    1064

    瀏覽量

    41673

原文標題:嵌入式設備與PC通訊的通信協(xié)議設計經(jīng)驗

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    分布能源并網(wǎng)的通信協(xié)議有哪些?

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

    嵌入式達到什么水平才能就業(yè)?

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

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

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

    哪些協(xié)議是工業(yè)通信協(xié)議?#格電子

    通信協(xié)議
    三格電子科技
    發(fā)布于 :2025年08月27日 14:16:07

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

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

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

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

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

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心載體,發(fā)揮著至關(guān)重要的作用,各類接口通過預定義的通信協(xié)議與標準化規(guī)范,可以實現(xiàn)設備間的精準數(shù)據(jù)傳輸與智能控制。 作為嵌入式開發(fā)的技
    的頭像 發(fā)表于 03-05 11:11 ?2397次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|GPIO接口全面解析

    Modbus 轉(zhuǎn) Profinet:工業(yè)通信協(xié)議的橋梁

    1. 引言 在工業(yè)自動化領(lǐng)域,Modbus 和 Profinet 是兩廣泛使用的通信協(xié)議。Modbus 是一串行通信協(xié)議,常用于連接工業(yè)電子設備
    的頭像 發(fā)表于 02-24 11:11 ?570次閱讀
    Modbus 轉(zhuǎn) Profinet:工業(yè)<b class='flag-5'>通信協(xié)議</b>的橋梁

    搞懂TTL、RS232、485通信協(xié)議

    本文介紹了TTL、RS232和RS485這三種常見通信協(xié)議的傳輸距離、應用場景以及影響通信距離的各種因素。TTL是一短距離
    的頭像 發(fā)表于 01-16 10:59 ?9482次閱讀
    搞懂TTL、RS232、485<b class='flag-5'>通信協(xié)議</b>!

    總線通信協(xié)議解析及應用

    在現(xiàn)代計算機系統(tǒng)中,總線通信協(xié)議扮演著至關(guān)重要的角色。它們定義了數(shù)據(jù)如何在處理器、內(nèi)存、輸入/輸出設備等組件之間傳輸。 總線通信協(xié)議的基本概念 總線通信協(xié)議是一組規(guī)則,它規(guī)定了數(shù)據(jù)在系
    的頭像 發(fā)表于 12-31 10:07 ?1627次閱讀

    ARM嵌入式通信協(xié)議及應用

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)在各個領(lǐng)域扮演著越來越重要的角色。ARM處理器因其高性能、低功耗的特點,在嵌入式系統(tǒng)中得到了廣泛應用。通信協(xié)議作為嵌入式系統(tǒng)的重要組成部分,對于實現(xiàn)
    的頭像 發(fā)表于 12-28 09:18 ?1338次閱讀

    常見串口通信協(xié)議 如何設置串口參數(shù)

    串口通信是一常見通信方式,廣泛應用于計算機、嵌入式系統(tǒng)和各種電子設備之間。串口
    的頭像 發(fā)表于 12-27 09:51 ?4226次閱讀

    上位機通信協(xié)議詳解 嵌入式上位機設計流程

    上位機通信協(xié)議詳解 上位機通信協(xié)議是指上位機(通常是指具有強大計算能力和數(shù)據(jù)處理能力的計算機系統(tǒng))與下位機(如傳感器、執(zhí)行器等)之間進行數(shù)據(jù)交換和通信所遵循的規(guī)則和標準。以下是對幾種常見
    的頭像 發(fā)表于 12-04 10:21 ?3639次閱讀

    串口通信協(xié)議解析 串口通信應用實例

    串口通信協(xié)議解析 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。以下是串口通信協(xié)議的介紹: 基本概念
    的頭像 發(fā)表于 11-21 17:03 ?2699次閱讀

    PLC控制系統(tǒng)的通信協(xié)議解析

    的基本概念 通信協(xié)議是一組規(guī)則,定義了數(shù)據(jù)如何在不同的設備之間傳輸。在PLC控制系統(tǒng)中,這些協(xié)議包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層和應用層等多個層次。 常見的PLC
    的頭像 發(fā)表于 11-08 09:46 ?3091次閱讀