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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論