《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 總線技術(shù)學(xué)習(xí)初探
總線技術(shù)學(xué)習(xí)初探
電子工程專輯
袁越陽
摘要: " /> <link href="http://1.eewimg.cn/js/lib/jquery.cluetip.css" rel="stylesheet" type="text/css
Abstract:
Key words :

0引言

   如果一座只能容一個(gè)人來往的獨(dú)木橋,兩端的人都想要過橋,,為了不擁擠,、阻塞,那我們就得采取有效的辦法,。比如規(guī)定某段時(shí)間哪端的人過橋,,另一端的人就等著該他過橋的時(shí)間段的到來,同時(shí)也還可以規(guī)定人多時(shí)要按先來后到或年齡長幼的次序過橋,。在這不經(jīng)意間,,我們就體會(huì)到了現(xiàn)代電子信息數(shù)據(jù)通過總線按時(shí)分系統(tǒng)傳輸?shù)淖钤嫉乃枷搿?/p>

   現(xiàn)代網(wǎng)絡(luò)信息的發(fā)展,特別是對(duì)于成本和空間而言,,總線傳輸替代點(diǎn)對(duì)點(diǎn)傳輸是目前發(fā)展的熱點(diǎn),,它的出現(xiàn)將給信息傳輸上提供了最大的方便和最有效的技術(shù)解決方案。假如一個(gè)微處理器與它的部件和外圍設(shè)備都分別用點(diǎn)對(duì)點(diǎn)的線路來連接通訊,,則所有連線將會(huì)錯(cuò)綜復(fù)雜,,甚至難以實(shí)現(xiàn)。

   目前與我們生活習(xí)習(xí)相關(guān)的一系列活動(dòng)都無不牽涉到總線技術(shù)的應(yīng)用,,如我們上英特網(wǎng),、給親戚朋友打電話、用U盤來存儲(chǔ)信息等,。雖然流行的總線所采取的形式不同,,但他們主要的原則性思想無非就是時(shí)分系統(tǒng)、頻分系統(tǒng),、相分系統(tǒng)和碼分系統(tǒng)等,。常言道“兵來將擋,水來土淹”,,面對(duì)種類繁多的總線,,我們只有從基本原理出發(fā),從骨子里去了解它的實(shí)質(zhì),,而不要被它形式多樣的外表所迷惑,,才能熟練掌握和靈活運(yùn)用眼下正在或?qū)⒁玫降母鞣N總線技術(shù)。

 1總線的定義及分類

 1.1定義

       總線,,英文叫作“BUS”,即我們中文的“公共車”,,這是非常形象的比如,公共車走的路線是一定的,,我們?nèi)魏稳硕伎梢宰曹嚾ピ摋l公共車路線的任意一個(gè)站點(diǎn),。如果把我們?nèi)吮茸魇请娮有盘?hào),這就是為什么英文叫它為“BUS”而不是“CAR”的真正用意,。當(dāng)然,,從專業(yè)上來說,,總線是一種描述電子信號(hào)傳輸線路的結(jié)構(gòu)形式,是一類信號(hào)線的集合,,是子系統(tǒng)間傳輸信息的公共通道[1],。通過總線能使整個(gè)系統(tǒng)內(nèi)各部件之間的信息進(jìn)行傳輸、交換,、共享和邏輯控制等功能,。如在計(jì)算機(jī)系統(tǒng)中,它是CPU,、內(nèi)存,、輸入、輸出設(shè)備傳遞信息的公用通道,,主機(jī)的各個(gè)部件通過主機(jī)相連接,,外部設(shè)備通過相應(yīng)的接口電路再于總線相連接。

 1.2分類

       總線分類的方式有很多,,如被分為外部和內(nèi)部總線,、系統(tǒng)總線和非系統(tǒng)總線等等,下面是幾種最常用的分類方法[2],。

 1.2.1按功能分

   最常見的是從功能上來對(duì)數(shù)據(jù)總線進(jìn)行劃分,,可以分為地址總線(address bus)、數(shù)據(jù)總線(data bus)和控制總線(control bus),。在有的系統(tǒng)中,,數(shù)據(jù)總線和地址總線可以在地址鎖存器控制下被共享,也即復(fù)用,。

   地址總線是專門用來傳送地址的,。在設(shè)計(jì)過程中,見得最多的應(yīng)該是從CPU地址總線來選用外部存儲(chǔ)器的存儲(chǔ)地址,。地址總線的位數(shù)往往決定了存儲(chǔ)器存儲(chǔ)空間的大小,,比如地址總線為16位,則其最大可存儲(chǔ)空間為216(64KB),。

   數(shù)據(jù)總線是用于傳送數(shù)據(jù)信息,,它又有單向傳輸和雙向傳輸數(shù)據(jù)總線之分,雙向傳輸數(shù)據(jù)總線通常采用雙向三態(tài)形式的總線,。數(shù)據(jù)總線的位數(shù)通常與微處理的字長相一致。例如Intel 8086微處理器字長16位,,其數(shù)據(jù)總線寬度也是16位,。在實(shí)際工作中,數(shù)據(jù)總線上傳送的并不一定是完全意義上的數(shù)據(jù),。

   控制總線是用于傳送控制信號(hào)和時(shí)序信號(hào),。如有時(shí)微處理器對(duì)外部存儲(chǔ)器進(jìn)行操作時(shí)要先通過控制總線發(fā)出讀/寫信號(hào),、片選信號(hào)和讀入中斷響應(yīng)信號(hào)等??刂瓶偩€一般是雙向的,,其傳送方向由具體控制信號(hào)而定,其位數(shù)也要根據(jù)系統(tǒng)的實(shí)際控制需要而定,。

 1.2.2按傳輸方式

   按照數(shù)據(jù)傳輸?shù)姆绞絼澐?,總線可以被分為串行總線和并行總線。從原理來看,,并行傳輸方式其實(shí)優(yōu)于串行傳輸方式,,但其成本上會(huì)有所增加。通俗地講,,并行傳輸?shù)耐藩q如一條多車道公路,,而串行傳輸則是只允許一輛汽車通過單線公路。目前常見的串行總線有SPI,、I2C,、USB、IEEE1394,、RS232,、CAN等;而并行總線相對(duì)來說種類要少,,常見的如IEEE1284,、ISA、PCI等,。

 1.2.3按時(shí)鐘信號(hào)方式分

   按照時(shí)鐘信號(hào)是否獨(dú)立,,可以分為同步總線和異步總線。同步總線的時(shí)鐘信號(hào)獨(dú)立于數(shù)據(jù),,也就是說要用一根單獨(dú)的線來作為時(shí)鐘信號(hào)線,;而異步總線的時(shí)鐘信號(hào)是從數(shù)據(jù)中提取出來的,通常利用數(shù)據(jù)信號(hào)的邊沿來作為時(shí)鐘同步信號(hào),。

