上個(gè)暑假的工作,班門弄斧了。呵呵基于TMS320VC5402的任意波形發(fā)生器
《dsp技術(shù)》工程實(shí)踐報(bào)告設(shè)計(jì)以C5402DSP作為硬件平臺(tái),以C51作為人機(jī)界面的控制中心
,兩者以HPI并口方式通信,采用DDS產(chǎn)生波形信號(hào)波形頻率穩(wěn)定、最高輸出頻率為1MHz,頻率分辨率高達(dá)1Hz。輸出波形的種類不受硬件電路的限制,只需改變
波形數(shù)據(jù)即可產(chǎn)生任意波形硬件平臺(tái)DAC1:TLC7524 10MSPS,8BIT TEXAS INSTRUMENT
DAC2:TLC5615 10KSPS,8BIT TEXAS INSTRUMENTDSP: TMS320VC5402 TEXAS INSTRUMENT
HOST MCU: AT89C55WD 20K FLASH ATMEL
硬件平臺(tái)的設(shè)計(jì)考慮:
1,DSP+單片機(jī)的雙cpu結(jié)構(gòu)。由單片機(jī)管理系統(tǒng)級(jí)事務(wù),包括DSP代碼加載,參數(shù)傳遞
,上位pc機(jī)RS232通信,鍵盤和顯示界面的管理。而DSP專司需要高速運(yùn)轉(zhuǎn)的功能。
2,系統(tǒng)最簡(jiǎn)潔。Dsp外邊沒有掛任何RAM,FLASH。TMS320VC5402內(nèi)部提供的16K×16bit的
SRAM已經(jīng)可以滿足設(shè)計(jì)需要。
3,不考慮I/O電壓3.3V~5V的適配:主機(jī)AT89C55通過C5402的HPI接口相互通信。二者的
I/O電壓標(biāo)準(zhǔn)不通(AT89C55為5V CMOS 電平,VC5402為3.3V CMOS)按照TI的建議,應(yīng)該
在二者之間加入電平轉(zhuǎn)換芯片,如16245之類。但是實(shí)踐表明,不加也照樣能正常工作!
4,低成本電源設(shè)計(jì),如果按照TI的代理商成都合眾達(dá)的推薦,電源該使用專用的TPS74
H318...,考慮這東西要賣近40rmb,所以選擇LM317T這樣的傳統(tǒng)廉價(jià)穩(wěn)壓芯片,實(shí)踐中
也能正常工作。
5,代碼加載方式采用HPI加載。考慮的出發(fā)點(diǎn)是:DSP的代碼code究竟應(yīng)該放在哪兒呢?
必須專門搞一塊FLASH嗎?看看合眾達(dá)推薦的FLASH,價(jià)格不便宜不說,還都是PLCC封裝
的,到時(shí)候怎么用編程器來燒寫?(難道非要做一個(gè)PLCC-DIP的轉(zhuǎn)接插座?)最后,硬
件設(shè)計(jì)者認(rèn)為:1,本系統(tǒng)業(yè)已通過HPI接口2,系統(tǒng)主機(jī)AT89C55擁有多達(dá)20k byte的FLAS
H。所以采用了HPI引導(dǎo)加載的方式。
6,系統(tǒng)設(shè)計(jì)的難點(diǎn)有3:1,高速的dds算法的實(shí)現(xiàn),要追求最短的循環(huán)周期,結(jié)果我們
的dsp軟件設(shè)計(jì)人員寫出的代碼需要10個(gè)指令周期,即dds系統(tǒng)的參考時(shí)鐘頻率大概為10
Mhz。2,C5402的代碼加載,步驟之一是解析CODE COMPOSE STUDIO輸出的.out文件,提
取出TI的技術(shù)文檔上所謂的"存儲(chǔ)器映射",然后一個(gè)word一個(gè)word地寫入C5402的片上R
AM的對(duì)應(yīng)位置。當(dāng)然,TI的網(wǎng)站上提供了這個(gè)工具軟件,大大的方便了我們的設(shè)計(jì)。3,
PCB的設(shè)計(jì),前面提到過本dds系統(tǒng)的參考時(shí)鐘頻率是大概10MHZ,這就等于說,C5402的
片外總線的工作頻率也是這個(gè)數(shù)。印制電路板的設(shè)計(jì)上要適當(dāng)考慮一些所謂"高速pcb設(shè)
計(jì)""信號(hào)完整性""電磁干擾"之類的問題,這些我都不太懂,于是就只制訂了一些粗淺的
布線原則:
1, 走線盡量短
2, 電源線和底線盡量粗
3, 在靠近C5402的電源引腳的地方加0.1UF的電容板子實(shí)際上工作還是比較穩(wěn)定的。呵呵
系統(tǒng)功能的分層實(shí)現(xiàn)和軟件的規(guī)劃:
分層的設(shè)計(jì)顯然可以提高設(shè)計(jì)效率。
Dsp軟件開發(fā)人員完成的dds算法,實(shí)際上是在一個(gè)死循環(huán)中運(yùn)行,直到主機(jī)來通過HPI來
中斷它。所以C5402在系統(tǒng)中可以看作AT89C55的外設(shè)。
這時(shí),單片機(jī)的軟件開發(fā)和DSP的軟件開發(fā)實(shí)際上是并行的。當(dāng)然DSP程序開發(fā)人員要告
訴MCU開發(fā)人員:"應(yīng)該在什么地址放什么參數(shù)"。
仿真機(jī)的利用:
dsp教研室的楊煉和向超老師為我們提供了熱情的指導(dǎo)和無私的援助。特別是
他們借給了我們一臺(tái)spectum digital的XDS-510PP plus JTAG仿真機(jī)。實(shí)踐中證明它可
以幫我對(duì)付一些意想不到的低級(jí)錯(cuò)誤(有些時(shí)候這種錯(cuò)誤來自DSP軟件程序員工作的疏忽
)。
開發(fā)中出現(xiàn)過的麻煩:
1, 調(diào)試過一半的時(shí)候,我在系統(tǒng)上電的情況下把板子在桌子上移動(dòng)了一下,那片c540
2立刻開始劇烈發(fā)燙,以至于無法再上電檢查。拆卸下來后,測(cè)量起I/O電源引腳和GND間
的電阻,竟然小到5歐姆左右(不發(fā)燙才怪。。。),但是該芯片的損壞原因至今我也沒
有想明白??赡苁且苿?dòng)中把I/O短路了吧。。
2, 首先說點(diǎn)題外話:"成都這地方買芯片真的挺麻煩的。。。"系統(tǒng)所用的TLC7524是電
流輸出型DAC,需要用運(yùn)放轉(zhuǎn)換為電壓輸出。我對(duì)運(yùn)放不熟悉,一開始用NE5532之類的低
速運(yùn)放,高頻的響應(yīng)一直不理想,正弦波到200khz以上就開始變形,頻率越高波形越變
態(tài)。后來找同學(xué)接了AD8032,AD818,這兩個(gè)比NE5532快多了,后者還是視頻運(yùn)放,可惜
的是,他們以上去就自激。只好權(quán)且讓NE5532暫居該重要位置。這個(gè)問題拖到最后都沒
有解決。。。
3, AT89C55的P1口做I/O的時(shí)候要加外接上拉電阻,剛開始的時(shí)候忘記了這個(gè),所以HP
I的通信程序耽誤了很久。。。。
---------------------------------------------------