版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 dspdsp 嵌入式通信系統(tǒng)嵌入式通信系統(tǒng) 課程設(shè)計報告課程設(shè)計報告 題目:題目:基于基于 dspdsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計 學院:學院: 專業(yè):專業(yè): 通信工程通信工程 班級:班級: 通信通信 0815208152 學號:學號: 姓名:姓名: 指導老師:指導老師: 20122012 年年 1 1 月月 2 2 日日 課課 程程 設(shè)設(shè) 計計 任任 務(wù)務(wù) 書書 分院(系) 專業(yè)通信工程 學生姓名學號 設(shè)計題目 基于 dsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計 內(nèi)容及要求:內(nèi)容及要求: 1. 使用 dsp 芯片設(shè)計計時器 2. 使用數(shù)碼管顯示時間 3. 使用鍵盤修改時間
2、 進度安排:進度安排: 2011 年 12 月 28 日 選題、查閱資料及編寫軟件程序(或硬件原理圖設(shè)計) 。 2011 年 12 月 29 日 課外上機調(diào)試程序及仿真。 2011 年 12 月 31 日 調(diào)試出結(jié)果、調(diào)試結(jié)果驗收并寫報告。 2011 年 01 月 01-02 日 修改報告及提交報告電子版(修改之后) 。 2012 年 01 月 04 日 正式提交報告(打印版)及參加第一次答辯。 目目 錄錄 摘 要 .1 1 基于 dsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計相關(guān)知識 .2 1.1 tms320c55x開發(fā)環(huán)境.2 1.2 計時器.2 1.3 中斷.3 2.基于 dsp 系統(tǒng)計時器系統(tǒng)的
3、嵌入式設(shè)計原理.4 2.1 計時器計時程序.4 2.2 計時器輸出程序.4 2.3 按鍵輸入程序.4 2.4 程序流程圖.5 3.基于 dsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計編程及注釋.6 3.1 計時器計時程序.6 3.2 計時器輸出程序.10 3.3 按鍵輸入程序.11 3.4 sdram 初始化程序.13 3.5 命令文件.15 4. ccs、ads、matlab 系統(tǒng)仿真、波形分析附圖. .16 5.總 結(jié).19 致 謝 .20 參考文獻 .21 0 摘摘 要要 dsp 芯片既具有高速數(shù)字信號處理功能又具有實時性強、功耗低、集成度高等嵌入式微計算機 的特點,所以隨著科技的發(fā)展,dsp 技術(shù)
4、在機電控制領(lǐng)域的應(yīng)用愈加廣泛。led 數(shù)碼管顯示清晰美 觀、功耗低,現(xiàn)在已成為電子產(chǎn)品中應(yīng)用最廣泛的顯示方式。本次課程設(shè)計就是通過對 dsp 芯片和 數(shù)碼管的分析研究,利用 dspc55x 構(gòu)建一個時間顯示系統(tǒng),采用數(shù)碼管顯示時間,用按鍵調(diào)整時間。 該時鐘系統(tǒng)包括計時、時鐘輸出、按鍵輸入三個設(shè)計部分。并給出了各部分匯編程序。 關(guān)鍵字關(guān)鍵字:dsp 芯片;數(shù)碼管;按鍵;匯編程序 1 1.1. 基于基于 dspdsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計相關(guān)知識系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計相關(guān)知識 1.1.1 1 tms320c55xtms320c55x 開發(fā)開發(fā)環(huán)境環(huán)境 c55x 編程可以采用匯編語言,也可
5、以采用 c/c+語言,本次編程主要采用匯編語言完成,所以 執(zhí)行效率高。 c55x 的軟件開發(fā)環(huán)境是 ccs v3.1(code composer studio) ,是 it 公司推出的用于開發(fā) dsp 芯片的集成環(huán)境,它集編輯、編譯、鏈接、軟件仿真、硬件調(diào)試、以及實時跟蹤功能于一體。 1.21.2 計時器計時器 tms320vc5509 dsp 有兩個獨立的 20 bit 軟件可編程通用減數(shù)計數(shù)定時器,它們可用于向 cpu 提供周期性的中斷信號,或者給 dma 控制器發(fā)送中期同步事件,也可以用于給外部設(shè)備提供周期信 號,還可以用于外部事件計數(shù)。 定時器的工作始終可以來自 dsp 內(nèi)部的 cpu
6、 時鐘,也可以來自引腳 tin/tout。利用定時器控 制寄存器(tcr)中的字段 func 可以確定輸入時鐘源和 tin/tout 引腳功能。 在定時器中,預定標記計數(shù)寄存器(psc)由輸入時鐘驅(qū)動,psc 在每個輸入時鐘周期減 1。當 其減到 0 時,tim 減 1,當 tim 減到 0 時,定時器向 cpu 發(fā)出一個中斷請求(tint)或者向 dma 控 制器發(fā)送同步事件。定時器發(fā)送中斷信號或同步事件信號的頻率可用下公式計算,即 tint 頻率=輸入時鐘頻率/【(tddt+1)*(prd+1) 】 定時器初始化步驟如下: (1)停止定時器(tss=1) ,定時器裝載時能(tlb=1) ,
7、定時器控制寄存器 tcr 的其他位設(shè)置 成對應(yīng)數(shù)值。 (2)裝載欲分頻計數(shù)周期寄存器 prsc。 (3)裝載主周期寄存器 prd。 (4)關(guān)閉定時器裝載(tlb=0) ,啟動定時器(tss=0) 。 dsp 復位 (1)停止定時(tss=1) (2)預定標計數(shù)器值為 0 (3)住計數(shù)器值為 ffffh (4)定時器不進行自動重裝(arb=0) 2 (5)idle 指示不能使定時器進入省電模式 (6)仿真時遇到軟件斷點定時器立即停止工作 (7)tin/tout 為高電阻,時鐘源是內(nèi)部時鐘(func=00b) 1.31.3 中斷中斷 中斷是由硬件或軟件驅(qū)動的信號,使 dsp 將當前的程序掛起,執(zhí)行
8、另外一個稱為中斷服務(wù)子程 序(isr)的任務(wù)。c5x 支持 32 個 isr。 中斷可以分成可屏蔽中斷和不可屏蔽中斷兩類。可屏蔽中斷可以通過軟件來加以屏蔽,不可屏 蔽中斷則不能被屏蔽。所有的軟件中斷都是不可屏蔽中斷。 dsp 處理中斷的步驟如下: (1)接收中斷請求。軟件和硬件都要求 dsp 將當前程序掛起。 (2)相應(yīng)中斷。cpu 必須響應(yīng)中斷。如果是可屏蔽中斷,響應(yīng)必須滿足某些條件;如果是不可 屏蔽中斷,則 cpu 立即響應(yīng)。 (3)準備進去中斷服務(wù)子程序。cpu 要執(zhí)行的主要任務(wù)有: 完成當前指令的執(zhí)行,并沖掉流水線上還未解碼的指令。 自動將某些必要的寄存器的值保存到數(shù)據(jù)堆棧和系統(tǒng)堆棧。
9、 從用戶事先設(shè)置好的向量地址獲取中斷向量,該中斷向量指向中斷服務(wù)子程序。 (4)執(zhí)行中斷服務(wù)子程序。cpu 執(zhí)行用戶編寫的 isr。isr 以一條中斷返回指令結(jié)束,自動回 復步驟(3)中自動保存的寄存器值。 注意: 外部中斷只能發(fā)生在 cpu 退出復位后的至少 3 個周期后,否則無效。 在硬件復位后,不論 intm 位的設(shè)置和寄存器 ier0、ier1 的值如何,所有的中斷都被禁止,直 到通過軟件初始化堆棧后才開放中斷。 3 2.2. 基于基于 dspdsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計原理系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計原理 數(shù)字時鐘除基本的計時功能外還要可以通過按鍵設(shè)定時間,所以除了主循環(huán)程序和輸
10、出程序外 還要有按鍵判斷程序,來設(shè)定時間。程序設(shè)計為三大部分:時鐘計時程序是程序、時鐘輸出程序、 按鍵輸入程序,除此外還有 sdram 初始化程序和命令文件。 2.12.1 計時器計時器計時程序計時程序 時鐘計時程序是主程序,由 cup 提供輸入時鐘信號,再由 dsp 的片上外設(shè)通用定時器完成計時 功能,其中可以通過中斷次數(shù)來計數(shù)。設(shè)定寄存器 ar1、ar2、ar3 分別保存時鐘的秒、分、時。設(shè) cpu 時鐘為 144mhz,當 psc=15;tim=59999 可以計算出中斷頻率是 1/150hz,所以用 ar0 做計數(shù)器, 每 150 次中斷時鐘的秒(ar1)自動加 1,并判斷是否等于 6
11、0,等于 60 則時鐘的分(ar2)自動加 1,時鐘的秒(ar1)清零;不等于 60 跳轉(zhuǎn)到等待中斷程序,再次計數(shù) 150 次中斷。其中時鐘的分 (ar2)加 1 時也要判斷是否滿 60,而時鐘的時加 1 時要判斷是否滿 12。 2.22.2 計時器計時器輸出程序輸出程序 時鐘輸出程序,是將時鐘的秒、分、時,輸出到外設(shè)數(shù)碼管上。設(shè):時鐘秒的個位十位、分的 個位十位、時的個位十位對應(yīng)的數(shù)碼管地址分別為是 0100h、0101h、0102h、0103h、0104h、0105h。想將時鐘計時程序中的秒、分、時的個位十位提取 出,只需除以數(shù)字 10,商為十位,余數(shù)是個位,分別輸出至數(shù)碼管即可。 2.3
12、2.3 按鍵輸入程序按鍵輸入程序 按鍵輸入程序的功能是,通過外部按鍵設(shè)置時鐘的分、時。設(shè)按鍵 s1、s2、s3、地址分別為: 0200、0201、0202。定為當 s1 按下時進去時鐘輸入程序,讓 cpu 隨時讀取按鍵 s1 的地址,判斷是 否置一(設(shè)按鍵按下為高電平) ,置一則進入時鐘輸入程序,程序開頭設(shè)定一個延時子程序,防止 電子顫抖,進入時鐘輸入程序后,再讀取 s2、s3 的地址是否置一,分別讓 ar3、ar2 加 1(加 1 后 判斷是否溢出),當 s1、s2、s3 都為 0 時退出時鐘輸入程序回到時鐘計時程序。 4 2.42.4 程序流程圖程序流程圖 圖 3.1 程序流程圖 5 3.
13、3. 基于基于 dspdsp 系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計編程及注釋系統(tǒng)計時器系統(tǒng)的嵌入式設(shè)計編程及注釋 3.13.1 計時器計時器計時程序計時程序 .title shizhong.asm .mmregs .def _c_int00 ;程序入口 .def _timer0 ;timer0 中斷服務(wù)程序入口 .ref shuchu ;引用外部變量,時鐘輸出程序入口 .ref key ;引用外部變量,按鍵輸入程序入口 .ref sdram_init ;引用外部變量 sdram 初始化程序入口 led .set 400001h tim0 .set 0 x1000 prd0 .set 0 x1001 tc
14、r0 .set 0 x1002 prsc0 .set 0 x1003 sysr .set 0 x07fd clkmd .set 0 x1c00 ;時鐘模塊寄存器地址 pdp_timer0 .set tim0/128 stack .usect .stack,200h ;分配堆??臻g sysstack .usect .sysstack,200h .data led_i .word 1,2,4,8,4,2 .sect .vectors rsv: b _c_int00 nop .align 8 nmi: .loop 8 nop .endloop 6 int0: .loop 8 nop .endloop
15、 int2: .loop 8 nop .endloop tint0: b _timer0 nop .align 8 ;= ;主程序 ;= .text _c_int00: amov #0h,xar1 ;初始化時鐘的秒 amov #0h,xar2 ;初始化時鐘的分 amov #0h,xar3 ;初始化時鐘的時 amov #0,xdp amov #stack+200h,xsp amov #sysstack+200h,xssp interupt: ;初始化中斷 bset intm mov #1,ivpd mov #1,ivph mov #10h,ier0 mov #10h,dbier0 mov #0,
16、ier1 mov #0ffffh,ifr0 mov #0ffffh,ifr1 call sdram_init ;調(diào)用 sdram 初始化程序 7 call shuchu ;調(diào)用時鐘輸出子程序 ;= ;初始化定時器并啟動計時器 ;= mov #pdp_timer0,pdp mov #149,ar0 mov #0438h,port(#tcr0) mov #15,port(#prsc0) mov #59999,port(#prd0) and #0fbefh,port(#tcr0) ;停止從周期寄存器裝入并啟動定時器 bclr intm ;使能全局中斷 bset ar5lc amov #led,xar
17、4 mov #6,bk03 amov #led_i,xar5 mov #led_i,bsa23 mov #0,ar5 loop: nop b loop ;等待中斷 ;= ;中斷服務(wù)程序 ;= _timer0: mov *ar5,*ar4 bcc next1,ar0!=#0h ;判斷是否中斷 150 次 mov #149,ar0 ;重新裝載計數(shù)器重新計數(shù) amar *ar1+ ;時鐘秒自動加 1 call shuchu bcc fen,ar1 =#3ch ;判斷 ar1 是否滿 60 b next2 8 fen: mov #0,ar1 amar *ar2+ call shuchu bcc shi
18、,ar2 =#3ch b next2 shi: mov #0,ar2 amar *ar3+ call shuchu bcc loop1,ar3 =#0ch b next2 loop1: mov #0,ar3 b next2 next1: amar *ar0- next2: mov port(#0200),ar6 ;讀取 s1 按鍵裝載到 ar4 bcc loop2,ar6!=#1h call key ;當按鍵 s1 按下時調(diào)用按鍵子程序 loop2: reti ;中斷返回 .end 9 3.23.2 計時器計時器輸出程序輸出程序 .def shuchu .data .text shuchu:
19、bclr sxmd ;清零 sxmd(關(guān)閉符號擴展) mov #10,ar6 ;設(shè)置除數(shù)為 10 mov ar1,ac0 ;把被除數(shù)(秒)放入 ac0 rpt #15 ;執(zhí)行 subc16 次 subc ar6,ac0,ac0 ;條件減法 mov ac0,port(#0101h) ;將商輸出到秒的十位 mov hi(ac0),port(#0100h) ;將余數(shù)輸出到秒的個位 mov ar2,ac0 ;把被除數(shù)(分)放入 ac0 rpt #0fh ;執(zhí)行 subc16 次 subc ar6,ac0,ac0 mov ac0,port(#0103h) ;將商輸出到分的十位 mov hi(ac0),p
20、ort(#0102h) ;將余數(shù)輸出到分的個位 mov ar3,ac0 ;把被除數(shù)(時)放入 ac0 rpt #0fh ;執(zhí)行 subc16 次 subc ar6,ac0,ac0 mov ac0,port(#0105h) ;將商輸出到時的十位 mov hi(ac0),port(#0104h) ;將余數(shù)輸出到時的個位 ret .end 10 3.33.3 按鍵輸入程序按鍵輸入程序 .def key .ref shuchu .text key: ;= ;延時 ;= mov #500,ar5 l1: amar *ar5- mov #10,ar4 l2: amar *ar4- bcc l2,ar4!=
21、#0h bcc l1,ar5!=#0h mov port(#0200h),ar6 bcc l, ar6=#0h ;按鍵 s1 電平消失跳轉(zhuǎn)到 l 退出程序 mov port(#0201h),ar6 bcc shi,ar6!=#0h ;按鍵 s2 按下(高電平)跳轉(zhuǎn) mov port(#0202h),ar6 bcc fen,ar6!=#0h ;按鍵 s3 按下(高電平)跳轉(zhuǎn) shi: amar *ar3+ bcc yichu1,ar3 =#0ch ;判斷是否溢出 call shuchu ;調(diào)用時鐘輸出子程序 b key yichu1: mov #0,ar3 call shuchu ;調(diào)用時鐘輸出
22、子程序 b key fen: amar *ar2+ bcc yichu2,ar2 =#3ch 11 call shuchu ;調(diào)用時鐘輸出子程序 b key yichu2: mov #0,ar3 call shuchu ;調(diào)用時鐘輸出子程序 b key l: ret .end 12 3.43.4 sdramsdram 初始化程序初始化程序 .def sdram_init ebsr .set 0 x6c00 egcr .set 0 x800 emirst .set 0 x801 emibe .set 0 x802 ce01 .set 0 x803 ce02 .set 0 x804 ce03 .s
23、et 0 x805 ce11 .set 0 x806 ce12 .set 0 x807 ce13 .set 0 x808 ce21 .set 0 x809 ce22 .set 0 x80a ce23 .set 0 x80b ce31 .set 0 x80c ce32 .set 0 x80d ce33 .set 0 x80e sdc1 .set 0 x80e sdper .set 0 x810 sdcnt .set 0 x811 init .set 0 x812 sdc2 .set 0 x813 sdram_pdp .set egcr/128 .text sdram_init: mov #0 x
24、a01,port(#ebsr) mov #sdram_pdp,pdp mov #0 x220,port(#egcr) 13 mov #0 x3000,port(#ce01) mov #0 x1fff,port(#ce11) mov #0 x1fff,port(#ce21) mov #0 x1fff,port(#ce31) mov #0 x0,port(#emirst) mov #0 x5958,port(#sdc1) mov #0 x38f,port(#sdc2) mov #0 x0,port(init) ret .end 14 3.53.5 命令文件命令文件 -stack 200h -sys
25、stack 200h memory page 0: mmr : origin = 0000000h, length = 00000c0h spram : origin = 00000c0h, length = 0000040h vecs :origin = 0000100h, length = 0000100h daram0 : origin = 0000200h, length = 0001e00h daram1 : origin = 0002000h, length = 0002000h daram2 : origin = 0004000h, length = 0002000h daram
26、3 : origin = 0006000h, length = 0002000h daram4 : origin = 0008000h, length = 0002000h daram5 : origin = 000a000h, length = 0002000h daram6 : origin = 000c000h, length = 0002000h daram7 : origin = 000e000h, length = 0002000h sections .vectors : vecs page 0 .bss: daram0 page 0 .stack: daram1 page 0 .sysstack: daram1 page 0 .text : daram4 page 0 .data: daram5 page 0 15 4.4. ccsccs、adsads、matlabmatlab 系統(tǒng)仿真、波形分析附圖系統(tǒng)仿真、波形分析附圖 16 5.5.總總 結(jié)結(jié) 通過調(diào)試以上程序運行無誤,完成了時鐘設(shè)計要求,使用 dsp 芯片設(shè)計時鐘;使用數(shù)碼管顯示 時間;使用鍵盤修改時間。 通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成語英文翻譯
- 政府公開招標合同實例
- 安全活動協(xié)議范本
- 服裝設(shè)計版權(quán)共享協(xié)議
- 建筑用工協(xié)議
- 2024年農(nóng)場種植土地租賃合同
- 人才招聘委托協(xié)議
- 住房抵押擔保借款合同的樣本版
- 【初中地理】《影響氣候的主要因素和氣候的影響》教學課件-2024-2025學年人教版地理七年級上冊
- 共同購房合作協(xié)議書范本
- 兄妹4人繼承房產(chǎn)協(xié)議書范文
- 上海市市轄區(qū)(2024年-2025年小學五年級語文)部編版期中考試(下學期)試卷及答案
- GB/T 44692.2-2024危險化學品企業(yè)設(shè)備完整性第2部分:技術(shù)實施指南
- 2024年煤礦安全管理人員(機電運輸)考試題庫(濃縮500題)
- 網(wǎng)絡(luò)協(xié)議分層設(shè)- 快遞環(huán)節(jié)我能懂 課件 2024-2025學年人教版(2024)初中信息科技七年級全一冊
- 供應(yīng)鏈安全培訓教材課件
- 地 理知識點-2024-2025學年七年級地理上學期(人教版2024)
- 人教版2024新版七年級上冊數(shù)學第三章 代數(shù)式學業(yè)質(zhì)量測試卷(含答案)
- 2024秋期國家開放大學《可編程控制器應(yīng)用實訓》一平臺在線形考(形成任務(wù)3)試題及答案
- 宣傳視頻拍攝服務(wù) 投標方案(技術(shù)方案)
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細則
評論
0/150
提交評論