1
1.名詞解釋
UART:
全稱 Universal Asynchronous Receiver/Transmitter,中文可譯為通用異步收發(fā)器。
2.歷史由來(lái)
UART的發(fā)明是由于貝爾自己需要將一個(gè)電傳打印機(jī)(Teletype)連接到一個(gè)PDP-1,需要將并行信號(hào)轉(zhuǎn)換為串行信號(hào)。貝爾于是設(shè)計(jì)了一個(gè)使用大約50個(gè)獨(dú)立部件的電路。這個(gè)想法被證明是受歡迎的。當(dāng)時(shí)西部數(shù)據(jù)公司(Western Digital)是一家制造計(jì)算機(jī)芯片的小公司,它設(shè)計(jì)了單芯片版的UART。
3.應(yīng)用場(chǎng)景
UART當(dāng)前常用于MCU的低速互聯(lián),最少僅需要兩根信號(hào)連接(TXD和RXD),信號(hào)支持TTL電平,RS232電平或者RS422電平。UART為全雙工異步通信協(xié)議,最高支持115200bps的波特率(常用波特率為9600bps)。
4.協(xié)議解析
UART定義了一種串行傳輸協(xié)議,單次可傳輸一個(gè)字符,包含5到8bit有效數(shù)據(jù)(常采用7bit數(shù)據(jù),ASCII)。
UART的一個(gè)字符除了包含有效數(shù)據(jù)位外,還包含起始位1bit,奇偶校驗(yàn)位1bit和停止位1bit(也支持1.5bit或者2bit配置)。UART一次傳輸最多8bit有效數(shù)據(jù)而不是更多的原因是其設(shè)計(jì)標(biāo)準(zhǔn)收發(fā)兩端的頻率誤差在10%以內(nèi),當(dāng)收到的數(shù)據(jù)為8bit時(shí)誤差控制在1bit內(nèi),保證了數(shù)據(jù)的采樣不會(huì)出錯(cuò)。
5. 協(xié)議實(shí)現(xiàn)
UART接收使用高頻時(shí)鐘進(jìn)行采樣,在最早的8086芯片中為兼顧速度和穩(wěn)定性,常采用波特率的16倍時(shí)鐘進(jìn)行采樣。當(dāng)主時(shí)鐘頻率確定時(shí),IC實(shí)現(xiàn)中可以通過(guò)設(shè)定波特率寄存器N實(shí)現(xiàn)任意波特率。
一個(gè)典型的UART接收器的狀態(tài)機(jī)設(shè)計(jì)如圖所示,在空閑狀態(tài)時(shí)接收機(jī)通過(guò)監(jiān)測(cè)接收信號(hào)從1變0,確定接收的起始位。為消除通信線路噪聲的影響,只有連續(xù)接收到N/2個(gè)0后才認(rèn)為這是一個(gè)真正的起始位,并開(kāi)始在最佳采樣點(diǎn)(N/2時(shí)刻)采樣數(shù)據(jù)位。
6. 流程控制
UART的流控包括硬件流控和軟件流控兩種。
硬件流控基于RS232的兩個(gè)信號(hào)接口RTS(數(shù)據(jù)發(fā)送請(qǐng)求)和CTS(數(shù)據(jù)發(fā)送允許),一端設(shè)備的RTS與另一端設(shè)備的CTS相連。RTS與CTS均為低電平有效,數(shù)據(jù)接收設(shè)備通過(guò)置低RTS接口通知發(fā)送設(shè)備的CTS接口,發(fā)送設(shè)備可以發(fā)送數(shù)據(jù)。
軟件流控通過(guò)帶內(nèi)傳輸XOFF和XON信號(hào),控制發(fā)送的起停。數(shù)據(jù)接收設(shè)備通過(guò)發(fā)送XOFF通知數(shù)據(jù)發(fā)送設(shè)備停止發(fā)送數(shù)據(jù)。數(shù)據(jù)接收設(shè)備通過(guò)發(fā)送XON通知發(fā)送設(shè)備繼續(xù)發(fā)送數(shù)據(jù)。
2
SPI
1.名詞解釋
SPI 全稱 Serial Peripheral Interface,中文譯為串行外圍設(shè)備接口。
2.歷史由來(lái)
最早是由Motorola(摩托羅拉)公司開(kāi)發(fā)的全雙工同步串行總線,常用于微控制器與外設(shè)之間的連接比如SD卡,液晶屏等外設(shè)。SPI沒(méi)有統(tǒng)一的協(xié)議規(guī)范,但由于其廣泛的使用,根據(jù)實(shí)際使用中大家通用的習(xí)慣形成了一個(gè)類似行規(guī)的標(biāo)準(zhǔn),具體的應(yīng)用需要實(shí)際參考特定器件手冊(cè)。
3.應(yīng)用場(chǎng)景
SPI用于在單個(gè)主控制器和一個(gè)或多個(gè)從設(shè)備之間交換數(shù)據(jù),譬如MCU與EEPROM、FLASH、AD轉(zhuǎn)換器的連接。SPI的兩端中提供時(shí)鐘的為Master,接收時(shí)鐘的為Slave。SPI最少采用四線連接,SCLK,SS,MOSI,MISO。SPI按幀進(jìn)行數(shù)據(jù)交換,支持的字長(zhǎng)不限于8bit,可根據(jù)應(yīng)用特點(diǎn)靈活選擇消息字長(zhǎng)。SPI是源同步時(shí)鐘協(xié)議,支持100MHz以上的高速時(shí)鐘。
4.協(xié)議解析
NSS電平由高變低,則產(chǎn)生起始信號(hào);NSS電平由低變高,則產(chǎn)生停止信號(hào)。從機(jī)檢測(cè)到自己的NSS線電平被置低,則開(kāi)始與主機(jī)進(jìn)行通訊;反之,檢測(cè)到NSS電平被拉高,則停止通訊。
MOSI和MISO線在SCK的每個(gè)時(shí)鐘周期傳輸一位數(shù)據(jù),開(kāi)發(fā)者可以自行設(shè)置MSB或LSB先行,不過(guò)需要保證兩個(gè)通訊設(shè)備都使用同樣的協(xié)定。
根據(jù)SCK空閑狀態(tài)的電平(CPOL)和數(shù)據(jù)采樣時(shí)刻(CPHA)的不同,SPI有四種通訊模式。Master和Slave需要工作在相同的模式下才能正常通訊,Master的MOSI如果在SCK上升沿launch數(shù)據(jù),Slave的MOSI需要在SCK的下降沿capture數(shù)據(jù),反之亦然。
當(dāng)CPHA=0時(shí),Master需要在第一個(gè)SCK的邊沿出現(xiàn)前將數(shù)據(jù)在MOSI上準(zhǔn)備好。
5. 協(xié)議實(shí)現(xiàn)
Motorola定義5類寄存器:
SPI Control Register 1 (SPICR1)控制寄存器1,極性控制,數(shù)據(jù)長(zhǎng)度控制
SPI Control Register 2 (SPICR2)控制寄存器2
SPI Baud Rate Register (SPIBR)波特率寄存器
SPI Status Register (SPISR)狀態(tài)寄存器
SPI Data Register (SPIDR)數(shù)據(jù)寄存器
6. SPI讀寫(xiě)
SPI讀寫(xiě)每筆傳輸交換一幀數(shù)據(jù),一幀數(shù)據(jù)的bit數(shù)據(jù)可以是8bit,16bit或者其他數(shù)量的bit。
SPI讀:片選---讀指令---地址---數(shù)據(jù)讀出
SPI寫(xiě):片選---寫(xiě)指令---地址---數(shù)據(jù)寫(xiě)入
7. DSPI和QSPI
DSPI和QSPI主要用于存儲(chǔ)器接口,其幀格式由存儲(chǔ)器定義。歸納下來(lái),QSPI的傳輸分為兩種類型,第一種類型是傳統(tǒng)的SPI的單線傳輸,第二種是QSPI的四線傳輸。
第一種類型傳輸常用于狀態(tài)和控制寄存器的讀寫(xiě),譬如讀ID。該傳輸過(guò)程采用MOSI和MISO進(jìn)行數(shù)據(jù)交換,一幀數(shù)據(jù)是46bit。此外,單線傳輸也支持?jǐn)?shù)據(jù)的讀寫(xiě)。
第二種類型的傳輸常用于數(shù)據(jù)的讀寫(xiě),譬如四線寫(xiě)數(shù)據(jù)。該傳輸包含了兩個(gè)階段,第一個(gè)階段是命令和地址階段,第二個(gè)階段是數(shù)據(jù)傳輸階段。第一個(gè)階段,采用單線傳輸,通過(guò)MOSI向器件發(fā)送命令和地址。第二個(gè)階段,采用四線傳輸,通過(guò)四個(gè)IO向器件發(fā)送或者讀取數(shù)據(jù)。
此外,讀數(shù)據(jù)時(shí)在第一個(gè)階段和第二個(gè)階段中間會(huì)插入Dumy Clocks。
3
JTATG
1.名詞解釋
JTAG,全稱Joint Test Action Group,中文名稱聯(lián)合測(cè)試行動(dòng)組。
2.歷史由來(lái)
1990年JTAG正式由IEEE的1149.1-1990號(hào)文檔標(biāo)準(zhǔn)化,在1994年,加入了補(bǔ)充文檔對(duì)邊界掃描描述語(yǔ)言(BSDL)進(jìn)行了說(shuō)明。從那時(shí)開(kāi)始,這個(gè)標(biāo)準(zhǔn)被全球的電子企業(yè)廣泛采用。邊界掃描幾乎成為了JTAG的同義詞。
3.應(yīng)用場(chǎng)景
JTAG的基本原理是在器件內(nèi)部定義一個(gè)TAP(Test Access Port,測(cè)試訪問(wèn)口)通過(guò)專用的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。當(dāng)前JTAG協(xié)議也用來(lái)對(duì)芯片進(jìn)行調(diào)試,JTAG通過(guò)器件內(nèi)部的DAP(Debug Access Port,調(diào)試訪問(wèn))訪問(wèn)內(nèi)部總線。
JTAG最少使用四個(gè)信號(hào),包括TCK,TRST,TMS,TDI和TDO,最高支持100MHz的串行數(shù)據(jù)傳輸。
-
串行
+關(guān)注
關(guān)注
0文章
237瀏覽量
33834 -
uart
+關(guān)注
關(guān)注
22文章
1235瀏覽量
101354 -
計(jì)算機(jī)芯片
+關(guān)注
關(guān)注
0文章
42瀏覽量
3506
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論