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