- 相關(guān)推薦
CPLD在DSP系統(tǒng)中的應(yīng)用設(shè)計
摘要:以Altera公司MAX700舊系列為代表,介紹了CPLD在DSP系統(tǒng)中的應(yīng)用實例。該方案具有一定的普遍適用性。DSP的速度較快,要求譯碼的速度也必須較快。利用小規(guī)模邏輯器件譯碼的方式已不能滿足DSP系統(tǒng)的要求。同時,DSP系統(tǒng)中經(jīng)常需要外部快速部件的配合,這些部件往往是專門的電路,可由可編程器件實現(xiàn)。CPLD的時序嚴(yán)格、速度較快、可編程性好,非常適合于實現(xiàn)譯碼和專門電路。本文以MAX7000系列為例,具體介紹其在以TI公司的TMS320C6202為平臺的網(wǎng)絡(luò)攝像機系統(tǒng)中的應(yīng)用。
1 CPLD在DSP系統(tǒng)中的功能介紹
1.1 DSP系統(tǒng)簡介
本文所論述的編碼器系統(tǒng)是基于DSP的MPEG-4壓縮編碼器的,主要由前端視頻采集、數(shù)據(jù)預(yù)處理以及MPEG-4視頻壓縮編碼三部分組成;贒SP的MPEG-4編解碼器由于其所選用的DSP運算能力強、編程靈活,且實現(xiàn)不同的圖像編碼算法時只需對DSP內(nèi)部的程序進(jìn)行改寫便可實現(xiàn)諸如MPEG、H.263等多種圖像編碼,因而具有良好的應(yīng)用情景。CPLD芯片對整個編碼器起著邏輯控制作用,系統(tǒng)結(jié)構(gòu)如圖1所示。
1.2 CPLD在系統(tǒng)中的功能要求
1.2.1 產(chǎn)生復(fù)位信號
系統(tǒng)上電時,CPLD產(chǎn)生復(fù)位信號,使整個系統(tǒng)中的FPGA和DSP模塊復(fù)位,進(jìn)入初始狀態(tài);系統(tǒng)上電后,數(shù)據(jù)采集模塊自動啟動。
系統(tǒng)內(nèi)共使用三種電源:5V、3.3V、1.8V。其中,5V電源由供電電源接人,3.3V、1.8V電源由TPS56300(TI產(chǎn)品)提供。采用TPS3307(TI產(chǎn)品)為系統(tǒng)提供電源管理,該芯片可同時管理三種電源。當(dāng)監(jiān)測到電源電壓低于一定值時,產(chǎn)生復(fù)位信號。TPS3307在其自身電源電壓大于1V的情況下即可以輸出復(fù)位信號。?
當(dāng)系統(tǒng)出現(xiàn)錯誤時,可以采用手工方式復(fù)位。
復(fù)位信號產(chǎn)生原理圖如圖2所示。其中,RST#為整個系統(tǒng)的復(fù)位信號,由MAX7000輸出。PBSW_RST#為手動復(fù)位信號,由按鍵接人MAX7000,經(jīng)MAX7000去抖動后輸出給TPS3307。SVS_RST#為電源管理芯片TPS3307產(chǎn)生的復(fù)位信號(包括手動復(fù)位和電源監(jiān)控功能)。
1.2.2 BOOT模式的實現(xiàn)
系統(tǒng)復(fù)位后,DSP需要進(jìn)行BOOT自舉。在復(fù)位信號為低期間,BOOTMODE[4:0]管腳上的設(shè)置值被鎖存,決定芯片的存儲器映射方式以及自舉模式。但TMS320C6202沒有專門的管腳作為BOOTMODE[4:0]輸入管腳,而是將擴展總線的XD[4:0]映射為BOOTMODE[4:0],利用上拉/下拉電阻在復(fù)位時進(jìn)行芯片啟動模式設(shè)置?偩上的其它位也在復(fù)位期間被鎖定,決定系統(tǒng)相應(yīng)的設(shè)定值。而擴展總線XD在HPI口讀寫時要用到,所以使用MAX7000進(jìn)行隔離。系統(tǒng)處在復(fù)位階段,則通過MAX7000使得DSP的相應(yīng)管腳的值等于設(shè)定值,復(fù)位結(jié)束后,MAX7000相應(yīng)管腳為高阻態(tài),使得XD可以作為正常的總線使用。
DSP自舉有特定的時間要求。在復(fù)位結(jié)束后,XD的配置管腳必須保持一段時間,TMS320C6202要求時間為5個時鐘周期,例如在200MHz時鐘情況下必須保持25ns。
1.2.3 HPI口接口邏輯實現(xiàn)
MPEG-4壓縮編碼器壓縮后的數(shù)據(jù),通過網(wǎng)絡(luò)傳輸控制模塊傳輸?shù)骄W(wǎng)絡(luò)上去,從而實現(xiàn)網(wǎng)絡(luò)實時圖像傳輸。而DSP與網(wǎng)絡(luò)傳輸模塊(MCF5272)通過HPI口連接。其接口邏輯由CPLD完成。硬件連線圖如圖3所示。
根據(jù)系統(tǒng)的邏輯要求以及實際的仿真結(jié)果,CPLD選用EPM7128SLC84。該芯片共有2500門,128個宏單元,最多100個用戶自定義管腳。
2 CPLD邏輯控制的具體實現(xiàn)
2.1 復(fù)位信號的實現(xiàn)
復(fù)位信號邏輯產(chǎn)生較簡單,需要處理的是按鍵的去抖動。由于按鍵是機械觸點,當(dāng)機械觸點斷開、閉合時會有抖動,為使每一次按鍵只作一次響應(yīng),就必須考慮去除抖動。在通過按鍵獲得復(fù)位信號為低的信息時,不是立即認(rèn)定按鍵已被按下,而是延時一段時間后再次檢測復(fù)位信號。如果仍為低,說明按鍵的確按下了,這實際上是避開了按鍵按下時的抖動時間。同樣,在檢測到按鍵釋放后,再延時幾個毫秒,消除后沿的抖動,然后再對鍵值處理。由于抖動現(xiàn)象主要出現(xiàn)在按鍵按下后,采用延時方法可有效地減少按鍵的抖動現(xiàn)象。
2.2 BOOT模式的實現(xiàn)
為了滿足在復(fù)位有效期間對相應(yīng)管腳進(jìn)行配置,在復(fù)位無效時,使管腳進(jìn)入高阻態(tài)。以其中一個管腳為例,采用Verilog語言,用如下語句實現(xiàn)該功能:
assign hd0=(tp4)?rst_hd0:1′bz;
//復(fù)位有效期間,tp4為1,hd=rst_hdo,即為設(shè)定值;復(fù)位無效時,tp4=0,hd為高阻態(tài)。
圖4
因為DSP自舉有特定的時間要求,在復(fù)位信號結(jié)束后,配置管腳的值必須至少保持25ns。通過對復(fù)位信號作一定的延時,可以滿足要求。采用CPLD將信號作一定的延時,并不能簡單地在信號后串接一些非門或其它門電路,因為開發(fā)軟件在綜合設(shè)計時會將這些門作
【CPLD在DSP系統(tǒng)中的應(yīng)用設(shè)計】相關(guān)文章:
Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-04
探析Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用05-29
談Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-09
一個嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實現(xiàn)05-29
談智能決策支持系統(tǒng)及其在林業(yè)中的應(yīng)用研究08-21
電氣自動化系統(tǒng)在石油化工行業(yè)中應(yīng)用論文05-14
談三維制作軟件在園林設(shè)計中的應(yīng)用08-30
智能控制及其在機電一體化系統(tǒng)中的應(yīng)用(通用5篇)05-23