版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章嵌入式系統(tǒng)概述本章介紹嵌入式系統(tǒng)的一些基本知識(shí),包括嵌入式系統(tǒng)的概念、發(fā)展、特點(diǎn)、組成、 分類、嵌入式微處理器系列和嵌入式系統(tǒng)中信息表示與運(yùn)算基礎(chǔ)等。通過(guò)本章的學(xué)習(xí),讀 者將建立起對(duì)嵌入式系統(tǒng)的初步的宏觀認(rèn)識(shí),為今后的深入學(xué)習(xí)和研究打下基礎(chǔ)。1.1嵌入式系統(tǒng)的發(fā)展嵌入式系統(tǒng)的概念什么是嵌入式系統(tǒng)?隨著嵌入式系統(tǒng)在人們實(shí)際生活中的應(yīng)用越來(lái)越廣泛,這個(gè)基本 問(wèn)題的確切定義引發(fā)了許多爭(zhēng)論。嵌入式系統(tǒng)本身是一個(gè)相對(duì)模糊的定義。人們很少會(huì)意識(shí)到他們往往隨身攜帶了好幾 個(gè)嵌入式系統(tǒng)一一MP3、手機(jī)或者智能卡,而且他們?cè)谂c汽車、電梯、廚房設(shè)備、電視、 錄像機(jī)以及娛樂(lè)系統(tǒng)的嵌入式系統(tǒng)交互時(shí)也往往對(duì)此毫無(wú)
2、察覺(jué)。嵌入式系統(tǒng)早期主要應(yīng)用 于軍事和航空、航天等領(lǐng)域,以后逐步廣泛地應(yīng)用于工業(yè)控制、儀器儀表、汽車電子、通 信和家用消費(fèi)類等領(lǐng)域。正是“看不見(jiàn)”這一特性將嵌入式計(jì)算機(jī)與通用PC計(jì)算機(jī)區(qū)分開(kāi)來(lái)。目前存在多種嵌入式系統(tǒng)的定義,有的是從嵌入式系統(tǒng)的應(yīng)用定義的,有的是從嵌入 式系統(tǒng)的組成定義的,也有的是從其他方面進(jìn)行定義的,下面給出兩種比較常見(jiàn)的定義。第一種,根據(jù)IEEE (國(guó)際電氣和電子工程師協(xié)會(huì))的定義:嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”(原文為devices used to control, monitor, or assist theoperation of equi
3、pment, machinery or plants )。可以看出此定義是從應(yīng)用上考慮的,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋 機(jī)電等附屬裝置。第二種定義:嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟/硬件可裁剪,功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。廣而言之,可以認(rèn)為凡是帶 有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)。嵌入式系統(tǒng)采用“量體裁衣”的方 式把所需的功能嵌入到各種應(yīng)用系統(tǒng)中,它融合了計(jì)算機(jī)軟/硬件技術(shù)、通信技術(shù)和半導(dǎo)體微電子技術(shù),是信息技術(shù)IT ( Information Technology )的最終產(chǎn)品。嵌入式系統(tǒng)的發(fā)展史嵌入式系統(tǒng)從出現(xiàn)至今已歷
4、經(jīng)30多年的時(shí)間,發(fā)展歷史悠久。早在電子數(shù)字計(jì)算機(jī)出現(xiàn)之前就有了把計(jì)算裝置嵌入在系統(tǒng)和設(shè)備之中的嵌入式系統(tǒng),如把計(jì)算機(jī)嵌入到導(dǎo)彈等 武器和航天器中。但是直到20世紀(jì)60年代末(集成電路化的第三代計(jì)算機(jī)時(shí)期),隨著微電子技術(shù)的發(fā)展,嵌入式計(jì)算機(jī)才逐步興起。近幾年來(lái),隨著計(jì)算機(jī)、通信、消費(fèi)電子 的一體化趨勢(shì)日益明顯,嵌入式技術(shù)已成為一個(gè)研究熱點(diǎn)??v觀嵌入式技術(shù)的發(fā)展過(guò)程, 大致經(jīng)歷4個(gè)階段。第一階段是以單芯片為核心的可編程控制器形式的系統(tǒng),具有與監(jiān)測(cè)、伺服、指示設(shè) 備相配合的功能。這類系統(tǒng)大部分應(yīng)用于一些專業(yè)性強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒(méi)有操作 系統(tǒng)的支持,通過(guò)匯編語(yǔ)言編程對(duì)系統(tǒng)進(jìn)行直接控制。這一階
5、段系統(tǒng)的主要特點(diǎn)是:系統(tǒng) 結(jié)構(gòu)和功能相對(duì)單一,處理效率較低,存儲(chǔ)容量較小,幾乎沒(méi)有用戶接口。由于這種嵌入 式系統(tǒng)使用簡(jiǎn)單、價(jià)格低,以前在國(guó)內(nèi)工業(yè)領(lǐng)域應(yīng)用較為普遍,但是已經(jīng)遠(yuǎn)遠(yuǎn)不能適應(yīng)高 效的、需要大容量存儲(chǔ)的現(xiàn)代工業(yè)控制和新興信息家電等領(lǐng)域的需求。第二階段是以嵌入式 CPU為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng)。主要特點(diǎn)是:CPU種類繁多,通用性比較弱;系統(tǒng)開(kāi)銷小,效率高;操作系統(tǒng)達(dá)到一定的兼容性和擴(kuò)展 性;應(yīng)用軟件較專業(yè)化,用戶界面不夠友好。第三階段是以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)。主要特點(diǎn)是:嵌入式操作系統(tǒng)能 運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核小、效率高,并且具有
6、高度 的模塊化和擴(kuò)展性;具有文件和目錄管理、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等 功能;具有大量的應(yīng)用程序接口 API,開(kāi)發(fā)應(yīng)用程序較簡(jiǎn)單;嵌入式應(yīng)用軟件豐富。第四階段是以In ternet為標(biāo)志的嵌入式系統(tǒng)。 這是一個(gè)正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于In ternet之外,但隨著In ternet的發(fā)展以及In ternet技術(shù)與信息家電工業(yè)控制技術(shù)結(jié)合日益密切,嵌入式設(shè)備與 綜上所述,嵌入式系統(tǒng)技術(shù)日益完善, 操作系統(tǒng)已經(jīng)從簡(jiǎn)單走向成熟,它與網(wǎng)絡(luò)、 將日益廣泛。In ternet的結(jié)合將代表嵌入式系統(tǒng)的未來(lái)。32位微處理器在該系統(tǒng)中占主導(dǎo)地位,嵌入式 In ternet
7、結(jié)合日益密切,因而,嵌入式系統(tǒng)應(yīng)用嵌入式系統(tǒng)的特點(diǎn)與通用型計(jì)算機(jī)系統(tǒng)相比,嵌入式計(jì)算機(jī)系統(tǒng)具有以下特點(diǎn):1. 嵌入式系統(tǒng)通常是面向特定應(yīng)用的。嵌入式CPU與通用型的最大不同之處就是嵌入式CPU大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中,它通常都具有低功耗、體積小、集成度 高等特點(diǎn),能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式 系統(tǒng)設(shè)計(jì)趨于小型化,移動(dòng)能力大大增強(qiáng),與網(wǎng)絡(luò)的耦合也越來(lái)越緊密。2. 嵌入式系統(tǒng)是將計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,是一門綜合技術(shù)學(xué)科。由于空間和各種資源相對(duì)不足,嵌入式系統(tǒng)的硬件和軟 件都必須高效率地設(shè)計(jì),量體裁衣、
8、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力。3. 嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行的,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),就具有較長(zhǎng)的生命周期。4. 為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存儲(chǔ)于磁盤等載體中。5. 嵌入式系統(tǒng)本身不具備自舉開(kāi)發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也不能對(duì)其中的程序功能進(jìn)行修改,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)。1.2嵌入式系統(tǒng)的分類根據(jù)不同的分類標(biāo)準(zhǔn),嵌入式系統(tǒng)有不同的分類方法。這里根據(jù)嵌入式系統(tǒng)的復(fù)雜程 度,可以將嵌入式系
9、統(tǒng)分為以下4類。1 單個(gè)微處理器這類系統(tǒng)一般由單片嵌入式處理器組成,嵌入式處理器上集成了存儲(chǔ)器I/O設(shè)備、接口設(shè)備(如A/D轉(zhuǎn)換器)等,嵌入式處理器加上簡(jiǎn)單的元件如電源、時(shí)鐘元件等就可以工 作。單個(gè)微處理器這類系統(tǒng)可以在小型設(shè)備中(如溫度傳感器、煙霧和氣體探測(cè)器及斷路 器)找到。這類設(shè)備是供應(yīng)商根據(jù)設(shè)備的用途來(lái)設(shè)計(jì)的。常用的嵌 入式處理器如 Philips公司的 89LPCxxx公司系列, Motorola公司 的 MC68HC05、08 系列等。2 嵌入式處理器可擴(kuò)展的系統(tǒng)這類嵌入式系統(tǒng)使用的處理器根據(jù)需要,可以擴(kuò)展存儲(chǔ)器,也可以使用片上的存儲(chǔ)器,處理器一般容量在 64KB左右,字長(zhǎng)為8位或
10、16位。在處理器上擴(kuò)充少量的存儲(chǔ)器和外部 接口,以構(gòu)成嵌入式系統(tǒng)。這類系統(tǒng)可在過(guò)程控制、信號(hào)放大器、位置傳感器及閥門傳動(dòng) 器等中找到。3 .復(fù)雜的嵌入式系統(tǒng)組成這樣的嵌入式系統(tǒng)的嵌入式處理器一般是16位、32位等,用于大規(guī)模的應(yīng)用,由于軟件量大,因此需要擴(kuò)展存儲(chǔ)器。 擴(kuò)展存儲(chǔ)器一般在 1MB以上,外部設(shè)備接口一般仍 然集成在處理器上,常用的嵌入式處理器有ARM系列、Motorola公司的PowerPC系列、Coldfire系列等。這類系統(tǒng)可見(jiàn)于開(kāi)關(guān)裝置、控制器、電話交換機(jī)、電梯、數(shù)據(jù)采集系統(tǒng)、醫(yī)藥監(jiān)視系 統(tǒng)、診斷及實(shí)時(shí)控制系統(tǒng)等。它們是一個(gè)大系統(tǒng)的局部組件,由它們的傳感器收集數(shù)據(jù)并 傳遞給該系
11、統(tǒng)。這種組件可同計(jì)算機(jī)一起操作,并可包括某種數(shù)據(jù)庫(kù)(如事件數(shù)據(jù)庫(kù))。4 在制造或過(guò)程控制中使用的計(jì)算機(jī)系統(tǒng)對(duì)于這類系統(tǒng),計(jì)算機(jī)與儀器、機(jī)械及設(shè)備相連來(lái)控制這些裝置的工作。這類系統(tǒng)包 括自動(dòng)倉(cāng)儲(chǔ)系統(tǒng)和自動(dòng)發(fā)貨系統(tǒng)。在這些系統(tǒng)中,計(jì)算機(jī)用于總體控制和監(jiān)視,而不是對(duì) 單個(gè)設(shè)備直接控制。過(guò)程控制系統(tǒng)可與業(yè)務(wù)系統(tǒng)連接(如根據(jù)銷售額和庫(kù)存量來(lái)決定訂單 或產(chǎn)品量)。在許多種情況下,兩個(gè)功能獨(dú)立的子系統(tǒng)可在一個(gè)主系統(tǒng)操作下一同運(yùn)行。 如控制系統(tǒng)和安全系統(tǒng):控制子系統(tǒng)控制處理過(guò)程,以使系統(tǒng)中的不同設(shè)備能正確地操作 和相互作用于生產(chǎn)產(chǎn)品;而安全子系統(tǒng)則用來(lái)降低那些會(huì)影響人身安全或危害環(huán)境的誤操 作風(fēng)險(xiǎn)。1.3嵌入
12、式處理器嵌入式處理器是嵌入式系統(tǒng)的核心。目前據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種總量已經(jīng)超過(guò)1000種,流行體系結(jié)構(gòu)有30幾個(gè)系列,其中8051體系的占有多半。生產(chǎn) 8051單片機(jī)的半導(dǎo)體廠家有 20多個(gè), 超過(guò)了 350種衍生產(chǎn)品,僅 Philips就有近100種?,F(xiàn)在幾乎每個(gè)半導(dǎo)體制造商都生產(chǎn)嵌入 式處理器,越來(lái)越多的公司有自己的處理器設(shè)計(jì)部門。嵌入式處理器的尋址空間一般為 64KB16MB,處理速度為 0.1 MIPS2000 MIPS,常用封裝為 8144個(gè)引腳。根據(jù)其現(xiàn)狀, 嵌入式處理器可以分成嵌入式微控制器(EMCU )、嵌入式 DSP處理器(EDSP)、嵌入式微處理器(EMPU
13、 )、嵌入式片上系統(tǒng)(ESoC) 4類(如圖1-1所示)。圖1-1嵌入式處理器分類1. 嵌入式微處理器(Embedded Microprocessor Un it, EMPU )嵌入式微處理器的基礎(chǔ)是通用計(jì)算機(jī)中的CPU。在應(yīng)用中,將微處理器裝配在專門設(shè)計(jì)的電路板上,只保留和嵌入式應(yīng)用有關(guān)的母板功能,這樣可以大幅度地減小系統(tǒng)體積和 功耗。為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器雖然在功能上和標(biāo)準(zhǔn)微處理器基 本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強(qiáng)。和工業(yè)控制計(jì)算機(jī)相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的 優(yōu)點(diǎn),但是在電路板上必須包括ROM、RA
14、M、總線接口、各種外設(shè)等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也較差。嵌入式微處理器及其存儲(chǔ)器、總線、外設(shè)等安裝在一 塊電路板上,稱為單板計(jì)算機(jī),如STD-BUS、PC104等。近年來(lái),德國(guó)、日本的一些公司又開(kāi)發(fā)出了類似“火柴盒”式名片大小的嵌入式計(jì)算機(jī)系列OEM產(chǎn)品。嵌入式處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。2. 嵌入式微控制器(Embedded Microco ntroller Un it, EMCU )嵌入式微控制器又稱單片機(jī),顧名思義,就是將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片中。嵌入式微控制器一般以某一種微處理器
15、內(nèi)核為核心,芯片內(nèi)部集成ROM/EPROM、RAM、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、WatchDog、I/O、串行口、脈寬調(diào)制輸出、A/D、D/A、Flash RAM、EEPROM等各種必要的功能和外設(shè)。為適應(yīng)不同的應(yīng)用需求,一般一個(gè)系列的單片機(jī)具有多種衍生產(chǎn)品,每種衍生產(chǎn)品的處理器內(nèi)核都是一樣的,不同的是存儲(chǔ)器和外設(shè)的 配置及封裝。這樣可以使單片機(jī)最大限度地和應(yīng)用需求相匹配,功能不多不少,從而減少 功耗和成本。和嵌入式微處理器相比,微控制器的最大特點(diǎn)是單片化,體積大大減小,從而使功耗 和成本下降、可靠性提高。微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè) 資源一般比較豐富,適合于控制,
16、因此稱微控制器。嵌入式微控制器目前的品種和數(shù)量最多,比較有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300 等。另外還有許多半 通用系列,如支持 USB 接口的 MCU 8XC930/931、C540、C541 ;支持 IIC、CAN-Bus、LCD 及眾多專用MCU和兼容系列。目前 MCU占嵌入式系統(tǒng)約70%的市場(chǎng)份額。特別值得注意的是近年來(lái)提供X86微處理器的著名廠商AMD 公司,將 Am186CC/CH/CU 等嵌入式處理器稱之為 Microcontroller ,Motorola公司
17、把以Power PC為 基礎(chǔ)的PPC505和PPC555亦列入單片機(jī)行列。TI公司亦將其 TMS320C2XXX 系列DSP作 為MCU進(jìn)行推廣。3. 嵌入式 DSP 處理器(Embedded Digital Signal Processor, EDSP)DSP處理器對(duì)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其適合于執(zhí)行 DSP算法,編譯效率較高,指令執(zhí)行速度也較高。在數(shù)字濾波、FFT、譜分析等方面 DSP算法正在大量進(jìn)入嵌入式領(lǐng)域,DSP應(yīng)用正從在通用單片機(jī)中以普通指令實(shí)現(xiàn)DSP功能,過(guò)渡到采用嵌入式DSP處理器。嵌入式 DSP處理器有兩個(gè)發(fā)展來(lái)源:一是DSP處理器經(jīng)過(guò)單片化、EMC改造、增加片上外
18、設(shè)成為嵌入式DSP處理器,TI的TMS320C2000 /C5000等屬于此范疇;二是在通用單片機(jī)或 SOC中增加DSP協(xié)處理器,例如In tel的MCS-296和Infin eo n(Sieme ns) 的 TriCore。推動(dòng)嵌入式DSP處理器發(fā)展的另一個(gè)因素是嵌入式系統(tǒng)的智能化,例如各種帶有智能邏輯的消費(fèi)類產(chǎn)品,生物信息識(shí)別終端,帶有加解密算法的鍵盤,ADSL接入、實(shí)時(shí)語(yǔ)音壓解系統(tǒng),虛擬現(xiàn)實(shí)顯示等。這類智能化算法一般都是運(yùn)算量較大,特別是向量運(yùn)算、指 針線性尋址等較多,而這些正是DSP處理器的長(zhǎng)處所在。嵌入式 DSP處理器比較有代表性的產(chǎn)品是Texas Instruments的TMS32
19、0系列和Motorola的DSP56000系列。TMS320系列處理器包括用于控制的C2000系列,移動(dòng)通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已經(jīng)發(fā)展成為DSP56000,DSP56100,DSP56200和DSP56300等幾個(gè)不同系列的處理器。另外Philips公司今年也推出了基于可重置嵌入式DSP結(jié)構(gòu)低成本、低功耗技術(shù)上制造的 R. E. A. L DSP處理器,特點(diǎn)是具備雙Harvard結(jié)構(gòu)和雙乘/累加單元,應(yīng)用目標(biāo)是大批量消費(fèi)類產(chǎn)品。4. 嵌入式片上系統(tǒng)(Embedded System on Chip , ESoC)隨著EDI的推廣和VL
20、SI設(shè)計(jì)的普及化,以及半導(dǎo)體工藝的迅速發(fā)展,在一個(gè)硅片上 實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng)的時(shí)代已來(lái)臨,這就是SoC。各種通用處理器內(nèi)核將作為SoC設(shè)計(jì)公司的標(biāo)準(zhǔn)庫(kù),和許多其他嵌入式系統(tǒng)外設(shè)一樣,成為VLSI設(shè)計(jì)中一種標(biāo)準(zhǔn)的器件,用標(biāo)準(zhǔn)的VHDL等語(yǔ)言描述,存儲(chǔ)在器件庫(kù)中。用戶只需定義出其整個(gè)應(yīng)用系統(tǒng),仿真通 過(guò)后就可以將設(shè)計(jì)圖交給半導(dǎo)體工廠制作樣品。這樣除個(gè)別無(wú)法集成的器件以外,整個(gè)嵌 入式系統(tǒng)大部分均可集成到一塊或幾塊芯片中去,應(yīng)用系統(tǒng)電路板將變得很簡(jiǎn)潔,對(duì)于減 小體積和功耗、提高可靠性非常有利。SoC可以分為通用和專用兩類。 通用系列包括Infin eon的TriCore , Motorola的M
21、-Core , 某些ARM系列器件,Echelon和Motorola聯(lián)合研制的Neuron芯片等。專用 SoC 一般專用 于某個(gè)或某類系統(tǒng)中,不為一般用戶所知。 一個(gè)有代表性的產(chǎn)品是 Philips的Smart XA,它將XA單片機(jī)內(nèi)核和支持超過(guò)2048位復(fù)雜RSA算法的CCU單元制作在一塊硅片上,形成一個(gè)可加載Java或C語(yǔ)言的專用的 SoC,可用于公眾互聯(lián)網(wǎng),如In ternet安全方面。1.4嵌入式系統(tǒng)的組成在小節(jié)中介紹過(guò),嵌入式系統(tǒng)是面向特定應(yīng)用的。實(shí)際應(yīng)用中,絕大多數(shù)嵌入式系統(tǒng)是用戶針對(duì)特定任務(wù)定制的,但就其組成而言,它們一般都是由嵌入式系統(tǒng)的硬件、 嵌入式系統(tǒng)的軟件,開(kāi)發(fā)工具和開(kāi)發(fā)
22、系統(tǒng)這3部分組成的。1 嵌入式系統(tǒng)的硬件嵌入式系統(tǒng)的硬件主要包括以下幾個(gè)模塊,如圖1-2所示。嵌入式核心芯片,嵌入式微處理器、嵌入式微控制器、嵌入式數(shù)字信號(hào)處理器、 嵌入式片上系統(tǒng)。用以保存固件的 ROM (非揮發(fā)性只讀存儲(chǔ)器)。用以保存程序數(shù)據(jù)的 RAM (揮發(fā)性的隨機(jī)訪問(wèn)存儲(chǔ)器)。連接微控制器和開(kāi)關(guān)、按鈕、傳感器、模/數(shù)轉(zhuǎn)化器、控制器、LED (發(fā)光二極管)和顯示器的I/O端口。USBLCDKeyboardOther圖1-2嵌入式系統(tǒng)的硬件組成2 .嵌入式系統(tǒng)的軟件嵌入式系統(tǒng)軟件由嵌入式操作系統(tǒng)和相應(yīng)的各種應(yīng)用程序構(gòu)成。有時(shí)設(shè)計(jì)人員把這兩 種軟件組合在一起。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;
23、而操作系統(tǒng)控制著應(yīng)用程序編程 與硬件的交互作用。嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)(包括 硬、軟件系統(tǒng))極為重要的組成部分,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、 設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系 統(tǒng)的基本特點(diǎn),如能夠有效地管理越來(lái)越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開(kāi)發(fā) 人員從繁忙的驅(qū)動(dòng)程序移植和維護(hù)中解脫出來(lái);能夠提供庫(kù)函數(shù)、驅(qū)動(dòng)程序、工具集以及 應(yīng)用程序。此外,與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)還具有以下特點(diǎn)。編碼體積?。哼m合在嵌入式系統(tǒng)的有限存儲(chǔ)空間中運(yùn)行。面向應(yīng)用,可裁剪和移植:系統(tǒng)功能可根據(jù)
24、需求裁剪、調(diào)整和生成,以滿足最終 產(chǎn)品的設(shè)計(jì)需求,可進(jìn)一步縮小編碼體積,有效地運(yùn)行。實(shí)時(shí)性強(qiáng):軟件要求固態(tài)存儲(chǔ),以提高速度。軟件代碼要求高質(zhì)量、高可靠性和 實(shí)時(shí)性。可靠性高:嵌入式系統(tǒng)可無(wú)須人工干預(yù)獨(dú)立運(yùn)行,并處理各類事件和故障。專用性強(qiáng),嵌入式操作系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的 移植。3 .嵌入式系統(tǒng)的開(kāi)發(fā)工具和開(kāi)發(fā)系統(tǒng)嵌入式系統(tǒng)的硬件和軟件位于嵌入式系統(tǒng)產(chǎn)品本身,開(kāi)發(fā)工具則獨(dú)立于嵌入式系統(tǒng)產(chǎn) 品之外。開(kāi)發(fā)工具一般用于開(kāi)發(fā)主機(jī),包括語(yǔ)言編譯器、連接定位器、調(diào)試器等,這些工 具一起構(gòu)成了嵌入式系統(tǒng)的開(kāi)發(fā)系統(tǒng)和開(kāi)發(fā)工具。1.5嵌入式系統(tǒng)中信息表示與運(yùn)算基礎(chǔ)進(jìn)位計(jì)數(shù)制與轉(zhuǎn)換人們
25、常用的是十進(jìn)制數(shù)制,但計(jì)算機(jī)中為便于存儲(chǔ)及物理實(shí)現(xiàn),采用了二進(jìn)制數(shù)制。二進(jìn)制數(shù)的基數(shù)為 2,只有0和1兩個(gè)數(shù)碼。為了書(shū)寫(xiě)和閱讀的方便,一般使用十六進(jìn)制 數(shù)來(lái)表示二進(jìn)制數(shù),十六進(jìn)制數(shù)的基數(shù)為16,數(shù)碼有:0、1、2、3、4、5、6、7、& 9、A、B、C、D、E和F。本書(shū)中,通常用數(shù)字后面跟一個(gè)英文字母來(lái)表示該數(shù)的數(shù)制。十進(jìn) 制數(shù)用D (Decimal)或省略,二進(jìn)制數(shù)用 B ( Bi nary ),十六進(jìn)制數(shù)用 H ( Hexadecimal) 來(lái)表示。二進(jìn)制數(shù)、十進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的數(shù)碼轉(zhuǎn)換如表1-1所示。表1-1二進(jìn)制數(shù)、十進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的數(shù)碼轉(zhuǎn)換表二進(jìn)制數(shù)十進(jìn)制數(shù)十六
26、進(jìn)制數(shù)000000000111001022001133010044010155011066011177100088100199續(xù)表二進(jìn)制數(shù)十進(jìn)制數(shù)十六進(jìn)制數(shù)101010A101111B110012C110113D111014E111115F100001610計(jì)算機(jī)中數(shù)的表示計(jì)算機(jī)中的數(shù)是用二進(jìn)制數(shù)來(lái)表示的,在某些情況下,要處理的數(shù)全是正數(shù),此時(shí)就 沒(méi)有符號(hào)問(wèn)題,如表示地址的數(shù),為無(wú)符號(hào)數(shù)。8位無(wú)符號(hào)數(shù)的表示的數(shù)的范圍是0255,16位無(wú)符號(hào)數(shù)的表示的數(shù)的范圍是065 535。帶符號(hào)數(shù)與無(wú)符號(hào)數(shù)的處理是有差別的,數(shù)的符號(hào)也是用二進(jìn)制表示的,一般用最高有效位來(lái)表示數(shù)的符號(hào),正數(shù)用0表示,負(fù)數(shù)用1來(lái)
27、表示。為了運(yùn)算方便常用原碼、補(bǔ)碼和反碼表示機(jī)器中的數(shù)。8位二進(jìn)制原碼表示的數(shù)的范圍是-127+127, 16位二進(jìn)制原碼表示的數(shù)的范圍是-32 767+32 767。原碼表示的數(shù)比較直觀,與真實(shí)值轉(zhuǎn)換方便。正數(shù)的反碼表示與原碼相同,負(fù)數(shù)的反碼表示為該數(shù)的原碼除符號(hào)位外按位取反。補(bǔ) 碼表示法中,一個(gè)正數(shù)的補(bǔ)碼仍與原碼相同,即數(shù)的最高有效位為0表示為正數(shù),其余幾位則表示該數(shù)的數(shù)值。一個(gè)負(fù)數(shù)的補(bǔ)碼,最高有效位為1,其余幾位按原碼各位求反,最末位加1。例如,一個(gè)十進(jìn)制數(shù) +98 (十六進(jìn)制 62H )用八位字長(zhǎng)表示的二進(jìn)制原碼為 01100010B,其反碼和補(bǔ)碼也均為 01100010B。而-98的二
28、進(jìn)制原碼為 11100010B,反碼是 10011101B,補(bǔ)碼為 10011110B。非數(shù)值數(shù)據(jù)編碼嵌入式系統(tǒng)不僅能夠?qū)?shù)值數(shù)據(jù)進(jìn)行處理,還能夠?qū)ξ谋竞推渌姆菙?shù)值數(shù)據(jù)信息進(jìn) 行處理。非數(shù)值數(shù)據(jù)是指不能進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù)。除字符之外,非數(shù)值數(shù)據(jù)還包括漢字、聲曰寺。1 字符表示字符包括大小寫(xiě)英文字母、數(shù)字、運(yùn)算符、標(biāo)點(diǎn)符號(hào)等,這些字符在機(jī)器里必須用二進(jìn)制數(shù)來(lái)表示,目前計(jì)算機(jī)中最常用的是ASCII碼(America n Sta ndard Code for In formationInterchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)。這種代碼用一個(gè)字節(jié)(實(shí)際為7位二進(jìn)制碼)來(lái)表示一個(gè)字符,共有 128
29、個(gè)字符。2 .漢字編碼一個(gè)英文字符集,共有 85個(gè)字符(52個(gè)英文大小寫(xiě)字母、10個(gè)數(shù)字字符、23個(gè)標(biāo)點(diǎn) 等圖符),要輸入它們只需要50個(gè)鍵左右的英文鍵盤即可。但是漢字是一種象形字,其數(shù)量多,是任何一種文字沒(méi)有的。根據(jù)對(duì)我國(guó)漢字使用頻度的研究,可把漢字分為:高頻字, 約100個(gè);常用字,約 3000個(gè);次常用字,約 4000個(gè);罕見(jiàn)字,約 8000個(gè);死字,約 4500 個(gè)。即正在使用的漢字字種有一萬(wàn)五千多個(gè)。根據(jù)我國(guó)1981年公布的通信用漢字字符集(基本集)及其交換碼標(biāo)準(zhǔn)GB2312 80方案,把高頻字、常用字和次常用字歸納為漢字基本字符集,共6763個(gè)字。按出現(xiàn)的頻度分為:一級(jí)漢字3755
30、個(gè),二級(jí)漢字3008個(gè),還有西文字母、數(shù)字、圖形符號(hào)等682個(gè),再加上專用漢字和符號(hào),共7445個(gè),這么多的漢字,其輸入成為人們必須花大力氣研究的課題,研究輸入設(shè)備從4個(gè)方面展開(kāi):(1 )整字大鍵盤輸入整字大鍵盤是仿照舊式中文打印機(jī),把漢字按部陣或習(xí)慣排列起來(lái),用光筆選字的輸 入設(shè)備。它比較直觀,但由于尺寸所限,所列出的漢字量只有一級(jí)漢字。同時(shí)在輸入中英 文混寫(xiě)的文件時(shí),輸入速度很慢。(2 )手寫(xiě)輸入手寫(xiě)輸入是正在開(kāi)發(fā)的一種輸入方法,當(dāng)漢字筆畫(huà)很少時(shí), 速度較快;當(dāng)筆畫(huà)較多時(shí),速度也很慢,并且要求書(shū)寫(xiě)要工整。(3 )語(yǔ)音輸入這是目前正在開(kāi)發(fā)中的一種輸入方法,它適合于聯(lián)想及按慣用的修辭方式所表達(dá)
31、的意 思完整的句子。詩(shī)詞、人名、地名以及單個(gè)字的輸入比較困難,而且由于每個(gè)人的發(fā)音的 特殊性,說(shuō)話的音調(diào)、速度、情緒等都會(huì)影響輸入的準(zhǔn)確性。(4)小鍵盤輸入小鍵盤輸入,即是用標(biāo)準(zhǔn)英文鍵盤輸入,這是目前人們已經(jīng)花費(fèi)了大量精力研究的一 種輸入方法。目前已提出的小鍵盤輸入方法有2000種左右,但總體上可分為如下幾種:漢字拼音輸入碼,如全拼碼、雙拼碼等。漢字字形編碼,如五筆字型碼、首尾碼、101碼等。漢字音形編碼。漢字?jǐn)?shù)字編碼,如區(qū)位碼、電報(bào)碼等。小鍵盤輸入的基本原理是:內(nèi)碼與字符一一對(duì)應(yīng),而外碼(輸入碼)與內(nèi)碼具有多對(duì) 一的關(guān)系。即對(duì)于內(nèi)碼可以有不同的輸入方法,或者說(shuō),每一種漢字輸入程序的基本功能,
32、都是將輸入碼轉(zhuǎn)換成內(nèi)碼。漢字的內(nèi)碼是計(jì)算機(jī)內(nèi)部處理和存儲(chǔ)漢字時(shí)使用的代碼,內(nèi)碼 有許多種,但以我國(guó)制定推行的 GB2312 80國(guó)家標(biāo)準(zhǔn)信息交換用漢字編碼(簡(jiǎn)稱國(guó)標(biāo)碼)為最好。國(guó)標(biāo)碼采用兩個(gè)字節(jié)7位漢字編碼方式表示一個(gè)漢字,每個(gè)字節(jié)只使用后7位。這種設(shè)計(jì)雖使得漢字與英文字符完全兼容,但當(dāng)英文字符與漢字混合存儲(chǔ)時(shí),容易發(fā)生沖突。所以只能把國(guó)標(biāo)碼的兩個(gè)字節(jié)的最高位(最左端一位)置1,或者把其中一個(gè)字節(jié)的最高位置1后,作為漢字的內(nèi)碼使用。如此,漢字的內(nèi)碼既兼容英文ASCII碼,又不會(huì)與ASCII碼產(chǎn)生二義性,同時(shí)漢字與國(guó)標(biāo)碼具有很簡(jiǎn)單的一一對(duì)應(yīng)關(guān)系。當(dāng)某一種輸入碼輸入一個(gè)漢字到計(jì)算機(jī)之后,漢字管理模
33、塊立刻將它轉(zhuǎn)換成2字節(jié)長(zhǎng)的GB2312 80國(guó)標(biāo)碼,同時(shí)將國(guó)標(biāo)碼的每個(gè)字節(jié)的最高位置為 1,作為漢字的標(biāo)識(shí)符, 即 將國(guó)標(biāo)碼轉(zhuǎn)換為機(jī)器內(nèi)部的代碼一一漢字內(nèi)部碼。女口:“啊”的國(guó)標(biāo)碼是0011 0000 0001 0010 (3012H)生成的漢字內(nèi)碼為 1011000010010010 (B0A2H )除此之外,使用較多的內(nèi)碼還有HZ碼(國(guó)標(biāo)碼的變形)和大五碼(Big-5 )等。無(wú)論用哪一種輸入碼輸入漢字,在計(jì)算機(jī)內(nèi)部存儲(chǔ)時(shí),都采用機(jī)內(nèi)碼,這也就是用一 種漢字輸入法輸入的文檔,也可以用另一種輸入法對(duì)其修改的原因。3 .語(yǔ)音編碼語(yǔ)音信號(hào)是模擬信號(hào),而計(jì)算機(jī)中的信息是用二進(jìn)制表示的,語(yǔ)音的編解碼就
34、是將語(yǔ) 音的模擬信號(hào)轉(zhuǎn)換為二進(jìn)制數(shù)字信號(hào)在計(jì)算機(jī)中處理、傳輸,到了接收端,再將數(shù)字信號(hào) 還原為模擬語(yǔ)音。在語(yǔ)音編碼方面,需要了解和解決的問(wèn)題有:(1) 音調(diào)、音強(qiáng)和音色聲音是通過(guò)聲波改變空氣的疏密度,引起鼓膜振動(dòng)而作用于人的聽(tīng)覺(jué)的。從聽(tīng)覺(jué)的角度,音調(diào)、音強(qiáng)和音色稱為聲音的三要素。音調(diào)決定于聲波的頻率,聲波的頻率高,聲音的音調(diào)就高;聲波的頻率低,聲音的音調(diào)就低。人的聽(tīng)覺(jué)范圍為20Hz20kHz。音強(qiáng)又稱響度,決定于聲波的振幅。聲波的振幅大,則聲音強(qiáng),聲波的振幅小, 音色決定于聲波的形狀。混入音波基波中的泛音不同,將得到不同的音色。(2) 波形采樣量化任何用符號(hào)表示的數(shù)字都是不連續(xù)的。波形的數(shù)字化
35、過(guò)程是將連續(xù)的波形用離散的(不連續(xù)的)點(diǎn)近似代替的過(guò)程。在原波形上取點(diǎn),稱為采樣。用一定的標(biāo)尺確定各采樣點(diǎn)的 值(樣本),稱為量化。量化之后,很容易就將它們轉(zhuǎn)換為二進(jìn)制碼。(3) 采樣量化的技術(shù)參數(shù)一個(gè)數(shù)字聲音的質(zhì)量,決定于以下技術(shù)參數(shù): 采樣頻率采樣頻率,即一秒內(nèi)的采樣次數(shù),它反映了采樣點(diǎn)之間的間隔大小。間隔越小,丟失 的信息越少,數(shù)字聲音就越逼真細(xì)膩,要求的存儲(chǔ)量也就越大。由于計(jì)算機(jī)的工作速度和 存儲(chǔ)容量有限,而且人耳的聽(tīng)覺(jué)上限為20kHz,所以采樣頻率不可能,也不需要太高。根據(jù)奈奎斯特采樣定律,只要采樣頻率高于信號(hào)中的最高頻率的兩倍,就可以從采樣中恢復(fù)原始的波形。因此,40kHz以上的采
36、樣頻率足以使人滿意。目前多媒體計(jì)算機(jī)的采樣頻率有 3 個(gè):44.1kHz、22.05kHz 和 11.025kHz。CD 唱片采用的是 44.1kHz。 測(cè)量精度測(cè)量精度是樣本在縱向方向的精度,是樣本的量化等級(jí),它通過(guò)對(duì)波形縱向方向的等 分而實(shí)現(xiàn)。由于數(shù)字化最終要用二進(jìn)制表示,所以常用二進(jìn)制數(shù)的位數(shù)表示樣本的量化等 級(jí)。若每個(gè)樣本用八位二進(jìn)制數(shù)表示,則共有8個(gè)量級(jí)。若每個(gè)樣本用十六位二進(jìn)制數(shù)表示,則共有16個(gè)量級(jí)。量級(jí)越多,采樣越接近原始波形;數(shù)字聲音質(zhì)量越高,要求的存儲(chǔ) 也越大。目前多媒體計(jì)算機(jī)的標(biāo)準(zhǔn)采樣量級(jí)有八位和十六位兩種。 聲道數(shù)聲音記錄只產(chǎn)生一個(gè)波形,稱為單聲道。聲音記錄只產(chǎn)生兩個(gè)波
37、形,稱為立體聲雙道。立體聲雙道比單聲道聲音豐滿、空間感強(qiáng),但需兩倍的存儲(chǔ)空間。差錯(cuò)控制編碼在數(shù)據(jù)通信方面,嵌入式系統(tǒng)與通用型計(jì)算機(jī)系統(tǒng)一樣,要求信息傳輸具有高度的可 靠性,即要求誤碼率足夠低。然而,不管是模擬通信系統(tǒng)還是數(shù)字通信系統(tǒng),都存在干擾 和信道傳輸特性不好而對(duì)信號(hào)造成的不良影響,致使數(shù)據(jù)信號(hào)在傳輸過(guò)程中不可避免地會(huì) 發(fā)生差錯(cuò)。為滿足通信要求,盡可能減少和避免誤碼出現(xiàn),一方面要提高硬件的質(zhì)量,另 一方面可以采用抗干擾編碼(或差錯(cuò)控制編碼)。差錯(cuò)控制編碼的基本思想是:在發(fā)送端被傳送的信息碼序列的基礎(chǔ)上,按照一定的規(guī) 則加入若干“監(jiān)督碼元”后進(jìn)行傳輸,這些加入的碼元與原來(lái)的信息碼序列之間存在
38、著某 種確定的約束關(guān)系。在接收數(shù)據(jù)時(shí),檢驗(yàn)信息碼元與監(jiān)督碼元之間的既定的約束關(guān)系,如 該關(guān)系遭到破壞,貝恠接收端可以發(fā)現(xiàn)傳輸中的錯(cuò)誤,乃至糾正錯(cuò)誤。當(dāng)然,用糾(檢) 錯(cuò)來(lái)控制差錯(cuò)的方法來(lái)提高數(shù)據(jù)通信的可靠性是用信息量的冗余和降低系統(tǒng)的效率為代價(jià) 來(lái)?yè)Q取的。1 差錯(cuò)控制編碼的分類差錯(cuò)控制碼從不同的角度出發(fā),有不同的分類方法。1)根據(jù)碼組的功能,可分為檢錯(cuò)碼和糾錯(cuò)碼兩類。一般地說(shuō),檢錯(cuò)碼是指能自動(dòng)發(fā)現(xiàn) 差錯(cuò)的碼。糾錯(cuò)碼是指不僅能發(fā)現(xiàn)差錯(cuò)而且能自動(dòng)糾正差錯(cuò)的碼。2)按照信息碼元與監(jiān)督碼元的約束關(guān)系,又可分為分組碼和卷積碼兩類。3)按碼組中監(jiān)督碼元與信息碼元之間的關(guān)系可分為線性碼和非線性碼兩類。2 .
39、幾種常用的差錯(cuò)控制編碼下面介紹幾種常用的差錯(cuò)控制編碼,它們都屬于分組碼一類,而且是行之有效的。)奇偶校驗(yàn)碼這是一種簡(jiǎn)單的檢錯(cuò)碼,其編碼規(guī)則是先將所要傳輸?shù)臄?shù)據(jù)碼元分組,在分組數(shù)據(jù)后面附加一位監(jiān)督位,使得該組碼連同監(jiān)督位在內(nèi)的碼組中的“1 ”的個(gè)數(shù)為偶數(shù)(稱為偶校驗(yàn))或奇數(shù)(稱為奇校驗(yàn)),在接收端按同樣的規(guī)律檢查,如發(fā)現(xiàn)不符就說(shuō)明產(chǎn)生了差錯(cuò), 但是不能確定差錯(cuò)的具體位置,即不能糾錯(cuò)。奇偶校驗(yàn)碼的這種監(jiān)督關(guān)系可以用公式表示。設(shè)碼組長(zhǎng)度為n表示為(an-1,an-2,an-3,,ao),其中前n-1位為信息碼元,第 n位為監(jiān)督位a0o在偶校驗(yàn)時(shí)有ao® a1 ® an-1=0其中
40、®表示模2和,監(jiān)督位ao可由下式產(chǎn)生ao= a1 ® a2 ® ® an-1在奇校驗(yàn)時(shí)有ao® a1 ® ® an-1=1監(jiān)督位ao可由下式產(chǎn)生ao= a1 ® a2® ® an-1 ® 1這種奇偶校驗(yàn)只能發(fā)現(xiàn)單個(gè)或奇數(shù)個(gè)錯(cuò)誤,而不能檢測(cè)出偶數(shù)個(gè)錯(cuò)誤,因而它的檢錯(cuò) 能力不高。女口:信息碼111oo11ooo按照偶監(jiān)督規(guī)則插入監(jiān)督位應(yīng)為ao=1 ® 1 ® 1 ® o ® o ® 1 ® 1 ® o ® o&
41、#174; o=1信息位監(jiān)督位111001100012)海明碼海明碼是195o年由美國(guó)貝爾實(shí)驗(yàn)室提出來(lái)的,是一種多重(復(fù)式)奇偶檢錯(cuò)系統(tǒng)。它 將信息用邏輯形式編碼,以便能夠檢錯(cuò)和糾錯(cuò)。用在海明碼中的全部傳輸碼字是由原來(lái)的 信息和附加的奇偶校驗(yàn)位組成的。(1)校驗(yàn)位的位數(shù)在前面討論奇偶校驗(yàn)時(shí),如按偶監(jiān)督,由于使用了一位監(jiān)督位 ao,故它能和信息位an-1, an-2, an-3,玄1 一起構(gòu)成一個(gè)代數(shù)式,a。® a1®® an-1=o。在接收端解碼時(shí),實(shí)際上就 是在計(jì)算S= ao® a1 ® ® an-1當(dāng)s=o,就認(rèn)為無(wú)錯(cuò);若 S=2
42、,就認(rèn)為有錯(cuò)。上式稱為監(jiān)督關(guān)系式,s稱為校正子。由于校正子S的取值只有這兩種,所以它只能代表有錯(cuò)和無(wú)錯(cuò)這兩種信息,而不能指出錯(cuò)碼 的位置??梢酝瞥觯绻O(jiān)督位增加一位,即變成兩位,則能增加一個(gè)類似上式的監(jiān)督關(guān) 系式。兩個(gè)校正子有 4種可能的組合:oo、o1、1o、11,能表示4種不同信息。若用一種 表示無(wú)錯(cuò),則其余3種就有可能用來(lái)表示一位錯(cuò)碼的3種不同位置。同理,r個(gè)監(jiān)督關(guān)系式能指示一位錯(cuò)碼的(2r-1)個(gè)可能位置。一般說(shuō)來(lái),若信息長(zhǎng)為 n,信息位數(shù)為k,則監(jiān)督位數(shù)r = n-k。如果希望用r個(gè)監(jiān)督位 構(gòu)造出r個(gè)監(jiān)督關(guān)系式來(lái)指示一位錯(cuò)碼的n種可能位置,則要求2r-1 > n 或 2r&g
43、t; k+r+1推導(dǎo)并使用信息長(zhǎng)度為 k位的碼字的海明碼,所需步驟如下: 確定最小的校驗(yàn)位數(shù) r,將它們記成Pi、P2、Pr,每個(gè)校驗(yàn)位符合不同的奇偶 測(cè)試規(guī)定。 原有信息和r個(gè)校驗(yàn)位一起編成長(zhǎng)為 k+r位的新碼字。選擇 r校驗(yàn)位(0或1)以 滿足必要的奇偶條件。 對(duì)所接收的信息作所需的 r個(gè)奇偶檢查。 如果所有的奇偶檢查結(jié)果均為正確的,則認(rèn)為信息無(wú)錯(cuò)誤。如果發(fā)現(xiàn)有一個(gè)或多個(gè)錯(cuò)了,則錯(cuò)誤的位由這些檢查的結(jié)果來(lái)惟一地確定。(2 )碼字格式從理論上講,校驗(yàn)位可放在任何位置,但習(xí)慣上校驗(yàn)位被安排在1、2、4、8、的位置上。當(dāng)k=4, r=3時(shí),信息位和校驗(yàn)位的分布情況如表 1-2所示(其中,PP2、
44、P3為校 驗(yàn)位,D1、D2、D4為信息位)。表1-2海明碼中校驗(yàn)位和信息位的定位碼字位置B1B2B3B4B5B6B7校驗(yàn)位xxx信息位xxxx復(fù)合碼字P1P2D1P3D2D3D4(3)校驗(yàn)位的確定r個(gè)校驗(yàn)位是通過(guò)對(duì) k+r位復(fù)合碼字進(jìn)行奇偶校驗(yàn)而確定的。其中:P1負(fù)責(zé)校驗(yàn)海明碼的第1、3、5、7、- ( P1、D2、D 4、)位,(包括P1自己)P2負(fù)責(zé)校驗(yàn)海明碼的第2、3、6、7、- ( P2、D1>D3、D4、)位,(包括P2自己)P3負(fù)責(zé)校驗(yàn)海明碼的第4、5、6、7、-(卩3、D2、D3、D 4、)位,(包括P3自己)如對(duì)k=4, r=3的碼字進(jìn)行海明碼編碼,校驗(yàn)位采用偶校驗(yàn),則需
45、r=3次偶檢查。這里3次檢查分別以(以 R1、R2、R3表示)在表1-3所示各位的位置上進(jìn)行。表1-3校驗(yàn)位測(cè)試測(cè)試條件碼字位置1234567R1xxxxR2xxxxR3xxxx可得到3個(gè)校驗(yàn)方程及確定校驗(yàn)位的3個(gè)公式(B2、B7表示碼字)R=B1® B3 ® B5® B7=0 得 P1=D1 ® D2® D4F2=B2® B3 ® B6® B7=0 得 P2=Di ® D3® D4F3=B4 ® B5 ® B6® B7=0 得 P3=D2 ® D3
46、74; D4若有4位信息碼1011,求3個(gè)校驗(yàn)位Pi、P2、P3值并生成海明碼編碼,則可用上面3個(gè)公式解出(如表1-4所示)。表1-44位信息碼的海明編碼碼字位置B1B2B3B4B5B6B7碼位類型P1P2D1P3D2D3D4信息碼1011校驗(yàn)位010編碼后的海明碼0110011以上是發(fā)送方的處理過(guò)程,在接收方也可根據(jù)這3個(gè)校驗(yàn)方程對(duì)接收到的信息進(jìn)行同樣的奇偶測(cè)試:A=B1 ® B3® B5® B7=0B = B2® B3® B6® B7=0C=B4® B5® B5® B7=0若3個(gè)校驗(yàn)方程都成立,即方程
47、式右邊都等于0,則說(shuō)明沒(méi)有錯(cuò)。若不成立即方程式右邊不等于0,說(shuō)明有錯(cuò)。從3個(gè)方程式右邊的值,可以判斷哪一位出錯(cuò)。例如,如果第3位數(shù)字反了,則C=0 (此方程沒(méi)有B3), A=B=1 (這兩個(gè)方程有 B3)。可構(gòu)成二進(jìn)數(shù) CBA, 以A為最低有效位,則錯(cuò)誤位置就可簡(jiǎn)單地用二進(jìn)數(shù)CBA=011指出。同理,若3個(gè)方程式右邊的值為 001,說(shuō)明第1位出錯(cuò)。若3個(gè)方程式右邊的值為100, 說(shuō)明第4位出錯(cuò)。3)循環(huán)冗余校驗(yàn)碼循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check,簡(jiǎn)稱CRC循環(huán)碼),是一種能力非常強(qiáng) 的檢錯(cuò)、糾錯(cuò)碼,并且實(shí)現(xiàn)編碼和檢碼的電路比較簡(jiǎn)單,常用于串行傳送(二進(jìn)制位串沿 一
48、條信號(hào)線逐位傳送)的輔助存儲(chǔ)器與主機(jī)的數(shù)據(jù)通信和計(jì)算機(jī)網(wǎng)絡(luò)中。循環(huán)冗余校驗(yàn)碼(CRC)的基本原理是:在 k位信息碼后再拼接 r位的校驗(yàn)碼,整個(gè) 編碼長(zhǎng)度為n位,因此,這種編碼又叫(n, k)碼。對(duì)于一個(gè)給定的(n, k)碼,可以證 明存在一個(gè)最高次幕為 n-k=r的多項(xiàng)式g(x),根據(jù)g(x)可以生成k位信息的校驗(yàn)碼,而g(x) 叫做這個(gè)CRC碼的生成多項(xiàng)式。(1)幾個(gè)基本概念 多項(xiàng)式與二進(jìn)制數(shù)碼為了便于用代數(shù)理論來(lái)研究CRC碼,把長(zhǎng)為n的碼組(二進(jìn)制數(shù))與n-1次多項(xiàng)式建立一一對(duì)應(yīng)的關(guān)系,即把二進(jìn)制數(shù)的各位當(dāng)作是一個(gè)多項(xiàng)式的系數(shù),二進(jìn)制數(shù)的最高位對(duì) 應(yīng)x的最高幕次,以下各位對(duì)應(yīng)多項(xiàng)式的各幕次
49、,有此幕次項(xiàng)對(duì)應(yīng)1,無(wú)此幕次項(xiàng)對(duì)應(yīng) 0。多項(xiàng)式包括生成多項(xiàng)式 g(x)和信息多項(xiàng)式C(x)。如多項(xiàng)式為A(x)=x5+x4+x2+1,可轉(zhuǎn)換為二進(jìn)制碼組 110101。 生成多項(xiàng)式生成多項(xiàng)式g(x)是接收端和發(fā)送端的一個(gè)約定,也對(duì)應(yīng)一個(gè)二進(jìn)制數(shù),在整個(gè)傳輸過(guò) 程中,這個(gè)數(shù)始終保持不變。生成多項(xiàng)式應(yīng)滿足以下條件:生成多項(xiàng)式的最高位和最低位必須為1。當(dāng)被傳送信息(CRC碼)任何一位發(fā)生錯(cuò)誤時(shí),被生成多項(xiàng)式作模2除后應(yīng)該使余數(shù)不為0。不同位發(fā)生錯(cuò)誤時(shí),應(yīng)該使余數(shù)不同。對(duì)余數(shù)繼續(xù)作模2除,應(yīng)使余數(shù)循環(huán)。 常用的生成多項(xiàng)式:121132CRC( 12 位)=X +X +X + X + X +1CRC(
50、16 位)=X16+X15+X2+1CRC( CCITT)= X16+X12+X5+1 模2除模2除做法與算術(shù)除法類似,但每一位除(減)的結(jié)果不影響其他位,即不向上一位 借位,所以實(shí)際上就是異或。然后再移位作下一位的模2減。步驟如下:用除數(shù)對(duì)被除數(shù)最高幾位作模2減,沒(méi)有借位。除數(shù)右移一位,若余數(shù)最高位為1,商為1,并對(duì)余數(shù)作模2減。若余數(shù)最高位為0,商為0,除數(shù)繼續(xù)右移一位。一直做到余數(shù)的位數(shù)小于除數(shù)時(shí),該余數(shù)就是最終余數(shù)。(2) FCS幀檢驗(yàn)列我們將信息位后添加的 r位校驗(yàn)碼,稱為信息的FCS幀檢驗(yàn)列(Frame Check Seque nee)。 FCS幀檢驗(yàn)列可由下列方法求得: 假設(shè)發(fā)送
51、信息用信息多項(xiàng)式 C(x)表示,將C(x)左移r位, 則可表示成 C(x)*2 r,這樣C(x)的右邊就會(huì)空出 r位,這就是校驗(yàn)碼的位置。通過(guò) C(x)*2r 除以生成多項(xiàng)式g(x)得到的余數(shù)就是校驗(yàn)碼。例如:當(dāng)信息碼為11100110時(shí),采用CRC進(jìn)行差錯(cuò)檢測(cè),如用的生成多項(xiàng)式為 11001, 則求出FCS的產(chǎn)生過(guò)程。解:此題生成多項(xiàng)式 11001有5位(r+1),因此要把原始報(bào)文 C(x)即11100110左移 4( r)位變成,在信息尾加4個(gè)“ 0”,就等于信息碼乘以 24,然后被生成 多項(xiàng)式模2除。1011011011001. 111001100000/ 110011011111001
52、1110011001101001100111010110010110 FCS所以4位余數(shù)0110即為所求的FCS。(3) CRC碼的編碼方法編碼是在已知信息位的條件下求得循環(huán)碼的碼組,碼組前k位為信息位,后r=n-k位是監(jiān)督位。因此,要首先根據(jù)給定的(n,k)值選定生成多項(xiàng)式 g(x),即選定一個(gè)r (n- k)次多項(xiàng)式作為g(x)。因?yàn)镃RC的理論很復(fù)雜,本書(shū)主要介紹生成多項(xiàng)式后計(jì)算校驗(yàn)碼的方 法。結(jié)合前面FCS幀檢驗(yàn)列的產(chǎn)生過(guò)程,可得CRC碼的生成步驟如下: 將x的最高幕次為r的生成多項(xiàng)式g(x)轉(zhuǎn)換成對(duì)應(yīng)的r+1位二進(jìn)制數(shù)。 將信息碼左移r位,相當(dāng)于對(duì)應(yīng)的信息多項(xiàng)式C(x)*2 r。 用
53、生成多項(xiàng)式(二進(jìn)制數(shù))對(duì)信息碼作模2除,得到r位的余數(shù)一一FCS幀校驗(yàn)列。 將余數(shù)拼到信息碼左移后空出的位置,得到完整的CRC碼。例:如上題所舉例,信息11100110的CRC碼為。(4) CRC碼的解碼方法在發(fā)送方,CRC碼對(duì)應(yīng)的發(fā)送碼組多項(xiàng)式A(x)應(yīng)能被生成多項(xiàng)式 g(x)整除,所以在接收端可以將接收到的編碼多項(xiàng)式R(x)用原生成多項(xiàng)式g(x)去作模2除。當(dāng)傳輸中未發(fā)生錯(cuò)誤時(shí),接收碼組與發(fā)送碼組相同,即 R(x)= A(x),故接收碼組R(x)必定能被g(x)整除;若碼 組在傳輸中發(fā)生錯(cuò)誤,則R(x)工A(x, R(x)被 g(x)除時(shí)可能除不盡而有余項(xiàng)。因此,我們就以余項(xiàng)是否為零來(lái)判別
54、碼組中有無(wú)錯(cuò)碼。(5) CRC碼的檢錯(cuò)糾錯(cuò)原理若有一位出錯(cuò),則余數(shù)不為0,而且不同位出錯(cuò),其余數(shù)也不同。如果循環(huán)碼有一位出錯(cuò),用G(x)作模2除將得到一個(gè)不為 0的余數(shù)。如果對(duì)余數(shù)補(bǔ)0繼續(xù)除下去,將發(fā)現(xiàn)一個(gè)有趣的結(jié)果:各次余數(shù)將按表1-5順序循環(huán)。例如第一位出錯(cuò),余數(shù)將為001,補(bǔ)0后再 除(補(bǔ)0后若最高位為1,則用除數(shù)作模2減取余;若最高位為0,則其最低3位就是余數(shù)), 得到第二次余數(shù)為 010。以后繼續(xù)補(bǔ)0作模2除,依次得到余數(shù)為100, 011,反復(fù)循環(huán),這就是“循環(huán)碼”名稱的由來(lái)。這是一個(gè)有價(jià)值的特點(diǎn)。如果在求出余數(shù)不為0后,一邊對(duì)余數(shù)補(bǔ)0繼續(xù)作模2除,同時(shí)讓被檢測(cè)的校驗(yàn)碼字循環(huán)左移。
55、表1-5說(shuō)明,當(dāng)出現(xiàn)余數(shù)(101 )時(shí),出錯(cuò)位也移到 A7位置??赏ㄟ^(guò)異或門將它糾正后在下一次移位時(shí)送回A。表 1-5( 7, 4) CRC 碼的出錯(cuò)模式(G(x)= 1011 )收到的CRC碼字余數(shù)岀錯(cuò)位碼位A7A6A5A4A3A2A1正確1010011000無(wú)101001000111010001010210101111003錯(cuò)誤10110110114100001111051110011111600100111017例:CRC碼(g(x) = 1011),若接收端收到的碼字為1010111,用g(x)= 1011作模2除得到一個(gè)不為0的余數(shù)100,說(shuō)明傳輸有錯(cuò)。將此余數(shù)繼續(xù)補(bǔ)0用g(x) = 1011作模2除,同時(shí)讓碼字循環(huán)左移1010111。作了 4次后,得到余數(shù)為101,這時(shí)碼字也循環(huán)左移4位,變成1111010,說(shuō)明出錯(cuò)位已移到最高位A7,將最高位1取反后變成0111010。再將它循環(huán)左移3位,補(bǔ)足7次,出錯(cuò)位回到 A3位,就成為一個(gè)正確的碼字1010011。1.6評(píng)估嵌入式系統(tǒng)處理器的主要指標(biāo)嵌入式領(lǐng)域中有許多用來(lái)分析處理器性能的標(biāo)準(zhǔn),例如測(cè)量處理器執(zhí)行一段指定程序 的速度。目前,一般消費(fèi)者能夠使用的測(cè)試向量非常多,問(wèn)題是如何正確選擇最為接近目 標(biāo)應(yīng)用的測(cè)試向量。換句話說(shuō),要先明確預(yù)期最終應(yīng)用程序在待選平臺(tái)上的運(yùn)行情況和測(cè) 試目的,然后再挑選符合要求的特定測(cè)試向
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度運(yùn)輸管理實(shí)訓(xùn)課程實(shí)施合同3篇
- 新學(xué)期教師工作計(jì)劃范文10篇
- 2022年《春節(jié)的習(xí)俗》6年級(jí)作文
- 2021公司員工個(gè)人述職報(bào)告大全三篇
- 簡(jiǎn)歷自我評(píng)價(jià)集合15篇
- 航天火箭公司評(píng)估報(bào)告(上網(wǎng))
- 大學(xué)金工實(shí)習(xí)報(bào)告模板匯編9篇
- 商務(wù)會(huì)議邀請(qǐng)函范文集合八篇
- 社會(huì)實(shí)踐的自我鑒定集錦15篇
- 人民日?qǐng)?bào)評(píng)論網(wǎng)絡(luò)暴力素材-人民日?qǐng)?bào)評(píng)治理網(wǎng)絡(luò)暴力
- 企業(yè)節(jié)能獎(jiǎng)懲管理制度(3篇)
- 統(tǒng)編版2024-2025學(xué)年三年級(jí)上冊(cè)語(yǔ)文期末情景試卷 (無(wú)答案)
- 造價(jià)咨詢部組織架構(gòu)及基本工作流程
- 新媒體代運(yùn)營(yíng)協(xié)議合同書(shū)
- 2024年1月國(guó)家開(kāi)放大學(xué)法律事務(wù)??啤睹穹▽W(xué)(1)》期末紙質(zhì)考試試題及答案
- 2025版國(guó)家開(kāi)放大學(xué)法律事務(wù)??啤斗勺稍兣c調(diào)解》期末紙質(zhì)考試案例分析題題庫(kù)
- 安防監(jiān)控智能化售后服務(wù)方案
- 河南省洛陽(yáng)市2023-2024學(xué)年高一上學(xué)期期末考試化學(xué)試題(含答案)
- 手術(shù)室年終述職
- 2024年信息系統(tǒng)項(xiàng)目管理師(綜合知識(shí)、案例分析、論文)合卷軟件資格考試(高級(jí))試題與參考答案
- 光儲(chǔ)充一體化充電站投資回報(bào)方案
評(píng)論
0/150
提交評(píng)論