【文章內(nèi)容簡介】
I O S T R BV d dV d d D SA 1 3圖 114167。 顯示部分的設(shè)計顯示部分 LCD 與 TMS320VC5416 的接口連接如圖 115:圖 115D 0 ~ D 7 A 1 0 A 9 A 1 2 A 1 1 A 8 W R T M S 3 2 0 V C 5 4 1 6 H S 1 2 8 6 4 1 D B 0 ~ D B 7 R / W D / I C S 1 C S 2E V C C V E E V 0V C C167。 電源電路和晶振電路 一個完整的 DSP 系統(tǒng)通常是由 DSP 芯片和其他相應(yīng)的外圍芯片組成的,下面介紹本次設(shè)計中用到的電源電路、復(fù)位電路和晶振電路。TMS320VC5416 DSP 芯片采用低電壓設(shè)計,并且采用雙電源供電,即內(nèi)核電源CVDD和 I/O 電源 DVDD。I/O 電源采用 電源供電,而內(nèi)核電源采用 供電, 12降低內(nèi)核電源的目的是為了降低功耗。由于 TMS320VC5416 DSP 芯片采用雙電源供電,使用時需要考慮它們的加電次序。在理想情況下,DSP 芯片上的兩個電源應(yīng)該同時加電,但在有些場合很難做到。若不能做到同時加電,應(yīng)先對 DVDD加電,然后再對 CVDD加電,同時要求 DVDD電壓不超過 CVDD電壓 2V。這個加電次序主要依賴于芯片內(nèi)部靜電保護電路。內(nèi)部保護電路如圖 1—16 所示:D VD DC VD D圖 1—16 內(nèi)部靜電保護電路圖從圖中可以看出,DV DD電壓不超過 CVDD電壓 2V,即用 4 個二極管降壓,而 CVDD電壓不超過 DVDD電壓 V,即一個二極管降壓,否則有可能損壞芯片。圖 1—17 是產(chǎn)生 的電源電路 圖 1—18 是產(chǎn)生 的電源電路1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 12Jun2020 Sheet of File: D:\啟啟啟\tw\ Drawn By:C10104C26104Vin1GND2Vout 3U6111733VCC1 2 3 4ABCD4321DCBA TitleNumber RevisionSizeA4Date: 12Jun2020 Sheet of File: D:\啟啟啟\tw\ Drawn By:R49200KR5056KC9104 C11104Vin1GND2Vout 3U9111733C310U C510UVCC GND圖 1—17 產(chǎn)生 的電源電 路 圖 1—18 產(chǎn)生 的電源電路產(chǎn)生 電壓的電路圖,考慮大部分數(shù)字系統(tǒng)使用的電源是 5V,圖中 VCC采用 5V 電壓。通過電壓調(diào)節(jié)器產(chǎn)生 電壓。產(chǎn)生 電壓的電路圖,和產(chǎn)生 電壓的電路相同,考慮大部分數(shù)字系統(tǒng)使用的電源是 5V,所以圖中 VCC 采用 5V 電壓。通過電壓調(diào)節(jié)器產(chǎn)生 電壓。振蕩器是用來將直流電源能量轉(zhuǎn)換為一定波形的交變振蕩信號能量的轉(zhuǎn)換電路。利用石英晶體的壓電效應(yīng)可以做成晶體諧振器。石英晶振的固有頻率十分穩(wěn) 13定,它的溫度系數(shù)在 106以下。另外,石英晶振的振動具有多諧性,還可利用其泛音振動。前者稱基頻晶體,后者稱泛音晶體。在工作頻率較高的晶體振蕩器中,多采用泛音晶體振蕩電路。本次設(shè)計是利用 DSP 芯片內(nèi)部的振蕩器構(gòu)成的時鐘電路,連接方式如圖 1—19 所示。在芯片的 X1 和 X2 引腳之間接入一個晶體,用于啟動內(nèi)部振蕩器。1 2 3 4ABCD4321DCBATitleNumber RevisionSizeA4Date: 12Jun2020 Sheet of File: D:\啟啟啟\tw\ Drawn By:Y116C112PC212PX1X2圖 1—19 晶振電路圖 14第三章 軟件系統(tǒng)設(shè)計在DSP的開發(fā)應(yīng)用系統(tǒng)中,匯編語言雖然仍然為主要編程語言,但C語言也已經(jīng)逐漸被引入,C語言是一種通用的計算機程序設(shè)計語言,和匯編語言相比,用C語言開發(fā)的程序有可讀性好,移植性較高,編程簡單,可縮短開發(fā)周期等等優(yōu)點。所以,在這個設(shè)計中,我們用C語言來編寫應(yīng)用程序。由于調(diào)試程序需要使用CCS系統(tǒng),而連接PC機和DSP芯片需要ICETEK—,所以下面對它們分別做以介紹。167。 ICETEK— 使用說明本次設(shè)計使用的是 ICETEK— 作為連接 PC 機與 DSP 芯片的工具,ICETEK—5100 是使用并口和 PC 機相連接的,在使用該系統(tǒng)之前要正確配置并行端口和開發(fā)系統(tǒng)相應(yīng)的設(shè)置,一般的,臺式機并行端口有三種工作模式:SPP、EPP、ECP,ICETEK—5100 可以在 SPP 和 EPP 兩種模式下工作,所以要把計算機的并行端口配置為 SPP 或 EPP 模式。我們把并行端口配置為 EPP 模式。ICETEK—5100 有如下優(yōu)點:兼容 TI 全系列 DSP 產(chǎn)品,包括TMS320C2020,C5000,C6000,VC33 等;完全通用,只需改變軟件就可以實現(xiàn)所有 DSP 器件開發(fā); 接口,仿真速度快,調(diào)試方便;支持 CCS 集成調(diào)試環(huán)境; 接口,支持熱插拔;仿真不占用任何 DSP 資源;支持多 DSP 同時調(diào)試仿真;可在多種操作系統(tǒng)如 WIN98/WIN2020/WXP 下使用。由于以上這些優(yōu)點,所以選擇該器件作為連接 PC 機與 DSP 的工具。167。 正弦波的設(shè)計方案正弦波的產(chǎn)生方法有兩種,一種使通過查表的方法產(chǎn)生,這種方法主要用于對精度要求不高的場合,把計算過的正弦量存放在一個表格中,通過對表格的調(diào)用產(chǎn)生波形信號,所以,如果精度要求過高,表就會很大,相應(yīng)的存儲器容量也就要求很大;另外一種方法是泰勒級數(shù)展開法,這是一種比查表更為有用的方法,與查表法相比,這種方法需要的存儲單元很少,而且精度高。但是,這種方法需要的計算量就比較大,相應(yīng)的速度就受到限制。這里我們用查表的方法來設(shè)計正弦信號發(fā)生器。程序開始首先進行初始化的操作,初始化操作包括關(guān)閉所有中斷, 15以免對輸出波形產(chǎn)生影響,同時允許D/A輸出,初始化后設(shè)置讀正弦波的指針,使這兩個指針的初始值都為0,即讀數(shù)時從正弦值表的第一個數(shù)開始讀,然后輸出到D/A轉(zhuǎn)換器,接著指針加1,讀下一個數(shù),然后再輸出。程序就是這樣循環(huán)運行,直到正弦波的所有值都被讀出來為止,這樣一個正弦波的所有值都被輸出到D/A轉(zhuǎn)換器,經(jīng)過D/A轉(zhuǎn)換器轉(zhuǎn)換,形成模擬波形,這樣我們就能夠在示波器上觀察產(chǎn)生的波形是否符合我們的要求。這個程序的輸出是雙通道的輸出,即有兩個通道同時輸出波形,這兩個通道的波形的頻率、相位和幅度可以不同,我們可以用示波器上的雙通道輸入模式來同時觀察兩個波形的不同。當然,這個程序產(chǎn)生的正弦波的波形的頻率、相位和幅度可以通過鍵盤來改變,使用相當?shù)撵`活,可以滿足不同的要求。產(chǎn)生正弦波的流程圖如圖25所示:開 始初 始 化設(shè)置 讀正弦波 的值的指針U D A O = 0 和 U D A 1 = 0讀取 正 弦 波的值存于 寄 存器寄存 器 中 的值輸出到D / A讀取 正 弦 波的值的指針加1圖2—5 正弦波流程圖167。 鍵盤模塊的軟件設(shè)計1. 鍵盤的工作原理 16使用非編碼鍵盤需要用相應(yīng)軟件來解決按鍵的識別,防止抖動以及產(chǎn)生鍵碼等工作。按鍵的識別,即確定是否有按鍵按下。首先 DSP 通過寫鍵盤端口輸出 000 到鍵盤的行線,然后通過讀鍵盤端口輸入,檢測鍵盤的列線信號。若沒有按鍵按下,則輸入的列線信號為 111。若有按鍵按下,則輸入的信號不為 111。行掃描確定按鍵的位置,行掃描是指依次給每條行線輸出 0 信號,而其余行線輸出 1 信號,并檢測每次掃描所對應(yīng)的列線信號。每次給行線輸出的信號稱為代碼 Xi,而檢測到的列線信號稱為代碼 Yi。若某行有按鍵按下,并掃描該行時,則從讀鍵盤端口檢測到的列線信號為 0,否則為 1。在掃描的過程中,只要記下列信號不為全 1 時的行代碼和列代碼,就能確定按鍵的位置。從寫鍵盤端口依次輸出的行代碼為110X0;101X1;011X2由讀鍵盤端口讀入的列代碼為110Y0;101Y1;011Y2。按鍵防抖,檢測到有按鍵按下后,延遲 10~20。然后再進行行掃描。鍵碼產(chǎn)生。經(jīng)過行掃描后,就能確定按鍵的鍵碼。鍵碼是由行代碼和列代碼組合而成。即鍵碼=【行代碼】 【列代碼】圖 26 開始有鍵盤輸入 ?輸入 “ 9 ” 鍵 ?初始化 : D S P 時鐘 、I C E T E K T C R適當延時關(guān)閉打開的 I C E T E K C T R 設(shè)備結(jié)束否是否是 17鍵盤的流程圖167。 LCD 模塊的軟件設(shè)計程序的開始是先初始化 ICETEKCTR,接著打開顯示,在確保要顯示的內(nèi)容前先清除屏幕顯示的內(nèi)容,之后就是設(shè)置顯示的起始行、操作頁、起始列,延時顯示的內(nèi)容.LCD 顯示的流程圖如圖 27:開始初始化 : I C E T E K C T R清除屏幕顯示內(nèi)容打開顯示設(shè)置起始行設(shè)置操作頁設(shè)置起始列延時顯示內(nèi)容圖 27 LCD 顯示流程圖 18167。 軟件系統(tǒng)調(diào)試CCS是一種針對TMS320系列DSP芯片的集成開發(fā)環(huán)境,在Windows操作系統(tǒng)下,采用圖形接口界面,提供環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具,可以幫助用戶在一個軟件環(huán)境下完成編輯、編譯、連接、調(diào)試和數(shù)據(jù)分析等工作。CCS有兩種工作模式,即軟件仿真器和硬件在線編程,軟件仿真器模式可以脫離DSP芯片,在PC機上模擬DSP的指令集和工作機制,主要用于前期算法實現(xiàn)和調(diào)試。硬件在線編程可以實時運行在DSP芯片上,與硬件開發(fā)板相結(jié)合進行在線編程和調(diào)試應(yīng)用程序。下面以介紹如何調(diào)試軟件: 首先創(chuàng)建一個新文件,方法如下:首先選擇主菜單的“File”中的“New”項,將在編輯窗口中顯示一個新的窗口,在該窗口中編輯文本輸入正弦波源程序,程序編寫完成后,保存該程序,我們選擇暫時保存與桌面,暫時文件名命名為zhengxian,擴展名為“.c”。保存文件。 然后創(chuàng)建一個工程文件,選擇“Project→New(工程→新工程)”,在Project欄中輸入工程名字zhengxian ,工程文件的擴展名是*.pjt。默認的工作目錄是C:\ti\myprojects\,其他兩項默認即可。單擊完成按鈕,將在工程窗口的Project下面創(chuàng)建zhengxian工程。然后我們向工程中添加源文件,制到新建的“C:\ti\myprojects\zhengxian”目錄下。接著選擇“Project→Add Files to Project”,單擊“打開”。斷指向C程序入口c int00的匯編指令和其他中斷的入口指令。該文件的作用是將段分配到存儲器中。該文件包含一個簡單的匯編循環(huán)程序,被C程序調(diào)用,調(diào)用時帶有一個參數(shù)(argument),執(zhí)行次程序共需約1000Volume個指令周期。 將“C:\ti\c5400\cgtools\lib”。該文件是采用C語言開發(fā)DSP應(yīng)用程序的運行支持庫函數(shù)。把文件添加完以后我們進行編譯和運行程序: 19選擇“Project→Rebuild All(工程→重新編譯)”,對工程進行重新編譯。在編譯過程中,如果出現(xiàn)錯誤,編譯結(jié)果就會有提示,并且用紅色字體顯示,雙擊即可發(fā)現(xiàn)錯誤出現(xiàn)位置便于修改。選擇“File→Load Program(文件→下載程序)”,開,將Build生成的程序加載到DSP。選擇“Debug→Run(調(diào)試→運行)”程序開始執(zhí)行。程序執(zhí)行以后,我們就可以根據(jù)顯示出來的波形來發(fā)現(xiàn)程序編寫的是否合理,然后根據(jù)我們的需要改變程序,直到出現(xiàn)我們想要的波形為止。 20結(jié) 論歷經(jīng)幾個月的畢業(yè)設(shè)計即將結(jié)束,回想這段時間收獲頗多。在設(shè)計過程中,通過對畢業(yè)設(shè)計的認識與學習,并在其他同學的幫助下,提高了自己的分析設(shè)計能力。在畢業(yè)設(shè)計期間,我不斷到圖書館,圖書室查閱資料,提出了設(shè)計方案,經(jīng)過指導(dǎo)老師的認真輔導(dǎo),并改正了我設(shè)計中的缺陷,形成了我現(xiàn)在的設(shè)計。通過對系統(tǒng)軟件,硬件的設(shè)計開發(fā),我掌握了 DSP 的許多用