串行通信協(xié)議.第1部分:簡(jiǎn)介
在這一系列文章中,我們將研究一些不同類型的串行通信協(xié)議,這些協(xié)議可用于在微控制器數(shù)據(jù)生產(chǎn)和數(shù)據(jù)處理外圍設(shè)備,以及其他智能設(shè)備。接下來(lái)的文章將介紹串行通信的一些常用協(xié)議。在本系列文章的最后,我們將總結(jié)每種方法的優(yōu)缺點(diǎn)。我們希望這一資源將證明有價(jià)值的下一次你發(fā)現(xiàn)你自己需要實(shí)現(xiàn)一個(gè)串行通信總線,幫助你選擇最好的選擇適合你的特殊情況。
這些天電子產(chǎn)品已成為電子產(chǎn)品市場(chǎng)上最重要的部分. 許多不同的芯片在使用中,它們的復(fù)雜操作依賴于發(fā)送到或來(lái)自其他類似數(shù)字元件的信息。已經(jīng)創(chuàng)建了通用協(xié)議標(biāo)準(zhǔn)來(lái)支持它們之間的通信。想象一下,如果每個(gè)IC或設(shè)備都使用其唯一的協(xié)議進(jìn)行通信。這就好比每個(gè)人都用自己獨(dú)特的語(yǔ)言說(shuō)話一樣。這將是一場(chǎng)混亂,因?yàn)槲覀儙缀醪豢赡芟嗷ダ斫狻?/span>
我們目前有不同的存儲(chǔ)器IC、數(shù)字傳感器、保護(hù)裝置、可編程電源、數(shù)字電位器、射頻IC等,都需要彼此之間或與微控制器通信,微處理器 ,FPGA或ASIC。設(shè)備之間這些通信的目的可能有很大的不同。它可以用于編程來(lái)提取信息,提供信號(hào)來(lái)啟動(dòng)動(dòng)作的性能。
另外,有些協(xié)議給了我們?nèi)祟愅ㄟ^(guò)微控制器與集成電路交互的能力。你可以向微控制器發(fā)送信號(hào),微控制器被編程為通過(guò)這些協(xié)議之一向IC發(fā)送信號(hào)?;蛘?,您可以連接一個(gè)可用的調(diào)試工具。
串行通信的一個(gè)問(wèn)題是,如果出現(xiàn)問(wèn)題,很難找到并調(diào)試電路。假設(shè)數(shù)據(jù)沒(méi)有從一個(gè)設(shè)備傳輸?shù)搅硪粋€(gè)設(shè)備。在這種情況下,故障可能存在于以下一個(gè)或多個(gè)地方:發(fā)送設(shè)備的邏輯、電路設(shè)計(jì)、串行通信的編碼方式、通信總線、接收器的解碼、接收器的電路設(shè)計(jì)或最終接收器的邏輯。在串行通信上粘貼示波器探針可以讓您查看是否有任何活動(dòng),但不會(huì)告訴您其有效性。為了完全了解發(fā)生了什么,你需要一個(gè)帶解碼功能的示波器或一個(gè)邏輯分析儀。這將使你知道電壓脈沖在脈沖中的傳播,從而發(fā)現(xiàn)電壓水平,發(fā)現(xiàn)任何噪聲問(wèn)題,并尋找信號(hào)上升和下降率的問(wèn)題。
然而,為了徹底調(diào)試串行通信,您需要一個(gè)工具來(lái)解碼總線上的數(shù)據(jù),看看它是否正確,或者是否被損壞或受到碰撞的影響。大量的調(diào)試工具專門用來(lái)調(diào)試設(shè)備或集成電路之間的通信。工業(yè)標(biāo)準(zhǔn)邏輯分析儀之一是薩利埃邏輯一系列邏輯分析儀,Pro模型提供足夠的速度來(lái)分析所有最流行的協(xié)議。
像這樣的協(xié)議處理速度太慢,分析速度太慢。這個(gè)LA2016邏輯分析儀提供采樣率之間的Salaee邏輯8和邏輯8 Pro非常低的成本;我有一個(gè),并用它非常成功地分析了協(xié)議。
此外,通信協(xié)議的考慮對(duì)于固件和硬件設(shè)計(jì)都是至關(guān)重要的。從硬件方面來(lái)說(shuō),你應(yīng)該仔細(xì)檢查你選擇的微控制器的數(shù)據(jù)表。MCU只能使用專用管腳與預(yù)定義的協(xié)議進(jìn)行通信。在選擇MCU之前,設(shè)計(jì)者需要決定將使用什么IC以及需要什么協(xié)議。
例如,安裝在流行的STM32 Blue Pill開(kāi)發(fā)板上的stmcroelectronics STM32F103C8T6設(shè)備包括2 x I2C、3 x USART、2 x SPI和1 x CAN通信接口。但是,這些通信協(xié)議的一些管腳是共享的。例如,如果我們看設(shè)備的14號(hào)針,它的標(biāo)簽是PA4。此引腳同時(shí)具有USART和SPI功能。這意味著您不能同時(shí)為您的設(shè)計(jì)使用所有列出的SPI和USART接口。你需要選擇你需要的時(shí)間和相應(yīng)的計(jì)劃,或搜索另一個(gè)微控制器,支持更多的通信接口。當(dāng)然,PA4管腳可以通過(guò)改變操作中的配置來(lái)用于兩種通信協(xié)議。但是,您仍然需要仔細(xì)考慮在什么時(shí)候它將用于運(yùn)行,因?yàn)樗鼈儾荒芡瑫r(shí)使用。這將增加硬件和固件設(shè)計(jì)的復(fù)雜性。
微控制器中的串行通信管腳可以重疊,所以讀數(shù)據(jù)表您需要根據(jù)設(shè)備將從固件端使用的通信協(xié)議下載并使用相應(yīng)的IC通信庫(kù)模塊。
雖然有許多通信協(xié)議,但最流行的是SPI和I2C。每種協(xié)議都有它的應(yīng)用、通信速度、設(shè)計(jì)考慮因素、優(yōu)缺點(diǎn)。在這一系列文章中,我們將依次介紹它們。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。