SPI、I2C、I2S、UART、GPIO、SDIO、CAN、JTAG的區別及使用方法。


SPI

全稱及由來:SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。

使用方法:SPI接口主要應用在EEPROM,FLASH,實時時鍾,AD轉換器,還有數字信號處理器和數字信號解碼器之間。

工作模式:SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號: (1)MOSI – 主器件數據輸出,從器件數據輸入 (2)MISO – 主器件數據輸入,從器件數據輸出 (3)SCLK – 時鍾信號,由主器件產生(4)/SS – 從器件使能信號,由主器件控制

I2C

全稱及由來:I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。

使用方法:I2C總線是一種串行數據總線,只有二根信號線,一根是雙向的數據線SDA,另一根是時鍾線SCL。

在 I2C總線上傳送的一個數據字節由八位組成。總線對每次傳送的字節數沒有限制,但每個字節后必須跟一位應答位。(這是與SPI總線最顯著的不同之處)。

I2S

全稱及由來:I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標准。
使用方法:I2S有3個主要信號:1.串行時鍾SCLK,也叫位時鍾,即對應數字音頻的每一位數據,SCLK有1個脈沖。2. 幀時鍾LRCK,用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。3.串行數據SDATA,就是用二進制補碼表示的音頻數據。有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鍾,也叫系統時鍾(Sys Clock)。

UART

UART (Universal Asynchronous Receiver/Transmitter) 通用異步收發器

將由計算機內部傳送過來的並行數據轉換為輸出的串行數據流。將計算機外部來的串行數據轉換為字節,供計算機內部使用並行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,並對從外部接收的數據流進行奇偶校驗。在輸出數據流中加入啟停標記,並從接收數據流中刪除啟停標記。

處理由鍵盤或鼠標發出的中斷信號(鍵盤和鼠票也是串行設備)。可以處理計算機與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區。

手機中常用TXD,RXD,/RTS,/CTS。

GPIO

GPIO (General Purpose Input Output 通用輸入/輸出)或總線擴展器利用工業標准I²C、SMBus™或SPI™接口簡化了I/O口的擴展。當微控制器或芯片組沒有足夠的I/O端口,或當系統 需要采用遠端串行通信或控制時,GPIO產品能夠提供額外的控制和監視功能。

每個GPIO端口可通過軟件分別配置成輸入或輸出。Maxim的GPIO產品線包括8端口至28端口的GPIO,提供推挽式輸出或漏極開路輸出。提供微型3mm x 3mm QFN封裝。

  GPIO的優點(端口擴展器)

  低功耗:GPIO具有更低的功率損耗(大約1μA,μC的工作電流則為100μA)。

  集成IIC從機接口:GPIO內置IIC從機接口,即使在待機模式下也能夠全速工作。

  小封裝:GPIO器件提供最小的封裝尺寸 ― 3mm x 3mm QFN!

  低成本:您不用為沒有使用的功能買單!

  快速上市:不需要編寫額外的代碼、文檔,不需要任何維護工作!

  靈活的燈光控制:內置多路高分辨率的PWM輸出。

  可預先確定響應時間:縮短或確定外部事件與中斷之間的響應時間。

  更好的燈光效果:匹配的電流輸出確保均勻的顯示亮度。

  布線簡單:僅需使用2條IIC總線或3條SPI總線

SDIO

SDIO是SD型的擴展接口,除了可以接SD卡外,還可以接支持SDIO接口的設備,插口的用途不止是插存儲卡。支持 SDIO接口的PDA,筆記本電腦等都可以連接象GPS接收器,Wi-Fi或藍牙適配器,調制解調器,局域網適配器,條型碼讀取器,FM無線電,電視接收 器,射頻身份認證讀取器,或者數碼相機等等采用SD標准接口的設備。

CAN

JTAG

JTAG (Joint Test Action Group 聯合測試行動小組)是一種國際標准測試協議(IEEE 1149.1兼容),主要用於芯片內部測試。

標准的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鍾、數據輸入和數據輸出線。

測試復位信號(TRST,一般以低電平有效)一般作為可選的第五個端口信號。一個含有JTAG Debug接口模塊的CPU,只要時鍾正常,就可以通過JTAG接口訪問CPU的內部寄存器和掛在CPU總線上的設備,如FLASH,RAM,內置模塊的寄存器,象UART,Timers,GPIO等等的寄存器。

CAN

CAN,全稱為“Controller Area Network”,即控制器局域網,是國際上應用最廣泛的現場總線之一。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之 間交換信息,形成汽車電子控制網絡。比如:發動機管理系統、變速箱控制器、儀表裝備、電子主干系統中,均嵌入CAN控制裝置。

一個由CAN 總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬件的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。

CAN是一種多主方式的串行通訊總線,基本設計規范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產生的任何錯誤。當信號傳輸距離達到10Km時,CAN 仍可提供高達50Kbit/s的數據傳輸速率。
         由於CAN總線具有很高的實時性能,因此,CAN已經在汽車工業、航空工業、工業控制、安全防護等領域中得到了廣泛應用。

