




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第3章 嵌入式硬件平臺3.1 引言3.2 嵌入式硬件平臺概述3.3 總線3.4 存儲設(shè)備3.5 I/O設(shè)備3.6 通信設(shè)備3.7 其他思考與練習(xí)題 第3章 嵌入式硬件平臺3.1 引言3.1 引 言 嵌入式系統(tǒng)的硬件除了核心部件嵌入式處理器外,還包括存儲器系統(tǒng)、外圍接口部件以及連接各種設(shè)備的總線系統(tǒng)。其中,存儲器是嵌入式系統(tǒng)存放數(shù)據(jù)和程序的功能部件,而外圍設(shè)備決定了應(yīng)用于不同領(lǐng)域的嵌入式系統(tǒng)的獨特功能。 3.1 引 言 嵌入式系統(tǒng)的硬件除了核心部件圖3-1 嵌入式系統(tǒng)的硬件組成 圖3-1 嵌入式系統(tǒng)的硬件組成 3.3 總 線 3.3.1 總線協(xié)議1握手協(xié)議總線協(xié)議中的基本構(gòu)件是四周期握手協(xié)議。總
2、線握手信號的作用是控制每個總線周期中數(shù)據(jù)傳送的開始和結(jié)束,從而實現(xiàn)兩個設(shè)備間的協(xié)調(diào)和配合,保證數(shù)據(jù)傳送的可靠性。握手線用兩根連線enq(查詢)和ack(應(yīng)答)來表示。在握手期間,使用專用的握手線來傳輸數(shù)據(jù)。因此,數(shù)據(jù)握手線必須以某種方式用信號的電壓變化來表明整個總線傳輸周期的開始和結(jié)束,以及在整個周期內(nèi)每個子周期的開始和結(jié)束。一般地,四周期握手過程(如圖3-2所示)描述如下: 3.3 總 線 3.3.1 總線協(xié)議3.3 總線按總線所處的位置及作用不同,分為: 片內(nèi)總線、片間總線、系統(tǒng)總線和通訊總線。總線的主要參數(shù)有總線的帶寬總線的位寬總線的工作時鐘頻率3.3 總線按總線所處的位置及作用不同,分
3、為:圖3-3 典型的微處理器總線 圖3-3 典型的微處理器總線 3.3.3 總線配置一個微處理器系統(tǒng)可能使用多條總線來連接設(shè)備。如圖3-8所示,高速設(shè)備可以連到高速總線上,而低速設(shè)備連到低速總線上,通過一個被稱為橋的邏輯電路使得總線可以互連。 3.3.3 總線配置圖3-8 多總線系統(tǒng) 圖3-8 多總線系統(tǒng) PCI力不從心南橋/北橋Intel 440系列以后PCI地位大大降低Host/PCI為北橋PCI/ISA為南橋PCI力不從心南橋/北橋使用這樣的總線配置主要考慮到以下幾個原因:(1) 高速總線通常提供較寬的數(shù)據(jù)連接。(2) 高速總線通常要更昂貴的電路和連接器,可以通過使用較慢的、比較便宜的總
4、線來降低低速設(shè)備成本。(3) 橋允許總線獨立操作,因此可以在I/O操作中提供并行性。在高速總線和低速總線之間的總線橋是高速總線的受控器,是低速總線的主控器。橋從高速總線上獲取指令并將其傳到低速總線,將結(jié)果從低速總線傳到高速總線上。 使用這樣的總線配置主要考慮到以下幾個原因:3.3.4 總線實例這里以ARM的一個總線系統(tǒng)為例,簡單分析該系統(tǒng)的組成和特征。由于ARM微處理器由許多不同制造商制造,因此芯片外提供的總線隨芯片變化而變化。ARM已經(jīng)為單芯片系統(tǒng)創(chuàng)建了一個獨立的總線規(guī)格說明AMBA規(guī)范。AMBA總線(ARM99A)支持將多個CPU、存儲器和外圍設(shè)備集成在片上系統(tǒng)中。如圖3-9所示,AMBA
5、規(guī)格說明包括兩條總線:AHB和APB。其中,AMBA高性能總線(AHB)是為高速傳輸而經(jīng)過優(yōu)化的,它直接連到CPU上并支持多種高性能總線的特性:流水線技術(shù)、突發(fā)傳輸、分離事務(wù)和多總線主控器等。橋用來將AHB連到AMBA外圍設(shè)備總線(APB)上。 3.3.4 總線實例圖3-9 ARM AMBA總線系統(tǒng) 圖3-9 ARM AMBA總線系統(tǒng) 3.4 存 儲 設(shè) 備 3.4.1 嵌入式系統(tǒng)存儲器子系統(tǒng)的結(jié)構(gòu)嵌入式系統(tǒng)的存儲器子系統(tǒng)與通用計算機的存儲器子系統(tǒng)的功能并無明顯的區(qū)別,這決定了嵌入式系統(tǒng)的存儲器子系統(tǒng)的設(shè)計指標和方法也可以采用通用計算機的方法,尤其是嵌入通用計算機的大型嵌入式系統(tǒng)更是如此。 3
6、.4 存 儲 設(shè) 備 3.4.1 嵌入式系統(tǒng)存儲器子系圖3-10 分級存儲器系統(tǒng) 圖3-10 分級存儲器系統(tǒng) 1、寄存器組是最高一級的存儲器,一般是微處理器內(nèi)含的。2、高速緩沖存儲器(Cache)。其存取速度足以與微處理器相匹配。一般透明使用。可減少內(nèi)存平均訪問時間。3、內(nèi)存。運行的程序和數(shù)據(jù)都放在內(nèi)存中。分RAM和ROM。4、大容量的外存。目前嵌入式系統(tǒng)中常用閃存作為大容量硬盤存儲各種程序和數(shù)據(jù)。1、寄存器組是最高一級的存儲器,一般是微處理器內(nèi)含的。2、高3.4.2 RAMRAM (Random Access Memory,隨機存儲器)分為:1靜態(tài)RAM2動態(tài)RAM3.4.2 RAM圖3-1
7、2 DRAM通過DRAM控制器組成存儲器系統(tǒng) 圖3-12 DRAM通過DRAM控制器組成存儲器系統(tǒng) 3RAM的選擇在設(shè)計嵌入式系統(tǒng)時,隨機存儲器的選擇一般有兩種:SRAM和DRAM。選擇時,通常考慮以下因素:(1) 如果系統(tǒng)的隨機存儲器的容量不是很大,則一般采用SRAM;反之,選擇DRAM。(2) 對于特別高速度的應(yīng)用,使用SRAM。(3) 如果嵌入式系統(tǒng)對功耗敏感,可使用SRAM。因為DRAM需要定時刷新,消耗能力相對大,而SRAM在系統(tǒng)進入待機工作方式時,只需要微小的待機電流就可以維持數(shù)據(jù)不丟失。需要注意的是,SRAM的平均功耗低,但是工作時功耗不一定低。 3RAM的選擇(4) 對于嵌入式
8、處理器而言,有的嵌入式處理器芯片集成了DRAM控制器,這時選擇DRAM比較好。一般的,小規(guī)模的嵌入式系統(tǒng)不建議使用分離的DRAM控制器DRAM的方案,因為這種方案既會增加系統(tǒng)的復(fù)雜性(如電路板的面積、故障率等),又會增加系統(tǒng)的成本。因此如果選用了DRAM,那么盡量使用帶有DRAM控制器的嵌入式處理器,然后配合使用DRAM。(5) 目前,基于32位嵌入式處理器的嵌入式系統(tǒng)一般使用DRAM。(6) 復(fù)雜的嵌入式系統(tǒng)可以采用SRAM和DRAM混合設(shè)計的方案。不同要求的數(shù)據(jù)使用不同的隨機存儲器,以滿足系統(tǒng)整體的優(yōu)化設(shè)計。 (4) 對于嵌入式處理器而言,有的嵌入式處理器芯片集成了(7) 嵌入式系統(tǒng)的設(shè)計
9、,在使用SRAM和DRAM的成本上,需要仔細并與整個系統(tǒng)的硬件一起進行核算,最終做出選擇。在選擇存儲器類型時,一般要考慮存取時間和成本。SRAM提供了極快的存取時間,一般比DRAM快4倍,但是造價十分昂貴。通常,SRAM只是用于那些存取速度極端重要的場合。在需要使用大容量的RAM時,一般選擇使用DRAM。很多嵌入式系統(tǒng)混合使用兩種RAM,如關(guān)鍵數(shù)據(jù)通道上的一小塊SRAM(幾百至幾千個字節(jié))和其他所有地方的一大塊DRAM(以兆計)。 (7) 嵌入式系統(tǒng)的設(shè)計,在使用SRAM和DRAM的成本3.4.3 ROMROM(Read-Only Memory,只讀存儲器) 可以分為: 掩模ROM PROM:
10、一次性編程ROM EPROM:紫外線擦除PROM EEPROM:電可擦可編程 3.4.3 ROM3.4.4 Flash MemoryFlash Memory(按塊擦除存儲器) 使用標準電壓擦寫和編程,允許芯片在標準系統(tǒng)內(nèi)部編程。這就允許Flash Memory在重新編程的同時存儲新的內(nèi)容。此外,EEPROM必須被整體擦寫,F(xiàn)lash Memory可以一塊一塊地擦寫。大部分Flash Memory允許某些塊被保護,這一點對存儲空間有限的嵌入式系統(tǒng)非常有用,即將引導(dǎo)代碼放進保護塊內(nèi)而允許更新設(shè)備上其他的存儲器塊。 3.4.4 Flash Memory表3-1 Flash Memory與傳統(tǒng)存儲器技
11、術(shù)的比較 表3-1 Flash Memory與傳統(tǒng)存儲器技術(shù)的比較 根據(jù)工藝的不同,F(xiàn)lash Memory主要有兩類:NOR Flash Memory和NAND Flash Memory。NOR Flash Memory是在EEPROM的基礎(chǔ)上發(fā)展起來的,它的存儲單元由N-MOS構(gòu)成,連接N-MOS單元的線是獨立的。NOR Flash Memory的特點是可以隨機讀取任意單元的內(nèi)容,適合于程序代碼的并行讀/寫、存儲,所以常用于制作計算機的BIOS存儲器和微控制器的內(nèi)部存儲器等。NAND Flash Memory是將幾個N-MOS單元用同一根線連接起來,可以按順序讀取存儲單元的內(nèi)容,適合于數(shù)據(jù)
12、或文件的串行讀/寫。 根據(jù)工藝的不同,F(xiàn)lash Memory主要有兩類:NOFlash Memory不僅可以用作嵌入式系統(tǒng)的程序存儲器,也可以作許多其他的應(yīng)用。(1) Flash Memory文件系統(tǒng):因為Flash Memory提供了可被重寫的非易失性存儲,所以它可以被看作類似于任何其他的二級存儲系統(tǒng),如硬盤。在作為文件系統(tǒng)的情況下,由驅(qū)動程序提供的函數(shù)要更加面向文件,提供諸如open()、close()、read()、write()等標準文件系統(tǒng)函數(shù)。Flash Memory文件系統(tǒng)的組織與普通的外存基本相同。(2) 便攜設(shè)備的存儲裝置:隨著數(shù)碼產(chǎn)品的飛速發(fā)展,F(xiàn)lash Memory作
13、為一種最常用的存儲裝置應(yīng)用于數(shù)碼相機(如CF卡、XD卡、記憶棒等)、MP3等數(shù)碼產(chǎn)品中。 Flash Memory不僅可以用作嵌入式系統(tǒng)的程序存儲3.5 I/O 設(shè) 備 3.5.1 定時器/計數(shù)器所有的嵌入式處理器都集成了定時器/計數(shù)器單元。系統(tǒng)中至少有一個定時器設(shè)備,用作系統(tǒng)時鐘。定時器和計數(shù)器都是由帶有保存當前值的寄存器和向當前寄存器值加1的增量輸入的加法器邏輯電路組成的。但是,定時器和計數(shù)器的用處不同,主要體現(xiàn)在:定時器的計數(shù)裝置是連到周期性時鐘信號上的,用來測量時間間隔;而計數(shù)器的計數(shù)裝置是連到非周期性信號上的,用來計算外部事件的發(fā)生次數(shù)。因為同樣的邏輯電路可以有這兩種使用方式,所以該
14、設(shè)備經(jīng)常被稱為“定時器/計數(shù)器”。 3.5 I/O 設(shè) 備 3.5.1 定時器/計數(shù)器嵌入式處理器上的定時器/計數(shù)器通常具有以下功能:(1) 嵌入式操作系統(tǒng)的任務(wù)調(diào)度,特別是具有時間片輪轉(zhuǎn)調(diào)度功能的嵌入式操作系統(tǒng)的任務(wù)調(diào)度,必須使用定時器產(chǎn)生時間片。(2) 嵌入式操作系統(tǒng)的軟件時鐘需要基于硬件定時器產(chǎn)生定時信號。(3) 通信電路的波特率發(fā)生器。(4) 實時時鐘電路。(5) 集成的片上A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路。(6) 具有液晶控制器的嵌入式處理器應(yīng)用液晶屏的刷新。(7) 處理器監(jiān)控電路,如看門狗等。(8) 集成的動態(tài)存儲器控制器用于動態(tài)存儲器的刷新。 嵌入式處理器上的定時器/計數(shù)器通常具有以下
15、功能:圖3-14展示了定時器/計數(shù)器的內(nèi)部結(jié)構(gòu)。當計數(shù)信號被確認時,一個n位的定時器/計數(shù)器使用一個n位的寄存器來保存當前計數(shù)值并使用半減器陣列減去該計數(shù)器的值。組合邏輯電路用來檢查計數(shù)值是否為0。輸出Done發(fā)出0計數(shù)信號。為了對控制超時進行響應(yīng)而不是確切要求2n次事件發(fā)生,使用一個復(fù)位寄存器提供給計數(shù)寄存器裝入的值。定時器/計數(shù)器用邏輯電路來裝載復(fù)位寄存器。此外,大部分計數(shù)器提供循環(huán)和非循環(huán)的操作模式。在循環(huán)模式中,一旦計數(shù)器達到Done狀態(tài),它自動重裝并繼續(xù)計數(shù);在非循環(huán)操作模式,定時器/計數(shù)器等待一個來自微處理器的明確信號來重新計數(shù)。 圖3-14展示了定時器/計數(shù)器的內(nèi)部結(jié)構(gòu)。當計數(shù)信
16、號被確圖3-14定時器/計數(shù)器的內(nèi)部結(jié)構(gòu) 圖3-14定時器/計數(shù)器的內(nèi)部結(jié)構(gòu) 3.5.2 模/數(shù)轉(zhuǎn)換器和數(shù)/模轉(zhuǎn)換器模/數(shù)(A/D)轉(zhuǎn)換器和數(shù)/模(D/A)轉(zhuǎn)換器是非數(shù)字設(shè)備(即模擬信號源)和嵌入式系統(tǒng)之間聯(lián)系的接口。D/A轉(zhuǎn)換相對簡單,轉(zhuǎn)換器接口僅包括數(shù)據(jù)值,輸入值被連續(xù)轉(zhuǎn)換成模擬信號。 3.5.2 模/數(shù)轉(zhuǎn)換器和數(shù)/模轉(zhuǎn)換器A/D轉(zhuǎn)換器是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以便計算機和數(shù)字系統(tǒng)進行處理、存儲、控制和顯示。A/D轉(zhuǎn)換需要更復(fù)雜的電路,所以也需要更復(fù)雜的接口。A/D轉(zhuǎn)換在將模擬輸入轉(zhuǎn)換為數(shù)字形式前需要對模擬輸入進行采樣。控制信號使得A/D轉(zhuǎn)換器進行采樣并將其數(shù)字化。典型的A/D
17、轉(zhuǎn)換器接口除了模擬輸入外還有兩個主要的數(shù)字輸入,一個數(shù)據(jù)端口允許A/D寄存器被讀/寫;另一個時鐘輸入信號通知什么時候開始下一次轉(zhuǎn)換。A/D轉(zhuǎn)換器有若干種不同的類型,主要包括:逐位比較型、積分型、計數(shù)型、并行比較型和電壓頻率型。選用A/D轉(zhuǎn)換器時,主要應(yīng)根據(jù)使用場合的具體需求,分析轉(zhuǎn)換速度、精度、價格、功能以及接口條件等因素,最終決定選擇的類型。 A/D轉(zhuǎn)換器是將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以便計3.5.3 人機接口設(shè)備 1鍵盤鍵盤是標準的輸入設(shè)備,廣泛用于嵌入式產(chǎn)品,如微波爐、傳真機、復(fù)印機、激光打印機等。依賴鍵盤接口實現(xiàn)用戶的輸入,使得嵌入式設(shè)備能夠處理用戶的輸入信息,將嵌入式控制器的
18、功能發(fā)揮得更大。鍵盤可以用來輸入數(shù)字型數(shù)據(jù)或者選擇控制設(shè)備的操作模式。鍵盤主要由一個開關(guān)陣列組成,此外還包括一些邏輯電路來簡化它到微處理器的接口。我們首先了解一個簡單開關(guān)的原理,然后再分析由微處理器控制的鍵盤。 3.5.3 人機接口設(shè)備 1鍵盤開關(guān)使用機械接觸實現(xiàn)斷開或接觸電路,如圖3-15所示。當開關(guān)打開時,通過處理器I/O接口的一個上拉電阻提供邏輯1;當開關(guān)閉合時,處理器I/O接口的輸入被拉到邏輯0。機械開關(guān)的主要問題是圖3-16所示的顫動。當通過按下連接到開關(guān)臂上的按鈕將開關(guān)壓上時,接觸點可能看起來穩(wěn)定而且很快閉合,但實際上壓力導(dǎo)致接觸點顫動幾次才停下來。這種顫動顯現(xiàn)為按了幾次開關(guān),持續(xù)
19、時間通常維持在530 ms之間。為了避免這種顫動,可以使用一個單步定時器形成硬件消顫電路,也可以用軟件來消除開關(guān)輸入顫動。 開關(guān)使用機械接觸實現(xiàn)斷開或接觸電路,如圖3-15所示。當圖3-15 簡單的開關(guān)電路 圖3-15 簡單的開關(guān)電路 圖3-16 開關(guān)顫動 圖3-16 開關(guān)顫動 原始的鍵盤是開關(guān)的簡單集合,每個開關(guān)有自己的一對引出線,直接連到處理器的輸入端口上。這種開關(guān)的組合方法使得當開關(guān)的數(shù)目增加時,將很快用完所有的輸入端口,原始鍵盤會變得不實用。更加實用的鍵盤通過排列開關(guān)形成如圖3-17所示的開關(guān)陣列。一個瞬時接觸開關(guān)放置在每一行與每一列的交叉點處,使用編碼來表示被按下的開關(guān),形成編碼鍵盤
20、,通過掃描開關(guān)陣列來確定是否有鍵被按下。與原始鍵盤不同,掃描鍵盤陣列每次只讀開關(guān)的一行。陣列左邊的多路分路器選擇要讀的行。當掃描輸入為1時,該值被送到該行的每一列,如果某個鍵被按下,那么該列的1被探測到。由于每列只有一個鍵被激活,因此該值唯一代表了一個鍵。行地址和列輸出被用來編碼,或者用電路來給出不同的編碼。 原始的鍵盤是開關(guān)的簡單集合,每個開關(guān)有自己的一對引出線,圖3-17 掃描鍵盤陣列 圖3-17 掃描鍵盤陣列 鍵盤編碼可能使得多個鍵的組合無法被識別。例如,在PC鍵盤中,必須選擇一種編碼使Ctrl+Q之類的鍵能被識別并送進PC。另外,鍵盤編碼還可能導(dǎo)致不允許同時按鍵。例如,在大部分應(yīng)用中,
21、如果按1,在未釋放之前再按2,那么大多數(shù)應(yīng)用是想要鍵盤先發(fā)送1再發(fā)送2。這種編碼電路的一種簡單實現(xiàn)是在一個鍵被按下而未釋放之前,丟棄已按下的其他任何字符。鍵盤的微控制器可以被編程處理多個鍵被同時按下(即多鍵滾轉(zhuǎn)),這使得同時按鍵被識別、入棧,而在鍵被釋放時,再依次傳輸。 鍵盤編碼可能使得多個鍵的組合無法被識別。例如,在PC鍵盤2LCD顯示器1) 直接驅(qū)動如圖3-18所示,多個數(shù)字陣列是直接驅(qū)動顯示的簡單例子。單數(shù)字顯示器通常有七段,每段可以是發(fā)光二極管,也可以是液晶顯示器。這種顯示用數(shù)字輸入來選擇當前要更新的數(shù)字,被選擇的數(shù)字在當前數(shù)據(jù)值的基礎(chǔ)上激活它的顯示元件。顯示驅(qū)動器復(fù)雜,重復(fù)掃描數(shù)字并
22、將當前值送到顯示器上。 2LCD顯示器圖3-18 多個數(shù)字顯示器 圖3-18 多個數(shù)字顯示器 2) 幀緩沖區(qū)如圖3-19所示,幀緩沖區(qū)是一個連到系統(tǒng)總線上的隨機存取存儲區(qū)。微處理器可以以任意所需次序?qū)⒅祵懭霂彌_區(qū)。這種顯示方式主要適用于陰極射線管(Cathode-Ray Tube,CRT)顯示。當CRT被連到幀緩沖區(qū)時,它通常以光柵的順序讀像素,一次顯示一行。 2) 幀緩沖區(qū)圖3-19 幀緩沖顯示系統(tǒng) 圖3-19 幀緩沖顯示系統(tǒng) 3) 液晶控制板大平面顯示器通常由LCD構(gòu)成。其中每個像素都由一個液晶體構(gòu)成。LCD顯示器到系統(tǒng)的接口獨具特點,這主要因為LCD像素陣列能夠被隨機訪問。早期的液晶顯
23、示控制板被稱為被動矩陣,它依靠一個二維的電線網(wǎng)絡(luò)來編址像素。現(xiàn)代液晶顯示控制板顯示器使用一種主動矩陣系統(tǒng),它給每個像素配置轉(zhuǎn)發(fā)器,以此來控制、訪問LCD顯示器。主動矩陣顯示器提供了更高的對比度和顯示質(zhì)量。 3) 液晶控制板3觸摸屏觸摸屏是覆蓋在輸出設(shè)備上的輸入設(shè)備,用來記錄觸摸位置。把觸摸屏覆蓋在顯示器上,使用者可以對顯示的信息作出反應(yīng)。觸摸屏按其工作原理不同分為表面聲波屏、電容屏、電阻屏和紅外屏等。其中常見的觸摸屏是電阻式觸摸屏。電阻式觸摸屏用二維電壓表來探測位置。如圖3-20所示,觸摸屏由兩層被許多細小的透明隔離球隔開的導(dǎo)電薄層組成。當手指或筆觸摸屏幕時,平常互相絕緣的導(dǎo)電層在觸摸點位置有
24、了一個接觸。在頂層的導(dǎo)電層上加上電壓,它的電阻就在穿過該層時產(chǎn)生電勢差;然后頂層在接觸點對電壓采樣;最后用模/數(shù)轉(zhuǎn)換器來測量電壓,以此得出位置。觸摸屏通過交替使用水平和垂直電壓梯度來獲得x和y坐標位置。 3觸摸屏圖3-20 電阻式觸摸屏的結(jié)構(gòu) 圖3-20 電阻式觸摸屏的結(jié)構(gòu) 3.6 通 信 設(shè) 備 3.6.1 通用異步收發(fā)器通用異步收發(fā)器(Universal Asynchronous Receiver and Transmitter,UART)是用于控制計算機與串行設(shè)備的接口。我們在介紹數(shù)據(jù)通信模式和串行通信標準的基礎(chǔ)上,分析通用異步收發(fā)器的原理和功能。1數(shù)據(jù)通信模式數(shù)據(jù)通信是兩臺數(shù)字設(shè)備之間
25、的數(shù)據(jù)傳輸。從不同的角度劃分,數(shù)據(jù)通信方式大致可以分為雙工通信、串行和并行通信、同步和異步通信。 3.6 通 信 設(shè) 備 3.6.1 通用異步收發(fā)器1) 雙工通信雙工通信是對相互通信的兩臺通信設(shè)備之間數(shù)據(jù)流向的描述。雙工通信包括單工、半雙工和全雙工三種方式。雙工通信方式的結(jié)構(gòu)如圖3-21所示。 1) 雙工通信圖3-21 雙工通信方式的結(jié)構(gòu) 圖3-21 雙工通信方式的結(jié)構(gòu) (1) 單工通信方式是指兩臺通信設(shè)備間數(shù)據(jù)只能在一個方向上傳送。在單工方式下,兩臺通信設(shè)備一臺為發(fā)送設(shè)備,另一臺為接收設(shè)備,它們之間只有一條通信鏈路。(2) 半雙工通信方式是指兩臺相互通信的設(shè)備均具有收發(fā)數(shù)據(jù)的能力,但在某一時
26、間內(nèi)它們只能執(zhí)行一種操作(收或發(fā)),不能同時執(zhí)行收、發(fā)兩種操作;在它們之間的通信線路的兩個方向上均可傳輸數(shù)據(jù),但在某一時間內(nèi)只能在一個方向上傳輸數(shù)據(jù)。為實現(xiàn)半雙工通信,兩臺通信設(shè)備間只需一條通信線路,但各通信設(shè)備必須配備收發(fā)切換開關(guān)。(3) 全雙工通信方式是指相互通信的兩臺設(shè)備可以同時發(fā)送和接收數(shù)據(jù),即數(shù)據(jù)在同一時刻可在兩個方向上傳輸,因此它們之間至少需要兩條通信線路。 (1) 單工通信方式是指兩臺通信設(shè)備間數(shù)據(jù)只能在一個方向2) 串行和并行通信并行通信是構(gòu)成字符的二進制代碼在并行信道上同時傳輸?shù)姆绞健2⑿袀鬏敃r,一次傳輸一個字符,收發(fā)雙方不存在同步問題,傳輸速度較快。但是,并行傳輸需要并行信
27、道,所以線路投資大,不適合小型化產(chǎn)品。串行通信是指構(gòu)成字符的二進制代碼在一條信道上以位(碼元)為單位,按時間順序且按位傳輸?shù)姆绞健4袀鬏敃r,發(fā)送端按位發(fā)送,接收端按位接收,同時還要對所傳輸?shù)淖址右源_認,所以收、發(fā)雙方要采取同步措施,否則接收端將不能正確區(qū)分出所傳輸?shù)淖址km然串行通信的速度慢,但是只需要一條傳輸信道,線路投資少,易于實現(xiàn),因此在數(shù)據(jù)通信吞吐量不是很大的嵌入式系統(tǒng)中顯得更加簡易、方便、靈活。 2) 串行和并行通信3) 異步和同步通信串行通信有兩種基本工作方式:異步通信和同步通信。在異步通信方式下,傳輸數(shù)據(jù)以字符為單位。當發(fā)送一個字符代碼時,字符前面要加一個“起”信號,其長度為
28、1個碼元,極性為“0”;字符后面要加一個“止”信號,其長度為1、1.5或2個碼元,極性為“1”。加上起、止信號后,即可區(qū)分出所傳輸?shù)淖址魉蜁r,字符可以連續(xù)發(fā)送,也可以單獨發(fā)送,不發(fā)字符時線路要保持為“1”狀態(tài)。異步傳輸方式適用于1200 b/s以下的低速傳輸,實現(xiàn)起來比較簡單。同步通信傳輸不需要加起、止信號,因此傳輸效率高,適用于2400 b/s以上的數(shù)據(jù)傳輸,但是實現(xiàn)起來比較復(fù)雜。 3) 異步和同步通信2標準串行通信接口標準異步串行通信接口主要有以下幾類:RS-232C、RS-422和RS-485。RS-232C是美國電子工業(yè)協(xié)會(EIA)正式公布的、在異步串行通信中應(yīng)用最廣的標準總線,
29、適合短距離或帶調(diào)制解調(diào)器的通信場合。為了提供數(shù)據(jù)傳輸速率和通信距離,EIA又公布了RS-422和RS-485串行總線接口標準。 2標準串行通信接口1) RS-232CRS-232C是美國電子工業(yè)協(xié)會(Electronic Industry Association,EIA)制定的在數(shù)據(jù)終端設(shè)備(Data Terminal Equipment,DTE)和數(shù)據(jù)通信設(shè)備(Data Communication Equipment,DCE)之間進行串行二進制數(shù)據(jù)交換的接口。RS是英文“推薦標準”的縮寫,232為標識號,C表示修改次數(shù)。RS-232C標準是一種硬件協(xié)議,規(guī)定了21個信號和25個引腳,用于連接
30、DTE和DCE兩種設(shè)備。 1) RS-232CRS-232C標準規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19 200 b/s;驅(qū)動器允許有不超過2500 pF的電容負載,通信距離將受此電容限制。例如,當信號傳輸速率為20 kb/s時,最大傳輸距離為15 m。傳輸距離短的另一個原因是RS-232C屬于單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于短距離通信。RS-232C標準規(guī)定的數(shù)據(jù)傳輸速率為50、75、100RS-232C接口的缺點主要表現(xiàn)在兩個方面:數(shù)據(jù)傳輸速率慢和傳輸距離短。RS-232C規(guī)定的20 kb/
31、s的傳輸速率雖然能夠滿足異步通信要求(通常異步通信速率限制在19.2 kb/s以下),但對某些同步系統(tǒng)來說不能滿足傳輸速率要求。此外,RS-232C接口的一般設(shè)備之間電纜長度為15 m,最長也不會超過60 m。 RS-232C接口的缺點主要表現(xiàn)在兩個方面:數(shù)據(jù)傳輸速率2) RS-422RS-422是EIA公布的“平衡電壓數(shù)字接口電路的電氣特性”標準,是為改善RS-232C標準的電氣特性、又考慮與RS-232C兼容而制定的。RS-422與RS-232C的關(guān)鍵差別在于把單端輸入改為雙端差分輸入,雙方的信號地不再共用。RS-422給出了對電纜、驅(qū)動器的要求,規(guī)定了雙端電氣接口形式,并使用雙絞線傳送信
32、號。與RS-232C相比,RS-422傳輸信號距離長、速度快。傳輸率最大為10 Mb/s,在此速率下,電纜允許長度為120 m。如果采用較低傳輸速率,如90 kb/s,則最大距離可達1200 m。 2) RS-4223) RS-485RS-485是RS-422的變型,RS-422是全雙工的,可以同時發(fā)送與接收;而RS-485是半雙工的,在某一時刻,只能一個發(fā)送另一個接收。RS-485是一種多發(fā)送器的電路標準,它擴展了RS-422的性能,允許雙線總線上驅(qū)動32個負載設(shè)備。負載設(shè)備可以是被動發(fā)送器、接收器或二者組合而成的收發(fā)器。當用于多點互連時,可節(jié)省信號線,便于高速遠距離傳送。許多智能儀器設(shè)備配
33、有RS-485總線接口,便于將它們進行聯(lián)網(wǎng)。 3) RS-485表3-2 RS-232C、RS-422A與RS-485性能比較 表3-2 RS-232C、RS-422A與RS-485性能3UARTUART提供了RS-232C數(shù)據(jù)終端設(shè)備接口,這樣計算機就可以和調(diào)制解調(diào)器或其他使用RS-232C接口的串行設(shè)備進行通信。作為接口的一部分,UART還提供了以下功能:將計算機外部傳來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計算機內(nèi)部使用并行數(shù)據(jù)的器件使用;將由計算機內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù);在輸出的串行數(shù)據(jù)流中加入奇偶校驗位,并對從外部接收的數(shù)據(jù)流進行奇偶校驗;在輸出的數(shù)據(jù)流中加入“起”、“止”標記
34、,并從接收數(shù)據(jù)流中刪除“起”、“止”標記;處理計算機與外部串行設(shè)備的同步管理問題;處理由鍵盤或鼠標發(fā)出的中斷信號(鍵盤和鼠標也是串行設(shè)備)。 3UART相對于微處理器,一臺UART是作為一個甚至多個存儲點或I/O端口的。UART一般包括一個或多個狀態(tài)寄存器,用于驗證數(shù)據(jù)傳輸和接收時的狀態(tài)、進程。微處理器能夠判斷何時已收到一個字節(jié)、何時已發(fā)送一個字節(jié)、是否產(chǎn)生通信錯誤等。UART還可以通過一個或多個控制寄存器進行配置,配置內(nèi)容包括波特率的設(shè)置、終止位數(shù)量的設(shè)置以及在發(fā)送字節(jié)時產(chǎn)生中斷等。異步通信在UART上幾乎是透明地運行,為了收、發(fā)數(shù)據(jù),只需運行程序,簡單地在UART上執(zhí)行讀/寫操作。比較流行
35、的UART有NS16550、AMD Z8530、ACIA、Motorola 6850、Zilog Z-80 STO等。當UART用于嵌入式設(shè)計時,嵌入式系統(tǒng)就能夠利用通信終端、計算機甚至是其他嵌入式微處理器上的數(shù)據(jù)資源。 相對于微處理器,一臺UART是作為一個甚至多個存儲點或I3.6.2 USB設(shè)備1USB總線概述連接計算機外設(shè)的串行數(shù)據(jù)總線,其技術(shù)的發(fā)展一直非常緩慢。1969年EIA推出的RS-232C串行總線至今仍是連接計算機外設(shè)的主流串行總線。盡管在20世紀70年代和80年代陸續(xù)推出了RS-422A、RS-449、RS-485和RS-530等串行總線(其中RS-449的設(shè)計初衷是想取代
36、RS-232C,而RS-530則是想取代RS-449),但由于種種原因都沒有改變RS-232C先入為主的主導(dǎo)地位。因此,長期以來,串行總線只用于連接慢速外設(shè)或用作低速網(wǎng)絡(luò)的總線。 3.6.2 USB設(shè)備通用串行總線(Universal Serial Bus,USB)是1995年Microsoft、Compaq、IBM等公司聯(lián)合制定的一種新的計算機串行通信協(xié)議。USB協(xié)議得到各PC廠商、芯片制造商和PC外設(shè)廠商的廣泛支持。從當初的0.7、0.8版本到現(xiàn)在廣泛采用的1.0、1.1版本,甚至到正在逐步推廣的2.0版本,USB本身也在不斷地發(fā)展和完善。通用串行總線是一種將USB外圍設(shè)備連接到主機的外部
37、總線結(jié)構(gòu),它通過PCI總線和PC的內(nèi)部系統(tǒng)數(shù)據(jù)線連接,實現(xiàn)數(shù)據(jù)傳送。USB同時又是一種通信協(xié)議,它支持主系統(tǒng)和USB外圍設(shè)備之間的數(shù)據(jù)傳送,通過一個4針的標準插頭,采用菊花鏈形式把所有的外設(shè)連接起來。 通用串行總線(Universal Serial Bus,USB主要具有以下優(yōu)點:(1) 支持熱插拔(hot plug)和即插即用(Plug-and-Play),即在不關(guān)機的情況下可以安全地插上或斷開USB設(shè)備,動態(tài)加載驅(qū)動程序。(2) 為所有的USB外設(shè)提供單一的、易于操作的標準連接類型,排除了外設(shè)對系統(tǒng)資源的需求,因此減少了硬件的復(fù)雜性和對端口的占用,整個USB系統(tǒng)只有一個端口和一個中斷,節(jié)省
38、了系統(tǒng)資源。(3) USB1.1提供全速12 Mb/s和低速1.5 Mb/s的模式,USB2.0提供高達480 Mb/s的傳輸速率。(4) 為了適應(yīng)各種不同類型外設(shè)的要求,USB提供了四種不同的數(shù)據(jù)傳輸類型。(5) 易于擴展,理論上最多可支持127個設(shè)備。 USB主要具有以下優(yōu)點:2USB總線的硬件結(jié)構(gòu)USB通過四線電纜傳送信號和電能,如圖3-22所示。其中兩根是用來傳送數(shù)據(jù)的串行通道,另兩根為下游(Downstream)設(shè)備提供電能。 2USB總線的硬件結(jié)構(gòu)圖3-22 USB連接線 圖3-22 USB連接線 D+、D- 是一對差模信號線,它支持兩種數(shù)據(jù)傳輸率。以USB1.1為例,對于高速外設(shè)
39、,USB以全速12 Mb/s傳輸數(shù)據(jù),但必須使用屏蔽的雙絞線且長度不超過5 m;對于低速外設(shè),USB則以1.5 Mb/s的速率傳輸數(shù)據(jù),這種模式下可以使用無屏蔽的非雙絞線,但長度不超過3 m。為了保證能夠提供一定電平的信號并且與終端的負載匹配,在電纜的每一端都使用不平衡終端負載。這種終端負載既能保證檢測出外設(shè)與端口的連接和分離,又能區(qū)分高速與低速USB總線,可以根據(jù)外設(shè)情況在兩種傳輸模式中自動動態(tài)切換。VBUS通常為+5 V的電源,GND是地線。 D+、D- 是一對差模信號線,它支持兩種數(shù)據(jù)傳輸率。以U USB總線是基于令牌的總線,類似于令牌環(huán)網(wǎng)絡(luò)。USB主控制器廣播令牌,總線上的設(shè)備檢測令牌
40、中的地址是否與自身相符,通過接收或者發(fā)送數(shù)據(jù)來響應(yīng)主機。USB通過支持懸掛/恢復(fù)操作來管理USB總線電源。USB系統(tǒng)采用級聯(lián)星型拓撲,該拓撲由三個基本部分組成:主機(Host)、集線器(Hub)和功能設(shè)備,如圖3-23所示。主機也稱為根或Root Hub,它做在主板上或作為適配卡安裝在計算機上。主機通過主機控制器與USB設(shè)備進行交互,控制著USB總線上的數(shù)據(jù),并控制信息的流動。每個USB系統(tǒng)只能有一個根集線器,它連在主控制器上。集線器是USB結(jié)構(gòu)中的特定成分,它提供用于將設(shè)備連接到USB總線上的端口,同時檢測連接在總線上的設(shè)備,并為這些設(shè)備提供電源管理,負載總線的故障檢測和恢復(fù)。集線器可為總線
41、提供能源,也可為自身提供能源(從外部得到電能)。 USB總線是基于令牌的總線,類似于令牌環(huán)網(wǎng)絡(luò)圖3-23 USB系統(tǒng)級聯(lián)結(jié)構(gòu) 圖3-23 USB系統(tǒng)級聯(lián)結(jié)構(gòu) 3USB總線的軟件結(jié)構(gòu)每個USB僅有一個主機,在USB通信過程中占主導(dǎo)地位。主機包括USB總線接口、USB設(shè)備層和功能層三層結(jié)構(gòu)。主機各層具有的功能包括:檢測連接和移去的USB設(shè)備、管理主機和USB設(shè)備間的數(shù)據(jù)流、連接USB狀態(tài)和活動統(tǒng)計、控制主控制器和USB設(shè)備間的電氣接口等。(1) USB總線接口。USB總線接口處理電氣層與協(xié)議層的互連,由主控制器實現(xiàn)。(2) USB系統(tǒng)。USB系統(tǒng)用主控制器管理主機與USB設(shè)備間的數(shù)據(jù)傳輸。它與主控
42、制器間的接口依賴于主控制器的硬件定義。同時,USB系統(tǒng)也負責(zé)管理USB資源,例如帶寬和總線能量,這使得客戶訪問USB成為可能。USB系統(tǒng)包括三個基本組件:主控制器驅(qū)動程序(HCD)、USB驅(qū)動程序(USBD)和主機軟件。 3USB總線的軟件結(jié)構(gòu) 主控制器驅(qū)動程序:該程序可以把不同主控制器設(shè)備映射到USB系統(tǒng)中。通用主控制器驅(qū)動程序(UHCD)處于軟結(jié)構(gòu)的最低層,實現(xiàn)了USB主控制器通信和控制USB主控制器,并且對系統(tǒng)軟件的其他部分是隱蔽的。系統(tǒng)軟件中的對高層通過UHCD的軟件接口與主控制器通信。 USB驅(qū)動程序:該程序在UHCD驅(qū)動器之上,提供驅(qū)動器級的接口,以滿足現(xiàn)有設(shè)備驅(qū)動器設(shè)計的要求。
43、主機軟件:這些軟件本來是用于向設(shè)備驅(qū)動程序提供配置信息和裝載結(jié)構(gòu)的,但在某些操作系統(tǒng)中沒有提供USB系統(tǒng)軟件,設(shè)備驅(qū)動程序?qū)?yīng)用操作系統(tǒng)提供的接口而不是直接訪問USB驅(qū)動程序接口。 主控制器驅(qū)動程序:該程序可以把不同主控制器設(shè)備映射到(3) USB客戶軟件。USB客戶軟件是軟件結(jié)構(gòu)的最高層,負責(zé)處理特定的USB設(shè)備驅(qū)動。客戶程序?qū)用枋鏊兄苯幼饔糜谠O(shè)備的軟件入口。當設(shè)備系統(tǒng)被檢測到后,這些客戶程序?qū)⒅苯幼饔糜谕鈬布_@種共享特性將USB系統(tǒng)軟件置于客戶和它的設(shè)備之間,客戶程序要根據(jù)USB在客戶端形成的設(shè)備映像對它進行處理。 (3) USB客戶軟件。USB客戶軟件是軟件結(jié)構(gòu)的最高4USB總線的
44、數(shù)據(jù)傳輸方式數(shù)據(jù)和控制信號在主機和USB設(shè)備之間的交換存在兩種通道:單向通道和雙向通道。USB的數(shù)據(jù)傳送是在主機和某個USB設(shè)備的指定端口之間進行的。這種主機和USB設(shè)備的端口間的聯(lián)系稱作通道。一般情況下,各個通道之間的數(shù)據(jù)流動是相互獨立的,且一個指定的USB設(shè)備可有許多通道。對任何給定的設(shè)備進行設(shè)置時,一個通道上的數(shù)據(jù)傳輸只能支持下列四種USB數(shù)據(jù)傳輸方式中的一種:同步(isochronous)、控制(control)、中斷(interrupt)和批量(bulk)。 4USB總線的數(shù)據(jù)傳輸方式(1) 同步數(shù)據(jù)傳輸。同步數(shù)據(jù)傳輸提供了確定的帶寬和間隔時間(latency)。它主要用于時間要求嚴
45、格并且具有較強容錯性的流數(shù)據(jù)傳輸,或者用于要求恒定數(shù)據(jù)傳輸速率的即時應(yīng)用中。對于同步傳輸來說,即時的數(shù)據(jù)傳遞比數(shù)據(jù)的完整性更重要。例如,即時通話的網(wǎng)絡(luò)電話常常使用同步傳輸模式。 (1) 同步數(shù)據(jù)傳輸。同步數(shù)據(jù)傳輸提供了確定的帶寬和間隔(2) 控制數(shù)據(jù)傳輸。控制傳輸是雙向傳輸,數(shù)據(jù)量通常較小。USB系統(tǒng)軟件主要用來進行查詢、配置和給USB設(shè)備發(fā)送通用的命令。控制傳輸方式可以傳輸8、16、32和64字節(jié)的數(shù)據(jù),這依賴于設(shè)備和傳輸速度。控制傳輸?shù)牡湫蛻?yīng)用是在主機和USB外設(shè)之間的傳輸。例如,當USB設(shè)備初次安裝時,USB系統(tǒng)軟件使用控制數(shù)據(jù)對設(shè)備進行設(shè)置,設(shè)備驅(qū)動程序通過特定方式使用控制數(shù)據(jù)來傳輸,
46、且數(shù)據(jù)傳送是無損性的。 (2) 控制數(shù)據(jù)傳輸。控制傳輸是雙向傳輸,數(shù)據(jù)量通常較小(3) 中斷數(shù)據(jù)傳輸。中斷方式傳輸主要用于定時查詢設(shè)備是否有中斷數(shù)據(jù)傳輸。設(shè)備的端點模式器的結(jié)構(gòu)決定了它的查詢頻率范圍是1255 ms,這種傳輸方式典型應(yīng)用在少量的、分散的、不可預(yù)測數(shù)據(jù)的傳輸,如鍵盤、操縱桿和鼠標就屬于這一類型。中斷方式傳輸數(shù)據(jù)是單向的,且對于主機來說只有輸入的方式。(4) 批量數(shù)據(jù)傳輸。批量方式傳輸主要應(yīng)用在大量傳輸和接收數(shù)據(jù),同時又沒有帶寬和間隔時間要求的情況下。批量數(shù)據(jù)由大量的數(shù)據(jù)組成,且批量數(shù)據(jù)是連續(xù)的。這種傳輸方式可以等到所有其他類型的數(shù)據(jù)傳輸完成之后再傳輸和接收數(shù)據(jù)。 (3) 中斷數(shù)據(jù)
47、傳輸。中斷方式傳輸主要用于定時查詢設(shè)備是5USB總線的數(shù)據(jù)傳輸原理在USB結(jié)構(gòu)中,占主導(dǎo)地位的是主控制器。主控制器要保證所有與其連接的數(shù)量不同、傳輸方式不同的設(shè)備能夠同時正常工作。為此,USB主控制器使用間隔為1 ms的幀來實現(xiàn)數(shù)據(jù)傳輸。由于有許多設(shè)備連接到USB總線上,所以每1 ms產(chǎn)生的傳輸幀是混合的。在幾種數(shù)據(jù)傳輸方式都存在的情況下,中斷傳輸和同步傳輸對時間要求較高,因此占用了約90%的總帶寬;控制傳輸占用了約10%的帶寬;批量傳輸對時間要求不高,但數(shù)據(jù)量大,它使用剩下的可用帶寬。 各種USB設(shè)備就是通過這種基本的幀結(jié)構(gòu)實現(xiàn)共享USB帶寬來傳輸數(shù)據(jù)的。 5USB總線的數(shù)據(jù)傳輸原理在主機端
48、,不同設(shè)備的數(shù)據(jù)傳輸請求被劃分成若干個塊(Transaction)。為了保證連接到主機上的設(shè)備可以同時工作,主機每次從不同設(shè)備取一個塊構(gòu)成一個1 ms幀,然后將整個幀發(fā)送到USB總線上。每一個塊由三個包(Packet)組成:標志包(Token Packet)、數(shù)據(jù)包(Data Packet)和握手信號包(Handshake Packet)。根據(jù)令牌包里定義的設(shè)備地址和端點號,設(shè)備能夠確定屬于自己的相應(yīng)數(shù)據(jù)。 在主機端,不同設(shè)備的數(shù)據(jù)傳輸請求被劃分成若干個塊(Trans一根USB總線每次最多傳輸三個數(shù)據(jù)包。在每次傳輸開始時,主機控制器發(fā)送一個描述傳輸種類、傳輸方向、USB設(shè)備地址和終端號的USB
49、數(shù)據(jù)包,該數(shù)據(jù)包就是標志包。在數(shù)據(jù)開始傳輸時,由標志包來標志數(shù)據(jù)的傳輸方向,數(shù)據(jù)傳輸方向不是從主機到設(shè)備就是從設(shè)備到主機;然后,發(fā)送端開始發(fā)送包含信息的數(shù)據(jù)包或表明沒有數(shù)據(jù)傳輸。接收端要相應(yīng)發(fā)送一個握手的數(shù)據(jù)包,以表明數(shù)據(jù)是否傳輸成功。USB設(shè)備從解碼后的數(shù)據(jù)包的適當位置取出屬于自己的數(shù)據(jù)。 一根USB總線每次最多傳輸三個數(shù)據(jù)包。在每次傳輸開始時,6USB設(shè)備即插即用的實現(xiàn)USB設(shè)備可以實現(xiàn)熱插拔。當USB設(shè)備插入到主機中時,主機通過查詢設(shè)備的描述符(Descriptor)來了解設(shè)備,進而建立通信,這個過程叫做對設(shè)備的枚舉。圖3-24是某個設(shè)備的描述符結(jié)構(gòu)。USB設(shè)備被分成了許多類(class
50、),某一特定類的設(shè)備又可以劃分成若干子類(subclass),劃分子類后的軟件就可以搜索總線并選擇所有它支持的設(shè)備了。一個USB設(shè)備只有一個設(shè)備描述符(Device Descriptor),它指明了設(shè)備所屬的類。每個設(shè)備可以有一個或多個配置(Configuration),配置用于定義設(shè)備的功能。如果一個設(shè)備有幾種不同的功能,則每個功能都需要一個配置。配置是接口(Interface)的集合。接口用來指定設(shè)備中與USB交換數(shù)據(jù)的硬件。每一個與USB交換數(shù)據(jù)的硬件就叫做一個端點(Endpoint)。 6USB設(shè)備即插即用的實現(xiàn)因此,接口是端點的集合。例如,以一個能播放CD的USB接口的CD-ROM作
51、為一個設(shè)備。它具有兩種功能:讀取光盤和播放CD,所以有兩個配置描述符。一種功能的實現(xiàn)要涉及許多接口,如當CD播放機使用時,需要音頻接口,同時還需要控制CD機的接口,因此具有兩個接口描述符。而控制命令接口又由許多端點組成,如有的端點負責(zé)向CD機發(fā)送命令,有的端點負責(zé)接收來自CD機的反饋,因此又有若干個端點描述符。 因此,接口是端點的集合。例如,以一個能播放CD的USB接圖3-24 一個USB設(shè)備的描述符結(jié)構(gòu) 圖3-24 一個USB設(shè)備的描述符結(jié)構(gòu) 7USB 器件的選擇在進行一個USB設(shè)備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的USB 控制器。目前,市場上供應(yīng)的USB控制器主要有兩種:帶USB接
52、口的單片機(MCU)和純粹的USB接口芯片。帶USB接口的單片機從應(yīng)用上可以分成兩類,一類是從底層設(shè)計專用于USB 控制的單片機;另一類是增加了USB接口的普通單片機,如Cypress公司的EZ-USB(基于8051),選擇這類USB控制器的最大好處在于開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但對于簡單或低成本系統(tǒng),價格也是在實際選擇過程中需要考慮的因素。 7USB 器件的選擇純粹的USB接口芯片僅處理USB通信, 必須有一個外部微處理器來進行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD11(IIC接口)、PDIUSBD12(并行接口),NS公司的USBN9603/
53、9604(并行接口),NetChip公司的NET2888等。USB接口芯片的主要特點是價格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(硬件上僅需對并行總線和中斷進行改動,軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機的USB接口通信程序,無需對原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動。 純粹的USB接口芯片僅處理USB通信, 必須有一個外部微8USB系統(tǒng)的開發(fā)流程(1) 系統(tǒng)結(jié)構(gòu)、功能的定義。首先要選擇所要開發(fā)的USB系統(tǒng)的結(jié)構(gòu)類型,即是作主機(Host)還是作USB設(shè)備(Device)。其次,要選擇該系統(tǒng)的功能,即是作為數(shù)據(jù)采集器(要求實時性)還是作為存儲設(shè)備。最后,要選擇采用的U
54、SB標準,即是用USB1.1標準還是用USB2.0標準。(2) USB接口方法的選擇。常用的USB接口方法有兩種:一種是采用專用的USB接口芯片,一種是選用內(nèi)部集成USB接口的單片機。選擇哪一種方法主要由系統(tǒng)的功能、特點、成本等因素決定。 8USB系統(tǒng)的開發(fā)流程(3) 與微處理器的接口電路。如果選擇的接口方法是采用USB接口芯片,就要解決該芯片與選定的微處理器的接口問題。一般情況下,專用USB接口芯片都會提供簡單直觀的接口方式,可以與大部分主流CPU連接,因此按照芯片資料上的典型接法連接就可以了。(4) 固件編程。如果將USB系統(tǒng)作為主機,那么固件編程的主要工作是向設(shè)備端發(fā)送各種請求,并要求設(shè)
55、備端提供各種描述符。主機將記錄描述符的詳細信息,并為設(shè)備指定地址,然后通過這些端點與設(shè)備進行通信。 (3) 與微處理器的接口電路。如果選擇的接口方法是采用U(5) 開發(fā)PC端驅(qū)動程序與應(yīng)用程序。如果USB設(shè)備與PC機接口,則需要開發(fā)PC機上的驅(qū)動程序和應(yīng)用程序。在PC機端(這里是Host),除了由主機控制器(Host Controller)完成硬件級的接口外,還需要編寫設(shè)備的客戶端程序(Client Program)。例如,一個通過下載界面下載MP3的USB設(shè)備,需要編寫PC端的那個下載程序;如果是一個實時的數(shù)據(jù)采集設(shè)備,則需要在PC端編寫一個用戶界面程序,通過這個界面可以看到USB設(shè)備采集的
56、結(jié)果。 (5) 開發(fā)PC端驅(qū)動程序與應(yīng)用程序。如果USB設(shè)備與P(6) USB系統(tǒng)調(diào)試。嵌入式USB系統(tǒng)的調(diào)試一般按照“調(diào)試嵌入式中的固件調(diào)試PC端驅(qū)動程序和應(yīng)用程序系統(tǒng)調(diào)試”的流程進行。這種調(diào)試方式能夠?qū)⒄{(diào)試過程中出現(xiàn)的問題最大限度地進行定位,而不會把所有問題混在一起。在調(diào)試固件時,可以借助Bus Hound等工具來模擬主機的一些行為。固件調(diào)試完成后,再使用嵌入式設(shè)備作為一個USB Device來調(diào)試PC端的驅(qū)動程序和應(yīng)用程序。最后完成系統(tǒng)的測試和改進。 (6) USB系統(tǒng)調(diào)試。嵌入式USB系統(tǒng)的調(diào)試一般按照3.6.3 Ethernet設(shè)備 1以太網(wǎng)的特點以太網(wǎng)是最廣泛應(yīng)用的局域網(wǎng)絡(luò)技術(shù),實
57、現(xiàn)了在小區(qū)域(如一個辦公室)范圍內(nèi)連接計算機。以太網(wǎng)數(shù)據(jù)速率為10 Mb/s,而快速以太網(wǎng)(Fast Ethernet)數(shù)據(jù)速率為100 Mb/s。最常用的以太網(wǎng)協(xié)議是IEEE 802.3標準,媒體的存取規(guī)則采用CSMA/CD(載波檢測多路存取/沖突檢測)。現(xiàn)代的操作系統(tǒng)均能同時支持這些協(xié)議標準,因此對嵌入式系統(tǒng)的應(yīng)用來說,考慮系統(tǒng)精簡因素,只需要支持這一種就夠了,除非有特殊需要,否則沒有必要支持太多協(xié)議。 3.6.3 Ethernet設(shè)備 2以太網(wǎng)的數(shù)據(jù)傳輸以太網(wǎng)傳輸報文的基本格式如圖3-25所示。它提供了目的地址和源地址,同時還提供了要傳送的有效數(shù)據(jù)。 圖3-25 以太網(wǎng)傳輸報文的基本格式
58、 2以太網(wǎng)的數(shù)據(jù)傳輸圖3-25 以太網(wǎng)傳輸報文的基本格以太網(wǎng)的數(shù)據(jù)傳輸有以下特點:(1) 所有數(shù)據(jù)位的傳輸由低位開始,傳輸?shù)奈涣鞑捎寐鼜厮固鼐幋a。(2) 以太網(wǎng)傳輸?shù)臄?shù)據(jù)段長度最小為60字節(jié),最大為1514字節(jié)。(3) 通常以太網(wǎng)卡可以接收來自三種地址的數(shù)據(jù),即廣播地址、多播地址(在嵌入式系統(tǒng)中很少使用)和它自己的地址。但有時用于網(wǎng)絡(luò)分析和監(jiān)控,網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包。(4) 任何兩個網(wǎng)卡的物理地址都是不一樣的。網(wǎng)卡地址由專門結(jié)構(gòu)分配,不同廠家使用不同地址段,同一廠家的任意兩個網(wǎng)卡的地址也是唯一的。 以太網(wǎng)的數(shù)據(jù)傳輸有以下特點:3嵌入式以太網(wǎng)接口的實現(xiàn)方法在嵌入式系統(tǒng)中實現(xiàn)以太網(wǎng)接口的
59、方法通常有兩種。方法一是采用嵌入式處理器與網(wǎng)卡芯片的組合。這種方法對嵌入式處理器沒有特殊要求,只需要把以太網(wǎng)芯片連接到嵌入式處理器的總線上即可。該方法通用性強,不受處理器的限制,但是,處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過外部總線(通常是并行總線)實現(xiàn),速度慢、可靠性不高并且電路板布線復(fù)雜。方法二是直接采用帶有以太網(wǎng)接口的嵌入式處理器。這種方法要求嵌入式處理器有通用的網(wǎng)絡(luò)接口,如MII(Media Independent Interface)。通常這種處理器是為面向網(wǎng)絡(luò)應(yīng)用而設(shè)計的。處理器和網(wǎng)絡(luò)數(shù)據(jù)交換通過內(nèi)部總線實現(xiàn),因此速度快,實現(xiàn)簡單。 3嵌入式以太網(wǎng)接口的實現(xiàn)方法3.7 其 他 3.7.1 電源大多
60、數(shù)嵌入式系統(tǒng)本身都有電源,且電源的供電方式具有一種特定的電壓范圍。嵌入式系統(tǒng)中各個單元的電壓范圍有四種:5.00.25 V、3.30.3 V、2.00.2 V和1.50.2 V。此外,嵌入式系統(tǒng)微控制器中的電可擦可編程只讀存儲器(EEPROM)、RS-232串行接口,均需要提供120.2 V的電壓。 3.7 其 他 3.7.1 電源某些系統(tǒng)本身不具有供電子系統(tǒng),它們使用外部電源或者使用充電泵來供電。例如,網(wǎng)絡(luò)接口卡和圖形加速器都是本身沒有供電系統(tǒng)而使用PC電源的嵌入式系統(tǒng)。充電泵有一個串聯(lián)的二極管,后面跟隨一個充電電容。充電泵從一個非電源線獲得電能。例如,當計算機使用鼠標時,充電泵消耗電路;當
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025蘋果的買賣合同示范文本
- 2025綜合承攬合同加工承攬合同
- 2025《資產(chǎn)托管合同模板》
- 2024年電腦刺繡機項目資金籌措計劃書代可行性研究報告
- 2024年醫(yī)用超聲換能器系列投資申請報告代可行性研究報告
- 2025太原市房屋租賃合同書
- 2025餐館租賃合同協(xié)議范本
- 2025設(shè)備長期租賃合同模板
- 2025年個人消費借款抵押合同
- 2025新天地廣場物業(yè)管理合同調(diào)整新天地廣場
- 2024年吉林省中考滿分作文《情味浸潤的時光》4
- 2025年全國國家版圖知識競賽(中小學(xué)組)題庫及答案
- 級班組安全教育培訓(xùn)
- 汽車租賃行業(yè)自駕租車免責(zé)聲明書
- 激光切割機項目可行性分析報告(模板參考范文)
- 劍橋國際少兒英語一級unit-7-Wild-Animal
- 2025年山東能源集團高校畢業(yè)生校園招聘筆試參考題庫附帶答案詳解
- 第二十章女性生殖內(nèi)分泌疾病71課件
- 第六講探尋新時期中美正確相處之道-2025年春季學(xué)期形勢與政策課件
- 新時代青年傳承和弘揚傳統(tǒng)文化研究
- 齒輪的世界:2025年《齒輪傳動》精講課件
評論
0/150
提交評論