本文轉自4412開(kāi)發(fā)板實(shí)戰書(shū)籍:http://www.topeetboard.com 硬件介紹 嵌入式系統的硬件除了核心部件——嵌入式處理器外,還包括存儲器系統、外圍接口部件以及連接各種設備的總線(xiàn)系統。其中,存儲器是嵌入式系統存放數據和程序的功能部件,而外圍設備決定了應用于不同領(lǐng)域的嵌入式系統的獨特功能。 嵌入式處理器是嵌入式系統中硬件的核心組成部分,但是若沒(méi)有存儲器和I/O設備,它就無(wú)法具有各種實(shí)用的功能。嵌入式處理器通常集成了大量的I/O模塊單元(如中斷控制器和通信控制器等)和存儲器(Flash和RAM等)。當嵌入式處理器上集成的存儲器單元和I/O單元不夠時(shí),可以通過(guò)擴充組成強大的嵌入式硬件系統。 嵌入式系統的硬件是以嵌入式處理器為中心,由存儲器、I/O單元電路、通信模塊、外部設備等必要的輔助接口組成的,如下圖所示。在實(shí)際應用中,嵌入式系統硬件配置可能非常精簡(jiǎn),除了微處理器和基本的外圍電路以外,其余的電路可以根據需要和成本進(jìn)行裁剪、定制。 ![]() 在嵌入式系統中使用的存儲器可以是內部存儲器,也可以是外部存儲器。通常處理器的內部存儲器是非常有限的。對于小型應用,如果這些存儲器夠用,就不必使用外部存儲器;否則,就必須進(jìn)行擴展,使用外部存儲設備。與通用計算機把應用軟件和操作系統放在外存的工作方式不同,嵌入式系統的軟件通常直接存放在內存(如Flash)中,上電之后可以立刻運行;當然,也有的嵌入式系統的軟件從外存啟動(dòng)、裝載并運行。無(wú)論如何,需要考慮嵌入式系統的軟件的固化問(wèn)題,而這一問(wèn)題在通用計算機(如PC機)上開(kāi)發(fā)軟件是不需要考慮的。此外,考慮存儲器系統時(shí),還需要考慮嵌入式系統軟件的引導問(wèn)題。 嵌入式處理器工作時(shí)必須有附屬電路支持,如時(shí)鐘電路、復位電路、調試電路、監視定時(shí)器、中斷控制電路等,這些電路并不完成數據的輸入/輸出功能,而是為嵌入式處理器的工作提供必要的條件。在設計嵌入式系統的硬件電路時(shí),常常將它們與嵌入式處理器設計成一個(gè)模塊,形成處理器最小系統。 嵌入式處理器在功能上有別于通用處理器,其區別在于嵌入式處理器上集成了大量的I/O電路。因此,用戶(hù)在開(kāi)發(fā)嵌入式系統時(shí),可以根據系統需求選擇合適的嵌入式處理器,而無(wú)需再另外配合I/O電路。隨著(zhù)半導體技術(shù)的發(fā)展,嵌入式處理器的集成度不斷提高,許多嵌入式處理器上集成的I/O功能完全滿(mǎn)足應用的需求,基本無(wú)需擴展。嵌入式系統的I/O接口電路主要完成嵌入式處理器與外部設備之間的交互和數據通信。這些電路包括網(wǎng)絡(luò )接口、串行接口、模/數轉換和數/模轉換接口、人機交互接口等。應用于不同行業(yè)的嵌入式系統,其接口功能和數量有很大的差異。在設計I/O接口電路時(shí),一般把這部分作為I/O子系統進(jìn)行統一的設計,這樣既可以綜合考慮優(yōu)化電路,又便于設計成果的重復使用。 處理器和ARM處理器中央微處理器,簡(jiǎn)稱(chēng)CPU,它是計算機中最重要的一個(gè)部分,它決定嵌入式系統的主要功能特性。CPU又由運算器和控制器兩大部分組成。 ![]() 所謂寄存器(register),是CPU內部用來(lái)存放數據的一些小型存儲區域,用于暫時(shí)存放參與運算的數據和運算結果。 外部設備也有寄存器,是一種存儲單元,其物理結構跟內存單元不一樣,但作用跟內存單元一樣,都能保存信息。 在設計時(shí),給外部設備的每個(gè)寄存器都分配一個(gè)地址,CPU可以根據地址訪(fǎng)問(wèn)某個(gè)寄存器,則該寄存器發(fā)生相應的動(dòng)作:或接收數據總線(xiàn)上的數據(對應于寫(xiě)操作),或把自己的數據送到數據總線(xiàn)上(對應于讀操作)。當CPU訪(fǎng)問(wèn)某個(gè)寄存器時(shí),同一個(gè)外設的其他寄存器和其他外設的寄存器由于沒(méi)有CPU的指令不會(huì )發(fā)生動(dòng)作。 嵌入式處理器通常包括幾個(gè)部分:處理器內核、地址總線(xiàn)、數據總線(xiàn)、控制總線(xiàn)、片上I/O接口電路及輔助電路(如時(shí)鐘、復位電路等)。 下面簡(jiǎn)單介紹一下ARM處理器的歷史和發(fā)展。 1991年ARM公司(Advanced RISC Machine Limited)成立于英國劍橋,最早由Arcon、Apple和VLSI合資成立,主要出售芯片設計技術(shù)的授權,在1985年4月26 日,第一個(gè)ARM原型在英國劍橋的Acorn 計算機有限公司誕生(在美國VLSI 公司制造)。目前,ARM 架構處理器已在高性能、低功耗、低成本的嵌入式應用領(lǐng)域中占據了領(lǐng)先地位。 ARM 公司最初只有12 人,經(jīng)過(guò)十多年的發(fā)展,ARM 公司已擁有近千名員工,在許多國家都設立了分公司,包括ARM 公司在中國上海的分公司。目前,采用ARM 技術(shù)知識產(chǎn)權(IP)核的微處理器,即我們通常所說(shuō)的ARM 微處理器,已遍及工業(yè)控制、消費類(lèi)電子產(chǎn)品、通信系統、網(wǎng)絡(luò )系統、無(wú)線(xiàn)系統等各類(lèi)產(chǎn)品市場(chǎng),基于A(yíng)RM 技術(shù)的微處理器應用約占據了32 位RISC 微處理器80%以上的市場(chǎng)份額,其中,在手機市場(chǎng),ARM 占有絕對的壟斷地位?梢哉f(shuō),ARM技術(shù)正在逐步滲入到人們生活中的各個(gè)方面,而且隨著(zhù)32 位CPU價(jià)格的不斷下降和開(kāi)發(fā)環(huán)境的不斷成熟,ARM技術(shù)會(huì )應用得越來(lái)越廣泛。 ARM公司是專(zhuān)門(mén)從事基于RISC技術(shù)芯片設計開(kāi)發(fā)的公司,作為嵌入式RISC處理器的知識產(chǎn)權IP供應商,公司本身并不直接從事芯片生產(chǎn),而是靠轉讓設計許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導體生產(chǎn)商從ARM 公司購買(mǎi)其設計的ARM 微處理器核,根據各自不同的應用領(lǐng)域,加入適當的外圍電路,從而形成自己的ARM 微處理器芯片進(jìn)入市場(chǎng),利用這種合伙關(guān)系,ARM很快成為許多全球性RISC標準的締造者。目前,全世界有幾十家大的半導體公司都使用ARM公司的授權,其中包括Intel、IBM、Samsung、LG 半導體、NEC、SONY、PHILIP 等公司,這也使得ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統成本降低,使產(chǎn)品更容易進(jìn)入市場(chǎng)并被消費者所接受,更具有競爭力。 存儲設備嵌入式系統的存儲器子系統與通用計算機的存儲器子系統的功能并無(wú)明顯的區別,這決定了嵌入式系統的存儲器子系統的設計指標和方法也可以采用通用計算機的方法,尤其是嵌入通用計算機的大型嵌入式系統更是如此。 存儲器子系統設計的首要目標是使存儲器在工作速度上很好地與處理器匹配,并滿(mǎn)足各種存取需要。因此,體系結構的特性能夠提高存儲系統的速度和容量。隨著(zhù)微電子技術(shù)的發(fā)展,微處理器的工作速度有了很大的提高。而微處理器時(shí)鐘頻率提高比內存速度提高要快,以至于內存速度遠遠落后于CPU速度。如果大量使用高速存儲器,使它們在速度上與處理器相吻合,就能夠簡(jiǎn)便地解決問(wèn)題。但是,這種方法受到經(jīng)濟上的限制。因為隨著(zhù)存儲器芯片速度的提高,其價(jià)格急劇上升,使系統成本十分昂貴。在實(shí)際的計算機系統中,總是采用分級的方法來(lái)設計整個(gè)存儲器系統。如下圖所示為這種分級存儲系統的組織結構示意圖,它把全部存儲系統分為四級,即寄存器組、高速緩存、內存和外存。它們在存取速度上依次遞減,而在存儲容量上逐級遞增。 ![]() 寄存器組是最高一級的存儲器。在計算機設備中,寄存器組一般是微處理器內含的,如上一章介紹的ARM處理器中有37個(gè)寄存器。有些待使用的數據或者運算的中間結果可以暫存在這些寄存器中。微處理器在對本芯片內的寄存器讀/寫(xiě)時(shí),速度很快,一般在一個(gè)時(shí)鐘周期內完成。從總體上說(shuō),設置一系列寄存器是為了盡可能減少微處理器直接從外部取數的次數。但是,由于寄存器組是制作在微處理器內部的,受芯片面積和集成度的限制,因此寄存器的數量不可能做得很多。 第二級存儲器是高速緩沖存儲器(Cache)。高速緩存是一種小型、快速的存儲器,其存取速度足以與微處理器相匹配。高速緩存能夠保存部分內存的內容的拷貝,如果正確使用,它能夠減少內存平均訪(fǎng)問(wèn)時(shí)間。 第三級是內存。運行的程序和數據都放在內存中。由于微處理器的尋址大部分在高速緩存上,因此內存可以采用速度稍慢的存儲器芯片,對系統性能的影響不會(huì )太大,同時(shí)又降低了成本。內存除主要使用RAM外,還要使用一定量的ROM。這些ROM主要用來(lái)解決系統初始化的一系列操作,如設備檢測、接口電路初始化、啟動(dòng)操作系統等。一般情況下,ROM的存取時(shí)間比較長(cháng),對ROM的每次讀/寫(xiě)要增添3~4個(gè)等待周期。但這種少量慢速存儲器只在開(kāi)機時(shí)運行,對系統性能影響不大。 最低一級存儲器是大容量的外存。這種外存容量大,但是在存取速度上比內存要慢得多。目前嵌入式系統中常用閃存作為大容量硬盤(pán)存儲各種程序和數據。 上述四級存儲器系統并不是每個(gè)嵌入式系統所必須具備的,應當根據系統的性能要求和處理器的功能來(lái)確定。例如,在8位處理器上,主要考慮內存的時(shí)間,而高速緩存極少被采用。對于16位和32位微處理器組成的系統,隨著(zhù)性能的提高,存儲系統變得更為復雜,一般都包含了全部四級存儲器。 總線(xiàn)一個(gè)處理器系統可能使用多條總線(xiàn)來(lái)連接設備。高速設備可以連到高速總線(xiàn)上,而低速設備連到低速總線(xiàn)上,通過(guò)一個(gè)被稱(chēng)為橋的邏輯電路使得總線(xiàn)可以互連。 ![]() 使用這樣的總線(xiàn)配置主要考慮到以下幾個(gè)原因: (1) 高速總線(xiàn)通常提供較寬的數據連接。 (2) 高速總線(xiàn)通常要更昂貴的電路和連接器,可以通過(guò)使用較慢的、比較便宜的總線(xiàn)來(lái)降低低速設備成本。 (3) 橋允許總線(xiàn)獨立操作,因此可以在I/O操作中提供并行性。 在高速總線(xiàn)和低速總線(xiàn)之間的總線(xiàn)橋是高速總線(xiàn)的受控器,是低速總線(xiàn)的主控器。橋從高速總線(xiàn)上獲取指令并將其傳到低速總線(xiàn),將結果從低速總線(xiàn)傳到高速總線(xiàn)上。 嵌入式最常用的有四大總線(xiàn)有I2C總線(xiàn)、SPI總線(xiàn)、CAN總線(xiàn)、USB總線(xiàn)。 I2C總線(xiàn) IIC總線(xiàn),是INTER-IC串行總線(xiàn)的縮寫(xiě)。INTER-IC原文大意是用于相互作用的集成電路,這種集成電路主要由雙向串行時(shí)鐘線(xiàn)SCL和雙向串行數據線(xiàn)SDA兩條線(xiàn)路組成,由荷蘭菲利浦公司于80年代研制開(kāi)發(fā)成功。 IIC總線(xiàn)在傳送數據時(shí)其速率可達100kbps,最高速率時(shí)可達400kbps,總線(xiàn)上允許連接的設備數主要決定于總線(xiàn)上的電容量,一般設定為400pF以下。I2C總線(xiàn)主要在微處理器的控制之下,因此通常稱(chēng)微處理器是I2C總線(xiàn)的主機。習慣上總稱(chēng)受控設備及功能電路為I2C總線(xiàn)的從機。這種主機與從機之間的連接通常是在總線(xiàn)的輸出端,而輸出端的電路結構為IIC總線(xiàn)的從機。這種主機與從機之間的連接通常是在總線(xiàn)的輸出端,而輸出端的電路結構又總是開(kāi)漏輸出或集電極開(kāi)路輸出。 通常數據傳送要由主機發(fā)出啟動(dòng)信號和時(shí)鐘信號,向所控從機發(fā)出一個(gè)地址、一個(gè)讀寫(xiě)位和一個(gè)應答位,其中地址位為7位數據,在實(shí)際控制中,一般一次只能傳送一個(gè)8位數據,并以一個(gè)停止位結束。 在實(shí)際應用中,往往被傳送的數據位數會(huì )超過(guò)8位,也就是說(shuō)總會(huì )有多字節傳送,這時(shí)必須在傳送數據地址結束后再傳送一個(gè)副地址。因此,被傳送的字節沒(méi)有限制,但每一個(gè)字節后面必須有一位應答位。應答位通常被設定在低電平,當應答位處于高電平時(shí),指示被傳送的數據已結束。 在I2C總線(xiàn)的控制系統中,有時(shí)從機也可以是多臺微處理器,在多臺微機同時(shí)工作時(shí),它們對總線(xiàn)的控制也由相似于時(shí)鐘的同步方式進(jìn)行仲裁,也就是說(shuō)時(shí)鐘的同步與仲裁過(guò)程是同時(shí)進(jìn)行的,不存在因是主機而有優(yōu)先權次序。不同速度的從機可以接在同一I2C總線(xiàn)上完成相互間數據的傳送。高速方式芯片和普通芯片可以混合于同一I2C總線(xiàn)上。 I2C總線(xiàn)的特點(diǎn)與特性I2C總線(xiàn)與傳統的PWM調寬脈沖相比較,其最大的特點(diǎn)是串行數據線(xiàn)和時(shí)鐘線(xiàn)都是雙向傳輸線(xiàn)。I2C總線(xiàn)在實(shí)際電路的應用中,兩根線(xiàn)各自通過(guò)一個(gè)上拉電阻連接到電源電壓的正極端,當總線(xiàn)空閑時(shí),數據線(xiàn)SDA和時(shí)鐘線(xiàn)SCL必須保持高電平,同時(shí)各接口電路的輸出又必須是開(kāi)路漏極或開(kāi)路集電極,因此I2C總線(xiàn)的最大特性是在地址信息傳輸過(guò)程中,即可以是主控器也可以是被控器,或既可以是發(fā)射器又可以是接收器,從而為掛在總線(xiàn)上的各集成電路或功能模塊完成各自的功能提供了極大方便。 總線(xiàn)具有十分靈活的運用性,并且還具有多重主控的能力,如多個(gè)作為主控器去控制占用總線(xiàn)的電路,都可以根據在I2C總線(xiàn)上進(jìn)行數據傳送的工作狀態(tài),被分為主控發(fā)送器、主控接收器、被控發(fā)射器、被控接收器。在多重主控能力中,由于總線(xiàn)的仲裁過(guò)程,I2C總線(xiàn)的時(shí)鐘信號將是各試力占用總線(xiàn)的各主控器的時(shí)鐘信號的同步組合。所謂仲裁是在多個(gè)主控器試圖同時(shí)控制總線(xiàn)時(shí)一個(gè)裁決過(guò)程,它只允許其中的一個(gè)主控器繼續占用總線(xiàn),并保證在整個(gè)過(guò)程中總線(xiàn)上的數據不會(huì )被丟失或出錯誤;所謂同步是將兩個(gè)或多個(gè)器件的時(shí)鐘信號進(jìn)行處理。 SPI總線(xiàn) SPI接口的全稱(chēng)是"Serial Peripheral Interface",意為串行外圍接口,是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在EEPROM,FLASH,實(shí)時(shí)時(shí)鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。 SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,地位在后,為全雙工通信,數據傳輸速度總體來(lái)說(shuō)比I2C總線(xiàn)要快,速度可達到幾Mbps。 SPI接口是以主從方式工作的,這種模式通常有一個(gè)主器件和一個(gè)或多個(gè)從器件,其接口包括以下四種信號: (1)MOSI – 主器件數據輸出,從器件數據輸入 (2)MISO – 主器件數據輸入,從器件數據輸出 (3)SCLK – 時(shí)鐘信號,由主器件產(chǎn)生 (4)/SS – 從器件使能信號,由主器件控制 ![]() 在點(diǎn)對點(diǎn)的通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,顯得簡(jiǎn)單高效。 在多個(gè)從器件的系統中,每個(gè)從器件需要獨立的使能信號,硬件上比I2C系統要稍微復雜一些。 ![]() SPI接口在內部硬件實(shí)際上是兩個(gè)簡(jiǎn)單的移位寄存器,傳輸的數據為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后。如下圖所示,在SCLK的下降沿上數據改變,同時(shí)一位數據被存入移位寄存器。 ![]() SPI接口內部硬件圖示: ![]() SPI接口的一個(gè)缺點(diǎn):沒(méi)有指定的流控制,沒(méi)有應答機制確認是否接收到數據。 CAN總線(xiàn)CAN(Controller Area Network)是ISO國際標準化的串行通信協(xié)議。廣泛應用于汽車(chē)、船舶等。具有已經(jīng)被大家認可的高性能和可靠性。 CAN控制器通過(guò)組成總線(xiàn)的2根線(xiàn)(CAN-H和CAN-L)的電位差來(lái)確定總線(xiàn)的電平,在任一時(shí)刻,總線(xiàn)上有2種電平:顯性電平和隱性電平。 “顯性”具有“優(yōu)先”的意味,只要有一個(gè)單元輸出顯性電平,總線(xiàn)上即為顯性電平,并且,“隱性”具有“包容”的意味,只有所有的單元都輸出隱性電平,總線(xiàn)上才為隱性電平。(顯性電平比隱性電平更強)。 總線(xiàn)上執行邏輯上的線(xiàn)“與”時(shí),顯性電平的邏輯值為“0”,隱性電平為“1”。 下圖顯示了一個(gè)典型的CAN拓撲連接圖。 連接在總線(xiàn)上的所有單元都能夠發(fā)送信息,如果有超過(guò)一個(gè)單元在同一時(shí)刻發(fā)送信息,有最高優(yōu)先級的單元獲得發(fā)送的資格,所有其它單元執行接收操作。 CAN總線(xiàn)協(xié)議具有下面的特點(diǎn): 1) 多主控制。當總線(xiàn)空閑時(shí),連接到總線(xiàn)上的所有單元都可以啟動(dòng)發(fā)送信息,這就是所謂的多主控制的概念。先占有總線(xiàn)的設備獲得在總線(xiàn)上進(jìn)行發(fā)送信息的資格。這就是所謂的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法。如果多個(gè)設備同時(shí)開(kāi)始發(fā)送信息,那么發(fā)送最高優(yōu)先級ID消息的設備獲得發(fā)送資格。 2) 信息的發(fā)送。在CAN協(xié)議中,所有發(fā)送的信息要滿(mǎn)足預先定義的格式。當總線(xiàn)沒(méi)有被占用的時(shí)候,連接在總線(xiàn)上的任何設備都能起動(dòng)新信息的傳輸,如果兩個(gè)或更多個(gè)設備在同時(shí)刻啟動(dòng)信息的傳輸,通過(guò)ID來(lái)決定優(yōu)先級。ID并不是指明信息發(fā)送的目的地,而是指示信息的優(yōu)先級。如果2個(gè)或者更多的設備在同一時(shí)刻啟動(dòng)信息的傳輸,在總線(xiàn)上按照信息所包含的ID的每一位來(lái)競爭,贏(yíng)得競爭的設備(也就是具有最高優(yōu)先級的信息)能夠繼續發(fā)送,而失敗者則立刻停止發(fā)送并進(jìn)入接收操作。因為總線(xiàn)上同一時(shí)刻只可能有一個(gè)發(fā)送者,而其它均處于接收狀態(tài),所以,并不需要在底層協(xié)議中定義地址的概念。 3) 系統的靈活性。連接到總線(xiàn)上的單元并沒(méi)有類(lèi)似地址這樣的標識,所以,添加或去除一個(gè)設備,無(wú)需改變軟件和硬件,或其它設備的應用層軟件。 4) 通信速度?梢栽O置任何通訊速度,以適應網(wǎng)絡(luò )規模。對一個(gè)網(wǎng)絡(luò ),所有單元必須有相同的通訊速度,如果不同,就會(huì )產(chǎn)生錯誤,并妨礙網(wǎng)絡(luò )通訊,然而,不同網(wǎng)絡(luò )間可以有不同的通訊速度。 5) 遠程數據請求?梢酝ㄟ^(guò)發(fā)送“遙控幀”,請求其他單元發(fā)送數據。 6) 錯誤檢測、錯誤通知、錯誤恢復功能。所有單元均可以檢測出錯誤(錯誤檢測功能)。檢測到錯誤的單元立刻同時(shí)通知其它所有的單元(錯誤通知功能)。如果一個(gè)單元發(fā)送信息時(shí)檢測到一個(gè)錯誤,它會(huì )強制終止信息傳輸,并通知其它所有設備發(fā)生了錯誤,然后它會(huì )重傳直到信息正常傳輸出去(錯誤恢復功能)。 7) 錯誤隔離。在CAN總線(xiàn)上有兩種類(lèi)型的錯誤:暫時(shí)性的錯誤(總線(xiàn)上的數據由于受到噪聲的影響而暫時(shí)出錯);持續性的錯誤(由于設備內部出錯(如驅動(dòng)器壞了、連接有問(wèn)題等)而導致的)。CAN能夠區別這兩種類(lèi)型,一方面降低常出錯單元的通訊優(yōu)先級以阻止對其它正常設備的影響,另一方面,如果是一種持續性的錯誤,將這個(gè)設備從總線(xiàn)上隔離開(kāi)。 8) 連接。CAN總線(xiàn)允許多個(gè)設備同時(shí)連接到總線(xiàn)上且在邏輯上沒(méi)有數目上的限制。然而由于延遲和負載能力的限制,實(shí)際可連接得設備還是有限制的,可以通過(guò)降低通訊速度來(lái)增加連接的設備個(gè)數。相反,如果連接的設備少,通訊的速度可以增加。 USB總線(xiàn)連接計算機外設的串行數據總線(xiàn),其技術(shù)的發(fā)展一直非常緩慢。1969年EIA推出的RS-232C串行總線(xiàn)至今仍是連接計算機外設的主流串行總線(xiàn)。盡管在20世紀70年代和80年代陸續推出了RS-422A、RS-449、RS-485和RS-530等串行總線(xiàn)(其中RS-449的設計初衷是想取代 RS-232C,而RS-530則是想取代RS-449),但由于種種原因都沒(méi)有改變RS-232C先入為主的主導地位。因此,長(cháng)期以來(lái),串行總線(xiàn)只用于連接慢速外設或用作低速網(wǎng)絡(luò )的總線(xiàn)。 通用串行總線(xiàn)(Universal Serial Bus,USB)是1995年Microsoft、Compaq、IBM等公司聯(lián)合制定的一種新的計算機串行通信協(xié)議。USB協(xié)議得到各PC廠(chǎng)商、芯片制造商和PC外設廠(chǎng)商的廣泛支持。從當初的0.7、0.8版本到現在廣泛采用的1.0、1.1版本,甚至到正在逐步推廣的2.0版本,USB本身也在不斷地發(fā)展和完善。 通用串行總線(xiàn)是一種將USB外圍設備連接到主機的外部總線(xiàn)結構,它通過(guò)PCI總線(xiàn)和PC的內部系統數據線(xiàn)連接,實(shí)現數據傳送。USB同時(shí)又是一種通信協(xié)議,它支持主系統和USB外圍設備之間的數據傳送,通過(guò)一個(gè)4針的標準插頭,采用菊花鏈形式把所有的外設連接起來(lái)。 USB主要具有以下優(yōu)點(diǎn): (1) 支持熱插拔(hot plug)和即插即用(Plug-and-Play),即在不關(guān)機的情況下可以安全地插上或斷開(kāi)USB設備,動(dòng)態(tài)加載驅動(dòng)程序。 (2) 為所有的USB外設提供單一的、易于操作的標準連接類(lèi)型,排除了外設對系統資源的需求,因此減少了硬件的復雜性和對端口的占用,整個(gè)USB系統只有一個(gè)端口和一個(gè)中斷,節省了系統資源。 (3) USB1.1提供全速12 Mb/s和低速1.5 Mb/s的模式,USB2.0提供高達480 Mb/s的傳輸速率。 (4) 為了適應各種不同類(lèi)型外設的要求,USB提供了四種不同的數據傳輸類(lèi)型。 (5) 易于擴展,理論上最多可支持127個(gè)設備。 液晶控制板大平面顯示器通常由LCD構成。其中每個(gè)像素都由一個(gè)液晶體構成。LCD顯示器到系統的接口獨具特點(diǎn),這主要因為L(cháng)CD像素陣列能夠被隨機訪(fǎng)問(wèn)。早期的液晶顯示控制板被稱(chēng)為被動(dòng)矩陣,它依靠一個(gè)二維的電線(xiàn)網(wǎng)絡(luò )來(lái)編址像素,F代液晶顯示控制板顯示器使用一種主動(dòng)矩陣系統,它給每個(gè)像素配置轉發(fā)器,以此來(lái)控制、訪(fǎng)問(wèn)LCD顯示器。主動(dòng)矩陣顯示器提供了更高的對比度和顯示質(zhì)量。 觸摸屏觸摸屏是覆蓋在輸出設備上的輸入設備,用來(lái)記錄觸摸位置。把觸摸屏覆蓋在顯示器上,使用者可以對顯示的信息作出反應。 觸摸屏按其工作原理不同分為表面聲波屏、電容屏、電阻屏和紅外屏等。其中常見(jiàn)的觸摸屏是電阻式觸摸屏。電阻式觸摸屏用二維電壓表來(lái)探測位置。觸摸屏由兩層被許多細小的透明隔離球隔開(kāi)的導電薄層組成。當手指或筆觸摸屏幕時(shí),平;ハ嘟^緣的導電層在觸摸點(diǎn)位置有了一個(gè)接觸。在頂層的導電層上加上電壓,它的電阻就在穿過(guò)該層時(shí)產(chǎn)生電勢差;然后頂層在接觸點(diǎn)對電壓采樣;最后用模/數轉換器來(lái)測量電壓,以此得出位置。 網(wǎng)絡(luò )設備以太網(wǎng)接口以太網(wǎng)是最廣泛應用的局域網(wǎng)絡(luò )技術(shù),實(shí)現了在小區域(如一個(gè)辦公室)范圍內連接計算機。以太網(wǎng)數據速率為10 Mb/s,而快速以太網(wǎng)(Fast Ethernet)數據速率為100 Mb/s。最常用的以太網(wǎng)協(xié)議是IEEE 802.3標準,媒體的存取規則采用CSMA/CD(載波檢測多路存取/沖突檢測),F代的操作系統均能同時(shí)支持這些協(xié)議標準,因此對嵌入式系統的應用來(lái)說(shuō),考慮系統精簡(jiǎn)因素,只需要支持這一種就夠了,除非有特殊需要,否則沒(méi)有必要支持太多協(xié)議。 以太網(wǎng)的數據傳輸有以下特點(diǎn): (1) 所有數據位的傳輸由低位開(kāi)始,傳輸的位流采用曼徹斯特編碼。 (2) 以太網(wǎng)傳輸的數據段長(cháng)度最小為60字節,最大為1514字節。 (3) 通常以太網(wǎng)卡可以接收來(lái)自三種地址的數據,即廣播地址、多播地址(在嵌入式系統中很少使用)和它自己的地址。但有時(shí)用于網(wǎng)絡(luò )分析和監控,網(wǎng)卡也可以設置為接收任何數據包。 (4) 任何兩個(gè)網(wǎng)卡的物理地址都是不一樣的。網(wǎng)卡地址由專(zhuān)門(mén)結構分配,不同廠(chǎng)家使用不同地址段,同一廠(chǎng)家的任意兩個(gè)網(wǎng)卡的地址也是唯一的。 藍牙藍牙,是一種無(wú)線(xiàn)個(gè)人局域網(wǎng)(Wireless PAN),最初由愛(ài)立信創(chuàng )制,后來(lái)由藍牙技術(shù)聯(lián)盟訂定技術(shù)標準。能在包括移動(dòng)電話(huà)、PDA、無(wú)線(xiàn)耳機、筆記本電腦、相關(guān)外設等眾多設備之間進(jìn)行無(wú)線(xiàn)信息交換。利用“藍牙”技術(shù),能夠有效地簡(jiǎn)化移動(dòng)通信終端設備之間的通信,也能夠成功地簡(jiǎn)化設備與因特網(wǎng)Internet之間的通信,從而數據傳輸變得更加迅速高效,為無(wú)線(xiàn)通信拓寬道路。藍牙采用分散式網(wǎng)絡(luò )結構以及快跳頻和短包技術(shù),支持點(diǎn)對點(diǎn)及點(diǎn)對多點(diǎn)通信,工作在全球通用的2.4GHz ISM(即工業(yè)、科學(xué)、醫學(xué))頻段。其數據速率為1Mbps。采用時(shí)分雙工傳輸方案實(shí)現全雙工傳輸。 WIFIWIFI一般指Wi-Fi,Wi-Fi是一種可以將個(gè)人電腦、手持設備(如pad、手機)等終端以無(wú)線(xiàn)方式互相連接的技術(shù),事實(shí)上它是一個(gè)高頻無(wú)線(xiàn)電信號。無(wú)線(xiàn)保真是一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )通信技術(shù)的品牌,由Wi-Fi聯(lián)盟所持有。目的是改善基于IEEE 802.11標準的無(wú)線(xiàn)網(wǎng)路產(chǎn)品之間的互通性。有人把使用IEEE 802.11系列協(xié)議的局域網(wǎng)就稱(chēng)為無(wú)線(xiàn)保真。甚至把無(wú)線(xiàn)保真等同于無(wú)線(xiàn)網(wǎng)際網(wǎng)路(Wi-Fi是WLAN的重要組成部分)關(guān)于"Wi-Fi”這個(gè)縮寫(xiě)詞的發(fā)音,根據英文標準韋伯斯特詞典的讀音注釋?zhuān)瑯藴拾l(fā)音為/ˈwaɪ.faɪ/因為Wi-Fi這個(gè)單詞是兩個(gè)單詞組成的,所以書(shū)寫(xiě)形式最好為WI-FI,這樣也就不存在所謂專(zhuān)家所說(shuō)的讀音問(wèn)題,同理有HI-FI(/haɪ.faɪ/)。 標準串行通信接口標準異步串行通信接口主要有以下幾類(lèi):RS-232C、RS-422和RS-485。RS-232C是美國電子工業(yè)協(xié)會(huì )(EIA)正式公布的、在異步串行通信中應用最廣的標準總線(xiàn),適合短距離或帶調制解調器的通信場(chǎng)合。為了提供數據傳輸速率和通信距離,EIA又公布了RS-422和RS-485串行總線(xiàn)接口標準。 RS-232C是美國電子工業(yè)協(xié)會(huì )(Electronic Industry Association,EIA)制定的在數據終端設備(Data Terminal Equipment,DTE)和數據通信設備(Data Communication Equipment,DCE)之間進(jìn)行串行二進(jìn)制數據交換的接口。RS是英文“推薦標準”的縮寫(xiě),232為標識號,C表示修改次數。RS-232C標準是一種硬件協(xié)議,規定了21個(gè)信號和25個(gè)引腳,用于連接DTE和DCE兩種設備。 RS-232C標準規定的數據傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200 b/s等;驅動(dòng)器允許有不超過(guò)2500 pF的電容負載,通信距離將受此電容限制。例如,當信號傳輸速率為20 kb/s時(shí),最大傳輸距離為15 m。傳輸距離短的另一個(gè)原因是RS-232C屬于單端信號傳送,存在共地噪聲和不能抑制共模干擾等問(wèn)題,因此一般用于短距離通信。 RS-232C接口的缺點(diǎn)主要表現在兩個(gè)方面:數據傳輸速率慢和傳輸距離短。RS-232C規定的20 kb/s的傳輸速率雖然能夠滿(mǎn)足異步通信要求(通常異步通信速率限制在19.2 kb/s以下),但對某些同步系統來(lái)說(shuō)不能滿(mǎn)足傳輸速率要求。此外,RS-232C接口的一般設備之間電纜長(cháng)度為15 m,最長(cháng)也不會(huì )超過(guò)60 m。 RS-422是EIA公布的“平衡電壓數字接口電路的電氣特性”標準,是為改善RS-232C標準的電氣特性、又考慮與RS-232C兼容而制定的。RS-422與RS-232C的關(guān)鍵差別在于把單端輸入改為雙端差分輸入,雙方的信號地不再共用。 RS-422給出了對電纜、驅動(dòng)器的要求,規定了雙端電氣接口形式,并使用雙絞線(xiàn)傳送信號。與RS-232C相比,RS-422傳輸信號距離長(cháng)、速度快。傳輸率最大為10 Mb/s,在此速率下,電纜允許長(cháng)度為120 m。如果采用較低傳輸速率,如90 kb/s,則最大距離可達1200 m。 RS-485是RS-422的變型,RS-422是全雙工的,可以同時(shí)發(fā)送與接收;而RS-485是半雙工的,在某一時(shí)刻,只能一個(gè)發(fā)送另一個(gè)接收。 RS-485是一種多發(fā)送器的電路標準,它擴展了RS-422的性能,允許雙線(xiàn)總線(xiàn)上驅動(dòng)32個(gè)負載設備。負載設備可以是被動(dòng)發(fā)送器、接收器或二者組合而成的收發(fā)器。當用于多點(diǎn)互連時(shí),可節省信號線(xiàn),便于高速遠距離傳送。許多智能儀器設備配有RS-485總線(xiàn)接口,便于將它們進(jìn)行聯(lián)網(wǎng)。 UART提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其他使用RS-232C接口的串行設備進(jìn)行通信。作為接口的一部分,UART還提供了以下功能:將計算機外部傳來(lái)的串行數據轉換為字節,供計算機內部使用并行數據的器件使用;將由計算機內部傳送過(guò)來(lái)的并行數據轉換為輸出的串行數據;在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進(jìn)行奇偶校驗;在輸出的數據流中加入“起”、“止”標記,并從接收數據流中刪除“起”、“止”標記;處理計算機與外部串行設備的同步管理問(wèn)題;處理由鍵盤(pán)或鼠標發(fā)出的中斷信號(鍵盤(pán)和鼠標也是串行設備)。 相對于微處理器,一臺UART是作為一個(gè)甚至多個(gè)存儲點(diǎn)或I/O端口的。UART一般包括一個(gè)或多個(gè)狀態(tài)寄存器,用于驗證數據傳輸和接收時(shí)的狀態(tài)、進(jìn)程。微處理器能夠判斷何時(shí)已收到一個(gè)字節、何時(shí)已發(fā)送一個(gè)字節、是否產(chǎn)生通信錯誤等。UART還可以通過(guò)一個(gè)或多個(gè)控制寄存器進(jìn)行配置,配置內容包括波特率的設置、終止位數量的設置以及在發(fā)送字節時(shí)產(chǎn)生中斷等。異步通信在UART上幾乎是透明地運行,為了收、發(fā)數據,只需運行程序,簡(jiǎn)單地在UART上執行讀/寫(xiě)操作。 |