版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章嵌入式硬件平臺(tái)3.1引言
3.2嵌入式硬件平臺(tái)概述
3.3總線
3.4存儲(chǔ)設(shè)備
3.5I/O設(shè)備
3.6通信設(shè)備3.7其他
思考與練習(xí)題
3.1引言
嵌入式系統(tǒng)的硬件除了核心部件——嵌入式處理器外,還包括存儲(chǔ)器系統(tǒng)、外圍接口部件以及連接各種設(shè)備的總線系統(tǒng)。其中,存儲(chǔ)器是嵌入式系統(tǒng)存放數(shù)據(jù)和程序的功能部件,而外圍設(shè)備則決定了應(yīng)用于不同領(lǐng)域的嵌入式系統(tǒng)的獨(dú)特功能。
本章在3.2節(jié)簡要介紹嵌入式硬件平臺(tái)。3.3節(jié)分析總線系統(tǒng),內(nèi)容包括總線協(xié)議、DMA、總線配置、總線實(shí)例。3.4節(jié)介紹嵌入式系統(tǒng)的存儲(chǔ)設(shè)備,包括嵌入式系統(tǒng)存儲(chǔ)器子系統(tǒng)的結(jié)構(gòu)、RAM、ROM和Flash。在3.5節(jié)中介紹嵌入式系統(tǒng)的I/O設(shè)備,其中具體分析了定時(shí)器/計(jì)數(shù)器、ADC和DAC、人機(jī)接口設(shè)備(含鍵盤、LCD、觸摸屏)。在3.6節(jié)的通信設(shè)備中,主要介紹通用異步收發(fā)器(UART)、USB設(shè)備和Ethernet設(shè)備。3.7節(jié)講述其他附屬電路的有關(guān)問題,內(nèi)容包括電源、時(shí)鐘、復(fù)位和中斷。 3.2嵌入式硬件平臺(tái)概述
嵌入式處理器是嵌入式系統(tǒng)中硬件的核心組成部分,但是若沒有存儲(chǔ)器和I/O設(shè)備,它就無法具有各種實(shí)用的功能。嵌入式處理器通常集成了大量的I/O模塊單元(如中斷控制器和通信控制器等)和存儲(chǔ)器(Flash和RAM等)。當(dāng)嵌入式處理器上集成的存儲(chǔ)器單元和I/O單元不夠時(shí),可以通過擴(kuò)充來組成強(qiáng)大的嵌入式硬件系統(tǒng)。
嵌入式系統(tǒng)的硬件是以嵌入式處理器為中心,由存儲(chǔ)器、I/O單元電路、通信模塊、外部設(shè)備等必要的輔助接口組成的,如圖3-1所示。圖3-1嵌入式系統(tǒng)的硬件組成
3.3總線
3.3.1總線協(xié)議
1.握手協(xié)議
總線協(xié)議中的基本構(gòu)件是四周期握手協(xié)議??偩€握手信號(hào)的作用是控制每個(gè)總線周期中數(shù)據(jù)傳送的開始和結(jié)束,從而實(shí)現(xiàn)兩個(gè)設(shè)備間的協(xié)調(diào)和配合,保證數(shù)據(jù)傳送的可靠性。握手線用兩根連線enq(查詢)和ack(應(yīng)答)來表示。在握手期間,使用專用的握手線來傳輸數(shù)據(jù)。因此,數(shù)據(jù)握手線必須以某種方式由信號(hào)的電壓變化來表明整個(gè)總線傳輸周期的開始和結(jié)束,以及在整個(gè)周期內(nèi)每個(gè)子周期的開始和結(jié)束。一般地,四周期握手過程如圖3-2所示。圖3-2四周期握手協(xié)議對(duì)握手過程的描述如下:
(1)設(shè)備1升高它的輸出電平來發(fā)出查詢信號(hào),它告訴設(shè)備2應(yīng)準(zhǔn)備好接收數(shù)據(jù)。
(2)當(dāng)設(shè)備2準(zhǔn)備好接收數(shù)據(jù)時(shí),它通過升高它的輸出電平來發(fā)出應(yīng)答信號(hào)。這時(shí),設(shè)備1已準(zhǔn)備好發(fā)送數(shù)據(jù),設(shè)備2已準(zhǔn)備好接收數(shù)據(jù)。
(3)一旦數(shù)據(jù)傳送完畢,設(shè)備2降低它的輸出電平表示它已經(jīng)接收完數(shù)據(jù)。
(4)看到設(shè)備2的應(yīng)答信號(hào)變低,設(shè)備1降低它的輸出電平。
2.總線讀/寫
微處理器總線在握手基礎(chǔ)上為CPU和系統(tǒng)其他部分建立通信?;镜目偩€操作包括讀和寫。圖3-3說明了一個(gè)支持讀和寫的典型總線結(jié)構(gòu)。圖3-3典型的微處理器總線總線行為經(jīng)常用時(shí)序圖來說明,時(shí)序圖表示了總線上的信號(hào)如何隨時(shí)間變化。圖3-4所示為某總線的時(shí)序圖,包括讀和寫兩部分。由于讀不改變設(shè)備和存儲(chǔ)器的任何狀態(tài),因此總線通常處于讀狀態(tài)。CPU可以忽略數(shù)據(jù)線直到它要使用讀操作的結(jié)果為止。此外,還要注意在雙向線路上數(shù)據(jù)的傳輸方向并未在時(shí)序圖中指定。在讀過程中,外設(shè)或存儲(chǔ)器在數(shù)據(jù)線上發(fā)送數(shù)據(jù);而在寫過程中,CPU控制數(shù)據(jù)線。圖3-4總線時(shí)序圖通??梢杂每偩€握手信號(hào)來執(zhí)行突發(fā)傳輸,如圖3-5所示。在這個(gè)突發(fā)讀事務(wù)中,CPU發(fā)送一個(gè)地址信號(hào),但接收的是一個(gè)數(shù)據(jù)值序列。我們給總線額外增加一根稱為Burst'?的線路。當(dāng)事務(wù)是突發(fā)事務(wù)時(shí),用它來向設(shè)備發(fā)信號(hào);用釋放Burst'?信號(hào)來通知設(shè)備已傳輸了足夠的數(shù)據(jù)。圖3-5總線的突發(fā)讀事務(wù)總線事務(wù)的狀態(tài)圖是對(duì)時(shí)序圖的有效補(bǔ)充,圖3-6展示了讀操作的CPU和設(shè)備的狀態(tài)圖。當(dāng)CPU決定執(zhí)行一個(gè)讀事務(wù)時(shí),它轉(zhuǎn)換到新狀態(tài),并發(fā)出讓設(shè)備正確工作的總線信號(hào);而設(shè)備狀態(tài)轉(zhuǎn)換圖捕獲了它這一端的總線協(xié)議狀態(tài)。圖3-6總線讀事務(wù)的狀態(tài)圖3.3.2DMA
在每個(gè)讀/寫事務(wù)中間,標(biāo)準(zhǔn)總線事務(wù)要求CPU解決它與其他設(shè)備的信息交換問題。但是,某些數(shù)據(jù)傳輸不需要CPU介入,如I/O設(shè)備和存儲(chǔ)器之間的數(shù)據(jù)交換。要實(shí)現(xiàn)這類操作,就要求CPU以外的設(shè)備單元能夠控制總線上的操作。
直接存儲(chǔ)器訪問(DirectMemory-Access,DMA)是允許讀/寫不由CPU控制的總線操作。DMA使用一種稱為DMA控制器的專用硬件來完成外設(shè)與存儲(chǔ)器之間的高速數(shù)據(jù)傳送。DMA控制器從CPU請(qǐng)求總線控制,得到控制權(quán)后,控制器能像CPU那樣提供內(nèi)存的地址和必要的讀/寫控制信號(hào),實(shí)現(xiàn)直接在設(shè)備和存儲(chǔ)器之間的讀/寫操作。圖3-7展示了一個(gè)帶有DMA控制器的總線配置。圖3-7帶DMA控制器的總線3.3.3總線配置
一個(gè)微處理器系統(tǒng)可能使用多條總線來連接設(shè)備。如圖3-8所示,高速設(shè)備連到高速總線上,而低速設(shè)備連到低速總線上,通過一個(gè)被稱為橋的邏輯電路使得總線可以互連。圖3-8多總線系統(tǒng)3.3.4總線實(shí)例
這里以ARM的一個(gè)總線系統(tǒng)為例,簡單分析該系統(tǒng)的組成和特征。
由于ARM微處理器由不同的制造商制造,因此芯片外提供的總線隨芯片的變化而變化。ARM已經(jīng)為單芯片系統(tǒng)創(chuàng)建了一個(gè)獨(dú)立的總線規(guī)格說明——AMBA規(guī)范。AMBA總線(ARM99A)支持將多個(gè)CPU、存儲(chǔ)器和外圍設(shè)備集成在片上系統(tǒng)中。如圖3-9所示,AMBA規(guī)格說明包括兩條總線:AHB和APB。其中,AMBA高性能總線(AHB)是為高速傳輸而經(jīng)過優(yōu)化的,它直接連到CPU上并支持多種高性能總線的特性,如流水線技術(shù)、突發(fā)傳輸、分離事務(wù)和多總線主控器等。橋用來將AHB連到AMBA外圍設(shè)備總線(APB)上。圖3-9ARMAMBA總線系統(tǒng) 3.4存儲(chǔ)設(shè)備
3.4.1嵌入式系統(tǒng)存儲(chǔ)器子系統(tǒng)的結(jié)構(gòu)
存儲(chǔ)器子系統(tǒng)設(shè)計(jì)的首要目標(biāo)是使存儲(chǔ)器在工作速度上很好地與處理器匹配,并滿足各種存取需要。因此,體系結(jié)構(gòu)的特性能夠提高存儲(chǔ)系統(tǒng)的速度和容量。隨著微電子技術(shù)的發(fā)展,微處理器的工作速度有了很大的提高。而微處理器時(shí)鐘頻率的提高比內(nèi)存速度的提高要快,以至于內(nèi)存速度遠(yuǎn)遠(yuǎn)落后于CPU速度。如果大量使用高速存儲(chǔ)器,使它們在速度上與處理器相吻合,就能夠簡便地解決問題。但是,這種方法受到經(jīng)濟(jì)上的限制。因?yàn)殡S著存儲(chǔ)器芯片速度的提高,其價(jià)格急劇上升,系統(tǒng)成本十分昂貴。在實(shí)際的計(jì)算機(jī)系統(tǒng)中,總是采用分級(jí)的方法來設(shè)計(jì)整個(gè)存儲(chǔ)器系統(tǒng)。圖3-10所示為這種分級(jí)存儲(chǔ)系統(tǒng)的組織結(jié)構(gòu)示意圖,它把全部存儲(chǔ)系統(tǒng)分為四級(jí),即寄存器組、高速緩存、內(nèi)存和外存。它們在存取速度上依次遞減,而在存儲(chǔ)容量上逐級(jí)遞增。圖3-10分級(jí)存儲(chǔ)器系統(tǒng)3.4.2RAM
RAM(RandomAccessMemory,隨機(jī)存儲(chǔ)器)能夠隨時(shí)在任一地址讀出或?qū)懭雰?nèi)容。RAM的突出優(yōu)點(diǎn)是讀/寫方便、使用靈活;缺點(diǎn)是不能長期保存信息,一旦停電,所存信息就會(huì)丟失。RAM在嵌入式系統(tǒng)中主要用于:
(1)存放當(dāng)前正在執(zhí)行的程序和數(shù)據(jù),如用戶的調(diào)試程序、程序的中間運(yùn)算結(jié)構(gòu)以及掉電時(shí)無需保存的I/O數(shù)據(jù)和參數(shù)等。
(2)作為I/O數(shù)據(jù)緩沖存儲(chǔ)器,如顯示輸出緩沖存儲(chǔ)器、鍵盤輸入緩沖存儲(chǔ)器等。以顯示輸出緩沖存儲(chǔ)器為例,它實(shí)質(zhì)上就是在主存中開辟的一個(gè)存放字符、漢字、圖形、圖像等顯示信息的數(shù)據(jù)緩沖區(qū)。
(3)作為中斷服務(wù)程序中保護(hù)CPU現(xiàn)場信息的堆棧。隨機(jī)存儲(chǔ)器由兩大類組成:靜態(tài)隨機(jī)存儲(chǔ)器(StaticRAM)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DynamicRAM)。下面具體分析這兩種隨機(jī)存儲(chǔ)器的結(jié)構(gòu)特征。
1.靜態(tài)RAM
靜態(tài)RAM(SRAM)的存儲(chǔ)單元電路是以雙穩(wěn)態(tài)電路為基礎(chǔ)的,因此狀態(tài)穩(wěn)定,只要不掉電,信息就不會(huì)丟失。靜態(tài)RAM的接口和操作時(shí)序如圖3-11所示。
圖3-11靜態(tài)RAM的接口和操作時(shí)序
2.動(dòng)態(tài)RAM
動(dòng)態(tài)RAM(DRAM)的存儲(chǔ)單元電路是以電容為基礎(chǔ)的,電路簡單,集成度高,功耗小。但是DRAM即使不掉電也會(huì)因電容放電而丟失信息,需要定時(shí)刷新,因此在工作時(shí)必須配合DRAM控制器。DRAM控制器是位于處理器和存儲(chǔ)器芯片之間的一個(gè)額外的硬件,如圖3-12所示。它的主要用途是執(zhí)行DRAM的刷新操作,使得DRAM中的數(shù)據(jù)有效。圖3-12DRAM通過DRAM控制器組成存儲(chǔ)器系統(tǒng)動(dòng)態(tài)RAM的接口和讀/寫時(shí)序有其自身的特點(diǎn)?;緞?dòng)態(tài)RAM接口和讀時(shí)序如圖3-13所示。圖3-13基本動(dòng)態(tài)RAM接口和讀時(shí)序
3.RAM的選擇
在設(shè)計(jì)嵌入式系統(tǒng)時(shí),隨機(jī)存儲(chǔ)器的選擇一般有兩種:SRAM和DRAM。選擇時(shí),通??紤]以下因素:
(1)如果系統(tǒng)的隨機(jī)存儲(chǔ)器的容量不是很大,則一般采用SRAM;反之,選擇DRAM。
(2)對(duì)于特別高速度的應(yīng)用,應(yīng)使用SRAM。
(3)如果嵌入式系統(tǒng)對(duì)功耗敏感,可使用SRAM。因?yàn)镈RAM需要定時(shí)刷新,消耗能力相對(duì)大,而SRAM在系統(tǒng)進(jìn)入待機(jī)工作方式時(shí),只需要微小的待機(jī)電流就可以維持?jǐn)?shù)據(jù)不丟失。需要注意的是,SRAM的平均功耗低,但是工作時(shí)功耗不一定低。
(4)對(duì)于嵌入式處理器而言,有的嵌入式處理器芯片集成了DRAM控制器,這時(shí)選擇DRAM比較好。一般地,小規(guī)模的嵌入式系統(tǒng)不建議使用分離的DRAM控制器+DRAM的方案,因?yàn)檫@種方案既會(huì)增加系統(tǒng)的復(fù)雜性(如電路板的面積、故障率等),又會(huì)增加系統(tǒng)的成本。因此如果選用了DRAM,那么應(yīng)盡量使用帶有DRAM控制器的嵌入式處理器,然后配合使用DRAM。
(5)目前,基于32位嵌入式處理器的嵌入式系統(tǒng)一般使用DRAM。
(6)復(fù)雜的嵌入式系統(tǒng)可以采用SRAM和DRAM混合設(shè)計(jì)的方案。不同要求的數(shù)據(jù)使用不同的隨機(jī)存儲(chǔ)器,以滿足系統(tǒng)整體的優(yōu)化設(shè)計(jì)。
(7)嵌入式系統(tǒng)的設(shè)計(jì),在使用SRAM和DRAM的成本上,需要仔細(xì)地與整個(gè)系統(tǒng)的硬件一起進(jìn)行核算,最終做出選擇。在選擇存儲(chǔ)器類型時(shí),一般要考慮存取時(shí)間和成本。3.4.3ROM
ROM(Read-OnlyMemory,只讀存儲(chǔ)器)中的內(nèi)容一經(jīng)寫入,在工作過程中就只能讀出而不能重寫,即使掉電,寫入的內(nèi)容也不會(huì)丟失。ROM在嵌入式系統(tǒng)中非常有用,常常用來存放系統(tǒng)軟件(如ROMBIOS)、應(yīng)用程序等不隨時(shí)間改變的代碼或數(shù)據(jù)。
ROM可以分為工場可編程ROM和現(xiàn)場可編程ROM兩大類。有以下幾種不同類型的現(xiàn)場可編程ROM:
(1)可編程ROM(ProgrammedROM)。該類ROM只可編程一次,即用戶一次性編程寫入后就永久性地修改了芯片。
(2)紫外線可擦可編程ROM(UVErasableProgrammedROM,UV_EPROM)。該類ROM可以通過紫外線擦除后重復(fù)編程。
(3)電可擦可編程ROM(ElectricalProgrammedROM,EEPROM)。該類ROM允許用戶以字節(jié)為單位多次用電擦除和改寫存儲(chǔ)內(nèi)容,而且可以直接在機(jī)內(nèi)進(jìn)行,不需要專用設(shè)備,方便靈活。3.4.4FlashMemory
FlashMemory(按塊擦除存儲(chǔ)器)是存儲(chǔ)器技術(shù)的最新發(fā)展。FlashMemory綜合了目前為止的所有存儲(chǔ)器件的優(yōu)點(diǎn),主要特點(diǎn)是在不加電情況下能長期保存信息,同時(shí)又能在線進(jìn)行快速擦除與重寫。從軟件的觀點(diǎn)來看,F(xiàn)lashMemory和EEPROM的技術(shù)十分類似。但是,EEPROM在擦寫和編程時(shí)要加高電壓,這意味著重新編程時(shí)必須將芯片從系統(tǒng)中拿出來。而FlashMemory使用標(biāo)準(zhǔn)電壓擦寫和編程,允許芯片在標(biāo)準(zhǔn)系統(tǒng)內(nèi)部編程。這就允許FlashMemory在重新編程的同時(shí)存儲(chǔ)新的內(nèi)容。此外,EEPROM必須被整體擦寫,而FlashMemory可以一塊一塊地擦寫。理想的存儲(chǔ)器應(yīng)具有密度高、讀/寫速度快、價(jià)格低和非易失性的特點(diǎn)。但是,傳統(tǒng)的存儲(chǔ)器卻只能滿足這些要求中的一部分。FlashMemory的推出,恰好同時(shí)實(shí)現(xiàn)了所有這些優(yōu)良的存儲(chǔ)器特性。FlashMemory是一種高密度、低價(jià)格的高性能讀/寫存儲(chǔ)器,兼有功耗低、可靠性高等特點(diǎn)。表3-1所示為FlashMemory與傳統(tǒng)存儲(chǔ)器技術(shù)的比較。表3-1FlashMemory與傳統(tǒng)存儲(chǔ)器技術(shù)的比較
FlashMemory的編程操作比較麻煩,主要表現(xiàn)在以下3個(gè)方面:
(1)每一個(gè)存儲(chǔ)位置都必須在重寫操作之前被擦除。如果舊的數(shù)據(jù)沒有被擦除,那么寫操作的結(jié)果會(huì)是新、舊數(shù)值的某種邏輯組合,存儲(chǔ)的數(shù)據(jù)通常是錯(cuò)誤的。
(2)一次只能有一個(gè)扇區(qū)或者塊被擦除,而且不可能只是擦除一個(gè)單個(gè)的字節(jié)。
(3)擦除舊數(shù)據(jù)的過程和寫入新數(shù)據(jù)的過程是隨著制造商的不同而變化的。因此在進(jìn)行FlashMemory寫入操作時(shí),提供一個(gè)軟件層來完成寫入和擦除操作比較方便,這個(gè)軟件層叫做FlashMemory的驅(qū)動(dòng)程序。
FlashMemory不僅可以用作嵌入式系統(tǒng)的程序存儲(chǔ)器,還可以作許多其他的應(yīng)用。
(1)?FlashMemory文件系統(tǒng)。因?yàn)镕lashMemory提供了可被重寫的非易失性存儲(chǔ),所以它可以被看做類似于任何其他的二級(jí)存儲(chǔ)系統(tǒng),如硬盤。在作為文件系統(tǒng)的情況下,由驅(qū)動(dòng)程序提供的函數(shù)要更加面向文件,可提供諸如open()、close()、read()、write()等標(biāo)準(zhǔn)文件系統(tǒng)函數(shù)。FlashMemory文件系統(tǒng)的組織與普通的外存基本相同。
(2)便攜設(shè)備的存儲(chǔ)裝置。隨著數(shù)碼產(chǎn)品的飛速發(fā)展,F(xiàn)lashMemory作為一種最常用的存儲(chǔ)裝置應(yīng)用于數(shù)碼相機(jī)(如CF卡、XD卡、記憶棒等)、MP3等數(shù)碼產(chǎn)品中。 3.5I/O設(shè)備
3.5.1定時(shí)器/計(jì)數(shù)器
所有的嵌入式處理器都集成了定時(shí)器/計(jì)數(shù)器單元,系統(tǒng)中至少有一個(gè)定時(shí)器設(shè)備用作系統(tǒng)時(shí)鐘。定時(shí)器和計(jì)數(shù)器都是由帶有保存當(dāng)前值的寄存器和可令當(dāng)前寄存器值加1的增量輸入的加法器邏輯電路組成的。但是,定時(shí)器和計(jì)數(shù)器的用處不同,主要體現(xiàn)在:定時(shí)器的計(jì)數(shù)裝置是連到周期性時(shí)鐘信號(hào)上的,用來測量時(shí)間間隔;而計(jì)數(shù)器的計(jì)數(shù)裝置是連到非周期性信號(hào)上的,用來計(jì)算外部事件的發(fā)生次數(shù)。因?yàn)橥瑯拥倪壿嬰娐房梢杂羞@兩種使用方式,所以該設(shè)備經(jīng)常被稱為“定時(shí)器/計(jì)數(shù)器”。嵌入式處理器上的定時(shí)器/計(jì)數(shù)器通常具有以下功能:
(1)嵌入式操作系統(tǒng)的任務(wù)調(diào)度,特別是具有時(shí)間片輪轉(zhuǎn)調(diào)度功能的嵌入式操作系統(tǒng)的任務(wù)調(diào)度,必須使用定時(shí)器產(chǎn)生時(shí)間片。
(2)嵌入式操作系統(tǒng)的軟件時(shí)鐘需要基于硬件定時(shí)器產(chǎn)生定時(shí)信號(hào)。
(3)通信電路的波特率發(fā)生器。
(4)實(shí)時(shí)時(shí)鐘電路。
(5)集成的片上A/D轉(zhuǎn)換和D/A轉(zhuǎn)換電路。
(6)具有液晶控制器的嵌入式處理器,用于液晶屏的刷新。
(7)處理器監(jiān)控電路,如看門狗等。
(8)集成的動(dòng)態(tài)存儲(chǔ)器控制器,用于動(dòng)態(tài)存儲(chǔ)器的刷新。
圖3-14展示了定時(shí)器/計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)。圖3-14 定時(shí)器/計(jì)數(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è)備(即模擬信號(hào)源)和嵌入式系統(tǒng)之間聯(lián)系的接口。
D/A轉(zhuǎn)換相對(duì)簡單,轉(zhuǎn)換器接口僅包括輸入值,輸入值被連續(xù)轉(zhuǎn)換成模擬信號(hào)。
A/D轉(zhuǎn)換器是將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),以便計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行處理、存儲(chǔ)、控制和顯示。A/D轉(zhuǎn)換需要更復(fù)雜的電路,所以也需要更復(fù)雜的接口。A/D轉(zhuǎn)換在將模擬輸入轉(zhuǎn)換為數(shù)字形式前需要對(duì)模擬輸入進(jìn)行采樣。控制信號(hào)使得A/D轉(zhuǎn)換器進(jìn)行采樣并將其數(shù)字化。典型的A/D轉(zhuǎn)換器接口除了模擬輸入外還有兩個(gè)主要的數(shù)字輸入,一個(gè)數(shù)據(jù)端口允許A/D寄存器被讀/寫;另一個(gè)時(shí)鐘輸入信號(hào)通知什么時(shí)候開始下一次轉(zhuǎn)換。A/D轉(zhuǎn)換器有若干種不同的類型,主要包括逐位比較型、積分型、計(jì)數(shù)型、并行比較型和電壓-頻率型。選用A/D轉(zhuǎn)換器時(shí),主要應(yīng)根據(jù)使用場合的具體需求,分析轉(zhuǎn)換速度、精度、價(jià)格、功能以及接口條件等因素,最終決定選擇的類型。3.5.3人機(jī)接口設(shè)備
1.鍵盤
鍵盤是標(biāo)準(zhǔn)的輸入設(shè)備,廣泛用于嵌入式產(chǎn)品,如微波爐、傳真機(jī)、復(fù)印機(jī)、激光打印機(jī)等。依賴鍵盤接口,嵌入式設(shè)備能夠處理用戶的輸入信息,將嵌入式控制器的功能發(fā)揮得更大。鍵盤可以用來輸入數(shù)字型數(shù)據(jù)或者選擇控制設(shè)備的操作模式。
鍵盤主要由一個(gè)開關(guān)陣列組成,此外還包括一些邏輯電路來簡化它到微處理器的接口。我們首先了解一個(gè)簡單開關(guān)的原理,然后再分析由微處理器控制的鍵盤。
開關(guān)使用機(jī)械接觸實(shí)現(xiàn)斷開或接觸電路,如圖3-15所示。圖3-15簡單的開關(guān)電路機(jī)械開關(guān)的主要問題是圖3-16所示的顫動(dòng)。圖3-16開關(guān)顫動(dòng)原始的鍵盤是開關(guān)的簡單集合,每個(gè)開關(guān)都有自己的一對(duì)引出線,直接連到處理器的輸入端口上。當(dāng)開關(guān)的數(shù)目增加時(shí),這種開關(guān)的組合方法將很快用完所有的輸入端口,原始鍵盤會(huì)變得不實(shí)用。更加實(shí)用的鍵盤通過排列開關(guān)形成如圖3-17所示的開關(guān)陣列。圖3-17掃描鍵盤陣列
2.LCD顯示器
液晶顯示(LiquidCrystalDisplay,LCD)是一種被動(dòng)的顯示,它不能發(fā)光,只能使用周圍環(huán)境的光。液晶顯示器顯示圖案或字符時(shí)只需要很小的能量,因此功耗低。小型化的LCD顯示器成為較佳的顯示設(shè)備。一般情況下,顯示設(shè)備可以直接驅(qū)動(dòng),也可以通過幀緩沖區(qū)驅(qū)動(dòng)。顯示元素較少的顯示器直接由邏輯電路驅(qū)動(dòng),而顯示元素較多的顯示器用RAM幀緩沖區(qū)驅(qū)動(dòng)。
1)直接驅(qū)動(dòng)
3-18所示為多個(gè)數(shù)字陣列直接驅(qū)動(dòng)顯示的簡單例子。圖3-18多個(gè)數(shù)字顯示器
2)幀緩沖區(qū)
如圖3-19所示,幀緩沖區(qū)是一個(gè)連到系統(tǒng)總線上的隨機(jī)存取存儲(chǔ)區(qū)。微處理器可以以任意所需次序?qū)⒅祵懭霂彌_區(qū)。這種顯示方式主要適用于陰極射線管(Cathode-Ray
Tube,CRT)顯示。當(dāng)CRT被連到幀緩沖區(qū)時(shí),它通常以光柵的順序讀像素,一次顯示一行。圖3-19幀緩沖顯示系統(tǒng)
3)液晶控制板
大平面顯示器通常由LCD構(gòu)成。其中每個(gè)像素都由一個(gè)液晶體構(gòu)成。LCD顯示器到系統(tǒng)的接口獨(dú)具特點(diǎn),這主要是因?yàn)長CD像素陣列能夠被隨機(jī)訪問。早期的液晶顯示控制板被稱為被動(dòng)矩陣,它依靠一個(gè)二維的電線網(wǎng)絡(luò)來編址像素。現(xiàn)代液晶顯示控制板使用一種主動(dòng)矩陣系統(tǒng),它給每個(gè)像素配置轉(zhuǎn)發(fā)器,以此來控制、訪問LCD顯示器。主動(dòng)矩陣顯示器提供了更高的對(duì)比度和顯示質(zhì)量。
3.觸摸屏
觸摸屏是覆蓋在輸出設(shè)備上的輸入設(shè)備,用來記錄觸摸位置。把觸摸屏覆蓋在顯示器上,使用者可以對(duì)顯示的信息作出反應(yīng)。
觸摸屏按其工作原理分為表面聲波屏、電容屏、電阻屏和紅外屏等。其中常見的觸摸屏是電阻式觸摸屏。電阻式觸摸屏用二維電壓表來探測位置。如圖3-20所示,觸摸屏由兩層被許多細(xì)小的透明隔離球隔開的導(dǎo)電薄層組成。圖3-20電阻式觸摸屏的結(jié)構(gòu)
3.6通信設(shè)備
3.6.1通用異步收發(fā)器
通用異步收發(fā)器(UniversalAsynchronousReceiverandTransmitter,UART)是用于控制計(jì)算機(jī)與串行設(shè)備的接口。
1.?dāng)?shù)據(jù)通信模式
數(shù)據(jù)通信是兩臺(tái)數(shù)字設(shè)備之間的數(shù)據(jù)傳輸。從不同的角度劃分,數(shù)據(jù)通信方式大致可以分為雙工通信、串行和并行通信、同步和異步通信。
1)雙工通信
雙工通信是對(duì)相互通信的兩臺(tái)通信設(shè)備之間數(shù)據(jù)流向的描述。雙工通信包括單工、半雙工和全雙工三種方式。雙工通信方式的結(jié)構(gòu)如圖3-21所示。圖3-21雙工通信方式的結(jié)構(gòu)
2)串行和并行通信
并行通信是指構(gòu)成字符的二進(jìn)制代碼在并行信道上同時(shí)傳輸?shù)姆绞?。并行傳輸時(shí),一次傳輸一個(gè)字符,收發(fā)雙方不存在同步問題,傳輸速度較快。但是,并行傳輸需要并行信道,所以線路投資大,不適合小型化產(chǎn)品。
串行通信是指構(gòu)成字符的二進(jìn)制代碼在一條信道上以位(碼元)為單位,按時(shí)間順序逐位傳輸?shù)姆绞?。串行傳輸時(shí),發(fā)送端按位發(fā)送,接收端按位接收,同時(shí)還要對(duì)所傳輸?shù)淖址右源_認(rèn),所以收、發(fā)雙方要采取同步措施,否則接收端將不能正確區(qū)分出所傳輸?shù)淖址?。雖然串行通信的速度較慢,但是只需要一條傳輸信道,線路投資少,易于實(shí)現(xiàn),因此在數(shù)據(jù)通信吞吐量不是很大的嵌入式系統(tǒng)中顯得更加簡易、方便、靈活。
3)異步和同步通信
串行通信有兩種基本工作方式:異步通信和同步通信。在異步通信方式下,傳輸數(shù)據(jù)以字符為單位。當(dāng)發(fā)送一個(gè)字符代碼時(shí),字符前面要加一個(gè)“起”信號(hào),其長度為1個(gè)碼元,極性為“0”;字符后面要加一個(gè)“止”信號(hào),其長度為1、1.5或2個(gè)碼元,極性為“1”。加上起、止信號(hào)后,即可區(qū)分出所傳輸?shù)淖址魉蜁r(shí),字符可以連續(xù)發(fā)送,也可以單獨(dú)發(fā)送,不發(fā)送字符時(shí)線路要保持為“1”狀態(tài)。異步傳輸方式適用于1200b/s以下的低速傳輸,實(shí)現(xiàn)起來比較簡單。
同步通信傳輸不需要加起、止信號(hào),因此傳輸效率高,適用于2400b/s以上的數(shù)據(jù)傳輸,但是實(shí)現(xiàn)起來比較復(fù)雜。
2.標(biāo)準(zhǔn)異步串行通信接口
標(biāo)準(zhǔn)異步串行通信接口主要有以下幾類:RS-232C、RS-422和RS-485。RS-232C是美國電子工業(yè)協(xié)會(huì)(EIA)正式公布的、在異步串行通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線,適合短距離或帶調(diào)制解調(diào)器的通信場合。為了提高數(shù)據(jù)傳輸速率和通信距離,EIA又公布了RS-422和RS-485串行總線接口標(biāo)準(zhǔn)。
1)?RS-232C
RS-232C是美國電子工業(yè)協(xié)會(huì)(ElectronicIndustryAssociation,EIA)制定的在數(shù)據(jù)終端設(shè)備(DataTerminalEquipment,DTE)和數(shù)據(jù)通信設(shè)備(DataCommunicationEquipment,DCE)之間進(jìn)行串行二進(jìn)制數(shù)據(jù)交換的接口。RS是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),C表示修改次數(shù)。RS-232C標(biāo)準(zhǔn)是一種硬件協(xié)議,規(guī)定了21個(gè)信號(hào)和25個(gè)引腳,用于連接DTE和DCE這兩種設(shè)備。
2)?RS-422
RS-422是EIA公布的“平衡電壓數(shù)字接口電路的電氣特性”標(biāo)準(zhǔn),是為改善RS-232C標(biāo)準(zhǔn)的電氣特性、又考慮與RS-232C兼容而制定的。RS-422與RS-232C的關(guān)鍵差別在于把單端輸入改為雙端差分輸入,雙方的信號(hào)地不再共用。
3)?RS-485
RS-485是RS-422的變型。RS-422是全雙工的,可以同時(shí)發(fā)送與接收;而RS-485是半雙工的,在某一時(shí)刻,只能一個(gè)發(fā)送、另一個(gè)接收。
RS-485是一種多發(fā)送器的電路標(biāo)準(zhǔn),它擴(kuò)展了RS-422的性能,允許雙線總線上驅(qū)動(dòng)32個(gè)負(fù)載設(shè)備。負(fù)載設(shè)備可以是被動(dòng)發(fā)送器、接收器或二者組合而成的收發(fā)器。當(dāng)RS-485接口用于多點(diǎn)互連時(shí),可節(jié)省信號(hào)線,便于高速遠(yuǎn)距離傳送。許多智能儀器設(shè)備配有RS-485總線接口,以便于將它們進(jìn)行聯(lián)網(wǎng)。
表3-2對(duì)上述三種串行通信標(biāo)準(zhǔn)的性能進(jìn)行了比較。表3-2RS-232C、RS-422A與RS-485性能比較
3.UART
UART提供了RS-232C數(shù)據(jù)終端設(shè)備接口,用于計(jì)算機(jī)和調(diào)制解調(diào)器或其他使用RS-232C接口的串行設(shè)備進(jìn)行通信。作為接口的一部分,UART還提供了以下功能:將計(jì)算機(jī)外部傳來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計(jì)算機(jī)內(nèi)部使用并行數(shù)據(jù)的器件使用;將由計(jì)算機(jī)內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù);在輸出的串行數(shù)據(jù)流中加入奇偶校驗(yàn)位,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn);在輸出的數(shù)據(jù)流中加入“起”、“止”標(biāo)記,并從接收數(shù)據(jù)流中刪除“起”、“止”標(biāo)記;處理計(jì)算機(jī)與外部串行設(shè)備的同步管理問題;處理由鍵盤或鼠標(biāo)發(fā)出的中斷信號(hào)(鍵盤和鼠標(biāo)也是串行設(shè)備)。相對(duì)于微處理器,一臺(tái)UART可作為一個(gè)甚至多個(gè)存儲(chǔ)點(diǎn)或I/O端口。UART一般包括一個(gè)或多個(gè)狀態(tài)寄存器,用于驗(yàn)證數(shù)據(jù)傳輸和接收時(shí)的狀態(tài)、進(jìn)程。微處理器通過UART能夠判斷何時(shí)已收到一個(gè)字節(jié)、何時(shí)已發(fā)送一個(gè)字節(jié)、是否產(chǎn)生通信錯(cuò)誤等。UART還可以通過一個(gè)或多個(gè)控制寄存器進(jìn)行配置,配置內(nèi)容包括波特率的設(shè)置、終止位數(shù)量的設(shè)置以及在發(fā)送字節(jié)時(shí)產(chǎn)生中斷等。異步通信在UART上幾乎是透明地運(yùn)行,收、發(fā)數(shù)據(jù)時(shí),只需運(yùn)行程序,簡單地在UART上執(zhí)行讀/寫操作即可。
比較流行的UART有NS16550、AMDZ8530、ACIA、Motorola6850、ZilogZ-80STO等。當(dāng)UART用于嵌入式設(shè)計(jì)時(shí),嵌入式系統(tǒng)就能夠利用通信終端、計(jì)算機(jī),甚至是其他嵌入式微處理器上的數(shù)據(jù)資源。3.6.2USB設(shè)備
1.USB總線概述
通用串行總線(UniversalSerialBus,USB)是1995年由Microsoft、Compaq、IBM等公司聯(lián)合制定的一種新的計(jì)算機(jī)串行通信協(xié)議。USB協(xié)議得到各PC廠商、芯片制造商和PC外設(shè)廠商的廣泛支持。
通用串行總線是一種將USB外圍設(shè)備連接到主機(jī)的外部總線結(jié)構(gòu),它通過PCI總線和PC的內(nèi)部系統(tǒng)數(shù)據(jù)線連接,實(shí)現(xiàn)數(shù)據(jù)傳送。USB同時(shí)又是一種通信協(xié)議,它支持主系統(tǒng)和USB外圍設(shè)備之間的數(shù)據(jù)傳送,通過一個(gè)4針的標(biāo)準(zhǔn)插頭,采用菊花鏈形式把所有的外設(shè)連接起來。
USB主要具有以下優(yōu)點(diǎn):
(1)支持熱插拔(hotplug)和即插即用(plug-and-play),即在不關(guān)機(jī)的情況下可以安全地插上或斷開USB設(shè)備,動(dòng)態(tài)加載驅(qū)動(dòng)程序。
(2)為所有的USB外設(shè)提供單一的、易于操作的標(biāo)準(zhǔn)連接類型,排除了外設(shè)對(duì)系統(tǒng)資源的占用,因此減少了硬件的復(fù)雜性,整個(gè)USB系統(tǒng)只有一個(gè)端口和一個(gè)中斷,節(jié)省了系統(tǒng)資源。
(3)?USB1.1提供全速12Mb/s和低速1.5Mb/s的模式,USB2.0提供高達(dá)480Mb/s的傳輸速率。
(4)為了適應(yīng)各種不同類型外設(shè)的要求,USB提供了四種不同的數(shù)據(jù)傳輸類型。
(5)易于擴(kuò)展,理論上最多可支持127個(gè)設(shè)備。
2.USB總線的硬件結(jié)構(gòu)
USB通過四線電纜傳送信號(hào)和電能,如圖3-22所示。其中兩根是用來傳送數(shù)據(jù)的串行通道,另兩根為下游(downstream)設(shè)備提供電能。圖3-22USB連接線
USB系統(tǒng)采用級(jí)聯(lián)星形拓?fù)?,該拓?fù)溆扇齻€(gè)基本部分組成:主機(jī)(Host)、集線器(Hub)和功能設(shè)備,如圖3-23所示。主機(jī)也稱為根或RootHub,它做在主板上或作為適配卡安裝在計(jì)算機(jī)上。主機(jī)通過主機(jī)控制器與USB設(shè)備進(jìn)行交互,控制著USB總線上的數(shù)據(jù)和信息的流動(dòng)。每個(gè)USB系統(tǒng)只能有一個(gè)根集線器,它連在主控制器上。集線器是USB結(jié)構(gòu)中的特定成分,它提供用于將設(shè)備連接到USB總線上的端口,同時(shí)檢測連接在總線上的設(shè)備,并為這些設(shè)備提供電源管理、負(fù)載總線的故障檢測和恢復(fù)。集線器可為總線提供能源,也可為自身提供能源(從外部得到電能)。圖3-23USB系統(tǒng)級(jí)聯(lián)結(jié)構(gòu)
3.USB總線的軟件結(jié)構(gòu)
(1)?USB總線接口。USB總線接口處理電氣層與協(xié)議層的互連,由主控制器實(shí)現(xiàn)。
(2)?USB系統(tǒng)。USB系統(tǒng)用主控制器管理主機(jī)與USB設(shè)備間的數(shù)據(jù)傳輸。它與主控制器間的接口依賴于主控制器的硬件定義。同時(shí),USB系統(tǒng)也負(fù)責(zé)管理USB資源,例如帶寬和總線能量,這使得客戶訪問USB成為可能。USB系統(tǒng)包括三個(gè)基本組件:主控制器驅(qū)動(dòng)程序(HCD)、USB驅(qū)動(dòng)程序(USBD)和主機(jī)軟件。
(3)?USB客戶軟件。
4.USB總線的數(shù)據(jù)傳輸方式
數(shù)據(jù)和控制信號(hào)在主機(jī)和USB設(shè)備之間的交換存在兩種通道:單向通道和雙向通道。USB的數(shù)據(jù)傳送是在主機(jī)和某個(gè)USB設(shè)備的指定端口之間進(jìn)行的。這種主機(jī)和USB設(shè)備的端口間的聯(lián)系稱做通道。一般情況下,各個(gè)通道之間的數(shù)據(jù)流動(dòng)是相互獨(dú)立的,且一個(gè)指定的USB設(shè)備可有許多通道。對(duì)任何給定的設(shè)備進(jìn)行設(shè)置時(shí),一個(gè)通道上的數(shù)據(jù)傳輸只能支持下列四種USB數(shù)據(jù)傳輸方式中的一種:同步(isochronous)、控制(control)、中斷(interrupt)和批量(bulk)。
(1)同步數(shù)據(jù)傳輸。同步數(shù)據(jù)傳輸提供了確定的帶寬和間隔時(shí)間(latency)。它主要用于時(shí)間要求嚴(yán)格并且具有較強(qiáng)容錯(cuò)性的流數(shù)據(jù)傳輸,或者用于要求恒定數(shù)據(jù)傳輸速率的即時(shí)應(yīng)用中。對(duì)于同步傳輸來說,即時(shí)的數(shù)據(jù)傳遞比數(shù)據(jù)的完整性更重要。
(2)控制數(shù)據(jù)傳輸??刂苽鬏斒请p向傳輸,數(shù)據(jù)量通常較小。USB系統(tǒng)軟件主要用來進(jìn)行查詢、配置和給USB設(shè)備發(fā)送通用的命令??刂苽鬏敺绞娇梢詡鬏?、16、32和64字節(jié)的數(shù)據(jù),這依賴于設(shè)備和傳輸速度??刂苽鬏?shù)牡湫蛻?yīng)用是在主機(jī)和USB外設(shè)之間的傳輸。
(3)中斷數(shù)據(jù)傳輸。中斷方式傳輸主要用于定時(shí)查詢設(shè)備是否有中斷數(shù)據(jù)傳輸。設(shè)備的端點(diǎn)模式器的結(jié)構(gòu)決定了它的查詢頻率范圍是1~255?ms,這種傳輸方式主要用于少量的、分散的、不可預(yù)測數(shù)據(jù)的傳輸,如鍵盤、操縱桿和鼠標(biāo)等就使用這一類型。中斷方式傳輸數(shù)據(jù)是單向的,且對(duì)于主機(jī)來說只有輸入的方式。
(4)批量數(shù)據(jù)傳輸。批量方式傳輸主要應(yīng)用在大量傳輸和接收數(shù)據(jù),同時(shí)又沒有帶寬和間隔時(shí)間要求的情況下。批量數(shù)據(jù)由大量的數(shù)據(jù)組成,且是連續(xù)的。這種傳輸方式可以等到所有其他類型的數(shù)據(jù)傳輸完成之后再使用。
5.USB總線的數(shù)據(jù)傳輸原理
在USB結(jié)構(gòu)中,占主導(dǎo)地位的是主控制器。主控制器要保證所有與其連接的數(shù)量不同、傳輸方式不同的設(shè)備能夠同時(shí)正常工作。為此,USB主控制器使用間隔為1ms的幀來實(shí)現(xiàn)數(shù)據(jù)傳輸。由于有許多設(shè)備連接到USB總線上,因此每1ms產(chǎn)生的傳輸幀是混合的。在幾種數(shù)據(jù)傳輸方式都存在的情況下,中斷傳輸和同步傳輸對(duì)時(shí)間要求較高,因此占用了約90%的總帶寬;控制傳輸占用了約10%的帶寬;批量傳輸對(duì)時(shí)間要求不高,但數(shù)據(jù)量大,它使用剩下的可用帶寬。?各種USB設(shè)備就是通過這種基本的幀結(jié)構(gòu)實(shí)現(xiàn)共享USB帶寬來傳輸數(shù)據(jù)的。在主機(jī)端,不同設(shè)備的數(shù)據(jù)傳輸請(qǐng)求被劃分成若干個(gè)塊(Transaction)。為了保證連接到主機(jī)上的設(shè)備可以同時(shí)工作,主機(jī)每次從不同設(shè)備取一個(gè)塊構(gòu)成一個(gè)1ms幀,然后將整個(gè)幀發(fā)送到USB總線上。每一個(gè)塊由三個(gè)包(Packet)組成:標(biāo)志包(TokenPacket)、數(shù)據(jù)包(DataPacket)和握手信號(hào)包(HandshakePacket)。根據(jù)令牌包里定義的設(shè)備地址和端點(diǎn)號(hào),設(shè)備能夠確定屬于自己的相應(yīng)數(shù)據(jù)。一根USB總線每次最多傳輸三個(gè)數(shù)據(jù)包。在每次傳輸開始時(shí),主機(jī)控制器發(fā)送一個(gè)描述傳輸種類、傳輸方向、USB設(shè)備地址和終端號(hào)的USB數(shù)據(jù)包,該數(shù)據(jù)包就是標(biāo)志包。在數(shù)據(jù)開始傳輸時(shí),由標(biāo)志包來標(biāo)志數(shù)據(jù)的傳輸方向,即是從主機(jī)到設(shè)備或是從設(shè)備到主機(jī);然后,發(fā)送端開始發(fā)送包含信息的數(shù)據(jù)包或表明沒有數(shù)據(jù)傳輸。接收端要相應(yīng)發(fā)送一個(gè)握手的數(shù)據(jù)包,以表明數(shù)據(jù)是否傳輸成功。USB設(shè)備從解碼后的數(shù)據(jù)包的適當(dāng)位置取出屬于自己的數(shù)據(jù)。
6.USB設(shè)備即插即用的實(shí)現(xiàn)
USB設(shè)備可以實(shí)現(xiàn)熱插拔。當(dāng)USB設(shè)備插入到主機(jī)中時(shí),主機(jī)通過查詢設(shè)備的描述符(Descriptor)來了解設(shè)備,進(jìn)而建立通信,這個(gè)過程叫做對(duì)設(shè)備的枚舉。
圖3-24是某個(gè)設(shè)備的描述符結(jié)構(gòu)。圖3-24一個(gè)USB設(shè)備的描述符結(jié)構(gòu)
7.USB器件的選擇
在開發(fā)一個(gè)USB設(shè)備之前,首先要根據(jù)具體使用要求選擇合適的USB控制器。目前,市場上供應(yīng)的USB控制器主要有兩種:帶USB接口的單片機(jī)(MCU)和純粹的USB接口芯片。
帶USB接口的單片機(jī)從應(yīng)用上可以分成兩類,一類是從底層設(shè)計(jì),專用于USB控制的單片機(jī);另一類是增加了USB接口的普通單片機(jī),如Cypress公司的EZ-USB(基于8051),選擇這類USB控制器的最大好處在于開發(fā)者對(duì)系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但對(duì)于簡單或低成本系統(tǒng),價(jià)格也是在實(shí)際選擇過程中需要考慮的因素。純粹的USB接口芯片僅處理USB通信,?必須有一個(gè)外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD11(IIC接口)、PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888等。USB接口芯片的主要特點(diǎn)是價(jià)格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(jì)(硬件上僅需對(duì)并行總線和中斷進(jìn)行改動(dòng),軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機(jī)的USB接口通信程序,無需對(duì)原有產(chǎn)品的系統(tǒng)結(jié)構(gòu)作很大的改動(dòng))。
8.USB系統(tǒng)的開發(fā)流程
一個(gè)典型的USB系統(tǒng)的開發(fā)主要由以下流程組成:
(1)系統(tǒng)結(jié)構(gòu)、功能的定義。
(2)?USB接口方法的選擇。
(3)選擇與微處理器的接口電路。
(4)固件編程。
(5)開發(fā)PC端驅(qū)動(dòng)程序與應(yīng)用程序。
(6)?USB系統(tǒng)調(diào)試。3.6.3Ethernet設(shè)備
1.以太網(wǎng)的特點(diǎn)
以太網(wǎng)是最廣泛應(yīng)用的局域網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)了在小區(qū)域(如一個(gè)辦公室)范圍內(nèi)連接計(jì)算機(jī)的功能。以太網(wǎng)的數(shù)據(jù)速率為10Mb/s,而快速以太網(wǎng)(FastEthernet)的數(shù)據(jù)速率為
100Mb/s。最常用的以太網(wǎng)協(xié)議是IEEE802.3標(biāo)準(zhǔn),媒體的存取規(guī)則采用CSMA/CD(載波檢測多路存取/沖突檢測)?,F(xiàn)代的操作系統(tǒng)均能同時(shí)支持這些協(xié)議標(biāo)準(zhǔn),因此對(duì)嵌入式系統(tǒng)的應(yīng)用來說,考慮系統(tǒng)精簡因素,只需要支持這一種就夠了,除非有特殊需要,否則沒有必要支持太多協(xié)議。
2.以太網(wǎng)的數(shù)據(jù)傳輸
以太網(wǎng)傳輸報(bào)文的基本格式如圖3-25所示。它提供了目的地址和源地址,同時(shí)還提供了要傳送的有效數(shù)據(jù)。圖3-25以太網(wǎng)傳輸報(bào)文的基本格式以太網(wǎng)的數(shù)據(jù)傳輸有以下特點(diǎn):
(1)所有數(shù)據(jù)位的傳輸由低位開始,傳輸?shù)奈涣鞑捎寐鼜厮固鼐幋a。
(2)以太網(wǎng)傳輸?shù)臄?shù)據(jù)段長度最小為60字節(jié),最大為1514字節(jié)。
(3)通常以太網(wǎng)卡可以接收來自三種地址的數(shù)據(jù),即廣播地址、多播地址(在嵌入式系統(tǒng)中很少使用)和它自己的地址。但當(dāng)用于網(wǎng)絡(luò)分析和監(jiān)控時(shí),網(wǎng)卡也可以設(shè)置為接收任何數(shù)據(jù)包。
(4)任何兩個(gè)網(wǎng)卡的物理地址都是不一樣的。網(wǎng)卡地址由專門結(jié)構(gòu)分配,不同廠家使用不同地址段,同一廠家的任意兩個(gè)網(wǎng)卡的地址也是唯一的。
3.嵌入式以太網(wǎng)接口的實(shí)現(xiàn)方法
在嵌入式系統(tǒng)中實(shí)現(xiàn)以太網(wǎng)接口的方法通常有兩種。
方法一是采用嵌入式處理器與網(wǎng)卡芯片的組合。
方法二是直接采用帶有以太網(wǎng)接口的嵌入式處理器。
3.7其他
3.7.1電源
大多數(shù)嵌入式系統(tǒng)本身都有電源,且電源的供電方式具有一種特定的電壓范圍。嵌入式系統(tǒng)中各個(gè)單元的電壓范圍有四種:5.0?±?0.25V、3.3?±?0.3V、2.0?±?0.2V和1.5?±?0.2?V。此外,嵌入式系統(tǒng)微控制器中的電可擦可編程只讀存儲(chǔ)器(EEPROM)、RS-232串行接口,均需要提供12?±?0.2V的電壓。3.7.2時(shí)鐘
在嵌入式系統(tǒng)中,處理器需要有一個(gè)時(shí)鐘振蕩(clockoscillator)電路。時(shí)鐘控制著CPU、系統(tǒng)定時(shí)器和CPU機(jī)器周期的各種時(shí)序需求。機(jī)器周期用于兩個(gè)方面:一方面,從存儲(chǔ)器中取回代碼和數(shù)據(jù),然后在處理器中對(duì)它們進(jìn)行譯碼并運(yùn)行;另一方面,將結(jié)果傳回存儲(chǔ)器中。時(shí)鐘控制著執(zhí)行一條指令的時(shí)間。
通用計(jì)算機(jī)可以使用分離的時(shí)鐘電路,如IBMPC/XT使用專用時(shí)鐘芯片8284產(chǎn)生時(shí)鐘信號(hào)。而嵌入式系統(tǒng)通常為了節(jié)省電路,把時(shí)鐘電路集成在嵌入式處理器上,外面只需要接晶體即可。嵌入式系統(tǒng)的時(shí)鐘電路一般有以下幾種形式:RC時(shí)鐘、石英晶體、石英振蕩器、鎖相倍頻時(shí)鐘和多時(shí)鐘源。
(1)?RC時(shí)鐘。RC時(shí)鐘一般用于嵌入式微控制器。這種時(shí)鐘源的振蕩頻率的穩(wěn)定性低于時(shí)鐘振蕩器,但是功耗比較低。當(dāng)嵌入式系統(tǒng)對(duì)時(shí)鐘的穩(wěn)定性要求不高時(shí),例如家用電器的控制,可以采用這種電路,且其時(shí)鐘頻率可以動(dòng)態(tài)修改。嵌入式處理器的功耗與時(shí)鐘頻率基本呈線性關(guān)系,因此根據(jù)處理器的負(fù)荷動(dòng)態(tài)改變時(shí)鐘頻率以降低功耗是比較好的方法。
(2)石英晶體?;谑⒕w的時(shí)鐘電路,其振蕩電路集成在處理器上,處理器引出兩個(gè)引腳,分別是放大器的輸入和輸出,石英晶體接在這兩個(gè)引腳上,如圖3-26所示。圖3-26由石英晶體構(gòu)成的振蕩器電路結(jié)構(gòu)
(3)石英振蕩器。與石英晶體不同,石英振蕩器把石英晶體和振蕩電路集成一體,形成石英振蕩器電路,直接輸出時(shí)鐘信號(hào)給處理器。石英振蕩器輸出的時(shí)鐘信號(hào)接在處理器的輸入引腳上,如圖3-27所示。圖3-27石英振蕩器的振蕩器電路
(4)鎖相倍頻時(shí)鐘。通常在高性能的嵌入式處理器上采用鎖相倍頻電路。該時(shí)鐘電路的鎖相環(huán)是一個(gè)倍頻鎖相環(huán),時(shí)鐘電路外接的石英晶體通常采用32768Hz,鎖相環(huán)的倍頻系數(shù)可以通過編程設(shè)置,倍頻得到的高頻時(shí)鐘經(jīng)過分頻器進(jìn)行分頻,分別送給處理器的CPU內(nèi)核和各個(gè)I/O接口電路。
(5)多時(shí)鐘源。高性能的嵌入式處理器如32位的處理器,功能強(qiáng)大,芯片上集成了眾多的智能電路,很多的智能電路都需要不同頻率的時(shí)鐘源。此外,出于節(jié)電設(shè)計(jì)的考慮,不同I/O電路的工作狀態(tài)可以由處理器的編程控制。為此,這樣的處理器設(shè)計(jì)了許多時(shí)鐘源,分別為CPU內(nèi)核、實(shí)時(shí)時(shí)鐘電路、不同的I/O電路提供時(shí)鐘信號(hào)。3.7.3復(fù)位
1.復(fù)位電路概述
嵌入式處理器的復(fù)位電路就是使處理器從起始地址開始執(zhí)行指令。這個(gè)起始地址是處理器程序計(jì)數(shù)器(x86系列處理器中是指令指針和代碼段寄存器)加電時(shí)的默認(rèn)設(shè)置。處理器復(fù)位之后,從存儲(chǔ)器的這個(gè)地址開始取程序指令。在一些存儲(chǔ)器(如6HC11和HC12)中有兩個(gè)起始地址,一個(gè)作為加電復(fù)位向量,另一個(gè)作為執(zhí)行Reset指令后或者發(fā)生超時(shí)(如來自看門狗定時(shí)器的超時(shí))之后的復(fù)位向量。復(fù)位電路激活固定的周期數(shù)后處于無效狀態(tài)。處理器電路保持復(fù)位管腳處于有效狀態(tài),然后使之處于無效狀態(tài),使程序從默認(rèn)的起始地址開始執(zhí)行。如果復(fù)位管腳或內(nèi)部復(fù)位信號(hào)與系統(tǒng)中其他的單元(例如I/O接口、串行接口)相連接,那么它會(huì)被處理器再一次激活,成為一個(gè)輸出管腳,用于驅(qū)動(dòng)系統(tǒng)中其他單元處于復(fù)位狀態(tài)。在處理器動(dòng)作之后使復(fù)位信號(hào)無效,程序又會(huì)從起始地址開始執(zhí)行。
通常使用的復(fù)位電路有以下幾種形式:阻容復(fù)位電路、專用復(fù)位電路、手動(dòng)復(fù)位電路、看門狗定時(shí)器的時(shí)鐘輸出復(fù)位電路以及軟件復(fù)位電路。
2.阻容復(fù)位電路
阻容復(fù)位電路是最簡單的復(fù)位電路,其電路如圖3-28所示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年1月江蘇揚(yáng)州市機(jī)關(guān)生活服務(wù)中心招聘廚師2人考試參考試題及答案解析
- 首都醫(yī)科大學(xué)附屬北京回龍觀醫(yī)院派遣人員招聘5人考試參考試題及答案解析
- 2026廣西柳州市融安縣招聘城鎮(zhèn)公益性崗位人員30人考試備考試題及答案解析
- 2026青海西寧市婦幼保健計(jì)劃生育服務(wù)中心招聘6人考試備考試題及答案解析
- 2026遼寧鞍山市海城市融媒體中心公益性崗位招聘2人考試參考試題及答案解析
- 2026山西忻州市五寨縣廉潔征兵考試參考題庫及答案解析
- 2026青海智特安全環(huán)境技術(shù)服務(wù)有限公司招聘技術(shù)員6人考試備考試題及答案解析
- 2026年黃山學(xué)院師資博士后招聘11名筆試模擬試題及答案解析
- 2026上海復(fù)旦大學(xué)附屬腫瘤醫(yī)院泌尿外科大學(xué)科團(tuán)隊(duì)招聘考試參考試題及答案解析
- 2026貴州畢節(jié)市財(cái)政局選聘監(jiān)管企業(yè)兼職外部董事考試參考試題及答案解析
- 安全技術(shù)與管理畢業(yè)論文
- 2025年新疆中考數(shù)學(xué)真題試卷及答案
- 溫嶺市恩力天金屬表面處理有限公司年處理10萬噸磷化金屬表面技改項(xiàng)目環(huán)評(píng)報(bào)告
- 職務(wù)侵占罪法律培訓(xùn)
- 【2025版】人教版(PEP)三年級(jí)下冊英語教學(xué)工作計(jì)劃(及進(jìn)度表)
- 勞動(dòng)仲裁申請(qǐng)書電子版模板
- JJF 1183-2025 溫度變送器校準(zhǔn)規(guī)范
- 2024“五史”全文課件
- 家用燃?xì)庠罱Y(jié)構(gòu)、工作原理、配件介紹、常見故障處理
- 人教版七年級(jí)數(shù)學(xué)上冊期末試題及參考答案(偏難)
- 關(guān)節(jié)攣縮的治療及預(yù)防
評(píng)論
0/150
提交評(píng)論