2總線傳輸基本原理

 依據(jù)前面對(duì)總線的定義可知總線的基本作用就是用來傳輸信號(hào),,為了各子系統(tǒng)的信息能有效及時(shí)的被傳送,為了不至于彼此間的信號(hào)相互干擾和避免物理空間上過于擁擠,,其最好的辦法就是采用多路復(fù)用技術(shù)[3],,也就是說總線傳輸?shù)幕驹砭褪嵌嗦窂?fù)用技術(shù)。所謂多路復(fù)用就是指多個(gè)用戶共享公用信道的一種機(jī)制,,目前最常見的主要有時(shí)分多路復(fù)用,、頻分多路復(fù)用和碼分多路復(fù)用等。

 2.1時(shí)分多路復(fù)用(TDMA)

   時(shí)分復(fù)用是將信道按時(shí)間加以分割成多個(gè)時(shí)間段,,不同來源的信號(hào)會(huì)要求在不同的時(shí)間段內(nèi)得到響應(yīng),,彼此信號(hào)的傳輸時(shí)間在時(shí)間坐標(biāo)軸上是不會(huì)重疊,。

 2.2頻分多路復(fù)用(FDMA)

   頻分復(fù)用就是把信道的可用頻帶劃分成若干互不交疊的頻段,每路信號(hào)經(jīng)過頻率調(diào)制后的頻譜占用其中的一個(gè)頻段,,以此來實(shí)現(xiàn)多路不同頻率的信號(hào)在同一信道中傳輸,。而當(dāng)接收端接收到信號(hào)后將采用適當(dāng)?shù)膸V波器和頻率解調(diào)器等來恢復(fù)原來的信號(hào)。

 2.3碼分多路復(fù)用(CDMA)

   碼分多路復(fù)用是所被傳輸?shù)男盘?hào)都會(huì)有各自特定的標(biāo)識(shí)碼或地址碼,,接收端將會(huì)根據(jù)不同的標(biāo)識(shí)碼或地址碼來區(qū)分公共信道上的傳輸信息,,只有標(biāo)識(shí)碼或地址碼完全一致的情況下傳輸信息才會(huì)被接收。

 3總線的通信協(xié)議

   對(duì)于總線的學(xué)習(xí),,了解其通訊協(xié)議是整個(gè)過程中最關(guān)鍵的一步,,所有介紹總線技術(shù)的資料都會(huì)花很大的篇幅來描述其協(xié)議,特別是ISO/OSI的那七層定義,。其實(shí)要了解一種總線的協(xié)議,,最主要的就是去了解總線的幀數(shù)據(jù)每一位所代表的特性和意義,總線各節(jié)點(diǎn)間有效數(shù)據(jù)的收發(fā)都是通過各節(jié)點(diǎn)對(duì)幀數(shù)據(jù)位或段的判斷和確信來得以實(shí)現(xiàn),。

 

