2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  《嵌入式系統(tǒng)二》課程設(shè)計(jì)報(bào)告</p><p>  高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)</p><p><b>  班級:</b></p><p><b>  學(xué)號:</b></p><p><b>  姓名:</b></p><p><b

2、>  指導(dǎo)教師:</b></p><p>  設(shè)計(jì)日期:2013年7月1日 至 2013年7月5日</p><p>  設(shè)計(jì)題目:基于ARM的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) </p><p><b>  摘 要</b></p><p>  近年來,隨著計(jì)算機(jī)技術(shù)、電子技術(shù)等技術(shù)的發(fā)展,如何對數(shù)據(jù)進(jìn)行采集和處理顯得

3、越發(fā)重要,數(shù)據(jù)采集的速度和精度是數(shù)據(jù)采集系統(tǒng)發(fā)展的兩個主要方向。單片機(jī)、ARM、DSP 等各種微處理器的廣泛應(yīng)用,為數(shù)據(jù)采集系統(tǒng)提供了一個有效的平臺。對信號進(jìn)行高速和高精度的采集以及對采集數(shù)據(jù)處理的研究和設(shè)計(jì)是本課題的主要任務(wù)。</p><p>  本文基于ARM7S3C44B0X處理器的高速、高精度、多通道數(shù)據(jù)采集系統(tǒng),利用ARM7S3C44B0X豐富的功能接口和較高的工作頻率,實(shí)現(xiàn)對信號的采集和數(shù)據(jù)處理的功能

4、。本文介紹了數(shù)據(jù)采集系統(tǒng)的國內(nèi)外研究現(xiàn)狀和發(fā)展趨勢,對本系統(tǒng)的主要芯片進(jìn)行了選型尤其是模數(shù)轉(zhuǎn)換芯片AD7663的接口電路。將系統(tǒng)化分成各個功能單元并對各個功能模塊進(jìn)行分析。并提供了原理圖和總體電路圖,并編寫了程序代碼,最后提出了關(guān)于高速高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)的觀點(diǎn)。</p><p>  該系統(tǒng)具有成本低、功耗低、識別性能強(qiáng)及智能程度高等優(yōu)點(diǎn),具有較為廣闊的應(yīng)用前景。</p><p>  關(guān)

5、鍵詞:ARM,S3C44B0X,數(shù)據(jù)采集系統(tǒng),AD7663</p><p><b>  一.緒論</b></p><p>  1.1課題的背景及研究意義</p><p>  隨著工業(yè)技術(shù)的發(fā)展,數(shù)據(jù)采集裝置具有越來越廣泛的應(yīng)用領(lǐng)域。在工業(yè)生產(chǎn)過程中,受產(chǎn)品質(zhì)量、生產(chǎn)成本等多方面因素影響,通常需要對工業(yè)現(xiàn)場的一些參數(shù)進(jìn)行監(jiān)控。數(shù)據(jù)采集裝置是解決這

6、一問題的有效手段。在科學(xué)研究中,應(yīng)用數(shù)據(jù)采集裝置可獲得被測對象的動態(tài)信息,是研究瞬間物理過程的有力工具, 也是獲取科學(xué)奧秘的重要段之一。在生產(chǎn)實(shí)踐中,為了得到我們需要的數(shù)據(jù),通常需要將一些由傳感器輸出的模擬信號轉(zhuǎn)換成數(shù)字信號。再通過計(jì)算機(jī)或者處理系統(tǒng)進(jìn)行相應(yīng)的處理。這種過程即被稱為數(shù)據(jù)采集。數(shù)據(jù)采集裝置在各個領(lǐng)域被廣泛應(yīng)用,己滲透到了工業(yè)現(xiàn)場、地質(zhì)勘測、醫(yī)藥器械、電子通信、航空航天等各個領(lǐng)域,為人類更好的獲取各種信息提供了便利的條件。&

7、lt;/p><p>  綜上可知,研究通用化高精度數(shù)據(jù)采集技術(shù)和網(wǎng)絡(luò)技術(shù),可以有效提高生產(chǎn)管理的自動化水平,對于提高我國勞動生產(chǎn)率和推動經(jīng)濟(jì)發(fā)展具有非常重要的意義。</p><p>  1.2 論文的主要內(nèi)容</p><p>  本文以基于ARM的嵌入式系統(tǒng)為核心,并綜合應(yīng)用高精度數(shù)據(jù)采集方法和網(wǎng)絡(luò)通信接口技術(shù),實(shí)現(xiàn)了基于ARM的通用高精度數(shù)據(jù)采集裝置。在分析國內(nèi)數(shù)據(jù)采

8、集系統(tǒng)的基礎(chǔ)上,考慮到數(shù)據(jù)的采集速度、精度和系統(tǒng)可擴(kuò)展性, ARM7微控制器S3C44B0X,設(shè)計(jì)出一套通用性較強(qiáng)的數(shù)據(jù)采集系統(tǒng)。實(shí)現(xiàn)了高速和高精度信號采集,顯示及傳輸?shù)裙δ堋?lt;/p><p>  二.?dāng)?shù)據(jù)采集系統(tǒng)的總體設(shè)計(jì)</p><p>  2.1 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)目標(biāo)</p><p>  本文設(shè)計(jì)了一種基于ARM7S3C44B0X處理器的高速、高精度、多通道數(shù)

9、據(jù)采集系統(tǒng)。它的主要設(shè)計(jì)目標(biāo)是:</p><p>  (1) 實(shí)時性強(qiáng)。系統(tǒng)的主要工作是對大量的過程狀態(tài)參數(shù)實(shí)時監(jiān)測、數(shù)據(jù)存儲、數(shù)據(jù)處理、進(jìn)行實(shí)時數(shù)據(jù)分析等。因此要求硬件上必須要有實(shí)時時鐘和優(yōu)先級中斷信息處理電路。</p><p>  (2) 可靠性高。他是系統(tǒng)設(shè)計(jì)的一個重要要求。由于數(shù)據(jù)采集系統(tǒng)往往是安放在被控對象的工作環(huán)境中,所以不僅溫度、濕度大,而且腐蝕多,干擾也很多,要求系統(tǒng)有較好

