www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]在嵌入式系統(tǒng)中,接口是指用于將各種集成電路與其他外圍設(shè)備交互連接的通信通路或總線,是微處理器CPU與外部世界的連接部件,是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站。

在嵌入式系統(tǒng)中,接口是指用于將各種集成電路與其他外圍設(shè)備交互連接的通信通路或總線,是微處理器CPU與外部世界的連接部件,是CPU與外界進(jìn)行信息交換的中轉(zhuǎn)站。

為什么要在CPU與外設(shè)之間設(shè)置接口?在CPU與外設(shè)之間設(shè)置接口主要有4個(gè)原因:

1. CPU與外設(shè)二者的信號(hào)不兼容,包括信號(hào)線的功能定義、邏輯定義和時(shí)序關(guān)系。

2. CPU與外設(shè)的速度不匹配,CPU的速度快,外設(shè)的速度慢。

3. 若不通過(guò)接口,而由CPU直接對(duì)外設(shè)的操作實(shí)施控制,會(huì)使CPU處于窮于應(yīng)付與外設(shè)打交道之中,大大降低CPU的效率。

4. 若外設(shè)直接由CPU控制,會(huì)使外設(shè)的硬件結(jié)構(gòu)依賴于CPU,對(duì)外設(shè)本身的發(fā)展不利。

常見(jiàn)接口介紹

01

UART接口

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver-Transmitter),通常稱作UART,是一種全雙工異步收發(fā)傳輸器,是電腦硬件的一部分。將數(shù)據(jù)在串行通信與并行通信間作傳輸轉(zhuǎn)換,作為并行輸入成為串行輸出的芯片,通常集成于其它通訊接口的連結(jié)上。

UART最好的一點(diǎn)是它只使用兩根線就可以在設(shè)備之間傳輸數(shù)據(jù)。在UART通信中,兩個(gè)UART直接相互通信。發(fā)送UART將來(lái)自CPU等控制設(shè)備的并行數(shù)據(jù)轉(zhuǎn)換為串行形式,并將其串行發(fā)送到接收UART上,接收UART然后將串行數(shù)據(jù)轉(zhuǎn)換回接收設(shè)備的并行數(shù)據(jù)。在兩個(gè)UART之間傳輸數(shù)據(jù)只需要兩根線。數(shù)據(jù)從發(fā)送UART的Tx引腳流向接收UART的Rx引腳:

UART通信協(xié)議數(shù)據(jù)流描述如下:

(1)起始位:先發(fā)出—個(gè)邏輯“0”的信號(hào),表示傳輸字符的開(kāi)始。

(2)數(shù)據(jù)位:緊接著起始位之后。數(shù)據(jù)位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。

(3)奇偶校驗(yàn)位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來(lái)校驗(yàn)資料傳送的正確性。

(4)停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平,停止位個(gè)數(shù)越多,數(shù)據(jù)傳輸越穩(wěn)定,但是數(shù)據(jù)傳輸速度也越慢。

(5)空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒(méi)有數(shù)據(jù)傳送。

(6)波特率:數(shù)據(jù)傳輸?shù)乃俾?。有以下幾個(gè)檔位: 300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200。在數(shù)據(jù)傳輸和接收雙方,需要預(yù)先統(tǒng)—波特率,以便正確的傳輸數(shù)據(jù)。

UART通信原理:

發(fā)送數(shù)據(jù)過(guò)程:空閑狀態(tài),線路處于高電位,當(dāng)收到發(fā)送數(shù)據(jù)指令后,拉低線路一個(gè)數(shù)據(jù)位的時(shí)間T,接著數(shù)據(jù)按低位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送奇偶校驗(yàn)位和停止位(停止位為高電位),一幀數(shù)據(jù)發(fā)送結(jié)束。

接收數(shù)據(jù)過(guò)程:空閑狀態(tài),線路處于高電位;當(dāng)檢測(cè)到線路的下降沿(線路電位由高電位變?yōu)榈碗娢?時(shí)說(shuō)明線路有數(shù)據(jù)傳輸,按照約定的波特率從低位到高位接收數(shù)據(jù),數(shù)據(jù)接收完畢后,接著接收并比較奇偶校驗(yàn)位是否正確,如果正確則通知后續(xù)設(shè)備準(zhǔn)備接收數(shù)據(jù)或存入緩存。

