一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

消息協(xié)議如何提高數(shù)據(jù)傳輸?shù)目煽啃?/h1>

串行端口PIC與其他設備通信的最簡單方法之一。但是,事件串行端口存在缺陷,因此在本教程中,我們將了解消息協(xié)議如何提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

示意圖

原始數(shù)據(jù)傳輸

現(xiàn)代微控制器通常內置許多設備接口外設,包括I2C,SPI,UART和能夠。雖然I2C和SPI專用于器件,并且嚴重依賴于選擇信號或啟動/停止信號,但UART更加自由。 UART的最大缺點之一是缺少時鐘信號,這可能導致發(fā)送器或接收器的時鐘漂移(導致波特差異),幀錯誤,甚至當其中一個緩沖器出現(xiàn)溢出錯誤方滿了。當然,這些問題是使用定時器,監(jiān)視器和事件容易克服的相對性。但是,與I2C和SPI不同,串行連接在一種特定情況下更常見:可移動硬件。 I2C和SPI器件通常是直接焊接到主電路板或永久連接到它們的IC。同時,這些設備是主控制器的子設備,因此無法自行啟動數(shù)據(jù)傳輸。

想象一下PIC和計算機通過串行連接進行通信,其中每個設備都可以發(fā)送命令或數(shù)據(jù)到另一個設備。這樣的系統(tǒng)可以用普通的消息協(xié)議輕松實現(xiàn),其中發(fā)送的第一個字節(jié)代表命令,后面的字節(jié)代表該命令的數(shù)據(jù)。只要沒有中斷,該系統(tǒng)就可以正常運行。但是,如果計算機在發(fā)送命令后傳輸數(shù)據(jù)字節(jié)的一半時崩潰并重新啟動會發(fā)生什么?好吧,我們的程序將重新啟動并嘗試發(fā)送命令字節(jié)以啟動數(shù)據(jù)傳輸,但命令字節(jié)將被PIC解釋為數(shù)據(jù)字節(jié),因為它仍然期望一個數(shù)據(jù)字節(jié)。這會導致PIC產生錯誤,因為它讀取的字節(jié)可能會產生意外結果。但這不僅僅是UART的一個問題;任何可能被終止的連接,無法知道連接已被終止,也可能崩潰。解決方案是使用消息協(xié)議!

我們的消息協(xié)議:DHP - DIY黑客協(xié)議

確保命令始終正確處理,命令字節(jié)值將是唯一的。對于我們的系統(tǒng),我們將有以下命令:

0x00 - 無操作

0x01 - 請求數(shù)據(jù)

0x02 - 寫數(shù)據(jù)

0x03 - 數(shù)據(jù)結束

0x04 - 重啟(發(fā)生錯誤或失?。?/p>

作為一個簡單的例子,如果我們想通過計算機向PIC發(fā)送一些數(shù)據(jù),我們必須首先發(fā)送0x02,然后發(fā)送所有數(shù)據(jù),然后發(fā)送數(shù)據(jù)結束字節(jié)。如果傳輸中斷并且計算機嘗試重新發(fā)送數(shù)據(jù),它將再次發(fā)送整個數(shù)據(jù)包。 PIC將正確解釋命令字節(jié)并意識到正在發(fā)送新數(shù)據(jù)包。但是,如果我們的數(shù)據(jù)包含0,1,2,3或4,會發(fā)生什么? PIC會將這些解釋為命令字節(jié),因此會發(fā)生致命錯誤。那么,我們如何解決這個問題?

雖然不是最有效的方法,但我們可以用其他形式表示我們的數(shù)據(jù)而不是原始字節(jié)值。一種方法是將我們的數(shù)據(jù)表示為十六進制形式的ASCII字符,以便兩個ASCII字節(jié)代表一個字節(jié)的數(shù)據(jù)。例如,F(xiàn)F表示255,其中00表示0.因此,我們的數(shù)據(jù)字節(jié)永遠不能與命令字節(jié)相同,并且通過使用ASCII編碼的十六進制字節(jié),理論上我們可以有多達240個命令字節(jié)(留下16個十六進制字符用于數(shù)據(jù))。使用ASCII編碼數(shù)據(jù)的缺點是我們有效地將數(shù)據(jù)速率減半,命令字節(jié)進一步降低了速度。但與此同時,系統(tǒng)的可靠性也得到了顯著提高。

數(shù)據(jù)完整性怎么樣?我們可以通過在數(shù)據(jù)包中添加校驗和來實現(xiàn)這一點,這樣接收方就可以確保數(shù)據(jù)完好無損。一種簡單的方法是對收到的所有字節(jié)進行異或,并將其用作校驗和。如果任何一個位被誤讀,這將顯示在XOR校驗和中。如果同一列中的兩個位被誤讀,則校驗和保持不變,因此XOR僅對單位錯誤有效(但這些是最常見的)。

示例包

編寫數(shù)字92(十六進制0x5C)

從設備讀取(TX設備)請求數(shù)據(jù),RX設備發(fā)送請求的數(shù)據(jù))

