主導小型化和低成本串列通訊介面的選擇 智慧應用 影音
DTR1115
ST Microsite

主導小型化和低成本串列通訊介面的選擇

  • 周維棻

圖1a:3接腳UNI/O匯流排連接。圖1b:2接腳UNI/O匯流排連接。
圖1a:3接腳UNI/O匯流排連接。圖1b:2接腳UNI/O匯流排連接。

通常工程師在嵌入式設計案中用來降低體積和成本的方式是使用較少I/O接腳的串列通訊匯流排。從並列匯流排發展到串列匯流排可明顯減小體積並降低成本,另一種常見於新元件的方式則是從常用串列匯流排發展至另一種具更少接腳的串列匯流排。

用串列匯流排替代並列匯流排時,傳送速率是相當關鍵的參數。使用具有較少接腳的串列匯流排在小體積為重要參數的設計中具有優勢。而現今微控制器整合技術的提升,有超過12種不同的串列介面可供設計者應用在設計案中,本文將分別討論各串列介面的優缺點。

各種串列介面匯整及特性介紹。

各種串列介面匯整及特性介紹。

個人電腦中的USB與FireWire

目前市場上最流行的匯流排就是通用串列匯流排(Universal Serial Bus;USB),促使PC市場發生重大變化。USB高速度、低接腳數和多功能性等特點使其被廣泛使用,此外,USB逐漸取代了並列埠印表機和RS-232介面,成為PC的主要通訊連接埠。

USB 2.0在節約系統成本方面優於FireWire S400。此外,USB可利用PC資源依靠主處理器來管理低級別的USB協議,而FireWire則將此任務委託給介面硬體。由於FireWire需要額外硬體成本和初始授權費用,使得USB成為PC領域的首選介面。嵌入式應用也因相同原因紛紛採用USB。

同步介面與非同步介面

選擇串列介面時,必須檢查同步介面和非同步介面。同步介面使用主時脈進行同步,而非同步介面則將時脈嵌入到資料流程中。在同步傳輸的過程中,元件時脈的頻率變化基本上不會影響同步介面的同步操作,因而低成本振盪器是可被使用的。但在非同步元件中,實現同步需要所有元件在傳送速率、錯誤檢査、重新同步和時脈穩定性等規範上有通訊基本協定。

同步介面可在同一印刷電路板(Printed Circuit Board;PCB)上輕鬆實現元件間的連接,而非同步介面旨在通過電纜連線相隔數公尺至1,000公尺的系統。應用範圍包括簡單的點對點連接以及具有數百個元件的複雜網路。此外,還可通過OSI模型描述每種匯流排類型的不同物理介面。

OSI七層模型

通常同步介面在內部支援資料連結層(第2層)和實體層(第1層),而大部分非同步介面則在內部支援資料連結層、在外部支援實體層。對於某些應用來說,相同的資料連結層結合不同實體層驅動程式來創建不同介面標準。在微控制器中,通常透過某些硬體支援在軟體中實現第3至第7層。

從並列介面發展到串列介面

當系統軟體需要大量記憶體時,通常會選擇具有外部位址和資料匯流排的微控制器。並列式快閃記憶體程式記憶體和SRAM需要16個甚至更多I/O接腳,設計人員可選擇使用具有內部記憶體的微控制器以節省I/O接腳、縮小體積並降低成本。現今許多微控制器程式記憶體的容量都已提高,若內部儲存容量還是不足,可採用使用SPI介面的外部快閃記憶體程式記憶體或串列SRAM。

由於串列快閃記憶體程式記憶體和串列SRAM元件只可透過SPI匯流排提供,選擇此匯流排可獲得最高效的系統設計。當某些元件只能透過某個特定匯流排連接時,這些元件決定了匯流排的選擇,除非單線元件能提供更好的解決方案。

同步介面

包含:SPI、MICROWIRE、I2C以及通用串列非同步收發器(Universal Serial Asynchronous Receiver Transmitter,USART),同步和非同步模式。

匯流排選擇所採用的標準:(1)元件只能通過一種匯流排提供;(2)MCU上可用的匯流排:SPI和I2C或同步串列埠(Synchronous Serial Port;SSP)、串列控制介面(SCI)、USART、具有軟體驅動的GPI/O以及其他網路匯流排;(3)需要較快的匯流排速度;(4)小尺寸的較低接腳數匯流排;(5)小尺寸的較低接腳數匯流排;(6)推挽輸出或開集極輸出;(7)系統總成本;(8)提供的功能集。

SPI匯流排支援的典型速度範圍為5至20 MHz,高速串列快閃記憶體程式記憶體可支援高達75 MHz的速度。Microwire匯流排在工作原理和連線數量上與SPI匯流排相似,但匯流排規範將通訊速度限制為3 MHz。而I2C匯流排具有時脈線和資料線,使用軟體定址方式具有400 KHz的典型工作速度,有些元件甚至可支援1 MHz的速度。由於微控制器I/O接腳有限,其較少接腳的特點便成為該匯流排最大的優勢。

通常,SPI和Microwire匯流排使用4個I/O接腳,而I2C匯流排使用2個I/O接腳。小型化系統的下一步發展就是尋求更小、使用單個I/O進行通訊的匯流排。由於這種情況只能在將時脈嵌入到資料流程中獲得實現, 這些介面便必須是非同步介面。

非同步介面

1-Wire匯流排(Maxim)和UNI/O匯流排(Microchip Technology)這兩種使用單一I/O接腳的非同步匯流排,與同步匯流排競爭所使用 I/O 的接腳數。

1-Wire 匯流排上的元件採用2隻接腳封裝,一個接腳用於接地,第二個接腳用於資料和電源連接。在1-Wire匯流排元件的設計中融入電容,便可從資料線獲取寄生功率。採用開集極輸出,通過5KΩ的電阻可獲取高達16.3 Kbps的傳送速率,而當該電阻值降至2.2KΩ時傳送速率將增至142 Kbps。

UNI/O匯流排是一種新的單線匯流排標準,採用3接腳封裝,支援電源、地線和資料連接。使用曼徹斯特編碼進行通訊,支援10至100 Kbps的資料傳輸速度。雖然該匯流排旨在用於標準嵌入式設計,但透過添加一個外部蕭特基二極體並調整旁路電容值,可使其用於具有2接腳介面的應用中。圖1a和1b充分說明此簡單的解決方案。

UART最早佔據並主導非同步傳輸介面,在需要同步和非同步模式時稱為USART。回到OSI模型,微控制器的晶片內建UART,實現了資料連結層,而實體層則受制於幾個驅動標準。這些標準中最常用的是 RS-232C、RS-422和RS-485介面。表格中匯整了各種串列介面及其特性,以及一些旨在用於網路連接具有非同步介面的特殊微控制器,例如乙太網路、CAN、LIN和MIDI。

結論

選擇最佳的串列介面時,應檢查系統設計以獲得最低成本的解決方案,然而在許多情況下,最低成本的元件並不會提供最低成本的系統。隨著系統規模逐漸縮小,單線匯流排外部記憶體可以在對微控制器資源或外部連接器產生較小影響的情況下提供最低的系統總成本。

(本文由Microchip Technology Inc.記憶體產品部產品行銷經理Alex Martinez提供,周維棻整理)