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