10、的抗干擾能力和采集速度。</p><p>  (3) 結(jié)構(gòu)簡單,功耗低,性能優(yōu)良。</p><p>  2.2 系統(tǒng)的整體設(shè)計(jì)</p><p>  本文設(shè)計(jì)的高速高精度數(shù)據(jù)采集系統(tǒng)有硬件和軟件兩部分組成。而硬件部分主要完成數(shù)據(jù)采集、存儲功能,軟件部分則完成對硬件控制、對采集數(shù)據(jù)進(jìn)行處理。</p><p>  該系統(tǒng)的控制核心S3C44B0X。

11、它為手持設(shè)備和一般類型應(yīng)用提供了高性價比和高性能的微控制器解決方案。為了降低成本,S3C44B0X提供了豐富的內(nèi)置部件:8KB Cache,可選的內(nèi)部SRAM,LCD控制器,帶自動握手的2通道UART,4通道DMA,系統(tǒng)管理器(片選FP/EDO/SDRAM控制器),帶PWM功能的5通道定時器,I/O端口,RTC,8通道10為ADC,IIC總線接口,IIS總線接口,同步SIO接口和PLL倍頻器。S3C44B0X采ARM7TDMI內(nèi)核,0.

12、25um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲編譯器。它低功耗,精簡,出色和全靜態(tài)的設(shè)計(jì)特別適用于成本和功耗敏感的應(yīng)用。同樣S3C44B0X還采用了一種新的總線結(jié)構(gòu),即SAMBAII(SAMSUNG ARM CPU 嵌入式微處理器總線結(jié)構(gòu))。S3C44B0X的顯著特性時它的CPU核,是由ARM公司設(shè)計(jì)的16或32位的ARM7TDMI最高為66MHz的 RISC處理器。微處理器S3C44B0X提供全面的,通用的片上外設(shè),大大減少了系統(tǒng)電路中除處理

13、器以外的元器件配置,從而最小化系統(tǒng)的成本。</p><p>  系統(tǒng)以S3C44B0X為數(shù)據(jù)采集模塊核心處理器,采用模塊化方法設(shè)計(jì),按照功能的不同,分為電源電路、通道選擇電路、模數(shù)轉(zhuǎn)換電路、通信電路、多路開關(guān)及信號調(diào)理電路、計(jì)算機(jī)人機(jī)交互界面部分,數(shù)據(jù)采集系統(tǒng)整體結(jié)構(gòu)圖2-2所示</p><p>  2-2 高速高精度數(shù)據(jù)采集系統(tǒng)的電路框圖</p><p>  數(shù)據(jù)

14、采集系統(tǒng)工作流程:傳感器輸入的模擬信號經(jīng)過信號調(diào)理電路的處理(包括隔離、變換、放大、濾波等各種處理)以滿足數(shù)模轉(zhuǎn)換芯片對輸入電平和信號質(zhì)量的要求,然后通過多路開關(guān)進(jìn)行信號選擇,選通的信號由高性能高速電壓反饋放大器AD8021的進(jìn)一步的處理獲得更精確,精度更高的模擬信號,在微處理器的控制下模擬信號通過16位逐次漸近型模數(shù)轉(zhuǎn)換器AD7663的轉(zhuǎn)換處理存入數(shù)據(jù)緩存,進(jìn)一步通過S3C44B0X處理器的控制的顯示、鍵盤模塊實(shí)現(xiàn)人機(jī)交換功能。同時多

15、路開關(guān)的選擇與控制有微處理器控制。</p><p>  軟件部分的設(shè)計(jì)分為兩個部分,分別為數(shù)據(jù)采集系統(tǒng)控制軟件和數(shù)據(jù)程序處理兩個部分。軟件設(shè)計(jì)共包括五部分:通道選擇,數(shù)據(jù)采集處理,數(shù)據(jù)存儲,數(shù)據(jù)顯示和鍵盤控制。</p><p>  三.?dāng)?shù)據(jù)采集模塊的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p>  本設(shè)計(jì)主要有五個模塊,分別是:多路開關(guān)及信號調(diào)理模塊,模數(shù)轉(zhuǎn)換模塊,存儲模塊,鍵盤

16、模塊,顯示模塊。</p><p>  3.1 多路開關(guān)及信號調(diào)理模塊設(shè)計(jì) </p><p>  3.1.1 信號調(diào)理模塊</p><p>  信號采集系統(tǒng)中,絕大多數(shù)模擬量輸入都帶有大量的噪聲不能直接輸入到模數(shù)轉(zhuǎn)換器中去,需要對信號進(jìn)行調(diào)理。信號調(diào)理電路用來對傳感器輸入的信號進(jìn)行隔離,變換,放大,濾波等各種處理,以滿足模數(shù)轉(zhuǎn)換芯片對輸入電平和信號質(zhì)量的要求。調(diào)理電路

17、如圖3-1所示。</p><p>  圖3-1 信號調(diào)理電路</p><p>  AD623是高精度、低噪聲的儀表放大器,R1是輸入限流電阻,R2是增益電阻,調(diào)節(jié)此電阻的值可改變AD623的增益G,算式為G=100/R1(kΩ)+1。</p><p>  MAX291是濾波器,截止頻率其由電容C1決定。若設(shè)為100Hz:fc(kHz)=1000/3C1(pF),計(jì)算

