基于arm9嵌入式led跑馬燈設(shè)計_第1頁
基于arm9嵌入式led跑馬燈設(shè)計_第2頁
基于arm9嵌入式led跑馬燈設(shè)計_第3頁
基于arm9嵌入式led跑馬燈設(shè)計_第4頁
基于arm9嵌入式led跑馬燈設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《嵌入式系統(tǒng)設(shè)計與應(yīng)用》綜合實驗題目基于ARM9的LED跑馬燈設(shè)計小組成員王堅孫海濤吳燁 學(xué)號201313250012013132500320131325009 學(xué)院信息與控制 專業(yè)信息工程(系統(tǒng)工程方向) 指導(dǎo)教師 孫偉二O一六年五月二十九日摘要 二、設(shè)計方案2.1系統(tǒng)組成2.1.1系統(tǒng)結(jié)構(gòu)系統(tǒng)由FL2440開發(fā)板、串口線、JTAG板及并口連接線以及PC(硬件)和ADS開發(fā)環(huán)境和各種驅(qū)動程序,如圖2.1和圖2.2所示。為降低開發(fā)難度,方便二次開發(fā),系統(tǒng)采用核心板加底板的設(shè)計方案,核心板和底板之間通過連接器相連。這樣可以在核心板不變動的情況下,更改底板的功能組成,以適用不同的功能。同時,由于核心板采用多層PCB板設(shè)計,而底板采用雙層板即可,從而大大的降低了系統(tǒng)的成本。軟件在ADS中直接生成bin文件,然后通過串口線燒寫到芯片中。圖2.1系統(tǒng)結(jié)構(gòu)圖圖2.2S3C2440結(jié)構(gòu)框圖2.2系統(tǒng)工作原理2.2.1系統(tǒng)實現(xiàn)原理從電路圖上我們可以看到,發(fā)光二極管LED的一端連接到了ARM的GPIO,另一端經(jīng)過一個限流電阻接電源VCC。當(dāng)GPIO口為低電平時,LED兩端產(chǎn)生電壓降,這時LED有電流通過并發(fā)光。反之當(dāng)GPIO為高電平時,LED將熄滅。注意亮滅之間要有一定的延時,以便人眼能夠區(qū)分出來。2.2.2GPIO擴(kuò)展口引腳及定義擴(kuò)展口共30針,其中有2路SPI接口、1路IIC接口、4路AD(另外4路通過CON5引出),其他為IO口。 圖2.3GPIO擴(kuò)展口引腳布局 表2.1GPIO擴(kuò)展口引腳及功能引腳功能引腳功能1GPE112GPE123GPE134GPG2/EINT105GPG3/EINT116GPG5/EINT137GPG6/EINT148GPG7/EINT159GPG11/EINT1910GPG15/EINT2311GPG13/EINT2112GPG14/EINT2213GPB514GPB615GPB816GPB1017NRSTOUT/GPA2118GPB719AIN020AIN121AIN222AIN323EINT0/GPF024EINT2/GPF225EINT3/GPF326EINT4/GPF427IICSDA28IICSCL29VDD33V30GND實驗相應(yīng)寄存器:端口數(shù)據(jù)寄存器:端口上拉電阻時能寄存器:端口配置寄存器:三、硬件設(shè)計3.1設(shè)計思路1.將JTAG調(diào)試板25針接口與PC的并口相連,右邊20針接口需要通過排線連接到開發(fā)板的JTAG接口(在串口0附近);2.將串口線的一端插在PC的串口上,另一端插在開發(fā)板的‘COMO’上。打開DNW.EXE軟件,給開發(fā)板上電。使Bootloader停在菜單處(在系統(tǒng)引導(dǎo)時按空格鍵)。3.打開軟件‘ADSCodeWarrior’,新建工程‘led.mcp’,并添加兩個程序文件‘led.c’和‘init.s’(匯編文件)。4.對工程文件進(jìn)行相應(yīng)設(shè)置(參考《開發(fā)板準(zhǔn)備實驗》1.7節(jié))5.編譯該工程,成功后將生成映像文件‘led.axf’。打開AXD,裝載映像文件‘led.axf’。6.運行程序,觀察結(jié)果。PCPC調(diào)試板25調(diào)試板開發(fā)板20COMO開發(fā)板圖3.1硬件連接圖3.2系統(tǒng)電路設(shè)計 圖3.2連線圖四、軟件設(shè)計4.1設(shè)計思路開始熄滅LED0,點亮開始熄滅LED0,點亮LED1設(shè)置GPB設(shè)置GPB端口為輸出狀態(tài)延時熄滅LED熄滅LED1,點亮LED2熄滅所有LED燈延時關(guān)閉蜂鳴器延時關(guān)閉蜂鳴器熄滅LED熄滅LED2,點亮LED3設(shè)置GPB端口使用內(nèi)部上拉點亮LED0點亮LED0延時延時延時圖4.1程序流程圖4.2程序清單led.c/* 本實驗接口說明GPB5LED0 GPB6LED1 GPB8LED2 GPB10LED3*//*地址聲明*/#defineGPBCON(*(volatileunsigned*)0x56000010)#defineGPBDAT(*(volatileunsigned*)0x56000014)#defineGPBUP(*(volatileunsigned*)0x56000018)#defineucharunsignedchar#defineuintunsignedint/*定義全局變量*//*函數(shù)聲明*/voidDelay(intx);/*/函數(shù)名稱: Delay功能描述: 延時函數(shù)傳參: intx返回值: 無*/voidDelay(intx){ intk,j; while(x) { for(k=0;k<=0xff;k++) for(j=0;j<=0xff;j++); x--; }}/*函數(shù)名稱: ledMain功能描述: 入口程序 初始化后,進(jìn)入跑馬燈死循環(huán)傳參: 無返回值: int0*/intledMain(void){ GPBCON=0x1dd7fc; //GPB5,GPB6,GPB8,GPB10設(shè)置為輸出 GPBDAT=((1<<5)|(1<<6)|(1<<8)|(1<<10)); //使LED全滅 GPBDAT&=0xffe; //關(guān)閉蜂鳴器GPBUP=0x00; while(1) //死循環(huán) { GPBDAT=~(1<<5); //LED0亮 Delay(500); GPBDAT=~(1<<6); //LED1亮 Delay(500); GPBDAT=~(1<<8); //LED2亮 Delay(500); GPBDAT=~(1<<10); //LED3亮 Delay(500); } return0;}init.s(匯編文件)AREA|DATA|,CODE,READONLYENTRYldrr13,=0x1000IMPORTledMainbledMainEND五、實驗調(diào)試及結(jié)果5.1硬件連接1.將電源模塊的連接線插在開發(fā)板左上角的黑色電源插孔內(nèi);2.串口線應(yīng)連接在開發(fā)板右上角的‘COM0’口(當(dāng)前默認(rèn),也可以修改),另一端與計算機(jī)的串口相連;3.JTAG板左邊25針接口應(yīng)接連接到PC機(jī)的并口上,而右邊20針接口需要通過排線連接到開發(fā)板的JTAG接口。5.2USB驅(qū)動安裝1.用串口線連接好開發(fā)板(默認(rèn)用串口0)和PC機(jī)。打開DNW進(jìn)行相應(yīng)配置,開發(fā)板上電,待Bootloader啟動之后使其停在菜單處(在系統(tǒng)引導(dǎo)并讀秒時按回車鍵)。2.用USB線將PC機(jī)和開發(fā)板的USBDEVICE口相連,此時PC機(jī)系統(tǒng)會提示發(fā)現(xiàn)新硬件,下面按提示安裝USB驅(qū)動。3.好USB驅(qū)動后可以看到在設(shè)備管理器中的“通用串行總線控制器”下多了“SECSOCTestBoard”一項,到此USB驅(qū)動就安裝好了。重啟開發(fā)板,停在菜單處時,DNW的標(biāo)題欄會提示:【USB:OK】。5.3并口驅(qū)動安裝1.將光盤中“FL2440\windows下驅(qū)動\GIVEIO”文件夾中的“GIVEIO.SYS”拷貝到WINDOWS的系統(tǒng)驅(qū)動目錄下(例如:C:\WINNT\system32\drivers”);2.在WINDOWS的“控制面板”中選擇“添加硬件”;3.選擇“添加新的硬件設(shè)備”點擊“下一步”;4.選擇“安裝我手動從列表選擇的硬件”,點擊“下一步”;5.選擇“端口”,點擊“下一步”;6.選擇“從磁盤安裝”;在“廠商文件復(fù)制來源”中選擇光盤中GIVEIO.inf所在的目錄,點擊“確定”接下來的步驟一直選擇“下一步,”最后GIVEIO將成功安裝到系統(tǒng)中。5.4DNW配置1.打開DNW.EXE軟件,在第一個下拉菜單(SerialPort)中選擇connect,此時在軟件的標(biāo)題欄會顯示[COM1,115200bps];2.點擊Configuration,會彈出如下對話框,在這里可以選擇波特率和串口;3.‘DownloadAddress’地址要選擇‘0x30800000’(此參數(shù)為下載到內(nèi)存的地址:0x30000000~0x34000000,Bootloader用了0x30200000之前的內(nèi)存地址,注意不要與之沖突);4.插好USB,給板子上電,在COM1后邊會跟著顯示[USB:OK],若沒有顯示可將USB重新插拔。(前提是PC機(jī)已安裝USB驅(qū)動程序)。此時就可以利用boot程序來進(jìn)行串口或USB下載了。5.5ADS1.2集成開發(fā)環(huán)境的使用1.使用ADS創(chuàng)建工程2.編譯和鏈接工程3.Linker設(shè)置5.6系統(tǒng)調(diào)試和測試5.6.1

