隨著通信與計算機整合時代的到來,數字化、寬帶化和智能化已成為未來通信發(fā)展的方向,人類社會對電信業(yè)務從質量到業(yè)務種類都提出越來越高的要求,而接入網作為電信網的重要組成部分,連接本地交換機與用戶,是整個電信網的毛細血管和瓶頸,實現數字化、寬帶化和業(yè)務綜合化的關鍵。 嵌入式系統(tǒng)是以應用為中心的硬件設計和面向應用的軟件產品開發(fā)為基礎的專用計算機系統(tǒng),廣泛應用于制造工業(yè)、過程控制、通信、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費產品等領域。
在嵌入式系統(tǒng)中,板上通信接口是指用于將各種集成電路與其他外圍設備交互連接的通信通路或總線。下面將逐一說明常用的板上通信接口。
隨著通信與計算機整合時代的到來,數字化、寬帶化和智能化已成為未來通信發(fā)展的方向,人類社會對電信業(yè)務從質量到業(yè)務種類都提出越來越高的要求,而接入網作為電信網的重要組成部分,連接本地交換機與用戶,是整個電信網的毛細血管和瓶頸,實現數字化、寬帶化和業(yè)務綜合化的關鍵。 嵌入式系統(tǒng)是以應用為中心的硬件設計和面向應用的軟件產品開發(fā)為基礎的專用計算機系統(tǒng),廣泛應用于制造工業(yè)、過程控制、通信、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費產品等領域。
在嵌入式系統(tǒng)中,板上通信接口是指用于將各種集成電路與其他外圍設備交互連接的通信通路或總線。下面將逐一說明常用的板上通信接口。
1.I2C總線
I2C (Inter-Integrated Circuit):由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。
I2C總線用兩條線(SDA和SCL)在總線和裝置之間傳遞信息,在微控制器和外部設備之間進行串行通訊或在主設備和從設備之間的雙向數據傳送。I2C是OD輸出的,大部分I2C都是2線的(時鐘和數據),一般用來傳輸控制信號。
I2C是多主控總線,所以任何一個設備都能像主控器一樣工作,并控制總線??偩€上每一個設備都有一個獨一無二的地址,根據設備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個I2C總線上共存。
I2C總線支持三種不同的數據速率:標準模式(數據速率為100kb/秒,即100kbps)、快速模式(數據速率為400kb/秒,即400kbps)、高速模式(數據速率為3.4Mb/秒,即3.4Mbps)。第一代I2C設備設計所支持的數據速率只有100kbps,新一代I2C設備則能夠以高達3.4Mbps的數據速率工作。
2. SPI總線
SPI (Serial Peripheral Interface):MOTOROLA公司提出的同步串行總線方式。高速同步串行口。3~4線接口,收發(fā)獨立、可同步進行。
因其硬件功能強大而被廣泛應用。在單片機組成的智能儀器和測控系統(tǒng)中。如果對速度要求不高,采用SPI總線模式是個不錯的選擇。它可以節(jié)省I/O端口,提高外設的數目和系統(tǒng)的性能。標準SPI總線由四根線組成:串行時鐘線(SCK)、主機輸入/從機輸出線(MISO)。主機輸出/從機輸入線(MOSI)和片選信號(CS)。有的SPI接口芯片帶有中斷信號線或沒有MOSI。
SPI總線由三條信號線組成:串行時鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線可以實現多個SPI設備互相連接。提供SPI串行時鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實現全雙工通信,當有多個從設備時,還可以增加一條從設備選擇線。如果用通用IO口模擬SPI總線,必須要有一個輸出口(SDO),一個輸入口(SDI),另一個口則視實現的設備類型而定,如果要實現主從設備,則需輸入輸出口,若只實現主設備,則需輸出口即可,若只實現從設備,則只需輸入口即可。
與I2C總線相比,SPI總線更適于數據流傳輸。SPI的不足之處在于,SPI不支持數據確認機制。
3. UART
UART:通用異步串行口,按照標準波特率完成雙向通訊,速度慢。
UART總線是異步串口,因此一般比前兩種同步串口的結構要復雜很多,一般由波特率產生器(產生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。
UART是用于控制計算機與串行設備的芯片。有一點要注意的是,它提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其它使用RS-232C接口的串行設備通信了。作為接口的一部分,UART還提供以下功能:
將由計算機內部傳送過來的并行數據轉換為輸出的串行數據流。將計算機外部來的串行數據轉換為字節(jié),供計算機內部使用并行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗。在輸出數據流中加入啟停標記,并從接收數據流中刪除啟停標記。處理由鍵盤或鼠標發(fā)出的中斷信號(鍵盤和鼠標也是串行設備)??梢蕴幚碛嬎銠C與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區(qū),現在比較新的UART是16550,它可以在計算機需要處理數據前在其緩沖區(qū)內存儲16字節(jié)數據,而通常的UART是8250?,F在如果您購買一個內置的調制解調器,此調制解調器內部通常就會有16550 UART。
除了串行數據傳輸功能以外,UART還可以為控制串行數據流提供硬件握手信號支持。很多半導體廠商都提供了相應的UART芯片。如今,大多數微處理器/控制器都集成有UART功能,并為串行數據傳輸與接收提供內置式的指令支持。
4. 1-Wire接口
1-Wire接口是由Maxim Dallas半導體公司(首頁為http://www.maxim-ic.com)開發(fā)的異步半雙工通信協(xié)議,也稱為Dallas 1-Wire®協(xié)議。其中,按照主-從通信模型,只使用單條信號線DQ實現通信。1-Wire總線的一個重要特征在于,該總線允許在信號線上傳輸能量。I2C從設備在信號線上使用內部電容器(其典型取值為800 pF)來驅動設備。1-Wire接口支持在總線上連接單個主設備以及一個或多個從設備。
每臺1-Wire設備都具有全球唯一可識別的64位識別碼信息,存儲在設備內部。對于多臺從設備連接到1-Wire總線上的情況,通過解讀唯一的識別碼,可以尋址總線上存在的各臺獨立設備。識別碼由以下三個部分組成:8位的類別碼、48位的序列號以及前56比特數據的8位CRC校驗結果。與1-Wire從設備通信的具體流程如下:
(1) 主設備將復位脈沖發(fā)送到1-Wire總線上。
(2) 總線上的從設備通過確認脈沖予以回應。
(3) 主設備發(fā)送ROM命令(網絡尋址命令,參數是設備的64位地址),從而尋址到需要發(fā)起通信的從設備。
(4) 主設備發(fā)送讀/寫命令,對從設備的內部存儲器或寄存器進行讀/寫操作。
(5) 主設備將數據由從設備讀出,或者是將數據寫入從設備。
1-Wire總線上的所有通信都是由主設備發(fā)起的。其中,通信的最小間隔是時長為60微秒的時隙。復位脈沖占用8個時隙。在通信的開始階段,主設備將1-Wire總線拉低到低電平,并持續(xù)8個時隙(即480 μs),從而發(fā)出復位脈沖。如果總線上存在從設備,而且已經準備好進行通信,那么從設備將通過確認脈沖來回應主設備;也就是說,從設備將1-Wire總線拉低到低電平,并持續(xù)1個時隙(即60 μs)。為了在1-Wire總線上寫入位值1,需要總線主設備將總線拉低,其持續(xù)時間為1~15 μs,然后在該時隙的其余時間段釋放總線。為了在總線上寫入位值0,主設備需要將總線拉低,其持續(xù)時間至少為1個時隙(60 μs),最多為2個時隙(120 μs)。為了由從設備讀出位值,主設備需要將總線拉低,并持續(xù)1~15 μs。為了響應主設備的讀數據請求,如果從設備想要發(fā)送位值1,那么從設備只需要在該時隙的其余時間段釋放總線;如果從設備想要發(fā)送位值0,那么從設備需要在該時隙的其余時間段將總線拉低。
5. 并行接口
板上并行接口(parallel interface)通常用于系統(tǒng)與外圍設備之間的通信,其中,外圍設備通過存儲器映射到系統(tǒng)的主控端。只要嵌入式系統(tǒng)的主控處理器/控制器含有并行總線,支持并行總線的設備就可以直接連接到該總線系統(tǒng)上。外圍設備與主控端之間具有控制信號接口,可以控制并行總線上的數據通信。這里,通信的控制信號包括讀/寫信號和設備選擇信號。一般說來,外圍設備具有設備選擇線;只有當主控處理器選通該線的時候,該設備才是有效的。數據傳輸的方向可以是從主控端到外圍設備,也可以是從外圍設備到主控端;這是通過讀和寫控制信號線進行控制的。只有主控處理器能夠控制讀控制信號和寫控制信號。一般說來,外圍設備通過存儲器映射到主控處理器,從而可以訪問分配的地址范圍。此時,設備需要使用地址譯碼電路來產生芯片選擇信號。當處理器選擇的地址位于設備指定范圍內的時候,譯碼電路對芯片選擇線進行觸發(fā),從而激活設備。然后,處理器可以使能相應的控制線(分別是RD\與WD\),從而由設備讀出數據,或者是向設備寫入數據。為了實現并行通信,系統(tǒng)需要嚴格遵循時序規(guī)范。前面已經提到過,并行通信是由主控處理器啟動的。如果某外圍設備想要對通信進行初始化,那么可以向處理器發(fā)出中斷,告知相關信息。為了實現上述功能,設備的中斷線需要連接到處理器的中斷線上,并且主控處理器需要觸發(fā)相應的中斷。需要說明的是,主控處理器的數據總線寬度決定了并行接口的寬度,可以是4位、8位、16位、32位、64位等。設備支持的總線寬度應該與主控處理器完全相同。并行數據通信為系統(tǒng)提供了高速數據傳輸能力。