18、得C1取值為3300pF。使用中還要注意:MAX291的零點(diǎn)漂移達(dá)-200mV~-400mV,因而可在輸出端串接一個10μF左右的鉭電容,隔去MAX291引入的直流分量[8]。</p><p>  3.1.2 多路開關(guān)的選擇</p><p>  本系統(tǒng)選用的是8通道的模擬數(shù)據(jù)選擇器MAX308,輸出哪路信號通過總線控制。帶串行接口的16位模數(shù)轉(zhuǎn)換集成電路(ADC),它包含有跟蹤/保持電路的

19、一個低漂移、低噪聲、掩埋式齊納電壓基準(zhǔn)電源。它的轉(zhuǎn)換速度快、功率消耗底、采樣速率高達(dá)308 kb/s點(diǎn),滿量程輸入電壓范圍為±5V,功耗為210mW??膳c大多數(shù)流行的數(shù)字信號處理器的串行接口直接接口,該輸入可以接收TTL或CMOS的信號電平,時鐘頻率0.1-5.5MHz,其電路圖如圖3-2所示。</p><p>  圖3-2 多路開關(guān)MAX308</p><p>  IN1~IN

20、8是模擬輸入通道,模擬信號由此輸入。A0~A2是通道選擇信號,其選擇由微處理器S3C44B0X控制。</p><p>  3.2 模數(shù)轉(zhuǎn)換模塊</p><p>  模數(shù)轉(zhuǎn)換是把數(shù)據(jù)采集系統(tǒng)采集到的模擬信號轉(zhuǎn)換成系統(tǒng)可以識別并處理的數(shù)字信號。它的精度與速度如何將影響到系統(tǒng)的現(xiàn)實(shí)性和系統(tǒng)的性能。本設(shè)計(jì)采用的是,本模塊的設(shè)計(jì)目的就是為了實(shí)現(xiàn)這功能[9]。</p><p>

21、  3.2.1 信號驅(qū)動放大器信息</p><p>  本模塊由兩部分組成:信號驅(qū)動放大器AD8021與具有低噪聲、高精度和出色的長期穩(wěn)定特性的基準(zhǔn)電壓源ADR421提供基準(zhǔn)電壓的模數(shù)轉(zhuǎn)換芯片AD7663。</p><p>  信號驅(qū)動放大器AD8021是一款出眾的高性能,高速電壓反饋放大器,可以用于16bit分辨率系統(tǒng)。AD8021具有低壓噪聲和低電流噪聲,是當(dāng)今的高速低噪聲運(yùn)算放大器產(chǎn)

22、品中靜態(tài)電源電流(7mA @ ±5V)最低的產(chǎn)品。AD8021工作電壓范圍較寬,為±2.25V~±12V,也可以采用5V單電源供電,因此非常適合高速低功耗儀器儀表。輸出禁用引腳可以將靜態(tài)電源電流進(jìn)一步降低至1.3 mA。與同類放大器相比,AD8021不僅技術(shù)性能出眾,而且價格優(yōu)勢明顯,靜態(tài)電流也低得多。AD8021是一款高速、通用放大器,非常適合各種增益配置,可以用于信號處理鏈路以及控制環(huán)路。AD8021&

23、lt;/p><p>  圖3-3 信號驅(qū)動AD8021</p><p>  采用標(biāo)準(zhǔn)8引腳SOIC與MSOP封裝,工作溫度范圍為:-40°C~+85°C 。芯片電路如圖3-3所示。</p><p>  傳感器輸入的信號通過多路開關(guān)及信號調(diào)理模塊處理后得到比較符合要求的模擬信號,進(jìn)一步通過信號驅(qū)動放大電路AD8021的處理得到精度較高的、穩(wěn)定的模擬信號

24、,通過分辨率高,采樣速率高,功耗小的模數(shù)轉(zhuǎn)換芯片AD7663的作用,輸出符合要求的數(shù)字信號,完成模數(shù)轉(zhuǎn)換。</p><p>  3.2.2 模數(shù)轉(zhuǎn)換芯片的選擇</p><p>  A/D轉(zhuǎn)換器實(shí)際上是將模擬信號轉(zhuǎn)換成數(shù)字量的裝置,其轉(zhuǎn)換工程主要包括采樣、量化、編碼三個步驟。</p><p>  A/D芯片是數(shù)據(jù)采集系統(tǒng)的關(guān)鍵部件,它的性能往往直接影響整個系統(tǒng)的技術(shù)指

25、標(biāo),目前市面上A/D轉(zhuǎn)換器的品種較多,每種芯片具有不同的控制方式和應(yīng)用條件。比較常用的ADC按轉(zhuǎn)換電路結(jié)構(gòu)和工作原理主要分為四類:積分型AD轉(zhuǎn)換器、逐次逼近型、并行比較型ADC、∑-Δ轉(zhuǎn)換器。其中,積分型模數(shù)轉(zhuǎn)換器的采樣速度和帶寬都非常低,但它們的精度可以做得很高,并且抑制高頻噪聲和固定的低頻干擾(如50Hz或60Hz)的能力,使其對于嘈雜的工業(yè)環(huán)境以及不要求高轉(zhuǎn)換速率的應(yīng)用有用(如熱電偶輸出的量化)。逐次逼近型模數(shù)轉(zhuǎn)換器在 1 個時鐘

26、周期內(nèi)只能完成 1 位轉(zhuǎn)換。N位轉(zhuǎn)換需要N個時鐘周期,故這種模數(shù)轉(zhuǎn)換器采樣速率不高,輸入帶寬也較低。它的優(yōu)點(diǎn)是原理簡單,便于實(shí)現(xiàn),不存在延遲問題,適用于中速率而分辨率要求較高的場合。并行比較式 A/D 轉(zhuǎn)換器原理直觀,轉(zhuǎn)換速度極快(最高1GHz的采樣速率),常用于數(shù)字通信和高速數(shù)據(jù)采集領(lǐng)域。缺點(diǎn)是功耗大,制造成本高且易產(chǎn)生離散的、不確定的誤碼輸出。∑-Δ模數(shù)轉(zhuǎn)換器采樣速率較低,但采樣精度會做得很高,且成本低廉,一般限于對低頻較窄的轉(zhuǎn)換。

