工業以及汽車應用中多種串行總線特性及比較
由于在消費類電子產品、計算機外設、汽車和工業應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質的要求也不斷增長以滿足這些應用,其結果是越來越多的處理器和控制器用不同類型的總線集成在一起,實現與PC軟件、開發系統(如仿真器)或網絡中的其它設備進行通信。目前流行的通信一般采用串行或并行模式,而串行模式應用更廣泛。
微處理器中常用的集成串行總線是通用異步接收器傳輸總線、串行通信接口、同步外設接口(SPI)、內部集成電路(I2C)和通用串行總線,以及車用串行總線,包括控制器區域網(CAN)和本地互連網(LIN)。這些總線在速度、物理接口要求和通信方法學上都有所不同。本文將對嵌入式系統設計的串行總線、驅動器和物理接口這些要求提供一個總體介紹,為選擇最優總線提供指導并給出一個比較圖表(表1)。為了說明方便起見,本文的闡述是基于微處理器的設計。
![]() |
串行相比于并行的主要優點是要求的線數較少。例如,用在汽車工業中的LIN串行總線只需要一根線來與從屬器件進行通信,Dallas公司的1-Wire總線只使用一根線來輸送信號和電源。較少的線意味著所需要的控制器引腳較少。集成在一個微控制器中的并行總線一般需要8條或更多的線,線數的多少取決于設計中地址和數據的寬度,所以集成一個并行總線的芯片至少需要8個引腳來與外部器件接口,這增加了芯片的總體尺寸。相反地,使用串行總線可以將同樣的芯片集成在一個較小的封裝中。
另外,在PCB板設計中并行總線需要更多的線來與其它外設接口,使PCB板面積更大、更復雜,從而增加了硬件成本。此外,工程師還可以很容易地將一個新器件加到一個串行網絡中去,而且不會影響網絡中的其它器件。例如,可以很容易地去掉總線上舊器件并用新的來替代。
串行總線的故障自診斷和調試也非常簡單,可以很容易地跟蹤網絡中一個有故障的器件并用新器件替換而不會干擾網絡。但另一方面,并行總線比串行速度快。例如,Rambus公司的“Redwood”總線速度可高達6.4GHz,而最高的串行速度不會超過幾個兆赫。
在工業和汽車應用中常用的串行協議
1. UART
UART是一種通用串行數據總線,用于異步通信。該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART用來與PC進行通信,包括與監控調試器和其它器件,如EEPROM通信。
a. UART通信
UART首先將接收到的并行數據轉換成串行數據來傳輸。消息幀從一個低位起始位開始,后面是7個或8個數據位,一個可用的奇偶位和一個或幾個高位停止位。接收器發現開始位時它就知道數據準備發送,并嘗試與發送器時鐘頻率同步。如果選擇了奇偶,UART就在數據位后面加上奇偶位。奇偶位可用來幫助錯誤校驗。
在接收過程中,UART從消息幀中去掉起始位和結束位,對進來的字節進行奇偶校驗,并將數據字節從串行轉換成并行。UART也產生額外的信號來指示發送和接收的狀態。例如,如果產生一個奇偶錯誤,UART就置位奇偶標志。
b. 數據方向和通信速度
數據傳輸可以首先從最低有效位(LSB)開始。然而,有些UART允許靈活選擇先發送最低有效位或最高有效位(MSB)。
微控制器中的UART傳送數據的速度范圍為每秒幾百位到1.5Mb。例如,嵌入在ElanSC520微控制器中的高速UART通信的速度可以高達1.1152Mbps。UART波特率還受發送和接收線對距離(線長度)的影響。
目前,市場上有只支持異步通信和同時支持異步與同步通信的兩種硬件可用于UART。前者就是UART名字本身的含義,在摩托羅拉微控制器中被稱為串行通信接口(SCI);Microchip微控制器中的通用同步異步收發器(USART)和在富士通微控制器中的UART是后者的兩個典型例子。
c. 計算機中的UART
UART是計算機中串行通信端口的關鍵部分。在計算機中,UART相連于產生兼容RS232規范信號的電路。RS232標準定義邏輯“1”信號相對于地為3到25伏,而邏輯“0”相對于地為-3到-25伏。所以,當一個微控制器中的UART相連于PC時,它需要一個RS232驅動器來轉換電平。
2. 同步外設接口
同步外設接口(SPI)是由摩托羅拉公司開發的全雙工同步串行總線,該總線大量用在與EEPROM、ADC、FRAM和顯示驅動器之類的慢速外設器件通信。
a. SPI通信
該總線通信基于主-從配置。它有以下4個信號:
- MOSI:主出/從入
- MISO:主入/從出
- SCK:串行時鐘
- SS:從屬選擇
芯片上“從屬選擇”(slave-select)的引腳數決定了可連到總線上的器件數量。
在SPI傳輸中,數據是同步進行發送和接收的。數據傳輸的時鐘基于來自主處理器的時鐘脈沖,摩托羅拉沒有定義任何通用SPI的時鐘規范。然而,最常用的時鐘設置基于時鐘極性(CPOL)和時鐘相位(CPHA)兩個參數,CPOL定義SPI串行時鐘的活動狀態,而CPHA定義相對于SO-數據位的時鐘相位。CPOL和CPHA的設置決定了數據取樣的時鐘沿。
評論