基于F2812擴(kuò)展數(shù)碼管顯示設(shè)計(jì)
摘要
LED數(shù)碼管(LED Segment Displays)由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個(gè)。這些段分別由字母a,b,c,d,e,f,g,h來(lái)表示。
在本設(shè)計(jì)中,我們做了數(shù)碼管的設(shè)計(jì),利用DSP芯片的GPIO口驅(qū)動(dòng)數(shù)碼管,使得數(shù)碼管顯示出正確的數(shù)字,而數(shù)碼管數(shù)字的顯示,則是通過GPIO口的高低電平控制,而高低電平則是通過程序控制的。如此我們便成功設(shè)計(jì)出了基于F2812的數(shù)碼管的顯示。
目錄
一、 設(shè)計(jì)目的與任務(wù)書 1
1.1、設(shè)計(jì)目的 1
1.2、設(shè)計(jì)任務(wù)書 1
1.2.1設(shè)計(jì)技術(shù)指標(biāo)要求 1
1.2.2設(shè)計(jì)要求完成以下內(nèi)容 1
1.2.3設(shè)計(jì)要求 1
1.2.4整體方案設(shè)計(jì) 2
二、硬件介紹及系統(tǒng)配置 2
2.1、DSP特點(diǎn) 2
2.2、TMS320F281x芯片 2
2.2.1主要性能: 2
2.2.2芯片引腳有7大類: 2
2.2.3基本介紹 3
三、硬件電路設(shè)計(jì) 4
3.1、DSP最小系統(tǒng) 4
3.2、數(shù)碼管顯示模塊 6
四、設(shè)計(jì)實(shí)現(xiàn)程序 6
五、程序調(diào)試 7
5.1、調(diào)試過程 7
5.2、編譯結(jié)果 8
5.3、遇到的問題以及解決辦法 8
六、課程設(shè)計(jì)總結(jié) 9
6.1、課題總結(jié) 9
6.2、個(gè)人心得 9
前 言
20世紀(jì)60年代以來(lái),隨著大規(guī)模集成電路、數(shù)字計(jì)算機(jī)等信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理(Digital Signal Processing , DSP)技術(shù)應(yīng)運(yùn)而生并得到快速發(fā)展。在過去的20多年時(shí)間里,DSP在理論和應(yīng)用方面不斷的進(jìn)步和完善,在越來(lái)越多的應(yīng)用領(lǐng)域中迅速取代傳統(tǒng)的模擬信號(hào)處理方法,并且開辟出許多的應(yīng)用領(lǐng)域。
由于DSP技術(shù)應(yīng)用非常廣泛,迫切需要一種能高效完成復(fù)雜數(shù)字信號(hào)處理或數(shù)字系統(tǒng)控制,能夠作為DSP系統(tǒng)核心的器件。因此,眾多半導(dǎo)體廠商投入到高性能數(shù)字信號(hào)處理器(Digital Signal Processors,DSP)芯片的研發(fā)當(dāng)中。1982年,美國(guó)德州儀器公司(Texas Instruments Incorporation,TI)推出了該公司的第一款DSP芯片,很快DSP芯片就以其數(shù)字器件特有的穩(wěn)定性、可重復(fù)性、可規(guī)模集成和易于實(shí)現(xiàn)DSP算法等優(yōu)點(diǎn),為數(shù)字信號(hào)處理技術(shù)帶來(lái)了更大的發(fā)展和應(yīng)用前景。
1、設(shè)計(jì)目的與任務(wù)書1.1、設(shè)計(jì)目的 如今DSP已經(jīng)成為運(yùn)用很廣泛的嵌入式芯片,它的功能強(qiáng)大,能完成很多一般芯片不能完成的數(shù)據(jù)處理,大量使用DSP已經(jīng)是全球的潮流。通過課程設(shè)計(jì),使我們綜合運(yùn)用 DSP 技術(shù)課程和其他有關(guān)課程的理論和生產(chǎn)實(shí)際知識(shí)去分析和解決具體問題的能力得到提高,并使其所學(xué)知識(shí)得到進(jìn)一步鞏固、深化和發(fā)展;初步培養(yǎng)學(xué)生對(duì)工程設(shè)計(jì)的獨(dú)立工作能力,學(xué)習(xí)設(shè)計(jì)的一般方法;以及鍛煉我們查閱資料、方案比較、團(tuán)結(jié)合作的能力。學(xué)會(huì)簡(jiǎn)單電路的實(shí)驗(yàn)調(diào)試和整指標(biāo)測(cè)試方法,增強(qiáng)我們的動(dòng)手能力,為以后學(xué)習(xí)和工作打下基礎(chǔ)。 1.2、設(shè)計(jì)任務(wù)書 1.2.1設(shè)計(jì)技術(shù)指標(biāo)要求(1)利用DSP的CPU硬件資源 (2)使用GPIO引腳 (3)外接直流5V的數(shù)碼管燈 1.2.2設(shè)計(jì)要求完成以下內(nèi)容(1)設(shè)計(jì)說明書 (2)電路原理圖 (3)各設(shè)計(jì)模塊單元原理 (4)實(shí)驗(yàn)結(jié)果動(dòng)態(tài)顯示說明 (5)附錄全部元件清單 1.2.3設(shè)計(jì)要求(1)設(shè)計(jì)必須符合國(guó)家現(xiàn)行設(shè)計(jì)政策 (2)依據(jù)國(guó)標(biāo)及有關(guān)規(guī)定 (3)在保證運(yùn)行安全可靠的前提下,盡量滿足經(jīng)濟(jì)性 (4)積極選用新技術(shù)低功耗產(chǎn)品,不得使用淘汰產(chǎn)品 1.2.4整體方案設(shè)計(jì) 通過對(duì)TMS320CF2812的控制以及對(duì)其引腳GPIO功能的設(shè)計(jì),在實(shí)驗(yàn)板上實(shí)現(xiàn)1個(gè)數(shù)碼管7段顯示。首先對(duì)TMS320C2000系列DSP的I/O口作為通用I/O的原理進(jìn)行了解,并熟悉通用I/O的編程方法,了解LED動(dòng)態(tài)顯示的基本原理和實(shí)現(xiàn)方法,最終通過CCS集成開發(fā)環(huán)境編程完成設(shè)計(jì)。 二、硬件介紹及系統(tǒng)配置 2.1、DSP特點(diǎn) 接口方便,編程方便,穩(wěn)定性好,精度高,可重復(fù)性好,集成方便。 2.2、TMS320F281x芯片 2.2.1主要性能: 高性能靜態(tài)CMOS技術(shù),JTAG邊界掃描支持,高性能的32位處理器,片內(nèi)存儲(chǔ)器,引導(dǎo)ROM 4K×16位,外部存儲(chǔ)器接口,時(shí)鐘與系統(tǒng)控制,3個(gè)外部中斷,外部中斷擴(kuò)展(PIE)模塊,128位的密鑰,3個(gè)32位的CPU定時(shí)器,馬達(dá)控制外圍設(shè)備,串口外圍設(shè)備,12位的ADC 16通道,最多有56個(gè)獨(dú)立的可編程、可多途通用輸入/輸出(GPIO)引腳,高級(jí)的仿真特性,開發(fā)工具,低功耗模式和節(jié)能模式,封裝方式,溫度選擇。 2.2.2芯片引腳有7大類: 19根地址總線,16根數(shù)據(jù)總線,10根XINTF控制總線,14根JTAG和其他信號(hào),56跟GPIO或外圍信號(hào)(16根GPIOA或EVA信號(hào),16根GPIOB或EVB信號(hào),2根GPIOD或EVA信號(hào),2根GPIOD或EVB信號(hào),3根GPIOE或中斷信號(hào),4根GPIOF或SPI信號(hào),2根GPIOF或SCI-A信號(hào),2根GPIOF或eCAN信號(hào),6根GPIOF或McBSP信號(hào),1根GPIOF或XF CPU信號(hào),2根GPIOG或SCI-B信號(hào)) 
圖 1 TMS320F2812 芯片引腳圖 2.2.3基本介紹 TMS320F2812是一款TI高性能TMS320C28x系列32位定點(diǎn)DSP處理器,TL2812-EVM是基于TI TMS320F2812而研發(fā)的一款高性能DSP開發(fā)板,采用核心板+底板方式,尺寸為185mm*135mm,底板采用沉金無(wú)鉛工藝的兩層板設(shè)計(jì),它為用戶提供了SOM-TL2812核心板的測(cè)試平臺(tái),用于快速評(píng)估核心板的整體性能。 TMS320F28x系列DSP片上都有非常豐富的外設(shè),每個(gè)片上外設(shè)均可產(chǎn)生1個(gè)或多個(gè)中斷請(qǐng)求。中斷由兩級(jí)組成,其中一級(jí)是PIE中斷,另一級(jí)是CPU中斷。CPU中斷有32個(gè)中斷源,包括RESET、NMI、EMUINT、ILLEGAL、12個(gè)用戶定義的軟件中斷USER1~USER12和16個(gè)可屏蔽中斷(INT1~I(xiàn)NT14、RTOSINT和DLOGINT)。所有軟件中斷均屬于非屏蔽中斷。由于CPU沒有足夠的中斷源來(lái)管理所有的片上外設(shè)中斷請(qǐng)求,所以在TMS320F28x系列DSP中設(shè)置了一個(gè)外設(shè)中斷擴(kuò)展控制器(PIE)來(lái)管理片上外設(shè)和外部引腳引起的中斷請(qǐng)求。 三、硬件電路設(shè)計(jì) 3.1、DSP最小系統(tǒng) TMS320F2812是TI公司出品的數(shù)字信號(hào)處理芯片,功能強(qiáng)大,用于信號(hào)處理。通常情況下,DSP芯片不能獨(dú)立運(yùn)行,要想使其運(yùn)行,必須對(duì)其供電,并提供時(shí)鐘、復(fù)位等信號(hào),同時(shí)還要設(shè)計(jì)程序下載調(diào)試的接口(JTAG),這些基本的外圍電路就構(gòu)成了DSP最小系統(tǒng)。 
圖 2 DSP最小系統(tǒng)原理框圖 設(shè)計(jì)中使用F2812的GPIO口與數(shù)碼顯示管連接。通過數(shù)碼管共陽(yáng)極與GPIO相連,驅(qū)動(dòng)使其數(shù)碼管顯示。 通過程序控制,設(shè)置GPIOC引腳為輸出方式。使GPIOC引腳輸出為低電時(shí),電源與GPIOC引腳間有電壓差,從而點(diǎn)亮數(shù)碼管;使GPIO引腳輸出為高電平時(shí),電源與GPIO引腳間電壓差為0,則數(shù)碼管不顯示。 硬件設(shè)計(jì)總框圖 圖 3 硬件總框圖 外接+5V電源,晶體振蕩器頻率為30MHZ ,晶振的兩個(gè)引腳分別連接在F2812的XTAL1和XTAL2端,晶振的兩端再分別連接一個(gè)10pF電容后接地,復(fù)位電路經(jīng)電源正極接10uF電容后接4.7K歐姆電阻再接地,復(fù)位端RST在電容和電阻之間。如圖5所示: 圖 4 時(shí)鐘電路 圖 5 復(fù)位電路 3.2、數(shù)碼管顯示模塊 一個(gè)共陽(yáng)數(shù)碼管通過與電阻連接構(gòu)成顯示驅(qū)動(dòng)模塊,與TMTMS320F2812連接,進(jìn)行數(shù)碼管模塊顯示如下圖所示。 圖 6 數(shù)碼管顯示電路 四、設(shè)計(jì)實(shí)現(xiàn)程序 
本設(shè)計(jì)的程序流程框圖如下圖所示圖 7 流程圖 五、程序調(diào)試 5.1、調(diào)試過程 (1)安裝軟件,考慮軟件版本與電腦系統(tǒng)相匹配,經(jīng)多次嘗試選用8.3版本。 (2)添加頭文件,在ccs8.3版本中打開TOOLS,打開compiler中include文件夾,添加頭文件。 (3)編譯,添加程序,點(diǎn)擊bulid all,對(duì)其進(jìn)行編譯。 (4)運(yùn)行,對(duì)程序進(jìn)行單步運(yùn)行 (5)進(jìn)行Proteus布圖仿真。
5.2、編譯結(jié)果
數(shù)碼管顯示程序的編譯結(jié)果如下圖: 圖 8 編譯結(jié)果 5.3、遇到的問題以及解決辦法 - 電腦系統(tǒng)與CCS軟件不相匹配,不支持運(yùn)行。多次嘗試,找到其適合版本8.3。
- 頭文件沒有添加進(jìn)工程,通過詢問,查閱資料,添加所需頭文件到工程。
六、課程設(shè)計(jì)總結(jié) 6.1、課題總結(jié) 本次課程設(shè)計(jì),我們所選擇的題目是利用GPIO口擴(kuò)展數(shù)碼管顯示的設(shè)計(jì)和實(shí)現(xiàn)。基于ccs8.3軟件進(jìn)行程序編譯以及調(diào)試,用proteus進(jìn)行仿真,完成簡(jiǎn)單軟件仿真工作。 6.2、個(gè)人心得 本次課程設(shè)計(jì)因中間放假,實(shí)際做設(shè)計(jì)的時(shí)間較短,故此過程較為艱難。先是安排課題以及分組,課題的選擇和隊(duì)員的選擇都是自己決定,以保證課設(shè)的完成度。在收假之后,第一天便和組員去圖書館查閱資料,找到一些關(guān)于GPIO口以及數(shù)碼管的應(yīng)用資料,以作參考。 安裝軟件的過程很艱難,先是安裝班長(zhǎng)發(fā)的資料中有軟件,便試著安裝,雖不成功,卻也得到了經(jīng)驗(yàn),可以在網(wǎng)站找到別的版本的CCS進(jìn)行安裝。安裝軟件之后進(jìn)行編程實(shí)踐,用老師發(fā)的編程案例進(jìn)行測(cè)試軟件,可程序的頭文件老是出錯(cuò),就必須進(jìn)行很多改正,先是將頭文件的添加做了很多改善,往工程中添加了許多需要用的頭文件,以便調(diào)用,使程序可以正常運(yùn)行。而這多次的過程完全證明了“冰凍三尺,非一日之寒”,我在這多次的使用過程中,深刻地體會(huì)到了這些道理,并懂得其中內(nèi)涵。 在本次課設(shè)的過程中,當(dāng)我在遇到程序及軟件安裝中的困難時(shí),周圍的同學(xué)都會(huì)積極的幫助我們,而隊(duì)友之間也都竭誠(chéng)合作,最后我們的課程設(shè)計(jì)也算是比較成功。通過本次課程設(shè)計(jì),我學(xué)會(huì)了軟件CCS的使用,并且對(duì)于CCS更加了解。這次課程設(shè)計(jì),增強(qiáng)了我們的實(shí)踐動(dòng)手能力,讓我們學(xué)會(huì)了怎樣運(yùn)用自己所學(xué)的各科專業(yè)知識(shí)來(lái)完成課程設(shè)計(jì),使我們明白了組織知識(shí)的重要性。 這次課程設(shè)計(jì)的時(shí)間雖說是短暫的,但在這幾天中我學(xué)會(huì)了不少的東西,在這一學(xué)期的學(xué)習(xí)課程中,我對(duì)于TMS320F2812芯片的了解僅僅局限于書面上的了解,對(duì)于CCS的具體使用也只是文字了解,而在這幾天的課程設(shè)計(jì)之后,我懂得了將書本知識(shí)與實(shí)際操作相結(jié)合的重要性,也自然在以后的生活中將這些道理銘記與使用。 本次課程設(shè)計(jì)中間時(shí)間間隔跨度較大,總體來(lái)說只有短短一周,對(duì)于我們來(lái)說對(duì)于DSP的認(rèn)知方面仍有巨大的不足之處,但是經(jīng)過一周的學(xué)習(xí)我對(duì)DSP芯片有了更加深刻的了解。以前只是通過書籍或其他消息知道DSP芯片的重要性,但是只有真正做了之后才能意識(shí)到DSP芯片的功能強(qiáng)大。在為期一周的課設(shè)中,我過的很充實(shí),遇到了很多的難題,自己也在老師的引導(dǎo)下嘗試自己去解決困難,我覺著老師交給我們的知識(shí)很重要,老師交給我們的態(tài)度更重要。在一周課設(shè)中,老師始終貫徹的就是能力差不要緊,態(tài)度一定要端正,要學(xué)會(huì)獨(dú)立自主的解答問題。在課設(shè)過程中,我們前兩天在圖書館查閱了相關(guān)書籍,見參考文獻(xiàn),除此之外還查閱了類似的實(shí)例,得到了一定的啟發(fā)。中間間隔了三天,我嘗試著裝了一下最新版本的CCS,由于系統(tǒng)的原因造成不能正確定義頭文件而不能編譯,老師提出了解決方法,但是由于自身能力有限,不會(huì)裝XP系統(tǒng),在這個(gè)難關(guān)上我隊(duì)友就迎難而上,最終解決了這個(gè)難題,在周四上午終于完成了對(duì)程序的編譯。于是,我從周三開始就對(duì)整體方案進(jìn)行設(shè)計(jì),進(jìn)行流程圖的繪制,我參考了別人的設(shè)計(jì)方案,并在隊(duì)友的討論中得出了我們自己的方案。周四的時(shí)候,上午軟件弄好了,程序在編譯的過程中有錯(cuò)誤,隊(duì)友在改錯(cuò)的過程中,我開始了對(duì)報(bào)告的書寫。在本次課設(shè)之中,我的能力不足是個(gè)很嚴(yán)重的問題,軟件方面真的很差,在今后的學(xué)習(xí)生活中我會(huì)大力鍛煉自己,不斷提升自己的能力。還有一個(gè)明顯的短板是,我們沒有連接實(shí)物,這是一個(gè)很大的遺憾。但是這次課設(shè)也有些許可取之處,我體會(huì)到了團(tuán)隊(duì)的重要性,明白了自身的不足,加深了對(duì)這門學(xué)科的理解。 這次實(shí)驗(yàn)不僅增強(qiáng)了我的實(shí)際動(dòng)手能力,而且還讓我對(duì)于DSP有了更大的興趣,以后定將花更多的時(shí)間對(duì)其進(jìn)行更深入的學(xué)習(xí)。 經(jīng)過為期將近五天的課程設(shè)計(jì),從課設(shè)選題到CCS軟件安裝,從程序調(diào)試到硬件元器件的布局,這一過程充滿了曲折與艱辛,似乎也印證了“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”這句至理名言。在本次課程設(shè)計(jì)初期,我們同組隊(duì)員都面臨DSP的CCS軟件版本和電腦所裝系統(tǒng)不匹配問題,歷經(jīng)了8.3版本,6.1版本,7.3版本,5.5版本,雖然道路不是一帆風(fēng)順,但在老師,同學(xué)的幫助下效果還是可觀的,我深深感受到了集體的力量以及師生的力量。
接下來(lái),困難更是重重,程序頭文件屢屢出錯(cuò),這也給我們小組帶來(lái)了不少打擊,我們也沒有放棄。基于程序,我們正本清源。第一次我們出錯(cuò)是在system.h的頭文件,程序編譯報(bào)錯(cuò),我們清楚錯(cuò)誤之后,我們?cè)趫D書館,網(wǎng)絡(luò)上查詢相關(guān)資料,積極研究,同時(shí)在同學(xué)的提醒下將老師發(fā)的頭文件.c以及.h文件添加到工程下面,解決了一部分錯(cuò)誤,但仍然沒有將錯(cuò)誤改完,過程從簡(jiǎn)單到復(fù)雜,從多到少,反反復(fù)復(fù),層出不窮,可能這就是課程的意義吧,讓你在不斷的實(shí)踐中不斷出錯(cuò),不斷改正,在錯(cuò)誤中汲取經(jīng)驗(yàn),在反復(fù)中吸收知識(shí),而我也從DSP課程設(shè)計(jì)中獲益良多。
這次課程設(shè)計(jì),由于時(shí)間緊張,我們都是進(jìn)行軟件仿真,編程是對(duì)GPIO的相關(guān)功能進(jìn)行虛擬操作,這不僅提高了我們的動(dòng)手能力與學(xué)習(xí)能力,也讓我們對(duì)DSP這一課程有了更深層次的理解,獲取到相關(guān)專業(yè)知識(shí)。這次課設(shè)我認(rèn)識(shí)到老師讓我們用GPIO口進(jìn)行實(shí)驗(yàn)的目的,GPIO模塊不僅與時(shí)鐘關(guān)系不大,沒有直接時(shí)鐘源驅(qū)動(dòng),也與中斷關(guān)系不大,這為我們更好的運(yùn)用GPIO提供了一個(gè)很好的開端。這次我們通過在程序使得數(shù)碼管上的數(shù)字發(fā)生變化,來(lái)達(dá)到實(shí)驗(yàn)的結(jié)果。調(diào)試編譯程序這一過程對(duì)于我們是復(fù)雜的,也是晦澀難懂的,這期間的汗水,收獲,可能也只有本人才得其中感受,在控制理論與數(shù)字的這座橋梁,使所學(xué)到的控制理論在CCS軟件中得以實(shí)現(xiàn),使抽象的理論不再讓人望而生畏,與實(shí)際工程現(xiàn)象成為基本映射,我相信這是值得我們紀(jì)念和以后踐行的。
最后,感謝一周以來(lái)隊(duì)員的相互團(tuán)結(jié),同學(xué)的幫助,老師的教導(dǎo),謝謝大家。
附錄1硬件電路圖
附錄2程序清單- #include "DSP28_Device.h"
- void WriteLED(unsigned char data); //送給數(shù)碼管的數(shù)據(jù)函數(shù)
- unsigned int * SPI_CS = (unsigned int *) 0x4500; //0X4500是CPLD的SPICS地址
- unsigned long int a;
- Uint16 SpiCode[]={0x7E7E,0x2929,0x2c2c,0x6666,0xa4a4,0xa0a0,0x3e3e,0x2020,0x2424,0x2222,0xe0e0,0xb1b1,0x6868,0xa1a1,0xa3a3,0xffff,0xdfdf};
- void main(void)
- { int k;/*初始化系統(tǒng)*/
- InitSysCtrl();/* 關(guān)中斷 */
- DINT;
- IER = 0x0000;
- IFR = 0x0000;/* 初始化PIE控制寄存器 */
- InitPieCtrl(); /* 初始化PIE參數(shù)表 */
- InitPieVectTable(); /* 初始化外設(shè)寄存器 */
- InitPeripherals();/*設(shè)置CPU*/
- EINT; // Enable Global interrupt INTM
- ERTM; // Enable Global realtime interrupt DBGM
- *SPI_CS=0x00; //寫0,低電平選中
- for(;;)
- { for(k=0;k<17;k++) //循環(huán)發(fā)送16個(gè)數(shù)據(jù)
- {WriteLED(SpiCode[k]); //發(fā)送數(shù)據(jù)函數(shù)
- for(a=0;a<500000;a++);
- }
- }
- }
- void WriteLED(unsigned char data)
- { if(Spi_TxReady() == 1) //當(dāng)檢測(cè)到SPI發(fā)送準(zhǔn)備信號(hào)致1時(shí),開始發(fā)送數(shù)據(jù)
- SpiaRegs.SPITXBUF = data; //把數(shù)據(jù)寫如SPI發(fā)送緩沖區(qū)
- while( Spi_TxReady()!=1); //沒檢測(cè)到發(fā)送準(zhǔn)備信號(hào)
- *SPI_CS=0x01; //關(guān)片選
- *SPI_CS=0x00; //退出時(shí)開片選
- }
復(fù)制代碼
完整的Word格式文檔51黑下載地址:
基于dsp的數(shù)碼管顯示課程設(shè)計(jì)報(bào)告.doc
(408.67 KB, 下載次數(shù): 65)
2019-3-1 16:10 上傳
點(diǎn)擊文件名下載附件
|