的構建的的

該項目可以使用許多不同的電路構造技術構建,包括條形板,矩陣板,面包板和PCB。在這個例子中,我使用了在CNC機床上制造的PCB(通過隔離布線),但我正在考慮回到化學過程,原因將在后面的文章中討論。

這也是我第一個包含使用XYZ da Vinci Jr. 3D打印機制作的自定義項目框的項目。設計本身(痛苦地)在Google SketchUp中制作,然后由于STL導出器插件導出為STL文件。然后,STL文件在XYZmaker中導入并打印。雖然這個項目盒不使用螺絲,但未來的設計將會如此。雖然3D打印的型號可能價格昂貴(這個盒子使用價值約1.00美元的塑料),但它是一種定制設計,可以制作近乎完美的功能,如切口和孔。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    振弦式應變計兩種數(shù)據(jù)傳輸方式介紹

    采集的效率與可靠性。下面給大家介紹振弦式應變計兩種數(shù)據(jù)傳輸方式。一、有線傳輸:穩(wěn)定可靠的傳統(tǒng)方案有線傳輸是振弦式應變計最傳統(tǒng)的
    的頭像 發(fā)表于 07-15 13:38 ?55次閱讀
    振弦式應變計兩種<b class='flag-5'>數(shù)據(jù)傳輸</b>方式介紹

    工業(yè)智能網關在數(shù)據(jù)傳輸中有哪些功能

    工業(yè)智能網關在數(shù)據(jù)傳輸中具備協(xié)議轉換、數(shù)據(jù)采集與預處理、邊緣計算、安全加密、多通道傳輸、遠程管理與配置、斷點續(xù)傳與數(shù)據(jù)補傳、
    的頭像 發(fā)表于 07-01 15:16 ?131次閱讀
    工業(yè)智能網關在<b class='flag-5'>數(shù)據(jù)傳輸</b>中有哪些功能

    像這樣一款體積小巧的DTU數(shù)據(jù)傳輸終端你見過嗎?

    數(shù)據(jù)傳輸
    才茂通信
    發(fā)布于 :2025年06月04日 14:33:29

    iic協(xié)議數(shù)據(jù)傳輸速率標準

    I2C協(xié)議定義了多種數(shù)據(jù)傳輸速率標準,以適應不同的應用需求。以下是I2C協(xié)議的主要數(shù)據(jù)傳輸速率標準: 標準模式(Standard-mode) :速率為100 kbps(每秒100,00
    的頭像 發(fā)表于 02-05 13:40 ?2355次閱讀

    MPU數(shù)據(jù)傳輸協(xié)議詳解

    協(xié)議的基本概念 數(shù)據(jù)傳輸協(xié)議定義了數(shù)據(jù)在MPU和外部設備之間傳輸的方式,包括數(shù)據(jù)的格式、同步方式
    的頭像 發(fā)表于 01-08 09:37 ?877次閱讀

    MTP協(xié)議數(shù)據(jù)傳輸中的優(yōu)勢

    在現(xiàn)代通信系統(tǒng)中,電子郵件和消息傳遞服務已成為日常工作和生活中不可或缺的一部分。MTP協(xié)議作為X.400系列標準的核心組成部分,為這些服務提供了一個可靠和高效的傳輸機制。 1. 高度的可靠性
    的頭像 發(fā)表于 01-03 09:53 ?1133次閱讀

    總線數(shù)據(jù)傳輸的安全分析

    總線數(shù)據(jù)傳輸的安全分析,特別是針對像CAN(Controller Area Network)總線這樣的重要通信協(xié)議,是一個復雜而關鍵的課題。以下是對CAN總線數(shù)據(jù)傳輸安全
    的頭像 發(fā)表于 12-31 09:51 ?735次閱讀

    如何使用 HTTP 協(xié)議進行數(shù)據(jù)傳輸

    在互聯(lián)網時代,數(shù)據(jù)傳輸是信息交換的基礎。HTTP協(xié)議作為最常用的數(shù)據(jù)傳輸協(xié)議之一,支撐著全球數(shù)十億用戶的數(shù)據(jù)交互。 HTTP
    的頭像 發(fā)表于 12-30 09:24 ?1571次閱讀

    信噪比對數(shù)據(jù)傳輸速度的影響

    到信號檢測和識別的準確,以及數(shù)據(jù)傳輸可靠性和速度。 二、信噪比對數(shù)據(jù)傳輸速度的影響 影響通信質量 : 高的信噪比意味著信號強度遠大于噪聲強度,信號能夠更準確地被接收和解碼,從而減少
    的頭像 發(fā)表于 12-10 14:38 ?1798次閱讀

    PCIe數(shù)據(jù)傳輸協(xié)議詳解

    、網卡和聲卡等,以實現(xiàn)高效的數(shù)據(jù)傳輸。以下是對PCIe數(shù)據(jù)傳輸協(xié)議的介紹: 一、PCIe協(xié)議的基本概念 PCIe協(xié)議定義了一系列規(guī)范和要求,
    的頭像 發(fā)表于 11-26 16:12 ?3526次閱讀

    如何提高CAN總線的傳輸可靠性

    提高CAN總線的傳輸可靠性可以從多個方面入手,以下是一些具體的方法: 一、優(yōu)化CAN總線設計 選擇合適的傳輸介質 : 使用屏蔽電纜或光纖等高質量的
    的頭像 發(fā)表于 11-21 10:26 ?1244次閱讀

    socket 數(shù)據(jù)傳輸效率提升技巧

    TCP :提供可靠的、有序的和錯誤檢查的數(shù)據(jù)傳輸。適用于需要保證數(shù)據(jù)完整的場景。 UDP :提供快速但不可靠
    的頭像 發(fā)表于 11-12 14:34 ?1142次閱讀

    CAN總線數(shù)據(jù)傳輸速率設置

    數(shù)據(jù)傳輸速度的指標,以每秒傳輸的位數(shù)(bps)來表示。 1. CAN總線概述 CAN總線由Bosch公司在1980年代開發(fā),最初用于汽車工業(yè),以取代傳統(tǒng)的點對點布線系統(tǒng)。CAN總線以其可靠性、靈活性和成本效益而聞名,現(xiàn)已廣泛應用
    的頭像 發(fā)表于 11-12 10:03 ?2664次閱讀

    網絡數(shù)據(jù)傳輸速率的單位是什么

    網絡數(shù)據(jù)傳輸速率的單位是 bps(bit per second) ,即比特每秒,也可以表示為b/s或bit/s。它表示的是每秒鐘傳輸的二進制數(shù)的位數(shù)。比特(bit)是計算機中數(shù)據(jù)量的單位,也是信息論
    的頭像 發(fā)表于 10-12 10:20 ?4720次閱讀

    N型插座在數(shù)據(jù)傳輸中的應用有哪些

    德索工程師說道N型插座的低插入損耗特性意味著信號在傳輸過程中的衰減較小,從而保證了信號強度的穩(wěn)定性和傳輸質量。低電壓駐波比則確保了信號在連接器內部的穩(wěn)定傳輸,減少了信號反射和干擾。這兩個特性共同作用,
    的頭像 發(fā)表于 09-26 15:17 ?576次閱讀
    N型插座在<b class='flag-5'>數(shù)據(jù)傳輸</b>中的應用有哪些