国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

嵌入式設(shè)備與PC通訊的通信協(xié)議設(shè)計(jì)經(jīng)驗(yàn)

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

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

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

一. 簡(jiǎn)單性

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

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

二. 可擴(kuò)展

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

三. 低耦合

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

四. 穩(wěn)定性

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

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

五. 高效率

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

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

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

六. 易實(shí)現(xiàn)

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

七.軟件開發(fā)

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

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

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

八. 考慮硬件

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

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

附錄A 一個(gè)基于DMA傳輸固定長(zhǎng)度的協(xié)議實(shí)例。

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

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

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

Dst:INT8U,標(biāo)識(shí)目標(biāo)設(shè)備的ID號(hào)

Src:INT8U,標(biāo)識(shí)源設(shè)備的ID號(hào)

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

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

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

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

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

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

附錄B 一個(gè)基于變長(zhǎng)格式的UART通信協(xié)議實(shí)例。

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

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

    關(guān)注

    5198

    文章

    20442

    瀏覽量

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

    關(guān)注

    28

    文章

    1092

    瀏覽量

    42150

原文標(biāo)題:嵌入式設(shè)備與PC通訊的通信協(xié)議設(shè)計(jì)經(jīng)驗(yàn)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式驅(qū)動(dòng)開發(fā),需要掌握哪些技能?

    :掌握UART、SPI、I2C等接口常見通信協(xié)議,以及如何開發(fā)和調(diào)試相應(yīng)的通信代碼。 2、 編程技能扎實(shí)的編程基礎(chǔ):嵌入式驅(qū)動(dòng)開發(fā)的核心是軟件編程,因此至少需要掌握C語言技能。 掌
    發(fā)表于 01-20 16:46

    小身材大能量的嵌入式板卡,profinet工業(yè)現(xiàn)場(chǎng)的通信替代好物

    推進(jìn),提升了能量密度和安全性。同時(shí),回收技術(shù)的發(fā)展也在應(yīng)對(duì)環(huán)境挑戰(zhàn)。政策支持與投資加速推動(dòng)行業(yè)向更可持續(xù)和高效的方向發(fā)展,預(yù)計(jì)未來幾年將保持強(qiáng)勁增長(zhǎng)。 嵌入式板卡評(píng)估板在鋰電池行業(yè)的應(yīng)用效果: 通信協(xié)議的多樣性 多協(xié)議
    的頭像 發(fā)表于 12-15 15:40 ?292次閱讀

    通信協(xié)議IIC與SPI最全對(duì)比分析

    忘記的是各種總線的用途是什么。“大”協(xié)議是用于系統(tǒng)外的整個(gè)系統(tǒng)之間通信的,“小”協(xié)議是用于系統(tǒng)內(nèi)各芯片間的通信,沒有跡象表明“大”協(xié)議有必要
    發(fā)表于 12-10 06:04

    Xilinx FPGA串行通信協(xié)議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設(shè)計(jì)。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統(tǒng)設(shè)計(jì)中關(guān)鍵的串行通信協(xié)議。介紹了它們的特性、優(yōu)勢(shì)和應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 11-14 15:02 ?2532次閱讀
    Xilinx FPGA串行<b class='flag-5'>通信協(xié)議</b>介紹

    如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議

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

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

    /網(wǎng)絡(luò)設(shè)備)、中斷底半部處理,適用于高端嵌入式設(shè)備。 企業(yè)需求:RTOS是60%崗位的核心要求,Linux開發(fā)需求隨項(xiàng)目復(fù)雜度增長(zhǎng)。 4)通信協(xié)議與接口 基礎(chǔ)
    發(fā)表于 10-21 16:25

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

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

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

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

    廣州郵科嵌入式通信電源系統(tǒng):提升通信設(shè)備穩(wěn)定性與效率的關(guān)鍵

    在今天的信息化社會(huì),嵌入式通信電源系統(tǒng)已經(jīng)成為許多通信設(shè)備的核心組成部分。特別是在廣州郵科,嵌入式通信
    的頭像 發(fā)表于 08-30 11:01 ?617次閱讀
    廣州郵科<b class='flag-5'>嵌入式</b><b class='flag-5'>通信</b>電源系統(tǒng):提升<b class='flag-5'>通信</b><b class='flag-5'>設(shè)備</b>穩(wěn)定性與效率的關(guān)鍵

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

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

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

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

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

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

    芯知識(shí)|廣州唯創(chuàng)電子語音芯片UART通信協(xié)議解析:發(fā)碼長(zhǎng)度與校驗(yàn)碼計(jì)算

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

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

    掌握UART等通信接口的深入知識(shí),對(duì)嵌入式初學(xué)者而言,不僅能夠深化對(duì)通信協(xié)議與方式的認(rèn)知,增強(qiáng)調(diào)試技巧及通信接口設(shè)計(jì)能力,還能拓寬應(yīng)用范疇并培育系統(tǒng)級(jí)思考方式。因此本文將對(duì)UART接口
    的頭像 發(fā)表于 03-10 09:29 ?2080次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b>教育科普|UART接口全面解析