在嵌入式設(shè)計(jì)中,UART用于主機(jī)與輔助設(shè)備通信,如汽車(chē)音響與外接AP之間的通信,與PC機(jī)通信包括與監(jiān)控調(diào)試器和其他器件,如EEPROM通信。在BLE藍(lán)牙模塊中,UART透?jìng)鲙缀醭蔀橐粋€(gè)標(biāo)配功能,串口透?jìng)魉{(lán)牙模塊使用起來(lái)極其方便,開(kāi)發(fā)人員不需要了解藍(lán)牙協(xié)議棧是如何實(shí)現(xiàn)的,只需使用串口藍(lán)牙模塊就可以輕松開(kāi)發(fā)藍(lán)牙無(wú)線傳輸產(chǎn)品。深圳信馳達(dá)科技作為一家無(wú)線物聯(lián)網(wǎng)模塊廠商,提供基于TI CC264x、Silicons Labs EFR32BG22、Nordic nRF52832等方案的藍(lán)牙串口透?jìng)髂K,支持BLE 4.2/5.0協(xié)議,具有工業(yè)級(jí)、小尺寸、低功耗的特點(diǎn),可以幫助用戶以最低的成本和最快的速度開(kāi)發(fā)藍(lán)牙應(yīng)用。

02

I2C接口

I2C (Inter Integrated Circuit)總線是飛利浦(PHILIPS)公司開(kāi)發(fā)的兩線式串行、半雙工的總線,主要用于近距離、低速的芯片之間的通信。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小等優(yōu)點(diǎn)。

I2C可在多個(gè)主站和多個(gè)從站之間僅使用兩條線路傳輸信息,即SDA(串行數(shù)據(jù))和SCL(串行時(shí)鐘)。串行的8位雙向數(shù)據(jù)傳輸速率在標(biāo)準(zhǔn)模式下可達(dá)100Kbit/s,快速模式下可達(dá)400Kbit/s,高速模式下可達(dá)3.4Mbit/s。

I2C通信協(xié)議工作原理:

I2C總線在進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘線SCL為低電平期間發(fā)送器向數(shù)據(jù)線上發(fā)送一位數(shù)據(jù),在此期間數(shù)據(jù)線上的信號(hào)允許發(fā)生變化,時(shí)鐘線SCL為高電平期間接收器從數(shù)據(jù)線上讀取一位數(shù)據(jù),在此期間數(shù)據(jù)線上的信號(hào)不允許發(fā)生變化,必須保持穩(wěn)定。同步數(shù)據(jù)

起始信號(hào):SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號(hào)。

終止信號(hào):SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號(hào)。

起始信號(hào)和停止信號(hào)都是由主機(jī)發(fā)出,起始信號(hào)產(chǎn)生后總線處于占用狀態(tài),停止信號(hào)產(chǎn)生后總線被釋放,處于空閑狀態(tài)。

空閑時(shí),SCL與SDA都是高電平。

應(yīng)答信號(hào):出現(xiàn)在1個(gè)字節(jié)傳輸完成之后,即第9個(gè)SCL時(shí)鐘周期內(nèi),此時(shí)主機(jī)需要釋放SDA總線,把總線控制權(quán)交給從機(jī),由于上拉電阻的作用,此時(shí)總線為高電平,如果從機(jī)正確的收到了主機(jī)發(fā)來(lái)的數(shù)據(jù),會(huì)把SDA拉低,表示應(yīng)答響應(yīng)。

非應(yīng)答信號(hào):當(dāng)?shù)?個(gè)SCL時(shí)鐘周期時(shí),SDA保持高電平,表示非應(yīng)答信號(hào)。

每一個(gè)字節(jié)必須保證是8位長(zhǎng)度。數(shù)據(jù)傳送時(shí),先傳送最高位(MSB),每一個(gè)被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位))。如果一段時(shí)間內(nèi)沒(méi)有收到從機(jī)的應(yīng)答信號(hào),則自動(dòng)認(rèn)為從機(jī)己正確接收到數(shù)據(jù),主機(jī)就發(fā)送停止信號(hào)結(jié)束此次通信。


I2C通常用于單片機(jī)外設(shè)或多個(gè)單片機(jī)之間通訊,I2C接口具有硬件簡(jiǎn)單、軟件編程容易等特點(diǎn)。

03

USB接口

USB的英文全稱為Universal Serial Bus,中文是通用串行總線,它是一種快速雙向的同步傳輸并可以進(jìn)行熱拔插的串行接口。

USB接口使用方便,它可以連接多個(gè)不同的設(shè)備,而過(guò)去的串口和并口只能接一個(gè)設(shè)備。速度快是USB技術(shù)的突出特點(diǎn)之一。全速USB接口的最高傳輸率可達(dá)12Mb/s,比串口快了整整100倍,而執(zhí)行USB 2.0標(biāo)準(zhǔn)的高速USB接口速率更是達(dá)到了480Mb/s,最新的USB 3.1支持高達(dá)10Gb/s的傳輸速率。