調(diào)試環(huán)境PCB板制作好后,進(jìn)行系統(tǒng)調(diào)試需要進(jìn)行硬件調(diào)試和軟件調(diào)試兩個過程。其中,硬件調(diào)試需要使用示波器、萬用表、穩(wěn)壓電源等工具;軟件調(diào)試則使用SJF2440軟件或H-Jtag軟件燒寫系統(tǒng)引導(dǎo)程序和測試程序。焊接PCB時應(yīng)首先焊接電源模塊,只有在電源模塊測試正常時才能焊接其它的模塊,否則在通電測試時會損壞其它模塊的芯片;另外,在進(jìn)行測試時還要注意避免人為造成的短路現(xiàn)象。5.6.2

硬件調(diào)試(1)加電前的檢查:加電調(diào)試之前要對照電路原理圖和實際線路進(jìn)行檢查,看PCB板是否有短路、斷路情況,看在元器件焊裝過程中是否有錯裝、短路、錯接、多接、少接等現(xiàn)象;用萬用表檢測焊接和接插件是否良好;各焊點之間有無短路,焊點是否存在虛焊;集成電路芯片是否焊裝正確,二極管、三極管、電解電容等有極性的器件的極性是否正確;電源的極性連接是否正確、正負(fù)極間是否存在短路的情況。(2)加電檢測和調(diào)試:做完加電前的檢查,確認(rèn)無誤后,電源輸入端接入5V電壓。觀察有無異味、冒煙、器件發(fā)燙等現(xiàn)象。當(dāng)發(fā)現(xiàn)有異常情況時要立即切斷電源,并根據(jù)故障現(xiàn)象分析故障原因,然后排除。如無異常,用萬用表分別測量個關(guān)鍵點和各集成芯片的電源端的電壓值,各輸入和輸出端的高、低電平值及邏輯關(guān)系等是否正常。如若這些都沒有問題,就通過示波器來檢測各相關(guān)點的波形是否正常,然后根據(jù)波形來分析故障的原因,直至最終故障排除。5.6.3

軟件調(diào)試在PC機(jī)上運行SJF2440或H-Jtag軟件,燒寫已經(jīng)編譯好的系統(tǒng)引導(dǎo)程序,看系統(tǒng)能否正常啟動,輸出是否正常,燒寫系統(tǒng)測試程序看輸入輸出是否正確,否則分析原因并排除故障。燒寫前要確保引導(dǎo)程序和測試程序是正確可用的。5.7實驗效果圖圖5.1圖5.2圖5.3圖5.4六、課程設(shè)計總結(jié)經(jīng)過本次基于ARM9的LED跑馬燈設(shè)計的綜合實驗,我受益良多,從中學(xué)到了關(guān)于嵌入式開發(fā)系統(tǒng)的相關(guān)知識,了解了FL2440開發(fā)板的相關(guān)知識。在實驗中,我遇到了困難,DNW顯示can’tcreatednw.ini,經(jīng)過與實驗手冊一步步的比對,我發(fā)現(xiàn)自己少掉了一個非常重要的步驟即對生成目標(biāo)的配置,進(jìn)行配置后成功運行,顯示出了與程序相對應(yīng)的結(jié)果。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論