27、</p><p>  圖3-5 模數(shù)轉(zhuǎn)換接口電路</p><p>  對于一般的工業(yè)采集系統(tǒng)在保證精度和速度的條件下,要盡量提高采樣速度,以滿足實(shí)時采集、實(shí)時處理和實(shí)時控制的要求。通常選擇逐次逼近型或并行比較型AD轉(zhuǎn)換器。A/D轉(zhuǎn)換器的性能參數(shù)主要有:轉(zhuǎn)換精度,轉(zhuǎn)換速率、輸入量程以及轉(zhuǎn)換誤差等,根據(jù)這些參數(shù)本系統(tǒng)中選擇開關(guān)電容結(jié)構(gòu)的16位并行A/D轉(zhuǎn)換器AD7663。模數(shù)轉(zhuǎn)換接口電路如圖3

28、-5所示。</p><p>  A/D7663的輸入阻抗僅為3.41kΩ,若MAX308輸出的信號直接輸入A/D7663進(jìn)行A/D轉(zhuǎn)換時,會產(chǎn)生較大的增益誤差。因此,必須用阻抗極低的信號源來驅(qū)動AD7663的輸入端,這里選用了信號驅(qū)動放大器AD8021。</p><p>  為了實(shí)現(xiàn)高速高精度數(shù)據(jù)采集與存儲的同步,解決ADC和控制器之間速度匹配問題,保證采集數(shù)據(jù)的完整性,本系統(tǒng)設(shè)計(jì)了高速高

29、精度的轉(zhuǎn)換器AD7663和74H273作數(shù)據(jù)采集緩沖器的設(shè)計(jì)方案,使數(shù)據(jù)的采集和傳輸速率進(jìn)行有效的匹配,實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時采集。AD轉(zhuǎn)換是數(shù)據(jù)采集的核心,它決定著系統(tǒng)數(shù)據(jù)采集的精度和速度,本設(shè)計(jì)采用的是AD7663模數(shù)轉(zhuǎn)換器,AD7663是一款16位、250KSPS、低功耗、逐次逼近型模數(shù)轉(zhuǎn)換器,采用5V單電源供電,并提供8位或16位并行口和一個串行口。AD7663具有分辨率高、采樣速率高、功耗小等優(yōu)點(diǎn),在高速高精度的數(shù)據(jù)采集系統(tǒng)中得到了

30、廣泛的應(yīng)用。</p><p>  圖3-6模數(shù)轉(zhuǎn)換接口電路</p><p>  AD7663負(fù)責(zé)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換的功能,它支持串行和并行方式輸出,在本設(shè)計(jì)中AD7663與S3C44B0X以16位并行總線的方式連接。S3C44B0X將總線設(shè)備分為8個BANK進(jìn)行訪問,AD7663掛在BANK3上,因此將BANK3的使能信號nGCS3接到AD7663的片選引腳/CS上,復(fù)位信號nRESET接到AD

31、7663的RESET,總線讀信號nOE接AD7663的/RD。此外,S3C44B0X通過兩個I/O(nCAS0連至/CNVST,GPG3連至BUSY)來控制AD7663的A/D轉(zhuǎn)換過程。</p><p>  3.3 存儲模塊設(shè)計(jì)</p><p>  3.3.1 存儲模塊電路設(shè)計(jì)</p><p>  傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)由于數(shù)據(jù)傳輸速率比較低,數(shù)據(jù)量比較小,一般可以完成

32、實(shí)時分析和處理,所以存儲問題并不突出,但高速高精度數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸速率很高并且數(shù)量很大,采集速度到達(dá)一定的限度就無法進(jìn)行實(shí)時分析和處理,這是需要選擇適當(dāng)?shù)拇鎯Ψ绞骄托写鎯Α?lt;/p><p>  高速高精度數(shù)據(jù)采集系統(tǒng)的存儲要解決兩方面的問題,一是存儲器的低存儲速度與A/D轉(zhuǎn)換器數(shù)據(jù)端口的高輸出速率的匹配問題。二是存儲器的容量要大,其原因是高速數(shù)據(jù)采集會在很短時間內(nèi)產(chǎn)生巨大的數(shù)據(jù)流,存儲系統(tǒng)的容量應(yīng)滿足設(shè)計(jì)要

33、求。解決A/D轉(zhuǎn)換器與存儲器之間的速度匹配問題有兩個:一是對高速A/D的數(shù)據(jù)進(jìn)行鎖存,二是對數(shù)據(jù)進(jìn)行高速存儲。本設(shè)計(jì)采用的是對高速的數(shù)據(jù)進(jìn)行鎖存。選擇的芯片是SST39VF160 Flash Rom。</p><p>  SST39VF160是2MB的Flash芯片,芯片供電電壓為2.7~3.6V,符合JEDEC標(biāo)準(zhǔn)輸出引腳,可擦寫100000個周期,數(shù)據(jù)保存能力達(dá)100年。擦除時間分別為:扇區(qū)擦除時間與塊擦除時

34、間都是18ms,片擦除時間70ms。利用翻轉(zhuǎn)或數(shù)據(jù)采集來確定編程是否完成。芯片內(nèi)部結(jié)構(gòu)與電路圖如3-8圖所示。</p><p>  圖3-8 SST39VF1630芯片內(nèi)部結(jié)構(gòu)圖</p><p>  通過利用微處理器對SST39VF160進(jìn)行寫命令字節(jié)的形式來進(jìn)行數(shù)據(jù)的讀寫操作。保持CE#信號低的同時拉低WE#信號寫入命令字節(jié),在WE#或CE#信號的下降沿(有出現(xiàn)最晚的來確定)鎖存地址總線