USB總線作為一種高速串行總線,它具有支持即插即用和熱插拔功能、傳送速度較快、使用方便、成本也相對(duì)低廉等特點(diǎn),是近年來(lái)最流行的外圍設(shè)備接口。USB接口技術(shù)被廣泛地應(yīng)用于計(jì)算機(jī)與外設(shè)的數(shù)據(jù)傳輸,尤其是儀表、儀器等便攜式設(shè)備通常都采用USB接口。

04

SPI接口

SPI是Serial Peripheral Interface的縮寫(xiě),顧名思義就是串行外圍設(shè)備接口。SPI接口主要應(yīng)用在EEPROM、FLASH、實(shí)時(shí)時(shí)鐘、AD轉(zhuǎn)換器、還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。

SPI是一種高速全雙工同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便。

它有四條主線,如下所述:

MOSl -主輸出從輸入,用于將數(shù)據(jù)從主設(shè)備傳輸?shù)綇脑O(shè)備。

MISO-主輸入從輸出,用于將數(shù)據(jù)從從設(shè)備傳輸?shù)街髟O(shè)備。

SCLK-串行時(shí)鐘,它是主站輸出的時(shí)鐘,用于同步。

SS/CS-從設(shè)備選擇,主設(shè)備使用它從多個(gè)從設(shè)備中選擇一個(gè)從設(shè)備。它插入低電平有效信號(hào)以選擇特定的從器件。

SPI數(shù)據(jù)傳輸在一個(gè)SPI時(shí)鐘周期內(nèi),會(huì)完成如下操作:

1) 主機(jī)通過(guò)MOSI線發(fā)送1位數(shù)據(jù),從機(jī)通過(guò)該線讀取這1位數(shù)據(jù);

2) 從機(jī)通過(guò)MISO線發(fā)送1位數(shù)據(jù),主機(jī)通過(guò)該線讀取這1位數(shù)據(jù)。

這是通過(guò)移位寄存器來(lái)實(shí)現(xiàn)的。主機(jī)和從機(jī)各有一個(gè)移位寄存器,且二者連接成環(huán)。隨著時(shí)鐘脈沖,數(shù)據(jù)按照從高位到低位的方式依次移出主機(jī)寄存器和從機(jī)寄存器,并且依次移入從機(jī)寄存器和主機(jī)寄存器。當(dāng)寄存器中的內(nèi)容全部移出時(shí),相當(dāng)于完成了兩個(gè)寄存器內(nèi)容的交換。

在SPI操作中,最重要的兩項(xiàng)設(shè)置就是時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)。時(shí)鐘極性設(shè)置時(shí)鐘空閑時(shí)的電平,時(shí)鐘相位設(shè)置讀取數(shù)據(jù)和發(fā)送數(shù)據(jù)的時(shí)鐘沿。

主機(jī)和從機(jī)的發(fā)送數(shù)據(jù)是同時(shí)完成的,兩者的接收數(shù)據(jù)也是同時(shí)完成的。所以為了保證主從機(jī)通信正確,應(yīng)使得它們的SPI具有相同的時(shí)鐘極性和時(shí)鐘相位。

如果CPOL=0,串行同步時(shí)鐘的空閑狀態(tài)為低電平;

如果CPOL=1,串行同步時(shí)鐘的空閑狀態(tài)為高電平。

如果CPHA=0,在串行同步時(shí)鐘的第一個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣;

如果CPHA=1,在串行同步時(shí)鐘的第二個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣。

SPI主模塊和與之通信的外設(shè)時(shí)鐘相位和極性應(yīng)該一致。下

SPI接口主要應(yīng)用在EEPROM、FLASH、實(shí)時(shí)時(shí)鐘、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、AD轉(zhuǎn)換器,數(shù)字信號(hào)處理器、數(shù)字信號(hào)解碼器等設(shè)備之間。

05

ADC接口

在儀器儀表系統(tǒng)中,常常需要將檢測(cè)到的連續(xù)變化的模擬量如:溫度、壓力、流量、速度、光強(qiáng)等轉(zhuǎn)變成離散的數(shù)字量,才能輸入到計(jì)算機(jī)中進(jìn)行處理。這些模擬量通過(guò)傳感器轉(zhuǎn)變成電信號(hào)(一般為電壓信號(hào)),經(jīng)過(guò)放大器放大后,就需要經(jīng)過(guò)一定的處理變成數(shù)字量。實(shí)現(xiàn)模擬量到數(shù)字量轉(zhuǎn)變的設(shè)備通常稱為模數(shù)轉(zhuǎn)換器(ADC),簡(jiǎn)稱A/D。

A/D轉(zhuǎn)換的過(guò)程是采樣、保持、量化、編碼的過(guò)程,構(gòu)成ADC的基本思想是將輸入的模擬電壓與基準(zhǔn)電壓相比較(直接或間接比較),轉(zhuǎn)換成數(shù)字量輸出。在ADC中,有并聯(lián)比較型、逐次逼近型、雙積分三種ADC。

使用ADC時(shí)最關(guān)心的是轉(zhuǎn)換精度和轉(zhuǎn)換時(shí)間。轉(zhuǎn)換精度受芯片外部影響的因素主要有:電源電壓和參考電壓的穩(wěn)定度、運(yùn)算放大器的穩(wěn)定性、環(huán)境溫度等,受芯片本身影響因素有:分辨率、量化誤差、相對(duì)誤差、線性誤差等。

采樣、保持:所謂采樣就是將一個(gè)時(shí)間上連續(xù)變化的模擬量轉(zhuǎn)化為時(shí)間上離散變化的模擬量。將采樣結(jié)果儲(chǔ)存起來(lái),直到下次采樣,這個(gè)過(guò)程叫做保持。

量化、編碼:模擬信號(hào)通過(guò)ADC轉(zhuǎn)換成數(shù)字信號(hào)的這一過(guò)程稱為量化,由于量化輸出的數(shù)字信號(hào)位數(shù)有限,所以輸出的數(shù)字信號(hào)和采樣得到的模擬信號(hào)會(huì)有一個(gè)誤差,稱為量化誤差,對(duì)于一個(gè)N位ADC來(lái)說(shuō),假設(shè)其滿量程電壓為Vref,Vref被ADC分為2N個(gè)區(qū)間,區(qū)間寬度用LSB表示LSB=Vref/2N。

06

CAN總線接口

CAN總線全稱Controller Area Network,中文名控制器局域網(wǎng)絡(luò)。是一種串行、同步、半雙工的總線。由德國(guó)BOSCH公司開(kāi)發(fā)的,是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。

CAN總線主要特點(diǎn)如下:

? 兩根信號(hào)線,差分信號(hào)。

? 最高速率可達(dá)到1Mbps。

? CAN控制器內(nèi)建了強(qiáng)大的檢錯(cuò)和處理機(jī)制,容錯(cuò)能力強(qiáng)。

? 一幀CAN消息最多傳輸8字節(jié)用戶數(shù)據(jù)。

? 具有總線仲裁機(jī)制,可以組建多主系統(tǒng)。

CAN通信協(xié)議如下:

CAN一共規(guī)定了5種類型的幀,幀也稱為報(bào)文。數(shù)據(jù)幀在CAN通信中最主要,也最復(fù)雜。數(shù)據(jù)幀以一個(gè)顯性位(邏輯0)開(kāi)始,以7個(gè)連續(xù)的隱性位(邏輯1)結(jié)束。

載波偵聽(tīng)(CSMA):總線上的每一個(gè)節(jié)點(diǎn)在企圖發(fā)送報(bào)文前,必須要監(jiān)聽(tīng)總線,當(dāng)總線處于空閑時(shí),才可以發(fā)送。

仲裁(CD+AMP):通過(guò)預(yù)定編程好的報(bào)文優(yōu)先級(jí)逐位仲裁來(lái)解決碰撞,報(bào)文優(yōu)先級(jí)位于每個(gè)報(bào)文的標(biāo)識(shí)域。更高級(jí)別優(yōu)先級(jí)標(biāo)識(shí)的報(bào)文總是能獲得總線訪問(wèn)權(quán),即:標(biāo)識(shí)符中最后保持邏輯高電平的會(huì)繼續(xù)傳輸,因?yàn)樗哂懈叩膬?yōu)先級(jí)。

標(biāo)準(zhǔn)CAN:只有11位標(biāo)識(shí)符,用來(lái)確定報(bào)文的優(yōu)先級(jí),此域的數(shù)值越小,優(yōu)先級(jí)越高。

CAN總線在工控領(lǐng)域主要使用低速CAN 即ISO11898-3標(biāo)準(zhǔn),在汽車(chē)領(lǐng)域中使用125Kbps的高速CAN。CAN協(xié)議廣泛用于所有類型的汽車(chē)行業(yè)應(yīng)用,包括乘用車(chē)、重型貨車(chē)和多用途車(chē)輛以及農(nóng)用車(chē)輛。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)自動(dòng)化與智能交通領(lǐng)域,CAN總線因其高可靠性、抗干擾能力和實(shí)時(shí)性,成為設(shè)備間通信的核心協(xié)議。然而,單CAN總線存在單點(diǎn)故障風(fēng)險(xiǎn),一旦總線節(jié)點(diǎn)或線路損壞,可能導(dǎo)致整個(gè)系統(tǒng)癱瘓。針對(duì)這一痛點(diǎn),基于STM32的雙CAN總...

關(guān)鍵字: STM32 CAN總線

CAN總線(Controller Area Network)?是一種串行通信協(xié)議,旨在解決現(xiàn)代汽車(chē)中眾多電子控制系統(tǒng)之間的通信問(wèn)題。

關(guān)鍵字: CAN總線

在嵌入式系統(tǒng)開(kāi)發(fā)中,CAN(Controller Area Network)總線因其高可靠性、實(shí)時(shí)性和抗干擾能力,廣泛應(yīng)用于汽車(chē)、工業(yè)自動(dòng)化、智能設(shè)備等領(lǐng)域。本文將深入探討嵌入式設(shè)備CAN總線的開(kāi)發(fā),從協(xié)議解析到錯(cuò)誤處理...

關(guān)鍵字: 嵌入式 CAN總線

在現(xiàn)代汽車(chē)電子控制系統(tǒng)和工業(yè)自動(dòng)化領(lǐng)域,CAN(Controller Area Network)總線作為一種高效、可靠的通信協(xié)議,扮演著至關(guān)重要的角色。然而,在CAN網(wǎng)絡(luò)運(yùn)行過(guò)程中,由于各種內(nèi)外因素,節(jié)點(diǎn)可能會(huì)進(jìn)入BUS...

關(guān)鍵字: CAN總線 緩沖區(qū) BUS OFF

在現(xiàn)代汽車(chē)和工業(yè)控制系統(tǒng)中,CAN(Controller Area Network)總線作為一種高效、可靠的數(shù)據(jù)通信協(xié)議,扮演著至關(guān)重要的角色。CAN總線網(wǎng)絡(luò)允許多個(gè)節(jié)點(diǎn)(如ECU、傳感器、執(zhí)行器等)在共享介質(zhì)上發(fā)送和接...

關(guān)鍵字: CAN總線 數(shù)據(jù)通信協(xié)議

在現(xiàn)代汽車(chē)電子、工業(yè)自動(dòng)化等領(lǐng)域,CAN(Controller Area Network)總線作為一種高效、可靠的數(shù)據(jù)通信協(xié)議,得到了廣泛應(yīng)用。然而,CAN協(xié)議規(guī)定標(biāo)準(zhǔn)幀和擴(kuò)展幀中數(shù)據(jù)段的長(zhǎng)度為最大8字節(jié),這一限制源于其...

關(guān)鍵字: CAN總線 數(shù)據(jù)幀

在現(xiàn)代汽車(chē)電子、工業(yè)自動(dòng)化以及眾多分布式控制系統(tǒng)中,CAN(Controller Area Network)總線作為一種高效、可靠的通信協(xié)議,扮演著舉足輕重的角色。CAN總線以其多主站、高實(shí)時(shí)性和錯(cuò)誤檢測(cè)能力等特點(diǎn),廣泛...

關(guān)鍵字: CAN總線 汽車(chē)電子

控制器局域網(wǎng) (CAN) 總線由博世于 20 世紀(jì) 80 年代開(kāi)發(fā),是工業(yè)和汽車(chē)應(yīng)用中常用的通信協(xié)議。它的開(kāi)發(fā)是為了改善電子控制單元 (ECU) 之間的數(shù)據(jù)交換,從而提高車(chē)輛的系統(tǒng)效率。

關(guān)鍵字: CAN總線 通信協(xié)議

CAN總線(Controller Area Network)是一種串行通信協(xié)議,主要用于汽車(chē)電子控制單元之間的通信。

關(guān)鍵字: CAN總線

CAN 總線允許高達(dá)1M bit /s通訊速率, 支持多主通訊模式, 有高抗電磁干擾性而且能夠檢測(cè)出通信過(guò)程中產(chǎn)生的任何錯(cuò)誤, 已被廣泛應(yīng)用到各自動(dòng)化控制系統(tǒng)中。

關(guān)鍵字: CAN總線 控制器
關(guān)閉