




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Linux嵌入式系統(tǒng)畢業(yè)論文 Linux嵌入式系統(tǒng)畢業(yè)論文題 目 Linux操作系統(tǒng)的實(shí)時(shí)性技術(shù)研究專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)系 別 計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 院 計(jì)算機(jī)科學(xué)與信息工程摘要:信息技術(shù)的發(fā)展和Internet廣泛深入的應(yīng)用使嵌入式系統(tǒng)成為電子計(jì)算機(jī)行業(yè)的熱點(diǎn)。嵌入式系統(tǒng)技術(shù)上的成就為航空航天、工業(yè)控制等技術(shù)領(lǐng)域上的探索提供了更加科學(xué)和有效的手段,同時(shí)也為人們的日常生活帶來了更多欣喜和便利。嵌入式技術(shù)是在計(jì)算機(jī)和通信技術(shù)的基礎(chǔ)上發(fā)展起來的,以嵌入式微處理器和嵌入式操作系統(tǒng)為發(fā)展核心。諸多的嵌入式操作系統(tǒng)中,嵌入式憑借自身硬件支持上的廣泛性、開源性和可移植性等特點(diǎn)發(fā)展迅速。在嵌入式技術(shù)日新月
2、異的背景下,許多應(yīng)用對于嵌入式系統(tǒng)的實(shí)時(shí)性提出了更高的要求,根據(jù)這一要求,本文將致力于嵌入式Linux實(shí)時(shí)性能的研究。所研究的嵌入式Linux的目標(biāo)硬件平臺采用基于X86體系結(jié)構(gòu)的PC/104總線系統(tǒng),該總線系統(tǒng)包括CPU模塊和數(shù)據(jù)采集模塊。本文首先概括地介紹了嵌入式系統(tǒng)的概念及特點(diǎn)、PC/104總線的特點(diǎn)、嵌入式系統(tǒng)目前國內(nèi)外的發(fā)展?fàn)顩r,在此基礎(chǔ)上介紹了本課題的研究背景及必要性;然后對實(shí)驗(yàn)系統(tǒng)硬件平臺的設(shè)計(jì)和配置做了詳細(xì)介紹;接下來在分析了Linux內(nèi)核關(guān)鍵機(jī)制后詳細(xì)論述了目標(biāo)系統(tǒng)的嵌入式Li軟件環(huán)境的構(gòu)建過程,其中對符合本實(shí)驗(yàn)要求的Linux內(nèi)核的定制和移植、根文件系統(tǒng)的構(gòu)造、引導(dǎo)加載程序
3、的寫入做了詳細(xì)描述。本文的重點(diǎn)是開發(fā)數(shù)據(jù)采集模塊在自行構(gòu)建的嵌入式Linux軟件環(huán)境下的設(shè)備驅(qū)動(dòng),其中首先對Linux設(shè)備驅(qū)動(dòng)程序作了簡要介紹,然后詳細(xì)描述了數(shù)據(jù)采集模塊設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)過程。本文的最后通過一個(gè)基于C/S網(wǎng)絡(luò)架構(gòu)的遠(yuǎn)程數(shù)據(jù)采集程序?qū)η度胧絃inux的實(shí)時(shí)性能作了測試和論證。關(guān)鍵詞:嵌入式系統(tǒng)、Linux、PC/104、設(shè)備驅(qū)動(dòng)、實(shí)時(shí)性目錄第一章 緒論1.1嵌入式系統(tǒng)11.1.1嵌入式系統(tǒng)的定義及特點(diǎn)11.1.2.嵌入式操作系統(tǒng)11.2 PC/104總線21.3嵌入式操作系統(tǒng)國內(nèi)外發(fā)展現(xiàn)狀21.4嵌入式操作系統(tǒng)的發(fā)展趨勢31.4.1.嵌入式實(shí)時(shí)超微內(nèi)核31.4.2.開發(fā)環(huán)境的
4、開放性和集成化31.5課題研究背景及意義31.6論文的主要研究內(nèi)容3第二章 嵌入式實(shí)驗(yàn)系統(tǒng)硬件設(shè)計(jì)與配置2.1實(shí)驗(yàn)系統(tǒng)總覽42.2下位機(jī)CPU模塊SCM/LX3160介紹42.2.1 SCM/LX-3160的性能特點(diǎn)52.2.2 SCM/LX-3160母板邏輯62.3下位機(jī)I/O模塊DIAMOND-MM-32-AT分析72.3.1 DIAMOND-MM-32-AT概述72.3.2 DIAMOND-MM-32-AT模擬輸入的范圍和分辨率92.3.3 DIAMOND-MM-32-AT A/D采樣模式102.3.4 DIAMOND-MM-32-AT 模擬輸出的范圍和分辨率112.3.5 DIAMON
5、D-MM-32-AT數(shù)字I/0工作模式122.4本章小結(jié)14第三章 嵌入式Linux軟件開發(fā)環(huán)境的構(gòu)建3.1 Linux內(nèi)核分析153.1.1 Linux內(nèi)核概述153.1.2 Linux內(nèi)核系統(tǒng)體系結(jié)構(gòu)163.1.3 申請內(nèi)存的動(dòng)態(tài)分配163.1.4 Linux中斷機(jī)制173.1.5 Linux系統(tǒng)調(diào)用接口183.2內(nèi)核的定制183.2.1內(nèi)核的選擇183.2.2內(nèi)核的裁剪和編譯203.3基于Busybox工具的根文件系統(tǒng)的搭建273.3.1 Busybox簡介273.3.2 根文件系統(tǒng)的構(gòu)建過程273.4存儲設(shè)備的準(zhǔn)備303.5引導(dǎo)加載程序的選擇與寫入313.6本章總結(jié)31第四章 數(shù)據(jù)采集
6、驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)4.1 Linux設(shè)備驅(qū)動(dòng)程序介紹324.1.1 Linux對于設(shè)備和模塊的分類324.1.2 Linux設(shè)備驅(qū)動(dòng)程序的作用324.1.3 Linux內(nèi)核與設(shè)備驅(qū)動(dòng)程序的關(guān)系334.2 Linux設(shè)備驅(qū)動(dòng)程序中的幾個(gè)重要概念334.2.1 模塊與應(yīng)用程序334.2.2內(nèi)核空間與用戶空間344.3 DMM32驅(qū)動(dòng)程序的設(shè)計(jì)與實(shí)現(xiàn)344.3.1 DMM32設(shè)備的工作模式344.3.2 DMM32驅(qū)動(dòng)程序中需要加入的頭文件、系統(tǒng)宏及全局變量384.3.3Linux設(shè)備驅(qū)動(dòng)程序中四個(gè)重要的數(shù)據(jù)結(jié)構(gòu)394.3.4 設(shè)備的初始化及釋放424.3.5設(shè)備的打開和關(guān)閉434.3.6設(shè)備的讀
7、寫434.3.7 設(shè)備的模式控制434.3.8 中斷處理例程464.3.9其它-些設(shè)置函數(shù)484.4設(shè)備驅(qū)動(dòng)的編譯494.5 DMM32設(shè)備驅(qū)動(dòng)程序的使用與工作過程494.5.1DMM32設(shè)備驅(qū)動(dòng)的使用494.5.2 DMM32設(shè)備驅(qū)動(dòng)的工作過程概述504.6本章總結(jié)51第五章 基于嵌入式Linux的實(shí)時(shí)性測試5.1遠(yuǎn)程數(shù)據(jù)采集程序的設(shè)計(jì)與實(shí)現(xiàn)525.1.1 Linux下的Socket編程簡介525.1.2遠(yuǎn)程數(shù)據(jù)采集程序流程525.2遠(yuǎn)程數(shù)據(jù)采集程序的測試結(jié)果及分析545.3本章小結(jié)58第六章 總結(jié)與展望6.1總結(jié)596.2展望59第一章 緒論 計(jì)算機(jī)技術(shù)、通信技術(shù)的發(fā)展以及互聯(lián)網(wǎng)的普及使得
8、計(jì)算機(jī)的微型化和專業(yè)化成為發(fā)展趨勢。后PC時(shí)代的到來又使得以嵌入式微處理器和嵌入式操作系統(tǒng)為核心的嵌入式技術(shù)成為一個(gè)新的技術(shù)發(fā)展方向。嵌入式技術(shù)在飛速發(fā)展的同時(shí)也在改變著社會生產(chǎn)的各個(gè)行業(yè)和群眾生活的各個(gè)方面,從消費(fèi)電子到工業(yè)設(shè)備,從民用產(chǎn)品到國防軍事,都能看到嵌入式技術(shù)產(chǎn)品的身影。嵌入式技術(shù)在工業(yè)自動(dòng)化、國防、航天等領(lǐng)域有著突出的應(yīng)用,例如宇宙飛船、火箭、導(dǎo)彈制導(dǎo)系統(tǒng);在人們?nèi)粘I钪须S處可見的手持移動(dòng)通訊設(shè)備、智能家電也都是以嵌入式系統(tǒng)為技術(shù)依托。生產(chǎn)信息化技術(shù)與人們生活水平的提高又對嵌入式系統(tǒng)提出了新的要求,新一代嵌入式產(chǎn)品的實(shí)時(shí)性成為衡量其性能的主要指標(biāo)。本文將深入研究基于開源操作系統(tǒng)
9、Linux的嵌入式系統(tǒng)的實(shí)時(shí)性能,為嵌入式Linux的廣泛應(yīng)用提供論證。1.1嵌入式系統(tǒng)1.1.1嵌入式系統(tǒng)的定義及特點(diǎn)嵌入式系統(tǒng)的定義有很多,下面給出兩種比較合理的定義。從技術(shù)角度的定義:嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件與硬件可裁剪,在功能、可靠性、成本、體積以及功耗方面需求嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。從系統(tǒng)角度的定義:嵌入式系統(tǒng)是完成復(fù)雜功能的硬件和軟件,并使其緊密合在一起的計(jì)算機(jī)系統(tǒng)。從上面的定義可知嵌入式系統(tǒng)是一個(gè)整體的概念,包括硬件部分和軟件部分。硬件部分包括嵌入式微處理器、外圍硬件設(shè)備,軟件部分包括嵌入式操作系統(tǒng)和應(yīng)用程序。與通用計(jì)算機(jī)系統(tǒng)的通用性和廣泛性不同,嵌入式系
10、統(tǒng)是面對專業(yè)領(lǐng)域和特定環(huán)境的應(yīng)用系統(tǒng),因而嵌入式系統(tǒng)有其自身的特點(diǎn):1)嵌入式系統(tǒng)的專用性決定了其體積小、功耗低、集成度高的特點(diǎn),能夠把通用計(jì)算機(jī)中需要很多板卡共同完成的功能集成在嵌入式芯片內(nèi)部,這使得嵌入式系統(tǒng)的移動(dòng)性大為增強(qiáng),與網(wǎng)絡(luò)的禍合性也越來越緊密。2)嵌入式系統(tǒng)的硬件和軟件的設(shè)計(jì)必須遵循高效原則,根據(jù)功能量體裁衣、去除冗余,這樣才能在具體應(yīng)用中對處理器的選擇更具有競爭力。3)嵌入式系統(tǒng)中的軟件通常都固化在存儲器芯片或ROM中,目的是提高系統(tǒng)運(yùn)行速度和可靠性。4)嵌入式系統(tǒng)通常對實(shí)時(shí)性要求較高。1.1.2.嵌入式操作系統(tǒng)當(dāng)硬件資源一定的情況下,系統(tǒng)性能就取決于軟件。嵌入式系統(tǒng)發(fā)展中,嵌
11、入式操作系統(tǒng)的發(fā)展也起著異乎尋常的作用。嵌入式操作系統(tǒng)負(fù)責(zé)全部硬件軟件資源的分配、控制協(xié)調(diào)并發(fā)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和信息家電的普及,嵌入式操作系統(tǒng)也從單一的弱功能性向高專業(yè)化的強(qiáng)功能性發(fā)展。一般情況下,嵌入式操作系統(tǒng)可以分為兩類,一類是面向控制、通信等領(lǐng)域的實(shí)時(shí)操作系統(tǒng),如WindRiver公司的Vxworks、QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus等;另一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)操作系統(tǒng),這類產(chǎn)品包括個(gè)人數(shù)字助理 (PDA)、移動(dòng)電話、機(jī)頂盒、WebPhone等。Linux操作系統(tǒng)作為開源操作系統(tǒng)的杰出代表在嵌入式領(lǐng)域應(yīng)用極為廣泛,對于教學(xué)、科研具有重要的研究價(jià)值。 1.2
12、PC/104總線PC/104是一種專為嵌入式系統(tǒng)定義的工業(yè)總線標(biāo)準(zhǔn),因具有104個(gè)針腳而得名,其信號定義與PC/AT相同,只是機(jī)械和電氣規(guī)范不同。與普通的PC總線的主要不同有以下幾點(diǎn):1.小尺寸機(jī)構(gòu):標(biāo)準(zhǔn)模塊的機(jī)械尺寸僅為96×90mm。2.堆棧式連接:總線以針孔式層疊連接,即 PC104總線模塊之間總線的連接是通過上層的針和下層的孔相互咬和相連,這種層疊封裝有極好的抗震性。3.輕松總線驅(qū)動(dòng):減少元件數(shù)量和電源消耗,4mA總線驅(qū)動(dòng)即可使模塊正常工作,每個(gè)模塊1-2瓦能耗。以上特點(diǎn)使得PC/104總線結(jié)構(gòu)的模塊特別適合嵌入式系統(tǒng)的開發(fā)。本實(shí)驗(yàn)系統(tǒng)中的SCM幾 X3160、DIAMOND
13、-MM-32-AT都是遵循PC/104總線標(biāo)準(zhǔn)的嵌入式設(shè)備。1.3嵌入式操作系統(tǒng)國內(nèi)外發(fā)展現(xiàn)狀各個(gè)領(lǐng)域?qū)η度胧较到y(tǒng)實(shí)時(shí)性要求的提高也促進(jìn)了各國對實(shí)時(shí)嵌入式操作系統(tǒng)的研發(fā)和嵌入式操作系統(tǒng)實(shí)時(shí)性的改進(jìn)。從上世紀(jì)80年代起,美國的軟件開發(fā)商就開始進(jìn)行商業(yè)化的嵌入式系統(tǒng)和專業(yè)嵌入式操作系統(tǒng)的研發(fā)。經(jīng)過了近三十年的發(fā)展,嵌入式操作系統(tǒng)的功能和結(jié)構(gòu)得到了不斷完善,多任務(wù)操作系統(tǒng)和實(shí)時(shí)性較高的操作系統(tǒng)正得到推廣和應(yīng)用。目前應(yīng)用較為廣泛的嵌入式實(shí)時(shí)操作系統(tǒng)主要有:a. VxworksVxworks是美國WindRiver公司在 1983年設(shè)計(jì)設(shè)計(jì)的一款嵌入式實(shí)時(shí)操作系統(tǒng),具有良好的可靠性和卓越的實(shí)時(shí)性以及友好
14、的用戶開發(fā)環(huán)境,被廣泛用于航空、航天、通信等對實(shí)時(shí)性要求頗高的領(lǐng)域 b. LynxOSLynxOS是一個(gè)分布式的實(shí)時(shí)操作系統(tǒng),提供256個(gè)全局用戶線程優(yōu)先級,并提供一些傳統(tǒng)的非實(shí)時(shí)系統(tǒng)的服務(wù)特征。 c. RTLinuxRTLinux是具有硬實(shí)時(shí)特性的源代碼開發(fā)的多任務(wù)操作系統(tǒng),由美國新墨西哥州大學(xué)研發(fā)的。它通過在Linux內(nèi)核與硬件中斷之間增加一個(gè)可搶占的實(shí)時(shí)內(nèi)核來提高整個(gè)操作系統(tǒng)的實(shí)時(shí)性能。 d. RTAI來自意大利的RTAI的設(shè)計(jì)思想源于RTLinux,RTAT在Linux內(nèi)核之上定義了一個(gè)實(shí)時(shí)的硬件抽象層,實(shí)時(shí)任務(wù)通過該抽象層提供的接口與Linux內(nèi)核交互。因此它在盡量少地修改Linux
15、源代碼的情況下增加了Linux的實(shí)時(shí)性能。近幾年國內(nèi)的一些公司也加入了實(shí)時(shí)嵌入式操作系統(tǒng)的研發(fā),推出自己的嵌入式操作系統(tǒng),較為著名的有DeltaOS、 HOPEN05。DeltaOS具有高可靠性和高實(shí)時(shí)性內(nèi)核DeltaCORE,嵌入式的TCP/IP協(xié)議層DeltaNET、嵌入式文件系統(tǒng)DeltaFILE、嵌入式圖形接口DeltaGUI,同時(shí)它還支持ARM、X86、MIPS等多種嵌入式微處理器。 HOPEN05是我國具有自主知識產(chǎn)權(quán)的一個(gè)實(shí)時(shí)多任務(wù)操作系統(tǒng),具有微內(nèi)核并且用戶可根據(jù)自身需要進(jìn)行內(nèi)核定制。目前,以上兩款操作系統(tǒng)都廣泛應(yīng)用于國內(nèi)外市場的消費(fèi)電子、通信產(chǎn)品、工業(yè)控制、輔助教學(xué)等領(lǐng)域。1
16、.4嵌入式操作系統(tǒng)的發(fā)展趨勢1.4.1.嵌入式實(shí)時(shí)超微內(nèi)核微內(nèi)核思想即將操作系統(tǒng)中共性的東西抽象出來構(gòu)成操作系統(tǒng)的公共基礎(chǔ)而操作系統(tǒng)的具體功能實(shí)現(xiàn)由微內(nèi)核之外的服務(wù)器來來實(shí)現(xiàn)。這是一種機(jī)制與策略分離的開放性設(shè)計(jì)思路。微內(nèi)核為嵌入式應(yīng)用提供了一個(gè)緊湊的可搶占的基本內(nèi)核代碼層,并且具有良好的擴(kuò)展性。1.4.2.開發(fā)環(huán)境的開放性和集成化嵌入式應(yīng)用軟件的特殊性決定要實(shí)現(xiàn)一個(gè)高性能的實(shí)時(shí)應(yīng)用軟件必須具有強(qiáng)有力的開發(fā)工具及環(huán)境。與實(shí)時(shí)操作系統(tǒng)配合的開發(fā)環(huán)境已經(jīng)發(fā)展到了第三代,它以客戶服務(wù)器的系統(tǒng)結(jié)構(gòu)為基礎(chǔ),具有運(yùn)行系統(tǒng)的無關(guān)性、環(huán)境的一致性等特點(diǎn)。1.5課題研究背景及意義本課題來源于某導(dǎo)彈控制系統(tǒng)的電性能
17、檢測與診斷研究課題,該課題設(shè)計(jì)到嵌入式系統(tǒng)的開發(fā)和應(yīng)用問題,希望創(chuàng)建一個(gè)支持多任務(wù)操作并且具有良好實(shí)時(shí)性的嵌入式系統(tǒng)平臺。目前該課題中使用PC/104總線標(biāo)準(zhǔn)的CPU模塊和數(shù)據(jù)采集模塊、X86體系結(jié)構(gòu),所采用的操作系統(tǒng)為單任務(wù)的DOS操作系統(tǒng),所以無法實(shí)現(xiàn)檢測中多任務(wù)的并行處理。在上述背景下,創(chuàng)建一個(gè)X86體系結(jié)構(gòu)下、基于PC/104總線標(biāo)準(zhǔn)、支持多任務(wù)操作并且具有良好實(shí)時(shí)性的嵌入式軟件開發(fā)平臺成為了本課題的出發(fā)點(diǎn)。上面所提到的幾種實(shí)時(shí)操作系統(tǒng),由于開發(fā)成本的問題予以拋棄,由于Linux的多任務(wù)、源碼開放性及可裁剪定制等特點(diǎn),本課題選擇Linux作為實(shí)驗(yàn)系統(tǒng)的操作系統(tǒng)。本課題將深入研究PC/1
18、04環(huán)境下嵌入式Linux的實(shí)時(shí)性能,以說明能夠在PC/104環(huán)境、X86體系結(jié)構(gòu)下構(gòu)建一個(gè)多任務(wù)且實(shí)時(shí)性良好的嵌入式Linux軟件平臺。1.6論文的主要研究內(nèi)容本文結(jié)合嵌入式操作系統(tǒng)的現(xiàn)狀及發(fā)展趨勢,采用基于PC/104總線標(biāo)準(zhǔn)的硬件平臺,在X86體系結(jié)構(gòu)下,展開了對嵌入式Linux軟件環(huán)境的構(gòu)建、設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)開發(fā)及應(yīng)用技術(shù)的研究,主要研究內(nèi)容如下:1系統(tǒng)硬件平臺的設(shè)計(jì)。2嵌入式Linux軟件開發(fā)環(huán)境的構(gòu)建,包括Linux內(nèi)核的簡要分析、對于符合本實(shí)驗(yàn)系統(tǒng)的Linux內(nèi)核的裁剪和移植、根文件系統(tǒng)的搭建、引導(dǎo)加載程序的選擇與寫入。3PC/104總線標(biāo)準(zhǔn)的數(shù)據(jù)采集模塊DIAMOND-M-3
19、2-T的研究以及該硬件設(shè)備在嵌入式Linux下的驅(qū)動(dòng)程序開發(fā)。4設(shè)計(jì)基于嵌入式Linux的網(wǎng)絡(luò)傳輸應(yīng)用程序,調(diào)用以上的硬件設(shè)備驅(qū)動(dòng)程序,為嵌入式Linux的實(shí)時(shí)性研究提供實(shí)驗(yàn)驗(yàn)證。第二章 嵌入式實(shí)驗(yàn)系統(tǒng)硬件設(shè)計(jì)與配置本章將重點(diǎn)介紹該實(shí)驗(yàn)系統(tǒng)下位機(jī)部分的CPU模塊SCM/LX3160和I/O模塊DIAMOND-MM-23-AT的結(jié)構(gòu)和相關(guān)性能。2.1實(shí)驗(yàn)系統(tǒng)總覽本實(shí)驗(yàn)系統(tǒng)分為上位機(jī)和下位機(jī)兩部分,上位機(jī)是普通個(gè)人電腦(PC),下位機(jī)是PC/104規(guī)范的嵌入式平臺。下位機(jī)由CPU模塊和I/O模塊兩部分組成:CPU模塊SCM/LX3160是盛博公司的一款高性能的“ALL IN ONE”PC/104模
20、塊;IO模塊DIAMOND-MM-32-AT是美國DIAMOND公司出品的一款PC/104規(guī)范的多功能數(shù)據(jù)采集卡。Linux內(nèi)核的裁剪移植、根文件系統(tǒng)的創(chuàng)建、引導(dǎo)加載程序的安裝和配置工作以及設(shè)備驅(qū)動(dòng)程序的編寫和編譯在上位機(jī)PC上進(jìn)行,下位機(jī)在經(jīng)過構(gòu)建的嵌入式軟件環(huán)境下通過網(wǎng)絡(luò)文件系統(tǒng) (Network File System,簡稱NFS)掛載已經(jīng)編譯好的設(shè)備驅(qū)動(dòng)程序并運(yùn)行之。系統(tǒng)硬件框架如圖2.1所示。圖2.1系統(tǒng)硬件框架圖2.2下位機(jī)CPU模塊SCM/LX3160介紹SCM/LX-3160與PC/AT標(biāo)準(zhǔn)完全兼容,并遵從PC/104標(biāo)準(zhǔn)。在IBM-PC上運(yùn)行的眾多軟件全部能在以SCM/LX-
21、3160為基礎(chǔ)的系統(tǒng)中運(yùn)行。模塊集成了PS/2鍵盤、PS/2鼠標(biāo)、CRT、IDE、 USB2.0、4串一并、2個(gè)10/100BaseT以太網(wǎng)等接口,在極小空間里實(shí)現(xiàn)PC機(jī)幾乎所有的功能。平板顯示接口、CF卡接口、串口多種形式選擇、看門狗功能等接口讓設(shè)計(jì)人員更方便的實(shí)現(xiàn)嵌入式系統(tǒng)應(yīng)用。SCM/LX-3160專為嵌入式應(yīng)用設(shè)計(jì),具有低功耗、高可靠性、小體積、無風(fēng)扇、寬溫工作的特點(diǎn),使之廣泛適用于國防電子、車載系統(tǒng)、醫(yī)療儀器、通信、電力控制、工業(yè)現(xiàn)場控制、安防系統(tǒng)等應(yīng)用中。2.2.1 SCM/LX-3160的性能特點(diǎn)SCM/LX3160采用AMD Geode LX 800 CPU,工作頻率高達(dá)500
22、MHz,具有128KB一級高速緩存和128KB二級高速緩存,在板表貼 256M RAM,以下是它的其他性能:n VGA控制器支持CRT及TFTLCD輸出n 2個(gè) Intel 10M/100M以太網(wǎng)接口n EIDE接口n 4個(gè)串口 (COMI / 2:RS232 / 422 / 485可選;COM3 / COM4:RS232)n 一個(gè)CF卡接口(支持I型II型)n AC97兼容AUDIOn 高度緊湊的PC/104結(jié)構(gòu)形式n 支持PC/104總線n 手動(dòng)復(fù)位和蜂鳴器輸出n 在板電池,保存實(shí)時(shí)時(shí)鐘SCM/LX3160的物理特性如下:n 尺寸:90mm×96mm×15mmn 電源要
23、求:+5V±5%n 典型功能:5W on 500MHz工作環(huán)境:n S型:070;N型:-25+75;X型:-45+85n 5%95%相對濕度,無凝結(jié)n 貯存溫度:-55+100SCM/LX3160的許多功能是由軟件而不是由硬件控制的,故該CPU板的諸多功能建立在板載標(biāo)準(zhǔn)的ROM-BIOS支持及相關(guān)的軟件設(shè)置。圖2.2展示SCM/LX3160的機(jī)械尺寸圖。圖2.2 SCM/LX3160機(jī)械尺寸圖2.2.2 SCM/LX-3160母板邏輯以下主要從SCM/LX-3160的CPU、內(nèi)存管理、以太網(wǎng)控制器、中斷控制器等方面介紹其物理邏輯。1.CPUSCM/LX-3160使用的AMD Geo
24、de Lx 800 CPU是AMD公司最新一代的嵌入式低功耗1.2V處理器,具有完整的X86內(nèi)核,整數(shù)運(yùn)算單元使用8級流水線技術(shù),內(nèi)置一個(gè)X87兼容的浮點(diǎn)運(yùn)算單元,兩個(gè)高速緩存都包含有獨(dú)立的指令Cache和數(shù)據(jù)Cache,大大提高了頁地址的訪問速度。其所支持的指令完全兼容INTEL公司的 Pentium Pro、AMD公司的MAD-K6指令集以及Athlon(速龍)的MMX技術(shù)。2.內(nèi)存管理內(nèi)存管理單元完全與X86體系兼容,支持TLB(虛擬地址的內(nèi)置全關(guān)聯(lián)系統(tǒng)),有兩級128KB的高速緩存。內(nèi)存管理支持64位寬的數(shù)據(jù)總線,支持200M、400MT/S的前端總線速度,支持PCI對主內(nèi)存的訪問。S
25、CM/LX-3160在板提供 256MB DDR SRAM,不使用奇偶校驗(yàn),并且模塊上電時(shí)檢查所有內(nèi)存單元保證了其可靠性。3.以太網(wǎng)控制器SCM/LX-3160集成了兩個(gè) Intel 8255X以太網(wǎng)控制器,英特爾公司生產(chǎn)的8255X以太網(wǎng)控制器是一個(gè)完整集成的 10/100Base-TX LAN解決方案。它由媒體存取控制器MAC和物理層PHY接口結(jié)合成單一部件的解決方案構(gòu)成。8255X可在全雙工或半雙工模式下工作。在全雙工模式下,8255X遵循IEEE802.3x流控制規(guī)范。8255X中的CSMA/CD單元具有802.3協(xié)議中的所有功能,例如幀格式化、幀剝離、沖突處理等;8255X中的PHY
26、單元支持10Base-T- /100Base-TX的全雙工和半雙工協(xié)議。4.中斷控制器在一般的80x86微機(jī)系統(tǒng)中采用8259A可編程中斷控制器,每個(gè)8259A芯片管理8個(gè)中斷源。在PC/AT系列兼容機(jī)中使用兩片8259A芯片,共可以管理15級中斷向量。圖 2.3 PC/AT微機(jī)級聯(lián)式8259A中斷控制系統(tǒng)SCM/LX-3160帶有一個(gè)與8259A等同的中斷控制器。該中斷控制器與PC/AT機(jī)兼容,提供8個(gè)優(yōu)先級的中斷,其中有一些與模塊的在板設(shè)備接口和控制器相關(guān),有一些可用于PC/AT擴(kuò)展總線。表2.1列出了典型中斷用途。表2.1SCM/LX-3160中斷使用定義IRO系統(tǒng)資源NMI奇偶校驗(yàn)錯(cuò)誤
27、0定時(shí)器1鍵盤2中斷控制器(8259兼容)3串行口2、串行口44串行口1、串行口35PCI PnP6軟驅(qū)接口7并行接口8實(shí)時(shí)時(shí)鐘9PCI PnP10PCI PnP11網(wǎng)絡(luò)控制器12PS/2鼠標(biāo)13協(xié)處理器14EIDE15EIDE,如果BIOS中第二個(gè)IDE控制器禁止,IRQ15可用以上中斷定義并非不能更改,可以通過SCM/LX3160系統(tǒng)啟動(dòng)之前長按delete鍵進(jìn)入板卡的BIOS設(shè)置,釋放其中的IRQ3、4、5、6、7、9、10、15。2.3下位機(jī)I/O模塊DIAMOND-MM-32-AT分析2.3.1 DIAMOND-MM-32-AT概述DIAMOND-MM-32-AT是嚴(yán)格符合PC/10
28、4規(guī)范的多功能數(shù)據(jù)采集卡,它的多功能體現(xiàn)在以下方面:它提供了32路16分辨率可編程輸入通道;在FIFO操作模式下最高采樣頻率達(dá)200K samples/s;具有4路12位分辨率的模擬輸出;用戶可調(diào)節(jié)的模擬輸出范圍;提供31路的數(shù)字I/O;帶有1個(gè)為A/D轉(zhuǎn)換和中斷計(jì)時(shí)提供時(shí)鐘源的32位計(jì)數(shù)器/定時(shí)器和1個(gè)通用的16位計(jì)數(shù)器/定時(shí)器;此外,它還提供具有專利保護(hù)的模擬輸入/輸出自校準(zhǔn)功能。具體性能特性如下:1模擬量輸入n 32路16位分辨率的模擬量輸入通道,可以被配置為犯路單端輸入或16路差分輸入,再或者16路單端輸入和8路差分輸入;n 輸入模擬量的增益、范圍、極性均可編程調(diào)節(jié);n 最高采樣頻率達(dá)
29、200KHz;n 帶有可存儲512個(gè)樣品值的FIFO降低了中斷開支;n 軟件控制下的輸入模擬量范圍自校準(zhǔn)功能。2模擬量輸出n 4路12位分辨率的模擬量輸出通道,最大輸出電流5mA;n 全量程的多范圍輸出,包括單極和雙極;n 可編程的量程變化范圍;n 軟件控制下的輸出模擬量范圍的自動(dòng)校準(zhǔn)功能。3數(shù)字量的輸入/輸出n 用8255集成芯片構(gòu)成的24路雙向數(shù)字通道n 為增強(qiáng)型電流驅(qū)動(dòng)配有帶緩沖器的I/On 外部數(shù)據(jù)鎖存和中斷操作的握手機(jī)制n 用戶可配置阻值的上下拉電阻n 7個(gè)固定輸出方向的輔助FO通道具備可編程功能4.計(jì)數(shù)器/定時(shí)器和戶JD觸發(fā)器n 1個(gè)32位的計(jì)數(shù)器/定時(shí)器用作A/D時(shí)鐘和中斷控制計(jì)
30、時(shí)n 1個(gè)16位的通用計(jì)數(shù)器/定時(shí)器n 每個(gè)計(jì)數(shù)器/定時(shí)器都有輸入可編程資源n 允許外部A/D觸發(fā)和門限輸入n 在計(jì)數(shù)器/定時(shí)器觸發(fā)中斷的模式下通過A/D轉(zhuǎn)換脈沖輸出和外部觸發(fā)器實(shí)現(xiàn)多板的同步能力5.其它性能n 貯存溫度:-4085n 單位標(biāo)度不需要電位微調(diào)或用戶校準(zhǔn)圖2.4展示了DIAMOND-MM-32-AT的系統(tǒng)邏輯。2.3.2 DIAMOND-MM-32-AT模擬輸入的范圍和分辨率DIAMOND-MM-32-AT有著16位的A/D轉(zhuǎn)換器,這也意味著這些ADC輸出的數(shù)值精度可以達(dá)到1/216。16位二進(jìn)制數(shù)的最大值為216-1,能夠從板卡的ADC讀到的直接數(shù)值為0-65535中的任一數(shù)值
31、,所以可以勘察出的輸入電壓值的最小變化為模擬輸入通道全量程的1/216 (l/65535)。輸入電壓的每一個(gè)1/216的變化都會導(dǎo)致ADC最后讀取數(shù)據(jù)的加1/減1,這種變化也稱作與1LSB有關(guān)。1.輸入的范圍和分辨率DIAMOND-MM-32-A的模擬輸入電壓可以是單極性也可以是雙極性。有關(guān)的輸入電壓的信息,諸如增益、范圍、極性等信息可以通過對11號寄存器的有關(guān)控制位的設(shè)置來實(shí)現(xiàn)。從圖2.4中可以看出:在輸入信號到達(dá)A/D轉(zhuǎn)換器之前,經(jīng)過一個(gè)可編程增益放大器,而這個(gè)增益放大電路首先要對輸入電壓范圍進(jìn)行掃面,目的是使輸入信號能夠更好的匹配A/D轉(zhuǎn)換器從而得到更好的分辨率。本實(shí)驗(yàn)系統(tǒng)選擇高增益,使
32、得A/D轉(zhuǎn)換器能夠盡可能掃描到輸入信號的全部范圍,防止忽略掉超出正常范圍的信號。A/D轉(zhuǎn)換電路中還有一個(gè)內(nèi)置的電平限幅器,防止選擇過高的增益系數(shù)后產(chǎn)生過高電平或過低電平,其工作過程如下:當(dāng)放大后的信號經(jīng)過A/D轉(zhuǎn)換器會在超高電平處和超低電平處進(jìn)行電平修整(限幅)。因而在這種情況下,板卡無法真正讀取輸入信號的全部范圍。輸入信號的多個(gè)參數(shù)如極性、范圍、增益構(gòu)成了一個(gè)唯一的代碼值,這個(gè)代碼值需要被寫入到11號寄存器(模擬輸入配置寄存器)才能使配置生效。表2.2展示了9種不同輸入信號參數(shù)下的全量程范圍和分辨率,其中的代碼值為4、5、6、7的四種情況為可編程量程范圍,此外代碼值為9-11的三種情況等效于
33、代碼值為O-2的三種情況。表2.2 DAMONO-MM-32-AT模擬輸入電壓范圍的配置代碼極性范圍增益全量程范圍分分辨率(1LSB)0雙極性5V1±5V153V1雙極性5V2±2.5V76V2雙極性5V4±1.25V38V3雙極性5V8±0.625V19V4單極性5V1NULLNULL5單極性5V2NULLNULL6單極性5V4NULLNULL7單極性5V8NULLNULL8雙極性10V1±10V305V9雙極性10V2±5V153V10雙極性10V4±2.5V76V11雙極性10V8±1.25V38V12單極性
34、10V1010V153V13單極性10V205V76V14單極性10V402.5V38V15單極性10V801.25V19V2. A/D轉(zhuǎn)換公式不論輸入信號的范圍如何,從刀D轉(zhuǎn)換器得到的16位二進(jìn)制數(shù)的值都是-32768到32767之間的一個(gè)數(shù)。這是因?yàn)锳DC的輸入范圍就被固定為±10V,所有的輸入信號在達(dá)到ADC之前都被放大或轉(zhuǎn)換成±1OV的范圍。例如,一個(gè)范圍為0-1OV的輸入信號在達(dá)到ADC之前,首先會被整體降低5V變?yōu)?#177;5V范圍的信號,然后被放大2倍最終變?yōu)?#177;1O V范圍的信號。在不同的輸入范圍下根據(jù)得到的ADC輸出值計(jì)算輸入電壓的方法如下:記F
35、S=full-scale voltage全量程范圍(比如,±5V范圍時(shí)FS=5V),輸入電壓為Vin,ADC輸出值為 A/D code。2.3.3 DIAMOND-MM-32-AT A/D采樣模式DIAMOND-MM-32-AT有多種采樣模式,通過FIFO控制寄存器(Base+7)的FIFO使能位和Scan使能位及中斷控制寄存器(Base+9)的A/D中斷使能位的設(shè)置來實(shí)現(xiàn)。同時(shí),只有當(dāng)A/D中斷可用時(shí)FIFO存儲才可用。下面是對于該板卡的三種典型A/D工作模式的具體描述。1.FIFODIAMOND-MM-32-AT用一個(gè)1K字節(jié)的FIFO(First In First out先進(jìn)先
36、出)隊(duì)列型緩沖區(qū)來管理戶以D轉(zhuǎn)換后的數(shù)據(jù)。這個(gè)緩沖區(qū)用來暫時(shí)保存A/D轉(zhuǎn)換器產(chǎn)生的數(shù)據(jù)直到這些數(shù)據(jù)被用戶程序讀取。每個(gè)A/D采樣數(shù)據(jù)占2個(gè)字節(jié),因而整個(gè)FIFO最多可存512個(gè)采樣數(shù)據(jù)。FIFO緩沖區(qū)的使能通過設(shè)置FIFO控制寄存器的使能位來實(shí)現(xiàn)。單次采樣模式對FIFO的暫時(shí)存儲和先進(jìn)先出的特征并無要求,所以可以對FIFO不作選擇。當(dāng)然也可以使用FIFO,每個(gè)A/D采樣數(shù)據(jù)暫存到FIFO里,當(dāng)外部軟件需要該數(shù)據(jù)時(shí)從FIFO中讀取,此種情況下FIFO中僅存一個(gè)采樣數(shù)據(jù)。故而在這種低速采樣模式下,每發(fā)生一次A/D轉(zhuǎn)換,用戶程序就會將FIFO中的數(shù)據(jù)讀出,數(shù)據(jù)采樣和數(shù)據(jù)讀取有著一一對應(yīng)的關(guān)系,此時(shí)F
37、IFO的內(nèi)容不會溢出。而對于高速采樣模式或中斷操作情況下,F(xiàn)IFO的使用可以讓用戶程序一次讀取多個(gè)采樣數(shù)據(jù)因而有效地降低了總線對于A心轉(zhuǎn)換結(jié)束的響應(yīng)頻率和中斷頻率。此外,F(xiàn)IFO要求采樣頻率一定要超過總線上的最大中斷頻率,以防用戶程序讀取空數(shù)據(jù)。一般來講,ISA總線的允許的最大中斷頻率為40KHz。由于DIAMOND-MM-32-AT的最大采樣頻率為40KHz,所以在高速采樣模式下FIFO要求降低最大中斷頻率。在中斷操作模式下,中斷處理例程每一次運(yùn)行都會將FIFO中的數(shù)據(jù)全部讀走,于是有公式2.4。其中,fint為中斷頻率,fs為采樣頻率,n為每次中斷讀取的采樣數(shù)據(jù)的個(gè)數(shù),通過FIFO深度控制
38、寄存器(Base+6)對n進(jìn)行設(shè)置。在本實(shí)驗(yàn)系統(tǒng)中,使用了DIAMOND-MM-32-AT、對n的默認(rèn)設(shè)置一一FIFO深度的一半即256。因此,在任何操作系統(tǒng)之下該板卡的最高中斷頻率被降低為781Hz。如果Scan和FIFO都可用,那么當(dāng)FIFO達(dá)到軟件設(shè)定的閾值時(shí)產(chǎn)生中斷,然后中斷處理例程從FIFO中讀取指定數(shù)量的采樣數(shù)據(jù),即便采樣數(shù)據(jù)的數(shù)量不是所掃描通道個(gè)數(shù)的整數(shù)倍也是如此。比如,掃描通道的個(gè)數(shù)設(shè)定為10、FIFO閾值設(shè)定為256,那么當(dāng)發(fā)生第一次中斷時(shí)中斷處理例程將會從FIFO中讀取256個(gè)采樣數(shù)據(jù),這包括對10個(gè)通道的25次完整掃描和第26次掃描中的前6個(gè)通道的采樣數(shù)據(jù),當(dāng)下一次中斷發(fā)
39、生時(shí),中斷處理例程又會繼續(xù)讀取第26次掃描中剩下的4個(gè)采樣數(shù)據(jù)及接下來25次完整掃描的數(shù)據(jù)和2個(gè)下一次掃描中的數(shù)據(jù)。2.Scan掃描采樣掃描指的是對于多個(gè)連續(xù)通道順序地快速采樣。比如,每秒鐘掃描一次并同時(shí)對0-15號通道進(jìn)行采樣(掃描頻率為1Hz),每次A/D時(shí)鐘脈沖(軟件命令/定時(shí)器/外部觸發(fā)器)到來,16個(gè)通道就被進(jìn)行一次性地快速采樣。每次的掃描間隔為5-2s。因?yàn)槊總€(gè)A/D時(shí)鐘觸發(fā)對全部選通通道的采樣,所以每個(gè)通道的采樣頻率等于掃描頻率,并且總采樣頻率等于掃描頻率乘以選通通道數(shù)。Scan掃描操作和FIFO操作是相互獨(dú)立的,可以同時(shí)有效,亦可單獨(dú)有效。3.順序連續(xù)采樣在順序連續(xù)采樣中,每個(gè)
40、A/D時(shí)鐘脈沖只會觸發(fā)當(dāng)前通道的一次A/D轉(zhuǎn)換,因此設(shè)置了一個(gè)通道計(jì)數(shù)器。如果選通通道范圍為 1(high channel=low channel),那么時(shí)鐘脈沖的到來只會觸發(fā)對當(dāng)前輸入通道采樣數(shù)據(jù)的A/D轉(zhuǎn)換;而如果選通通道范圍大于1(high channel>low channel),當(dāng)前通道的A/D轉(zhuǎn)換結(jié)束后通道計(jì)數(shù)器從低通道向高通道方向移動(dòng),最高通道的A/D轉(zhuǎn)換完成后通道計(jì)數(shù)器會復(fù)位至最低通道等待下一輪轉(zhuǎn)換。表2.3展示了每種模式的配置和描述。表2.3 DIAMONO-MM-32-AT A/D采樣模式設(shè)置及描述ScanFIFO中斷模式描述否否否單次采樣這是最基本的一種采樣模式,用
41、于軟件控制下的采樣頻率要求精確度不高或者外部信號控制下速率低的情況下的低于100Hz的低速采樣。一次采樣一個(gè)通道或多個(gè)通道。是否否掃描采樣用于軟件或外部信號控制下的低于I00Hz的連續(xù)采樣,掃描采集多個(gè)連續(xù)通道的信號,單次掃描內(nèi)采樣間隔為5-20s不等,掃描間隔可長可短依賴于軟件或外部觸發(fā)器。高于100Hz的掃描采樣一般采用中斷模式。否否是單次中斷采樣,低速用于采樣頻率低于100Hz但精度要求高的單通道或多通道隨機(jī)采樣的情況,采樣時(shí)鐘來自板載計(jì)數(shù)器/定時(shí)器或外部時(shí)鐘源,每次采樣間隔相同。是否是掃描中斷用于多個(gè)通道的采樣速率可控的低速采樣情況,每個(gè)通道的采樣頻率小于500Hz。每次采樣動(dòng)作包括對
42、所有通道的連續(xù)快速掃描和采樣,掃描間隔取決于采樣頻率。否是是單次中斷采樣,高速用于中高速采樣(大于500Hz),最高支持板卡的最大采樣頻率200kHz。采樣頻率也可根據(jù)需要適當(dāng)降低,采樣時(shí)鐘來自板載計(jì)數(shù)器/定時(shí)器或外部時(shí)鐘源。是是是掃描中斷采樣用于掃描速率和采樣頻率較高的多通道采樣的情況,采樣時(shí)鐘同樣來自板載計(jì)數(shù)器/定時(shí)器或外部時(shí)鐘源。2.3.4 DIAMOND-MM-32-AT 模擬輸出的范圍和分辨率DIAMOND-MM-32-AT提供了4路12位分辨率的模擬輸出通道,12位二進(jìn)制數(shù)的最大值為212-1即4095,故而允許寫入模擬輸出端口的數(shù)值范圍為0-4095。12位DAC的最小精度是全量
43、程輸出范圍的1/4096,每個(gè)微小的改變稱為1LSB,有如下等式:1LSB=最大電壓幅值/4096例如:輸出電壓范圍=±5V,則有,最大電壓幅值=10V;1LSB=10/4096=2.44mV。此外,DIAMOND-MM-32-AT的D/A轉(zhuǎn)換芯片需要兩個(gè)參考電壓,一個(gè)是對于最高電壓的參考,另一個(gè)是對最低電壓的參考。并且電壓輸出范圍一旦設(shè)定,所有的模擬輸出通道都遵循同一個(gè)范圍。板卡加電后,各DAC自動(dòng)復(fù)位至電壓輸出范圍的中值。2.3.5 DIAMOND-MM-32-AT數(shù)字I/0工作模式DIAMOND-MM-32-AT包含兩組數(shù)字I/O線路,分別如下:n 內(nèi)部82C55數(shù)字I/O電路
44、提供的24路數(shù)字I/O線路,這些線路是對8255芯片模式0和模式1功能的仿真,它為輸出模式提供外部驅(qū)動(dòng)的緩沖。板卡的J4部分就是對此24路數(shù)字I/O的接口。n 板卡的J3部分包含的4路輸入和3路輸出既可被用于通用數(shù)字I/O,亦可定義成特殊用途。1. J4提供的主數(shù)字I/O:內(nèi)部82C55電路。對于82C55電路提供的數(shù)字帕是通過對Page1的4個(gè)寄存器(Base+12至Base+15)來訪問的。82C55芯片的地址0就等效于該板卡上的Base+12。在對數(shù)字I/O訪問之前,首先要設(shè)置復(fù)合控制寄存器(Base+8)使Page1為當(dāng)前頁,以便訪問與各DAC對應(yīng)的寄存器。在使用Base+l2至Bas
45、e+15寄存器之前,首先要在復(fù)合控制寄存器(Base+8)和頁控制寄存器(Base+7)對頁進(jìn)行設(shè)置使Page1成為當(dāng)前頁。此種數(shù)字I/O的功能類似于82C55的模式O的直接I/O和模式1的鎖存I/O。在模式1中,添加了鎖存和握手通知信號。J4部分的A、B、C三個(gè)口的輸入輸出都是可通過編程控制的。此外C口可以被分割成兩個(gè)部分(COC3,C4C7),每個(gè)部分的輸入輸出方向的設(shè)置都是獨(dú)立的。J4上的24路數(shù)字I/O都外接有4.7k價(jià)作為上下拉電阻,保證各線路處于電平的穩(wěn)定狀態(tài)。同時(shí),每條線路在8255控制芯片與FO針腳之間都有一個(gè)74FCT245芯片作為數(shù)據(jù)緩沖區(qū)和線路驅(qū)動(dòng)。這些線路驅(qū)動(dòng)能夠根據(jù)寫
46、入的控制字而改變輸入輸出方向。板卡加電后,所有的端口被默認(rèn)設(shè)置為輸入模式,如果某個(gè)端口需要改變?yōu)檩敵瞿J剑枰贐ase+l5中修改相應(yīng)控制位。圖2.5展示了82C55電路的寄存器描述。圖2.5 DAMOND-MM-32-AT 內(nèi)部82C55電路中寄存器描述Base + nD7D6D5D4D3D2D1D012,Read/writeA7A6A5A4A3A3A1A013,Read/writeB7B6B5B4B3B2B1B014,Read/writeC7C6C5C4C3C2C1C015,write only1ModeCModeADirADirCHModeBDirBDirCL2.各端口的工作模式描述:
47、模式O和模式1(l)模式O為基本的輸入輸出模式,有以下特性:n 任何端口都具有輸出及輸入功能。n 輸出時(shí)各Port均有鎖定功能,能將信號鎖定在最后一次的輸出狀態(tài)上。n 輸入無鎖定功能,數(shù)據(jù)收到后端口上的信號將不會保留最后一次輸入的狀態(tài)。n 有2個(gè)8位端口(A和B)及2個(gè)4位端口(C0C3和C4C7)可供利用,一共可組成16種不同的輸出入狀態(tài)。(2)模式1為握手式的輸入輸出模式,帶有“Latch”(輸入模式有效)“Ack”(輸出模式有效)兩個(gè)通訊信號,并且只有端口A可以設(shè)置成模式1。在板卡最初加電或復(fù)位狀態(tài)時(shí),Latch=low,Ack=low。此種模式又分以下四種情況:a.輸入模式,無中斷操作
48、:“Latch”是上升沿有效的信號。若端口A被設(shè)置成模式1,外部數(shù)據(jù)輸入時(shí)“Latch”便會由低變高,端口A各針腳上的數(shù)據(jù)被暫時(shí)鎖存,同時(shí)“Ack”信號由低變高以通知內(nèi)部控制芯片讀取數(shù)據(jù)。如果數(shù)據(jù)在“Latch”第二次上升沿到來時(shí)還未被讀取,將會被下次到來的數(shù)據(jù)所覆蓋;如果數(shù)據(jù)及時(shí)被內(nèi)部控制芯片讀取,Ack和Latch會立即被置低以等待下次數(shù)據(jù)的到來。b.輸出模式,無中斷操作:若端口A被設(shè)置成模式1,內(nèi)部數(shù)據(jù)要通過A端口輸出時(shí),“Ack”由低變高預(yù)示有新數(shù)據(jù)到來,然后外圍電路就會通過線路驅(qū)動(dòng)將“Latch”變高,此時(shí)“Ack”又會由高變低,“Latch”會在端口A的數(shù)據(jù)被讀走后變低。c.輸入模
49、式,有中斷操作:當(dāng)“Latch”被外圍電路置高后,端口A會把針腳上的數(shù)據(jù)暫時(shí)鎖存,“Ack”信號由低變高,此時(shí)中斷信號就會產(chǎn)生。中斷處理例程把端口A的鎖存數(shù)據(jù)讀走后Ack變低指示新數(shù)據(jù)允許被鎖存。同時(shí)中斷處理例程還負(fù)責(zé)向復(fù)合控制寄存器(Base十8)的第3位寫入“1”用以清除本次中斷請求信號。d.輸出模式,有中斷操作:與b情況類似,若端口A被設(shè)置成模式1,內(nèi)部數(shù)據(jù)要通過端口A輸出,“Ack”由低變高預(yù)示有新數(shù)據(jù)到來。外圍電路鎖存住數(shù)據(jù)后,會通過線路驅(qū)動(dòng)將Latch輸入變高,導(dǎo)致“Ack”變低和一個(gè)新的中斷請求的產(chǎn)生。中斷處理例程接下來會將端口A上的數(shù)據(jù)讀走。在這種模式下,應(yīng)確保中斷信號產(chǎn)生前數(shù)
50、據(jù)就己寫到端口A,以便讓外圍電路在Ack由低變高之前把數(shù)據(jù)從端口A讀走。在最后一次中斷到來時(shí)發(fā)現(xiàn)端口A已無數(shù)據(jù)后結(jié)束操作。綜合以上四種情況,對于a、b兩種無中斷操作的情況程序必須采用查詢方式,極其浪費(fèi)CPU資源導(dǎo)致系統(tǒng)效率低下,因而本實(shí)驗(yàn)系統(tǒng)的設(shè)備驅(qū)動(dòng)程序只對c、d兩種帶有中斷操作的情況進(jìn)行了實(shí)現(xiàn)。至于模式1下是否使用中斷,在中斷與A江)時(shí)鐘控制寄存器(Base+9)中進(jìn)行設(shè)置,該寄存器描述如圖2.6。圖2.6 中斷與A/D時(shí)鐘控制寄存器(Base+9)描述Bit No76543210NameADINTEDINTETINTERSVD1RSVD2XCLKENCLKSELADINTE:A/D中斷使
51、能1允許A/D模擬輸入時(shí)的中斷操作0使戶JD中斷無效DINTE:數(shù)字I/O中斷使能1J4接口的數(shù)字I/O部分“Latch”上升沿時(shí)觸發(fā)中斷0使數(shù)字I/O中斷無效TINTE:板載82C54計(jì)數(shù)器O182C54計(jì)數(shù)器0的下降沿觸發(fā)中斷O使計(jì)數(shù)器O的中斷操作無效RSVDI、RSVD2:保留CLKEN:A/D采樣的硬件時(shí)鐘使能1使A/D采樣的硬件時(shí)鐘有效(硬件時(shí)鐘源選擇通過CLKSEL位設(shè)置來實(shí)現(xiàn)),此時(shí)軟件觸發(fā)無效,即對Base功的寫操作不再會觸發(fā)一次戶口D轉(zhuǎn)換O使A/D采樣的硬件時(shí)鐘無效,此時(shí)一個(gè)軟件命令觸發(fā)一次戶以D轉(zhuǎn)換CLKSEL:A/D硬件時(shí)鐘源的選擇(該位只有當(dāng)CLKEN=l時(shí)有效)1內(nèi)部
52、時(shí)鐘作為A/D時(shí)鐘源,板載82C54的計(jì)算器/定時(shí)器2輸出的下降沿觸發(fā)一次A/D轉(zhuǎn)換O外部時(shí)鐘作為A/D時(shí)鐘源,來自I/O接口的EXTCLK針腳的下降沿觸發(fā)一次戶了D轉(zhuǎn)換3. J3的輔助數(shù)字I/O板卡J3接口的3路數(shù)字輸出和4路數(shù)字輸入既可作為一般用途,又可以為A/D和計(jì)數(shù)器/定時(shí)器提供輔助作用。對于它們的控制和設(shè)置依靠兩個(gè)控制寄存器(Base+1O、Base+9)中的幾個(gè)控制位來實(shí)現(xiàn)。下面分別對3路數(shù)字輸出和4路數(shù)字輸入作詳細(xì)闡述。(1) 3路數(shù)字輸出l J3第42針腳 Ctr2 Out/Dout2此針腳的功能由計(jì)數(shù)器與數(shù)字I/O配置寄存器(Base+10)的第5位來決定:1此針腳的輸出為板
53、載82C54計(jì)數(shù)器2的輸出0此針腳的輸出為輔助數(shù)字輸出寄存器(Base+1)的第2位DOUT2的值l J3第43針腳Dout1此針腳的輸出值為輔助數(shù)字輸出寄存器(Base+1)的第l位DOUTI的值l J3第44針腳Ctr0 Out/Dout0此針腳的功能由計(jì)數(shù)器與數(shù)字FO配置寄存器(Base+10)的第4位來決定:1此針腳的輸出為板載82C54計(jì)數(shù)器O的輸出0此針腳的輸出為輔助數(shù)字輸出寄存器(Base+1)的第0位DOUT0的值(2)4路數(shù)字輸入l J3第45針腳Extelk/Din3該針腳輸出的數(shù)字時(shí)鐘信號能夠在輔助數(shù)字輸入寄存器(Base+4)的第3位讀到。它能夠在中斷和戶以D時(shí)鐘控制寄
54、存器(Base+9)的CLKEN=l和CLKSEL二0時(shí)作為控制A/D轉(zhuǎn)換的外部時(shí)鐘。l J3第46針腳Extgate/Din2該針腳輸出的數(shù)字時(shí)鐘信號能夠在輔助數(shù)字輸入寄存器(Base+4)的第2位讀到。它能夠在計(jì)數(shù)器與數(shù)字I/O配置寄存器(Base+10)的GT12EN=1時(shí)作為A/D轉(zhuǎn)換的使能門限信號。l J3第47針腳Gate0/Din1該針腳輸出的數(shù)字時(shí)鐘信號能夠在輔助數(shù)字輸入寄存器(Base+4)的第1位讀到。它能夠在計(jì)數(shù)器與數(shù)字I/O配置寄存器(Base+10)的第2位GTOEN=l作為板載82C54計(jì)數(shù)器0的門限信號。當(dāng)該門限信號為高時(shí),計(jì)數(shù)器0計(jì)數(shù);門限信號為低時(shí),計(jì)數(shù)器O無
55、法計(jì)數(shù)。l J3第48針腳 Clk0/Din0該針腳輸出的數(shù)字時(shí)鐘信號能夠在輔助數(shù)字輸入寄存器(Base+4)的第0位讀到。它能夠在計(jì)數(shù)器與數(shù)字I/O配置寄存器(Base+10)的第1位SRCO=O作為板載82C54計(jì)數(shù)器0的外部時(shí)鐘信號,且上升沿有效。2.4本章小結(jié)本章敘述了整個(gè)實(shí)驗(yàn)系統(tǒng)的硬件架構(gòu)設(shè)計(jì),并分別對下位機(jī)系統(tǒng)的CPU模塊SCM/LX-3160和I/O模塊DIAMOND-MM-32-AT的性能和各方面邏輯作了深入剖析,為軟件平臺的搭建及數(shù)據(jù)采集驅(qū)動(dòng)程序的編寫提供了硬件支持。第三章 嵌入式Linux軟件開發(fā)環(huán)境的構(gòu)建下位機(jī)軟件開發(fā)環(huán)境的構(gòu)建過程在上位機(jī)PC上完成,構(gòu)建好的軟件環(huán)境存儲在一張總?cè)萘?GB的CF卡上。上位機(jī)PC安裝的Ubuntu9.03操作系統(tǒng),整個(gè)構(gòu)建過程包括Linux內(nèi)核的裁剪和移植、根文件系統(tǒng)的創(chuàng)建、引導(dǎo)加載程序的寫入。本章將首先分析Linux內(nèi)核的關(guān)鍵機(jī)制,介紹內(nèi)核移植到PC/104硬件平臺的方法和注意事項(xiàng),然后提出了利用busybox工具構(gòu)建根文件系統(tǒng)的方法,隨后闡述了在構(gòu)建好的系統(tǒng)上寫入引導(dǎo)加載程序的過程,為基于該內(nèi)核的硬件設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)和實(shí)現(xiàn)打造一個(gè)合適的軟件平臺。3.1 Linux內(nèi)核分析3.1.1 Linux內(nèi)核概述一個(gè)完
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《動(dòng)態(tài)過渡效果》課件
- 高效的審計(jì)學(xué)習(xí)方法與試題及答案專家建議
- 《肺部疾病病理學(xué)》課件
- 大班美術(shù)活動(dòng)說課
- 高危孕產(chǎn)婦轉(zhuǎn)診與救治流程
- 新質(zhì)生產(chǎn)力指標(biāo)體系
- 企業(yè)財(cái)務(wù)制度培訓(xùn)體系構(gòu)建
- 大班幼兒無序奔跑的安全風(fēng)險(xiǎn)防控
- 《解析文獻(xiàn)的課件制作技巧》
- 初二物理滑輪總結(jié)模版
- 2025年中小學(xué)《研學(xué)旅行》實(shí)施方案 (匯編3份)
- 人教部編版三年級語文下冊 課課練-第21課 我不能失信(含答案)
- 2025廊坊師范學(xué)院輔導(dǎo)員考試題庫
- 2025上半年黑龍江大慶市肇源縣人才引進(jìn)110人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- CSC-300系列數(shù)字式發(fā)變組保護(hù)裝置的調(diào)試說明
- 硫酸應(yīng)急預(yù)案-硫酸泄漏應(yīng)急預(yù)案演練總結(jié)
- 2025年中考英語復(fù)習(xí)1600詞背誦單-按字母排序
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 語文試卷(含官方答案解析)
- 線路安規(guī)培訓(xùn)
- 比亞迪秦EV新能源汽車電機(jī)驅(qū)動(dòng)系統(tǒng)
- 西醫(yī)骨科發(fā)展簡史
評論
0/150
提交評論