35、,而數(shù)據(jù)總線在WE#或CE#(有出現(xiàn)最早的來確定)信號上升沿被鎖存。</p><p>  本設(shè)計(jì)是以SST39VF160為設(shè)計(jì)芯片,詳細(xì)的介紹在S3C44B0X上進(jìn)行Flash ROM接口設(shè)計(jì)。Flash ROM接口設(shè)計(jì)首先應(yīng)該確定硬件電路連接,然后設(shè)置好S3C44B0X存儲器,再按照命令字讀、擦除、寫操作Flash。本節(jié)編寫了SectorErase()扇區(qū),BlockErase ()塊和ChipErase()芯

36、片擦除函數(shù),以及一個測試主函數(shù)來驗(yàn)證讀寫擦除操作是否正確。</p><p>  Flash存儲器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此獲取指令并開始執(zhí)行。因此,應(yīng)將存有程序代碼的Flash存儲器配置到ROM/SRAM的Bank0位置,即將S3C44B0X的nGCS0的引腳接至SST39VF160的n CE引腳;SST39VF160的nOE引腳接S3C44B0X的nOE引腳;nWE引腳接S3C44B0X

37、的nWE;由于SST39VF160的數(shù)據(jù)寬度是16位。所以將S3C44B0X的引腳OM1接地,OM0通過一上拉電阻接+3.3V,使其工作在16位模式;將SST39VF160的地址總線A19~A0與S3C44B0X的地址總線ADDR1~ADDR20相連,地址線偏移了一位,這是因?yàn)镾3C44B0X是按字節(jié)編址的,而SST39VF160的數(shù)據(jù)是以每一個16位作為一個數(shù)據(jù)單元;16位數(shù)據(jù)總線DQ15~DQ0與S3C44B0X的低16位數(shù)據(jù)總線D

38、ATA31~DATA16相連。Flash的地址空間為0x00000000~0x000FFFFF。與S3C44B0X芯片連接電路如圖3-9。</p><p>  圖3-9 Flash ROM連接電路圖</p><p><b>  其引腳功能描述為:</b></p><p>  SCLK:系統(tǒng)時鐘;</p><p><

39、;b>  nSCS:片選;</b></p><p>  SCKE:時鐘使能;</p><p>  A0~A11:行/列地址復(fù)用線;</p><p>  BA0~BA1:BANK選通地址;</p><p>  SRAS:行地址使能。</p><p>  3.3.2 硬件和存儲器設(shè)置</p>

40、<p>  由于ARM是32位處理器,以字節(jié)為單位編制,數(shù)據(jù)處理可以以32位進(jìn)行,存儲方式有大小端之分。在這里,將ARM芯片上的EDIAN端接地,選取小段存儲方式。SST39VF160是16位數(shù)據(jù)寬度的,因此還必須設(shè)置ARM數(shù)據(jù)總線寬度,即設(shè)置OM[1:0]為01,將Bank0數(shù)據(jù)總線寬度設(shè)置成16位。</p><p>  BANKCON0寄存器設(shè)置中包含了Tacs、Tcos、Tacc、Toch、Tc

41、ah、Tpac和PMC7個參數(shù)。對它們的設(shè)置分別為(此程序段在BootLoader的配置程序中)。</p><p>  Bank 0 Parameters</p><p>  B0_Tacs EQU 0x0 ; 0個時鐘周期</p><p>  B0_Tcos EQU 0x0 ; 0個時鐘周期</p><p&g

42、t;  B0_Tacc EQU 0x6 ; 6個時鐘周期</p><p>  B0_Toch EQU 0x0 ; 0個時鐘周期</p><p>  B0_Tcah EQU 0x0 ; 0個時鐘周期</p><p>  B0_Tacp EQU 0x0 ; 0個時鐘周期</p><

43、;p>  B0_PMC EQU 0x0 ;正常(1data)</p><p>  除了Tacc之外,其他值均設(shè)為零,Tacc的值要大于芯片的讀周期時間,由于S3C44B0X處理器的時鐘頻率為64MHz,周期大約為15ns,SST39VF160讀寫時間周期為70ns,所以,Tacc在這里設(shè)置為6個時鐘周期,即0x6[11]。</p><p>  3.4 鍵盤模塊設(shè)計(jì)&

44、lt;/p><p>  鍵盤的結(jié)構(gòu)一般分為兩種形式:線性鍵盤和矩陣鍵盤。本設(shè)計(jì)采用的是4×4矩陣鍵盤。矩陣鍵盤的案件按N行M列排隊(duì)每個鍵盤占據(jù)行列的一個交點(diǎn),需要的I/O口數(shù)目是N+M,容許的最大按鍵數(shù)為N×M。</p><p>  鍵盤掃描過程就是有規(guī)律的時間間隔查看鍵盤矩陣,以確定是否有鍵被按下。一旦處理器判定有一個鍵被按下,鍵盤掃描程序就會濾掉抖動,然后再判定是哪個鍵

45、被按下。每個鍵被分配一個稱為掃描碼的唯一標(biāo)示符,應(yīng)用程序利用該掃描碼來判斷應(yīng)按下了什么鍵。</p><p>  3.4.1 鍵盤線路模塊設(shè)計(jì)</p><p>  3-10 鍵盤連接電路圖</p><p>  本設(shè)計(jì)采用S3C44B0X通用I/O引腳的GPE4~GPE7為行線輸入端,GPF5~GPF8為列線輸出端,與4×4的鍵盤相連。通過軟件延遲的方式來消除

46、按鍵抖動,并通過循環(huán)掃描的方式得到具體的按鍵值。</p><p>  由于通用的I/O口有限,而又需要大量的按鍵輸入,這就要求一種合理的按鍵結(jié)構(gòu),即用盡量少的I/O口實(shí)現(xiàn)盡可能多的鍵盤輸入。本設(shè)計(jì)的電路連接方式如圖3-10示,以8個I/O口實(shí)現(xiàn)16鍵鍵盤。GPE4~GPF7為行線輸入端,GPF5~GPF8為列線輸出端,如圖3-10[12]。</p><p>  3.4.2 寄存器的設(shè)置&l

47、t;/p><p>  使用到的I/O口的各個特殊寄存器的地址定義如下:</p><p>  通用I/O特殊寄存器:</p><p>  #define rPCONE (*(volatile unsigned *)0x1d20028)</p><p>  #define rPDATE (*(volatile u

48、nsigned *)0x1d2002c)</p><p>  #define rPUPE (*(volatile unsigned *)0x1d20030)</p><p>  #define rPCONF (*(volatile unsigned *)0x1d20034)</p><p>  #define rPDATF

49、 (*(volatile unsigned *)0x1d20038)</p><p>  #define rPUPF (*(volatile unsigned *)0x1d2003c)</p><p>  對使用的GPE和GPF引腳寄存器進(jìn)行配置,列輸出引腳GF5~GF8在開始時拉低,便于按鍵發(fā)生時,使得行線的輸入信號遍地。程序如下:</p>

50、<p>  void InitKey(void)</p><p><b>  {</b></p><p>  rPCONE &= 0xff;</p><p>  rPUPE |= 0xf0;</p><p>  rPCONF = (rPCONF & 0x3ff) | 0x92400;

51、//設(shè)置GPF5-8為輸出,其他位保持不變</p><p>  rPUPF |= 0x1e0; //連接鍵盤的輸出都置低電平</p><p>  rPDATF &= 0x1f;</p><p><b>  }</b></p><p>  四.數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)</p><p> 

52、 硬件電路提供了系統(tǒng)運(yùn)行的必須環(huán)境,還需要軟件部分控制才能夠運(yùn)行。本章介紹高數(shù)高精度數(shù)據(jù)數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)。軟件設(shè)計(jì)分為數(shù)據(jù)模數(shù)轉(zhuǎn)換模塊的程序設(shè)計(jì),存儲器模塊的軟件設(shè)計(jì),鍵盤模塊的程序設(shè)計(jì),LCD顯示模塊的程序設(shè)計(jì)和主程序設(shè)計(jì)。由于C語言具有了可讀性強(qiáng)、效率高、易于維護(hù)等優(yōu)點(diǎn)。因此本系統(tǒng)數(shù)據(jù)采集系統(tǒng)采用C語言進(jìn)行編寫,實(shí)現(xiàn)對數(shù)據(jù)采集模塊的控制,數(shù)據(jù)的處理和顯示存儲等功能。本章介紹主要的程序模塊。</p><p&g

53、t;  4.1 主程序流程 </p><p>  圖4-1 數(shù)據(jù)采集模塊程序框圖</p><p>  系統(tǒng)的主程序所要實(shí)現(xiàn)的功能主要是實(shí)現(xiàn)系統(tǒng)的初始化、系統(tǒng)芯片之間的信息交流、相應(yīng)的處理程序。本設(shè)計(jì)采用模塊化編程方式,達(dá)到編寫不同功能的子程序,實(shí)現(xiàn)具體操作的目的。系統(tǒng)的基本流程是,上電復(fù)位后,系統(tǒng)首先進(jìn)行初始化,然后根據(jù)相關(guān)程序命令轉(zhuǎn)入到相應(yīng)的子程序模塊,完成相應(yīng)的功能。程序流程圖4-1所

54、示。</p><p><b>  主程序如下:</b></p><p>  #include"adc.h"</p><p>  #include"flash.h"</p><p>  #include"lcd.h"</p><p>  #

55、include"keyboard.h"</p><p>  #define addrstar 0 //定義flash起始地址</p><p>  *函數(shù)名:init_system</p><p><b>  *作用:初始化系統(tǒng)</b></p><p>  void init_system(void)&