圖1
圖1

 

  如圖1所示是常見的I2C總線上傳輸?shù)囊蛔止?jié)數(shù)據(jù)的數(shù)據(jù)幀,,其總線形式是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的雙線制串行總線,并接在總線上的電路模塊即可作為發(fā)送器(主機(jī))又可作為接收器(從機(jī)),。幀數(shù)據(jù)中除了控制碼(包括從機(jī)標(biāo)識(shí)碼和訪問地址碼)與數(shù)據(jù)碼外還包括起始信號(hào),、結(jié)束信號(hào)和應(yīng)答信號(hào)[4]。

   起始信號(hào):SCL為高電平時(shí),,SDA由高電平向低電平跳變,,開始傳送數(shù)據(jù)。

   控制碼:用來選澤操作目標(biāo)與對(duì)象,,即接通需要控制的電路,,確定控制的種類對(duì)象。在讀期間,,也即SCL時(shí)鐘線處于時(shí)鐘脈沖高電平時(shí),,SDA上的數(shù)據(jù)位不會(huì)跳變。

   數(shù)據(jù)碼:是主機(jī)向從機(jī)發(fā)送的具體的有用的數(shù)據(jù)(如對(duì)比度,、亮度等)和信息,。在讀期間,SDA上的數(shù)據(jù)位不會(huì)跳變,。

   應(yīng)答信號(hào):接收方收到8bit數(shù)據(jù)后,,向發(fā)送方發(fā)出特定的低電平。讀/寫的方向與其它數(shù)據(jù)位正好相反,,也即是由從機(jī)寫出該低電平,,主機(jī)來讀取該低電平。

   結(jié)束信號(hào):SCL為高電平時(shí),,SDA由低電平向高電平跳變表示數(shù)據(jù)幀傳輸結(jié)束,。

 當(dāng)然不同的總線其數(shù)據(jù)位或段的定義肯定不同,但依據(jù)同樣的原理可以更快的去了解它的協(xié)議的特性和特點(diǎn),。雖然其信息幀的大小不一,,但具體的某一數(shù)據(jù)位或數(shù)據(jù)段都類似于本文所提及的I2C總線,會(huì)依據(jù)它的協(xié)議的要求來定義它所達(dá)標(biāo)的意義和功能,。

4主要技術(shù)指標(biāo)

       評(píng)價(jià)總線的主要技術(shù)指標(biāo)是總線的帶寬(即傳輸速率),、數(shù)據(jù)位的寬度(位寬)、工作頻率和傳輸數(shù)據(jù)的可靠性,、穩(wěn)定性等,。

 4.1帶寬(傳輸速率)、位寬和工作頻率

   總線的帶寬指的是單位時(shí)間內(nèi)總線上傳送的數(shù)據(jù)量,,即每鈔傳送MB的最大數(shù)據(jù)傳輸率,。總線的位寬指的是總線能同時(shí)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),,或數(shù)據(jù)總線的位數(shù),,即32位、64位等總線寬度的概念,;總線的位寬越寬,,數(shù)據(jù)傳輸速率越大,總線的帶寬就越寬,??偩€的工作時(shí)鐘頻率以MHz為單位,它與傳輸?shù)慕橘|(zhì),、信號(hào)的幅度大小和傳輸距離有關(guān),。在同樣硬件條件下,我們采用差分信號(hào)傳輸時(shí)的頻率常常會(huì)比單邊信號(hào)高得多,,這是因?yàn)椴罘中盘?hào)的的幅度只有單邊信號(hào)的一半而已,。

   總線的帶寬、位寬和工作頻率,,這三者密切相關(guān),,它們之間的關(guān)系:

 

4.2傳輸數(shù)據(jù)的可靠性

   可靠性是評(píng)定總線最關(guān)鍵的參數(shù),沒有可靠性,,傳輸?shù)臄?shù)據(jù)都是錯(cuò)誤的信息,,便就失去了總線的實(shí)際意義。為了提高總線的可靠性,,通常采用的措施有:

   采用數(shù)據(jù)幀發(fā)送前發(fā)送器對(duì)總線進(jìn)行偵聽,,只有偵聽到總線處于空閑狀態(tài)下時(shí)才可向總線傳送數(shù)據(jù)幀,這樣避免了不同節(jié)點(diǎn)的數(shù)據(jù)沖突,。

   采用雙絞線差分信號(hào)來傳送數(shù)據(jù),,以降低單線的電壓升降幅度,,減小信號(hào)的邊沿產(chǎn)生的高次諧波。

   適當(dāng)?shù)淖寯?shù)據(jù)的邊沿具有一定的斜坡,。

   增加匹配電阻和電容等來減少總線上信號(hào)的發(fā)射和平衡總線上的分布電容等,。

   采用合適的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和屏蔽技術(shù)等來減少受其他信號(hào)的干擾。

   還有就是在軟件上通過數(shù)字濾波,、數(shù)據(jù)校驗(yàn)糾錯(cuò)等措施來提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

 5結(jié)束語

   學(xué)習(xí)是一個(gè)循序漸進(jìn)的過程,,對(duì)總線技術(shù)的學(xué)習(xí)和理解也是隨著其技術(shù)的不斷發(fā)展而不斷更新的過程。子曰“工欲善其事,,必先利其器,。”只有從最基本的原理出發(fā),打好基礎(chǔ),,才能在今后的學(xué)習(xí)中融會(huì)貫通,,前仆后繼,更進(jìn)一步深入該知識(shí)點(diǎn)和拓寬知識(shí)面,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。