[導讀]首先,總線應該明白總線是分類什么?度娘的完整定義是:總線是計算機各種功能部件之間傳送信息的公共通信干線,它是到底
由導線組成的傳輸線束,按照計算機所傳輸的有多信息種類。其實,少為啥電師常總線就是工程是一種內部結構,它是常弄cpu、內存、總線輸入、分類輸出設備傳遞信息的到底公用通道。
首先,有多應該明白總線是少為啥電師常什么?度娘的完整定義是:總線是計算機各種功能部件之間傳送信息的公共通信干線,它是工程由導線組成的傳輸線束,按照計算機所傳輸的常弄信息種類。
其實,總線總線就是是一種內部結構,它是cpu、內存、輸入、輸出設備傳遞信息的公用通道。工程師為了簡化硬件電路設計、簡化系統結構,常用一組線路,配置以適當的接口電路,與各部件和外圍設備連接,這組共用的連接線路被稱為總線。另外就是采用總線結構便于部件和設備的擴充,尤其制定了統一的總線標準則容易使不同設備間實現互連。 1
數據總線、地址總線、控制總線、擴展總線及局部總線。數據總線、地址總線和控制總線也統稱為系統總線,即通常意義上所說的總線。常見的數據總線為ISA、EISA、VESA、PCI等。 地址總線:是專門用來傳送地址的,由于地址只能從CPU傳向外部存儲器或I/O端口,所以地址總線總是單向三態的,這與數據總線不同,地址總線的位數決定了CPU可直接尋址的內存空間大小。 控制總線:用來傳送控制信號和時序信號??刂菩盘栔?,有的是微處理器送往存儲器和I/O接口電路的;也有是其它部件反饋給CPU的,比如:中斷申請信號、復位信號、總線請求信號、設備就緒信號等。 串行總線中,二進制數據逐位通過一根數據線發送到目的器件。 并行總線的數據線通常超過2根。常見的串行總線有SPI、I2C、USB及RS232等。 同步總線的時鐘信號獨立于數據,而異步總線的時鐘信號是從數據中提取出來的。 SPI、I2C是同步串行總線,RS232采用異步串行總線。 4、微機中總線一般有內部總線、系統總線和外部總線:
內部總線是微機內部各外圍芯片與處理器之間的總線,用于芯片一級的互連。 而系統總線是微機中各插件板與系統板之間的總線,用于插件板一級的互連。 外部總線則是微機和外部設備之間的總線,微機作為一種設備,通過該總線和其他設備進行信息與數據交換,它用于設備一級的互連。 那么多分類, 今天先來聊聊內部總線、系統總線和外部總線咯。 I2C(Inter-IC)總線10多年前由Philips公司推出,是近年來在微電子通信控制領域廣泛采用的一種新型總線標準。 它是同步通信的一種特殊形式,具有接口線少,控制方式簡化,器件封裝形式小,通信速率較高等優點。在主從通信中,可以有多個I2C總線器件同時接到I2C總線上,通過地址來識別通信對象。 串行通信接口SCI也是由Motorola公司推出的。它是一種通用異步通信接口UART,與MCS-51的異步通信功能基本相同。I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。串行時鐘SCLK,也叫位時鐘,即對應數字音頻的每一位數據,SCLK有1個脈沖。
幀時鐘LRCK,用于切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。
串行數據SDATA,就是用二進制補碼表示的音頻數據。
有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock)。SPI(Serial Peripheral Interface:串行外設接口);SPI是Motorola首先在其MC68HCXX系列處理器上定義的。 SPI接口主要應用在EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。 SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:MOSI – 主器件數據輸出,從器件數據輸入?
MISO – 主器件數據輸入,從器件數據輸出?
SCLK – 時鐘信號,由主器件產生
/SS – 從器件使能信號,由主器件控制
UART(Universal Asynchronous Receiver Transmitter:通用異步收發器)。將由計算機內部傳送過來的并行數據轉換為輸出的串行數據流。 將計算機外部來的串行數據轉換為字節,供計算機內部使用并行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗。在輸出數據流中加入啟停標記,并從接收數據流中刪除啟停標記。處理由鍵盤或鼠標發出的中斷信號(鍵盤和鼠票也是串行設備)。 可以處理計算機與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區。常用TXD,RXD,/RTS,/CTS。 JTAG (Joint Test Action Group 聯合測試行動小組)是一種國際標準測試協議(IEEE1149.1兼容),主要用于芯片內部測試。 標準的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數據輸入和數據輸出線。 測試復位信號(TRST,一般以低電平有效)一般作為可選的第五個端口信號。一個含有JTAGDebug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內部寄存器和掛在CPU總線上的設備,如FLASH,RAM,內置模塊的寄存器,象UART,Timers,GPIO等等的寄存器。 CAN全稱為“Controller Area Network”,即控制器局域網,是國際上應用最廣泛的現場總線之一。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之 間交換信息,形成汽車電子控制網絡。 比如:發動機管理系統、變速箱控制器、儀表裝備、電子主干系統中,均嵌入CAN控制裝置。一個由CAN總線構成的單一網絡中,理論上可以掛接無數個節點。 例如,當使用Philips P82C250作為CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。 SDIO是SD型的擴展接口,除了可以接SD卡外,還可以接支持SDIO接口的設備,插口的用途不止是插存儲卡。 支持 SDIO接口的PDA,筆記本電腦等都可以連接象GPS接收器,Wi-Fi或藍牙適配器,調制解調器,局域網適配器,條型碼讀取器,FM無線電,電視接收器,射頻身份認證讀取器,或者數碼相機等等采用SD標準接口的設備。 GPIO (General Purpose Input Output 通用輸入/輸出)或總線擴展器利用工業標準I2C、SMBus?或SPI?接口簡化了I/O口的擴展。 當微控制器或芯片組沒有足夠的I/O端口,或當系統 需要采用遠端串行通信或控制時,GPIO產品能夠提供額外的控制和監視功能。 ISA(industrialstandardarchitecture)總線標準是IBM公司1984年為推出PC/AT機而建立的系統總線標準,所以也叫AT總線。 它是對XT總線的擴展,以適應8/16位數據總線要求。它在80286至80486時代應用非常廣泛,以至于現在奔騰機中還保留有ISA總線插槽。ISA總線有98只引腳。EISA總線是1988年由Compaq等9家公司聯合推出的總線標準。 它是在ISA總線的基礎上使用雙層插座,在原來ISA總線的98條信號線上又增加了98條信號線,也就是在兩條ISA信號線之間添加一條EISA信號線。 VESA(videoelectronicsstandardassociation)總線是1992年由60家附件卡制造商聯合推出的一種局部總線,簡稱為VL(VESAlocalbus)總線。 它的推出為微機系統總線體系結構的革新奠定了基礎。該總線系統考慮到CPU與主存和Cache的直接相連,通常把這部分總線稱為CPU總線或主總線,其他設備通過VL總線與CPU總線相連,所以VL總線被稱為局部總線。 它定義了32位數據線,且可通過擴展槽擴展到64位,使用33MHz時鐘頻率,最大傳輸率達132MB/s,可與CPU同步工作。是一種高速、高效的局部總線,可支持386SX、386DX、486SX、486DX及奔騰微處理器。 PCI(peripheralcomponentinterconnect)總線是當前最流行的總線之一,它是由Intel公司推出的一種局部總線。它定義了32位數據總線,且可擴展為64位。PCI總線主板插槽的體積比原ISA總線插槽還小,其功能比VESA、ISA有極大的改善,支持突發讀寫操作,最大傳輸速率可達132MB/s,可同時支持多組外圍設備。 PCI局部總線不能兼容現有的ISA、EISA、MCA(microchannelarchitecture)總線,但它不受制于處理器,是基于奔騰等新一代微處理器而發展的總線。 RS-232-C是美國電子工業協會EIA制定的一種串行物理接口標準。RS是英文“推薦標準”的縮寫,232為標識號,C表示修改次數。RS-232-C總線標準設有25條信號線,包括一個主通道和一個輔助通道,在多數情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現,如一條發送線、一條接收線及一條地線。RS-232-C標準規定的數據傳輸速率為每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。 RS-232-C標準規定,驅動器允許有2500pF的電容負載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時,最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。 傳輸距離短的另一原因是RS-232屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內的通信。 在要求通信距離為幾十米到上千米時,廣泛采用RS-485串行總線標準。RS-485采用平衡發送和差分接收,因此具有抑制共模干擾的能力。 加上總線收發器具有高靈敏度,能檢測低至200mV的電壓,故傳輸信號能在千米以外得到恢復。 RS-485采用半雙工工作方式,任何時候只能有一點處于發送狀態,因此,發送電路須由使能信號加以控制。 RS-485用于多點互連時非常方便,可以省掉許多信號線。應用RS-485可以聯網構成分布式系統,其允許最多并聯32臺驅動器和32臺接收器。 IEEE-488總線用來連接系統,如微計算機、數字電壓表、數碼顯示器等設備及其他儀器儀表均可用IEEE-488總線裝配起來。 它按照位并行、字節串行雙向異步方式傳輸信號,連接方式為總線方式,儀器設備直接并聯于總線上而不需中介單元,但總線上最多可連接15臺設備。最大傳輸距離為20米,信號傳輸速度一般為500KB/s,最大傳輸速度為1MB/s。通用串行總線USB是由Intel、Compaq、Digital、IBM、Microsoft、NEC、NorthernTelecom等7家世界著名的計算機和通信公司共同推出的一種新型接口標準。它基于通用連接技術,實現外設的簡單快速連接,達到方便用戶、降低成本、擴展PC連接外設范圍的目的。它可以為外設提供電源,而不像普通的使用串、并口的設備需要單獨的供電系統。 另外,汽車電子最近這么火,想談一下汽車網絡中的LIN與CAN總線:早在1983年,博世公司開始開發控制器局域網(CAN)總線,并且在1986年正式發布相關協議。目前有多種不同汽車總線標準,但是CAN仍然是最流行的標準。 在CAN網絡中,所有節點(源于不同的ECU)都擔當主節點(即,不存在主從拓撲結構),而且并不分配具體地址。而是由消息攜帶標識符。 在給定時間,多個節點可以同時向CAN總線發送數據。然后由消息標識符幫助確定消息的優先級。 最高優先級的消息會使CAN總線進入顯性狀態,而所有其他節點會停止發送。這些節點實際上是收發器,除發送消息之外,其可以根據特定功能從總線查找特定消息。因此,CAN總線所連接的不同節點之間會出現信息流。 由于CAN會進行填充錯誤、誤碼、校驗和錯誤、誤幀以及應答錯誤等多項錯誤檢查, 因此具有高可靠性。CAN支持高達1Mbps的數據傳輸速率,從而成為連接汽車關鍵功能ECU(如:變速箱、溫度傳感器等)的默認選擇。 汽車電子的作用并非僅僅局限于這些關鍵單元。車身電子市場多年來一直在增長。典型車身控制應用包括座椅、車窗、智能雨刷以及汽車空調傳感器等。 對車身電子的關鍵要求是確保汽車更舒適、更安全。盡管這些系統可能不要求像關鍵ECU那樣的高安全性,但是它們仍然需要一定的汽車網絡通信標準。 實現CAN比實現LIN的成本高。導致CAN成本更高的因素包括: CAN網絡中的每個節點都需要時鐘發生器或晶體;
CAN的芯片級實現起來更復雜;
采用雙線傳輸。
最重要的是,整個昂貴的架構對于不需要高可靠性和高數據速率的應用來說過于奢侈。 |?整理文章為傳播相關技術,版權歸原作者所有?|
|?如有侵權,請聯系刪除?|
【1】國內MCU能替代國外產品嗎?MCU的未來又將如何?
【2】35歲真的是程序員的坎兒嗎?
【3】不同編程語言能耗不同?看這27種語言對比!
【4】超長干貨為你解析:從串口驅動到Linux驅動模型,嵌入式必會!
【5】本文把TCP/IP講絕了!
免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!