|
作者 | strongerHuang
微信公眾號(hào) | strongerHuang
不定期會(huì)有讀者問(wèn)類似這樣的問(wèn)題:從事單片機(jī)工作,要掌握哪些通信的技術(shù)知識(shí)?
隨著技術(shù)的發(fā)展,通信技術(shù)越來(lái)越多,但在嵌入式領(lǐng)域,常見(jiàn)的通信技術(shù)其實(shí)也不多,像UART、 I2C、 SPI、 CAN、 USB和TCP/IP等這些算是最常見(jiàn)的一些。
這些通信技術(shù)說(shuō)簡(jiǎn)單也簡(jiǎn)單,說(shuō)難也難,這里站在初學(xué)者角度科普一下其中的基礎(chǔ)內(nèi)容。
常見(jiàn)通信技術(shù)
UART
UART:Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器。
USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步串行接收/發(fā)送器。
USART可以理解為UART和USRT二合一的通信接口,一個(gè)是同步通信,一個(gè)是異步通信。
I2CI2C:Inter-Integrated Circuit,字面上的意思是集成電路之間,它其實(shí)是I2C Bus簡(jiǎn)稱,所以中文應(yīng)該叫集成電路總線,它是一種串行通信總線。
SPISPI:Serial Peripheral Interface,串行外設(shè)接口,是一種高速的,全雙工,同步的通信總線。
QSPI是Queued SPI的簡(jiǎn)寫,是Motorola公司推出的SPI接口的擴(kuò)展,比SPI應(yīng)用更加廣泛。
QSPI是在SPI協(xié)議的基礎(chǔ)上,對(duì)其增加了隊(duì)列傳輸機(jī)制,傳輸過(guò)程不需要CPU干預(yù),極大的提高了傳輸效率。
CANCAN:Controller Area Network,控制器局域網(wǎng)絡(luò)。
CAN 總線是一種應(yīng)用廣泛的現(xiàn)場(chǎng)總線 ,在工業(yè)測(cè)控和工業(yè)自動(dòng)化等領(lǐng)域有很大的應(yīng)用前景。
USBUSB:Universal Serial Bus,通用串行總線。
USB是一個(gè)外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊,是應(yīng)用在PC領(lǐng)域的接口技術(shù)。
TCP/IPTCP/IP:Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議。
TCP/IP是傳輸協(xié)議,當(dāng)然,這里主要指Internet網(wǎng),只是TCP/IP是其中最為重要的一層傳輸協(xié)議。
當(dāng)然,這些只是常見(jiàn)的通信技術(shù),還有很多有線和無(wú)線的通信技術(shù),這里就不過(guò)多描述。
通信原理
這幾種常見(jiàn)串行方式基礎(chǔ)的通信原理不難,網(wǎng)上教程也有很多,這里給大家整合一下。
UARTUART通信一般是3線,當(dāng)然也有單線半雙工模式。
UART連接方式:
ypx4elgb4xj640133703959.png (22.62 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
ypx4elgb4xj640133703959.png
前天 07:07 上傳
UART通信數(shù)據(jù)格式:
1q0upsnvq00640133704059.png (41.45 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
1q0upsnvq00640133704059.png
前天 07:07 上傳
這一節(jié)詳細(xì)更多內(nèi)容請(qǐng)參看《通信教程01》中串行通信章節(jié)。
I2CI2C是串行同步通信方式,一般是2線(SDA數(shù)據(jù)線、SCL時(shí)鐘線),一主多從的通信方式。
I2C連線方式:
wm45k4uoegw640133704159.png (31.45 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
wm45k4uoegw640133704159.png
前天 07:07 上傳
SDA(串行數(shù)據(jù)線)和SCL(串行時(shí)鐘線)都是雙向I/O線,接口電路為開(kāi)漏輸出.需通過(guò)上拉電阻接電源VCC。當(dāng)總線空閑時(shí).兩根線都是高電平,連接總線的外同器件都是CMOS器件,輸出級(jí)也是開(kāi)漏電路.在總線上消耗的電流很小。
I2C一般是地址+數(shù)據(jù)+ACK方式,基礎(chǔ)的數(shù)據(jù)格式:
eay4vh0yzyw640133704259.jpg (111.69 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
eay4vh0yzyw640133704259.jpg
前天 07:07 上傳
SPISPI應(yīng)用非常廣泛,通常用于在微控制器和小型外設(shè)(如移位寄存器,傳感器和SD卡)之間發(fā)送數(shù)據(jù)的接口總線。
SPI通信主要使用3線(SCK、MOSI、MISO)進(jìn)行通信:
r10cmtxjdjf640133704359.png (27.76 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
r10cmtxjdjf640133704359.png
前天 07:07 上傳
但是SPI也用于多從機(jī)通信,此時(shí),會(huì)多處一個(gè)CS片選信號(hào)線。
vewdedn1jqw640133704459.png (32.38 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
vewdedn1jqw640133704459.png
前天 07:07 上傳
多從機(jī)接線方式:
4l0pb15xpja640133704559.png (18.85 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
4l0pb15xpja640133704559.png
前天 07:07 上傳
當(dāng)然,還有類似I2C多從機(jī),通過(guò)尋址方式實(shí)現(xiàn):
4g2dtmrzpet640133704659.png (16.75 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
4g2dtmrzpet640133704659.png
前天 07:07 上傳
SPI通信協(xié)議比I2C要簡(jiǎn)單的多,沒(méi)有過(guò)多的數(shù)據(jù)處理。
CANCAN通信是相對(duì)前面3種更復(fù)雜的一種局域網(wǎng)絡(luò),不管是硬件,還是軟件協(xié)議都更加復(fù)雜。
這里不詳細(xì)講述,可以關(guān)注公眾號(hào)回復(fù)【CANOpen系列教程】,里面有關(guān)于CAN從底層硬件、協(xié)議、到上層軟件的詳細(xì)內(nèi)容。
USBUSB是生活中常見(jiàn)的一種串行通信接口,主要4線(D+ D- VCC GND):
5vwz4tkfpvy640133704759.png (13.76 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
5vwz4tkfpvy640133704759.png
前天 07:07 上傳
USB設(shè)備端的D-或D+數(shù)據(jù)線連接1.5K歐姆的上拉電阻。當(dāng)設(shè)備插入PC機(jī)的時(shí)候,會(huì)將PC機(jī)的D-或D+端的電壓拉高,當(dāng)PC機(jī)在D-或D+端檢測(cè)到高電平時(shí),就知道有設(shè)備插入了。
如果是PC機(jī)D-端被拉高,接入的則是USB低速設(shè)備;如果是PC機(jī)D+端被拉高,接入的則是USB全速或高速設(shè)備,具體是全速設(shè)備還是高速設(shè)備,會(huì)由PC機(jī)和USB設(shè)備發(fā)包握手確定。
dhww435yyzi640133704859.jpg (44.95 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
dhww435yyzi640133704859.jpg
前天 07:07 上傳
USB傳輸速度有:低速1.5Mbps(USB1.0協(xié)議)、全速12Mbps(USB1.1協(xié)議)、高速480Mbps(USB2.0協(xié)議)、超高速5Gbps(USB3.0協(xié)議)等。
------------ END ------------
4jcvhtoe5gc640133704959.gif (71.87 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
4jcvhtoe5gc640133704959.gif
前天 07:07 上傳
●專欄《嵌入式工具》●專欄《嵌入式開(kāi)發(fā)》●專欄《Keil教程》●嵌入式專欄精選教程
關(guān)注公眾號(hào)回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
點(diǎn)擊“閱讀原文”查看更多分享。 |
|