CAN通訊協議主要描述設備之間的信息傳遞方式。CAN層的定義與開放系統互連模型(OSI)一致。每一層 與另一設備上相同的那一層通訊。

設備只通過模型物理層的物理介質互連。CAN的規范定義了模型的最下面兩層:數 據鏈路層和物理層。

下表中展示了OSI開放式互連模型的各層。應用層協議可以由CAN用戶定義成適合特別工業領域的任何方案。

  表1 OSI 開放系統互連模型

  

7
應用層
最高層用戶軟件網絡終端等之間用來進行信息交換如DeviceNet
6
表示層
將兩個應用不同數據格式的系統信息轉化為能共同理解的格式
5
會話層
依靠低層的通信功能來進行數據的有效傳遞
4
傳輸層
兩通訊節點之間數據傳輸控制操作如數據重發數據錯誤修復
3
網絡層
規定了網絡連接的建立維持和拆除的協議如路由和尋址
2
數據鏈路層
規定了在介質上傳輸的數據位的排列和組織如數據校驗和幀結構
1
物理層
規定通訊介質的物理特性如電氣特性和信號交換的解釋

CAN能夠使用多種物理介質,例如雙絞線、光纖等。最常用的就是雙絞線。信號使用差分電壓傳送,兩條信號線被稱為“CAN_H”和“CAN_L”, 靜態時均是2.5V左右,此時狀態表示為邏輯“1”,也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯“0”,稱為“顯形”,此時,通常電壓值 為:CAN_H = 3.5V 和CAN_L = 1.5V 。

CAN 有哪些特性?
   CAN具有十分優越的特點,使人們樂於選擇。這些特性包括:
  低成本
  極高的總線利用率
  很遠的數據傳輸距離(長達10Km)
  高速的數據傳輸速率(高達1Mbit/s)
  可根據報文的ID決定接收或屏蔽該報文
  可靠的錯誤處理和檢錯機制
  發送的信息遭到破壞后,可自動重發
  節點在錯誤嚴重的情況下具有自動退出總線的功能
  報文不包含源地址或目標地址,僅用標志符來指示功能信息、優先級信息

什么是CSMA/CD ?
CSMA/CD是“載波偵聽多路訪問/沖突檢測”(Carrier Sense Multiple Access with Collision Detect)的縮寫。
利 用CSMA訪問總線,可對總線上信號進行檢測,只有當總線處於空閑狀態時,才允許發送。利用這種方法,可以允許多個節點掛接到同一網絡上。當檢測到一個沖 突位時,所有節點重新回到‘監聽’總線狀態,直到該沖突時間過后,才開始發送。在總線超載的情況下,這種技術可能會造成發送信號經過許多延遲。為了避免發 送時延,可利用CSMA/CD方式訪問總線。當總線上有兩個節點同時進行發送時,必須通過“無損的逐位仲裁”方法來使有最高優先權的的報文優先發送。在 CAN總線上發送的每一條報文都具有唯一的一個11位或29位數字的ID。CAN總線狀態取決於二進制數‘0’而不是‘1’,所以ID號越小,則該報文擁 有越高的優先權。因此一個為全‘0’標志符的報文具有總線上的最高級優先權。可用另外的方法來解釋:在消息沖突的位置,第一個節點發送0而另外的節點發送 1,那么發送0的節點將取得總線的控制權,並且能夠成功的發送出它的信息。
- 2 -
CAN的高層協議
CAN的高層協議(也可理 解為應用層協議)是一種在現有的底層協議(物理層和數據鏈路層)之上實現的協議。高層協議是在CAN規范的基礎上發展起來的應用層。許多系統(像汽車工 業)中,可以特別制定一個合適的應用層,但對於許多的行業來說,這種方法是不經濟的。一些組織已經研究並開放了應用層標准,以使系統的綜合應用變得十分容 易。
一些可使用的CAN高層協議有:
制定組織 主要高層協議
CiA           CAL協議
CiA           CANOpen協議
ODVA       DeviceNet 協議
Honeywell  SDS 協議
Kvaser       CANKingdom協議


什么是標准格式CAN和擴展格式CAN?
標准CAN的標志符長度是11位,而擴展格式CAN的標志符長度可達29位。CAN 協議的2.0A版本規定CAN控制器必須有一個11位的標志符。同時,在2.0B版本中規定,CAN控制器的標志符長度可以是11位或29位。遵循 CAN2.0B協議的CAN控制器可以發送和接收11位標識符的標准格式報文或29位標識符的擴展格式報文。如果禁止CAN2.0B,則CAN 控制器只能發送和接收11位標識符的標准格式報文,而忽略擴展格式的報文結構,但不會出現錯誤。
目前,Philips公司主要推廣的CAN獨立控制器均支持CAN2.0B協議,即支持29位標識符的擴展格式報文結構。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM