版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.理工學(xué)院設(shè) 計(jì) 報(bào) 告課程名稱 嵌入式系統(tǒng)應(yīng)用II 題 目基于ARM9的數(shù)據(jù)采集程序設(shè)計(jì)專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班 級 計(jì)算機(jī) 學(xué) 號 姓 名 成 績 _:嵌入式系統(tǒng)應(yīng)用II考核要求考核班級:考核方式:本課程為考查課,由于這門課程是理論與實(shí)踐相結(jié)合且實(shí)踐性很強(qiáng)的課程,學(xué)習(xí)目標(biāo)是培養(yǎng)學(xué)生嵌入式開發(fā)的基本能力,考核方式擬采用學(xué)生獨(dú)立編寫一個嵌入式應(yīng)用程序的方式,以設(shè)計(jì)文檔的形式提交??己祟}目:基于ARM9的數(shù)據(jù)采集程序設(shè)計(jì)通過S3C2410X(ARM9)的ADC采集實(shí)驗(yàn)箱三個電位器的值,旋轉(zhuǎn)電位器時可在屏幕上看到當(dāng)前采集值的變化??己艘螅?#216; 硬件平臺為博創(chuàng)經(jīng)典UP-NETARM24
2、10實(shí)驗(yàn)箱(S3C2410處理器)。Ø 軟件平臺為eclipse+keil+PUTTY(串口調(diào)試助手)。Ø 一人一份紙質(zhì)報(bào)告,報(bào)告內(nèi)容不能雷同,雷同者全部以0分記載。報(bào)告內(nèi)容包括:l 實(shí)現(xiàn)的功能l 軟硬件平臺l 硬件原理分析及原理圖l 硬件驅(qū)動的實(shí)現(xiàn)步驟及分析l 代碼設(shè)計(jì):所有需要編寫的代碼(如adc.c、adc.h、main.c、Makefile等)、代碼的注釋,及整個工程樹形結(jié)構(gòu)的截圖。l 運(yùn)行及調(diào)試的步驟:需要圖文并茂,圖必須是自己設(shè)計(jì)過程中的截圖。l 總結(jié)體會:具體學(xué)到了什么知識、在學(xué)習(xí)過程中的經(jīng)驗(yàn)、體會。成績評定:平時成績50%+期末成績50% 作品具體評分標(biāo)準(zhǔn)如
3、下:評 定 項(xiàng) 目評分成績1實(shí)現(xiàn)三個電位器的數(shù)據(jù)采集功能,有運(yùn)行結(jié)果圖(含學(xué)號或姓名)。30分2問題分析正確、硬件驅(qū)動的實(shí)現(xiàn)步驟詳細(xì)。20分3代碼設(shè)計(jì)正確、注釋完整。20分4運(yùn)行及調(diào)試的步驟正確、詳細(xì)、圖文并茂。20分5報(bào)告格式規(guī)范、條理清晰、語句通順。10分總分100分目錄第一章.設(shè)計(jì)背景1第二章.設(shè)計(jì)目的22.1設(shè)計(jì)目的:22.2 實(shí)現(xiàn)功能:2第三章.設(shè)計(jì)原理33.1 ARM9實(shí)驗(yàn)箱簡介33.2 A/D接口原理3第四章.詳細(xì)設(shè)計(jì)5第五章.具體代碼實(shí)現(xiàn)75.1 實(shí)現(xiàn)驅(qū)動75.2相關(guān)寄存器定義85.3 編寫main.c85.4 修改兩個Makefile文件10第六章 實(shí)驗(yàn)運(yùn)行步驟126.1 啟
4、動串口調(diào)試126.2 啟動H-JTAG126.3運(yùn)行Eclipse工程13第七章.實(shí)驗(yàn)現(xiàn)象&結(jié)果分析157.1 實(shí)驗(yàn)現(xiàn)象157.2總結(jié)體會 15第一章.設(shè)計(jì)背景由于Linux系統(tǒng)是開源系統(tǒng),其內(nèi)核和各種開發(fā)工具都可以從網(wǎng)絡(luò)上輕易獲取,使其在嵌入式系統(tǒng)的開發(fā)中得到了越來越廣泛的應(yīng)用。但Linux系統(tǒng)本身并沒有對種類繁多的硬件設(shè)備都提供現(xiàn)成的驅(qū)動程序,特別是由于工程應(yīng)用中的靈活性,其驅(qū)動程序更是難以統(tǒng)一,這時就需開發(fā)一套適合于自己產(chǎn)品的設(shè)備驅(qū)動。這使得Linux設(shè)備驅(qū)動程序的開發(fā)在整個嵌入式系統(tǒng)開發(fā)工作中占有很重要的地位。本文針對現(xiàn)在非常流行的一款三星公司生產(chǎn)的ARM9嵌入式微處理器S3C
5、2410,在Linux操作系統(tǒng)下實(shí)現(xiàn)了多路AD轉(zhuǎn)換的驅(qū)動,通過該驅(qū)動程序?qū)嵗?介紹在Linux系統(tǒng)下驅(qū)動程序編寫的一般方法,包括驅(qū)動程序和測試程序的編寫。本次設(shè)計(jì)采用的實(shí)驗(yàn)器材有:1. 硬件平臺為博創(chuàng)經(jīng)典UP-NETARM2410實(shí)驗(yàn)箱(S3C2410處理器)。 2. 軟件平臺為eclipse+keil+PUTTY(串口調(diào)試助手)。 第二章.設(shè)計(jì)目的2.1設(shè)計(jì)目的:1. 熟悉基于ARM微處理器的嵌入式系統(tǒng)開發(fā)的過程;2. 掌握嵌入式系統(tǒng)開發(fā)的A/D 接口原理;3. 掌握S3C2410的AD相關(guān)寄存器的配置及編程應(yīng)用方法;4. 掌握eclipse+keil的開發(fā)流程;5. 鍛煉實(shí)踐動手能力和團(tuán)隊(duì)
6、協(xié)作能力。2.2 實(shí)現(xiàn)功能:通過S3C2410X(ARM9)的ADC采集實(shí)驗(yàn)箱電位器的值,旋轉(zhuǎn)電位器時可在屏幕上看到當(dāng)前采集值的變化。 中斷功能:按下中斷按鍵觸發(fā)中斷,中斷時三個LED燈閃爍一次,且屏幕上打印正在中斷的提示。 報(bào)警功能:設(shè)定一個臨界值(如500),當(dāng)采集的值超過此臨界值時,燈閃爍報(bào)警,三個電位器可與三個燈一一對應(yīng)。第三章.設(shè)計(jì)原理3.1 ARM9實(shí)驗(yàn)箱簡介ARM9采用哈佛體系結(jié)構(gòu),指令和數(shù)據(jù)分屬不同的總線,可以并行處理。在流水線上,ARM7是三級流水線,ARM9是五級流水線。由于結(jié)構(gòu)不同,ARM7的執(zhí)行效率低于ARM9。平時所說的ARM7、ARM9實(shí)際上指的是ARM7TDMI、
7、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運(yùn)行諸如linux這樣的嵌入式操作系統(tǒng)。而ARM公司對這種架構(gòu)進(jìn)行了擴(kuò)展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內(nèi)核?;赼rm9內(nèi)核的處理器,是具有低功耗,高效率的開發(fā)平臺。廣泛用于各種嵌入式產(chǎn)品。它主要應(yīng)用于音頻技術(shù)以及高檔工業(yè)級產(chǎn)品,可以跑linux以及wince等高級嵌入式系統(tǒng),可以進(jìn)行界面設(shè)計(jì),做出人性化的人機(jī)互動界面,像一些網(wǎng)絡(luò)產(chǎn)品和手機(jī)產(chǎn)品,如圖1:圖1 ARM9原理圖3.2 A/D接口原理A/D轉(zhuǎn)換器是模擬信號和CPU之間聯(lián)系的接口,它將連續(xù)變化
8、的模擬信號轉(zhuǎn)換為數(shù)字信號,以供計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行分析、處理、存儲、控制和顯示。與A/D轉(zhuǎn)換相關(guān)的寄存器(1)ADC控制寄存器(ADCCON)(2)ADC觸摸屏控制寄存器(ADCTSC)(3)ADC啟動延時寄存器(ADCDLY) (4)ADC轉(zhuǎn)換數(shù)據(jù)寄存器(ADCDATn) ADC支持14位模數(shù)轉(zhuǎn)換,包含一個多路轉(zhuǎn)換器,8個可獨(dú)立配置的通道、一個參考電壓發(fā)生器。特點(diǎn):1、可選的抽取率(采樣頻率);2、8個獨(dú)立輸入通道,可接受單端或差分信號;3、參考電壓可選內(nèi)部單端、外部單端、外部差分或AVDD5;4、轉(zhuǎn)換結(jié)束可觸發(fā)中斷;5、轉(zhuǎn)換結(jié)束可觸發(fā)DMA;6、片上溫度傳感器輸入;7、電池測量功能;其基本
9、原理圖如圖2所示:圖2 ADC原理圖S3C2410的ADC是8路復(fù)用的,開發(fā)平臺上的3個ADC電位器對應(yīng)AIN0-2,觸摸屏電路使用AIN5和AIN7。ADC電路的參考電壓VERF固定為3.3V電壓,輸入電壓范圍是0到3.3V。 A/D轉(zhuǎn)換器是模擬信號和CPU之間聯(lián)系的接口,它將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號,以供計(jì)算機(jī)和數(shù)字系統(tǒng)進(jìn)行分析、處理、存儲、控制和顯示。第四章.詳細(xì)設(shè)計(jì)4.1 muxed引腳判斷 在IO一章搜索AIN0,沒有,不是多功能引腳。4.2 clk配置4.2.1開啟時鐘在07-clock power management一章中找到如圖3:圖3 時鐘clk狀態(tài)表將ADC設(shè)置為
10、使能狀態(tài),CLKCON15=0b1。4.2.2 時鐘分屏在16-ADC & touch screen一章中的寄存器中配置找到如圖4圖表:圖4 時鐘分屏配置圖設(shè)置A/D轉(zhuǎn)換器預(yù)分頻器: ADCCON14=0b1。 設(shè)置A/D轉(zhuǎn)換器預(yù)分頻器: ADCCON13:6=0xFF。256分頻,并使能分頻。4.3參數(shù)設(shè)置 查看圖4-2可知: 1.ADC通道選擇為AIN2:ADCCON5:3=0b010 2.模式選擇為正常模式:ADCCON2=0b0 3.設(shè)置啟動AD轉(zhuǎn)換的方式為讀啟動:ADCCON1=0b1 4.啟動AD轉(zhuǎn)換:ADCCON0=0b1第五章.具體代碼實(shí)現(xiàn)5.1 實(shí)現(xiàn)驅(qū)動在工程中新建d
11、rivers文件夾,在drivers中新建adc文件夾,在adc中新建adc.c文件,在adc.c中添加如圖5和圖6代碼:圖5 adc.h代碼圖圖6 adc.h代碼圖續(xù)5.2相關(guān)寄存器定義參考數(shù)據(jù)手冊圖7:圖7 寄存器定義圖工程->include文件夾->adc文件夾->adc.h,在adc.h中添加如圖8的代碼:圖8 adc.h代碼圖5.3 編寫main.ccommon文件夾-> main.c,在main.c中添加如圖9和圖10的代碼:圖9 main.c代碼圖圖10 main.c代碼圖續(xù)5.4 修改兩個Makefile文件復(fù)制工程中common文件夾中的Makefil
12、e文件到drivers->adc中, 在drivers-> adc下的Makefile中1.找到:“COBJS:=”改為:COBJS:= adc.o /即將adc.c編譯成adc.o2.找到“LIB=” 改為:LIB= libadc.a /將adc.o生成庫文件libadc.a3.找到工程中的Makefile文件,在其中添加:LIBS += drivers/adc/libadc.a /將libadc.a 鏈接到工程中完成后的結(jié)果如圖11:圖11 Makefaile代碼圖最后工程結(jié)構(gòu)樹狀圖如圖12:圖12 工程結(jié)構(gòu)樹狀圖第六章 實(shí)驗(yàn)運(yùn)行步驟6.1 啟動串口調(diào)試首先連接串口線,一端連實(shí)
13、驗(yàn)箱的RS232-0,另一端連電腦主機(jī)的串口。1、 雙擊桌面的,選中Serial,將“9600”改為“115200”,點(diǎn)擊左邊樹形列表中的“Serial”,將右邊最后一項(xiàng)改為“None”,點(diǎn)擊“Open”按鈕,出現(xiàn)如下串口調(diào)試界面:圖13 串口調(diào)試界面圖表示串口通了,配置好了。按電腦鍵盤的任意鍵,光標(biāo)停在vivi處,等待eclipse程序運(yùn)行。6.2 啟動H-JTAG先確定實(shí)驗(yàn)箱電源打開,并口線連接好,然后單擊“開始->所有程->H-JTAG->H-JTAG”可以自動檢測到CPU類型,如下圖14:圖14 H-JTAG檢測圖6.3運(yùn)行Eclipse工程1. 創(chuàng)建Eclipse工
14、程雙擊桌面的eclipse選擇工作空間(存放源代碼及工程文件的地方),點(diǎn)擊OK按鈕,進(jìn)入主界面后,單擊File ->New-> C Project菜單項(xiàng),Eclipse將打開一個標(biāo)準(zhǔn)對話框。輸入project_s3c2410 (新建工程的名字,后面的示例圖中的工程名不是project_s3c2410,是led)單擊Finish即可創(chuàng)建一個新的工程,建議對每個新建工程使用獨(dú)立的文件夾。2. 創(chuàng)建Keil工程點(diǎn)擊Vision->Create/Update Vision Project,進(jìn)入Vision Project界面,將Compiler 設(shè)置為GCC,點(diǎn)擊Next->S
15、3C2410A->Finish,這時會打開Keil軟件,關(guān)閉Keila工程。3. 添加文件到工程到D:eclipse_projects_cyg工程目錄下刪除project_s3c2410文件夾,然后拷貝上次實(shí)驗(yàn)的工程文件夾“project_s3c2410” 到D:eclipse_projects_cyg下。再到Eclipse軟件下,按F5刷新工程目錄,再按照上課講的新建文件夾和文件,添加程序,按ctrl+s保存,按ctrl+b編譯工程。4. 調(diào)試工程點(diǎn)擊RUN->Debug Configurations,出現(xiàn)Debug Configurations界面,右鍵單擊Vision Pro
16、ject,點(diǎn)擊New,單擊Browse-> protect_s3c2410->OK; 單擊File的Browse,選中protect_s3c2410.uvproj->OK,點(diǎn)擊Target Options按鈕,選擇Output ->Select Folder for Objects按鈕,點(diǎn)擊向上按鈕,然后點(diǎn)擊OK按鈕;點(diǎn)擊Debug標(biāo)簽,選擇H-JTAG ARM,然后點(diǎn)擊OK按鈕,點(diǎn)擊Debug按鈕,開始調(diào)試程序。 再彈出幾個請求確認(rèn)界面點(diǎn)擊Yes就好。 調(diào)試成功后出現(xiàn)Debug界面,點(diǎn)擊綠色按鈕擊開始運(yùn)行。 觀察試驗(yàn)箱以及串口調(diào)試界面變化。圖15 Debug調(diào)試圖第七章.實(shí)驗(yàn)現(xiàn)象&結(jié)果分析7.1 實(shí)驗(yàn)現(xiàn)象點(diǎn)擊綠色三角按鈕運(yùn)行后,PUTTY界面連續(xù)讀取并顯示AIN0,AIN1,AIN2的數(shù)值,分別旋轉(zhuǎn)3個電位器,串口調(diào)試助手屏幕上顯示的數(shù)值也回發(fā)生變化。按下中斷按鍵觸發(fā)中斷,中斷時三個LED燈閃爍一次,且屏幕上打印正在中斷的提示,并停止繼續(xù)讀取。再過一定的延時時間后,會繼續(xù)讀取并顯示數(shù)值于屏幕上,如圖16。圖16 采集及中斷現(xiàn)象圖7.2總結(jié)體會 這次大作業(yè)讓我更加熟悉了eclipse運(yùn)行過程和程序代碼的編寫。因前幾次實(shí)驗(yàn)的操作,對eclipse的步
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生課堂筆記技巧及輔導(dǎo)方案
- 服務(wù)水平提高承諾函4篇
- 公司形象信譽(yù)維護(hù)承諾書3篇范文
- 民宿經(jīng)營管理模式創(chuàng)新方案
- 小學(xué)語文教學(xué)反思范本與提升方案
- 幼兒園管理行為督導(dǎo)整改方案
- 2026年漯河職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試參考題庫含答案解析
- 2026年畢節(jié)醫(yī)學(xué)高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試參考題庫含答案解析
- 2026年深圳職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試參考題庫含答案解析
- 2026年錫林郭勒職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題含答案解析
- 黑龍江省哈爾濱市師范大學(xué)附中2026屆數(shù)學(xué)高三第一學(xué)期期末質(zhì)量檢測模擬試題含解析
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 醫(yī)療聯(lián)合體兒童保健服務(wù)模式創(chuàng)新
- 2026年書記員考試題庫附答案
- 中國高尿酸血癥與痛風(fēng)診療指南(2024更新版)課件
- 2025至2030中國專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報(bào)告
- DB13∕T 6066.3-2025 國資數(shù)智化 第3部分:數(shù)據(jù)治理規(guī)范
- 2025年白山輔警招聘考試題庫及答案1套
- 特種設(shè)備外借協(xié)議書
- 三元股份財(cái)務(wù)風(fēng)險控制研究
- DBJ-T 13-417-2023 工程泥漿技術(shù)標(biāo)準(zhǔn)
評論
0/150
提交評論