56、lt;/p><p><b>  {</b></p><p>  LCD_Init();//初始化LCD</p><p>  InitKey();//初始化鍵盤</p><p>  SectorErase(addrstar);//擦除從addrstar開始的一個扇區(qū)</p><p>  init_adc

57、();//初始化ad轉(zhuǎn)換器AD7663</p><p>  reset_adc();//復(fù)位AD7663</p><p><b>  }</b></p><p>  *函數(shù)名:switch_chanel</p><p>  *作用:通過鍵盤來選擇采樣通道</p><p>  *按數(shù)字鍵邊切換到對應(yīng)

58、通道</p><p>  char switch_chanel(char chanel)</p><p><b>  {</b></p><p>  char keynum;</p><p>  keynum=ReadKey();//讀取鍵盤值</p><p>  switch(keynum)&l

59、t;/p><p><b>  {</b></p><p>  case 1:chanel=1;break;</p><p>  case 2:chanel=2;break;</p><p>  case 3:chanel=3;break;</p><p>  case 4:chanel=4;break

60、;</p><p>  case 5:chanel=5;break;</p><p>  case 6:chanel=6;break;</p><p>  case 7:chanel=7;break;</p><p>  case 8:chanel=8;break;</p><p>  default:break;&l

61、t;/p><p><b>  }</b></p><p>  return chanel;</p><p><b>  }</b></p><p>  int main(void)</p><p><b>  {</b></p><p&g

62、t;  INT16U data1,data2;</p><p>  char chanel;</p><p>  int i=0,x,y;</p><p>  init_system();//初始化系統(tǒng)</p><p><b>  while(1)</b></p><p><b>  {

63、</b></p><p>  chanel=switch_chanel(chanel);//選擇采樣通道</p><p>  ADC_CHANEL(chanel);//切換通道</p><p>  data=read_adc(chanel);//讀取AD轉(zhuǎn)換數(shù)據(jù)</p><p>  SectorErase(addrstar);//

64、擦除addrstar開始的一個扇區(qū)</p><p>  WordPrograme(addrstar,data);//將數(shù)據(jù)寫入扇區(qū)</p><p>  data2=ReadFlash(addrstar);//將數(shù)據(jù)從flash中讀出來</p><p>  y=(int )((data*1.0/65536)*240);//將采樣的值轉(zhuǎn)換成x,y坐標(biāo)</p>

65、<p><b>  x=i;</b></p><p>  LCD_PutPixel(x,y,color);//將點(diǎn)顯示在LCD上</p><p><b>  i++;</b></p><p>  if(i==320)//一屏顯示完</p><p><b>  i=0;<

66、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 數(shù)據(jù)轉(zhuǎn)換程序</p><p>  圖4-2 AD數(shù)據(jù)轉(zhuǎn)換程序流程圖</p><p>  AD7663是一款16位、250KSPS、低功耗、逐次逼近型模

67、數(shù)轉(zhuǎn)換器,采用5V單電源供電,并提供8位或16位并行口和一個串行口。AD7663具有分辨率高、采樣速率高、功耗小等優(yōu)點(diǎn)。其模擬輸入接到連接到外部引腳IN端。</p><p>  系統(tǒng)初始化函數(shù)void init _ADC();實(shí)現(xiàn)AD模塊的功能設(shè)置,如電壓基準(zhǔn)的選擇,本系統(tǒng)為了提高采集的精確性和準(zhǔn)確度而選用外部精確的2.5V基準(zhǔn)電壓;模擬輸入通道選擇IN作為模擬信號輸入端,多路開關(guān)的操作達(dá)到切換采集通道的目的AD

68、轉(zhuǎn)換程序,系統(tǒng)AD根據(jù)命令進(jìn)行相應(yīng)轉(zhuǎn)換采取單次轉(zhuǎn)換方式。AD數(shù)據(jù)轉(zhuǎn)換程序流程圖如圖4-2所示。</p><p>  #include"adc.h"</p><p>  void delay(INT32U time)</p><p><b>  {</b></p><p>  while(time--)

69、;</p><p><b>  }</b></p><p>  *函數(shù):init_adc</p><p>  *作用:初始化AD7663</p><p><b>  *參數(shù):無</b></p><p>  void init_adc(void)</p><

70、p><b>  {</b></p><p>  RESET_DOWN;</p><p><b>  CNVST_UP;</b></p><p><b>  CS_DOWN;</b></p><p><b>  RD_DOWN;</b></p&g

71、t;<p><b>  }</b></p><p>  *函數(shù)名:reset_adc</p><p>  *作用:復(fù)位AD7663</p><p><b>  *參數(shù):無</b></p><p>  void reset_adc(void)</p><p>&l

72、t;b>  {</b></p><p><b>  RESET_UP;</b></p><p>  delay(20);</p><p>  RESET_DOWN;</p><p><b>  }</b></p><p>  INT16U read_adc(

73、int chanel)</p><p><b>  {</b></p><p>  INT16U data;</p><p>  ADC_CHANEL(chanel);</p><p><b>  CS_DOWN;</b></p><p><b>  RD_DOWN

74、;</b></p><p>  CNVST_DOWN;</p><p>  delay(20);</p><p><b>  CNVST_UP;</b></p><p>  while(!Busy);</p><p>  data=ADCDATA;</p><p&g

75、t;  return data;</p><p><b>  }</b></p><p>  另外還有數(shù)據(jù)存儲程序與LCD驅(qū)動程序,程序清單。</p><p><b>  心得體會</b></p><p>  本次設(shè)計(jì)最終得以順利完成,非常感謝我的指導(dǎo)老師。從論文選題直到論文的最終完成,他都給予我盡

76、心盡力的指導(dǎo)。武老師有著過硬的專業(yè)知識,以及嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,在這次設(shè)計(jì)中,我在武老師的領(lǐng)導(dǎo)下對自己所學(xué)的專業(yè)知識有了進(jìn)一步的鞏固。</p><p>  通過本次課程設(shè)計(jì),使我對ARM嵌入式開發(fā)有了一定的掌握和理解,鞏固了我在ARM課程中所學(xué)的基本理論知識和實(shí)驗(yàn)技能,使我對ARM課程有了更深入的了解。進(jìn)一步激發(fā)了我對所學(xué)專業(yè)學(xué)習(xí)的興趣;提高了我的思考與實(shí)踐能力。在本論文的寫作中,我也參照了許多的著作和文章,許多學(xué)者

77、的科研成果及寫作思路給我很大啟發(fā),在此向這些學(xué)者們表示由衷的感謝。</p><p>  在這次設(shè)計(jì)中,我克服了許多困難,最后幾經(jīng)修改終至完成。但由于才疏學(xué)淺,疏漏之處在所難免,還望老師批評。</p><p><b>  參考文獻(xiàn)</b></p><p>  田軼.基于 ARM7 的高速高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).河北大學(xué)碩士論文,2011.5

78、</p><p>  李博.基于ARM的多通道數(shù)據(jù)采集器的設(shè)計(jì)與實(shí)現(xiàn).哈爾濱工程大學(xué)碩士論文,2011.3</p><p>  李剛,李海蘭.一種高速高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).天津大學(xué)-ADI聯(lián)合實(shí)驗(yàn)室論文,2006</p><p>  王典洪,汪萍,趙娟.基于ARM的多路高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與研究.中國礦業(yè)大學(xué)碩士論文,2009</p><p&

79、gt;  張莉君,莊曉奇,歐陽才校.基于S3C2440的多路高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).機(jī)床與液壓,2010,(1):72-74</p><p>  宋曉波.基于ARM的通用高精度數(shù)據(jù)采集系統(tǒng)裝置的研究.哈爾濱理工大學(xué)碩士論文,2011,3 </p><p>  陳波.基于ARM處理器的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì).武漢科技大學(xué)碩士論文,2009.5</p><p>  劉躍.基

80、于SOC單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).武漢理工大學(xué)碩士論文,2011.5 </p><p>  張戎,張立波.基于ARM處理器的高速高精度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì). 科技信息,2011,(7):459-460</p><p>  周立功,張華等編著.深入淺出ARM7—LPC213x/214x.北京:北京航空航天大學(xué)出版社, 2006 </p><p>  任杰.基于嵌入式技

81、術(shù)的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).長安大學(xué)碩士論文,2009</p><p>  flash.c程序源代碼</p><p>  #include"flash.h"</p><p>  *函數(shù)名:CheckToggleBit</p><p><b>  *參數(shù):無</b></p><p&

82、gt;  *作用:等待寫操作完成</p><p>  int CheckToggleBit(void)//等待寫操作完成函數(shù)</p><p><b>  {</b></p><p>  volatile INT16U oldstatus,newstatus;</p><p>  oldstatus=*((volatile

83、 INT16U *)0x0);//讀取任意地址處的數(shù)據(jù)</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  newstatus=*((volatile INT16U *)0x0);</p><p>  if((oldstatus&

84、0x40)==(newstatus &0x40))</p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p>

85、<p><b>  {</b></p><p>  oldstatus=newstatus;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 1;</b></p&g

86、t;<p><b>  }</b></p><p>  void SectorErase(INT32U sa)//扇區(qū)擦除函數(shù)</p><p><b>  {</b></p><p>  WriteFlash(0x5555,0xaa);</p><p>  WriteFlash(0x2

87、aaa,0x55);</p><p>  WriteFlash(0x5555,0x80);</p><p>  WriteFlash(0x5555,0xaa);</p><p>  WriteFlash(0x2aaa,0x55);</p><p>  WriteFlash(sa,0x30);</p><p>  Che

88、ckToggleBit();</p><p><b>  }</b></p><p>  *函數(shù)名:WordPrograme</p><p>  *參數(shù):address寫入的地址data,寫入的參數(shù)</p><p>  *作用:向地址address寫入兩字節(jié)數(shù)據(jù)data</p><p>  int

89、 WordPrograme(INT32U address,INT16U data)//字寫入,每次寫入兩個字節(jié)</p><p><b>  {</b></p><p>  WriteFlash(0x5555,0xaa);</p><p>  WriteFlash(0x2aaa,0x55);</p><p>  Write

90、Flash(0x5555,0xa0);</p><p>  WriteFlash(address,data);</p><p>  return(CheckToggleBit());</p><p><b>  }</b></p><p>  lcd.c源程序代碼</p><p>  #inclu

91、de"lcd.h"</p><p>  void LCD_Init(void)</p><p><b>  {</b></p><p>  rREDLUT = 0xfdb96420;//使用8種顏色,下同</p><p>  rGREENLUT = 0xfdb96420;</p><

92、;p>  rBLUELUT = 0xfdb40;//使用4種顏色</p><p><b>  //8位單掃描</b></p><p>  rLCDCON1=ENVID_DS|(DISMODE<<5)|(MMODE<<7)|(WDLY<<8)|(WLH<<10)|(CLKVAL<<12);</p&g

93、t;<p>  rLCDCON2=(LINEVAL)|(HOZVAL<<10)|(LINEBLANK<<21);</p><p>  rLCDCON3=0x0;//禁止自刷先模式</p><p>  //彩色模式MODESEL,設(shè)置LCDBANK和LCDBASEU</p><p>  rLCDSADDR1=MODESEL|(LC

94、DBANK<<2)|LCDBASEU;</p><p>  //設(shè)置MVAL和LCDBASEL</p><p>  rLCDSADDR2=(MVAL<<21)|(LCDBASEL)|(MVAL<<21);</p><p>  rLCDSADDR3=PAGEWIDTH|(OFFSIZE<<9);</p>&

95、lt;p>  rDITHMODE=0x0;//抖動模式寄存器</p><p>  rDP1_2=0xa5a5;//抖動模式占空比,默認(rèn)值</p><p>  rDP4_7=0xba5da65;</p><p>  rDP3_5=0xa5a5f;</p><p>  rDP2_3=0xd6b;</p><p>  

96、rDP5_7 =0xeb7b5ed;</p><p>  rDP3_4 =0x7dbe;</p><p>  rDP4_5=0x7ebdf;</p><p>  rDP6_7=0x7fdfbfe;</p><p>  rLCDCON1=ENVID_EN|rLCDCON1;//使能LCD</p><p><b>

97、;  }</b></p><p>  void LCD_PutPixel(int x,int y,unsigned char color)</p><p><b>  {</b></p><p>  if(x<SCR_XSIZE&&y<SCR_YSIZE)</p><p>  *(

98、((unsigned int *)(FrameBUffer))+y*SCR_XSIZE+x)=color;</p><p><b>  }</b></p><p>  void LCD_DrawHLine(int x,int y,int dx,int linewdith,unsigned int color)</p><p><b>

99、  {</b></p><p><b>  int i;</b></p><p>  while((linewdith--)>0)</p><p><b>  {</b></p><p>  for(i=0;i<dx;i++)</p><p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論