CPLD在DSP系統(tǒng)中的應(yīng)用設(shè)計
摘 要: 以Altera公司MAX7000系列為代表,介紹了CPLD在DSP系統(tǒng)中的應(yīng)用實例。該方案具有一定的普遍適用性。
關(guān)鍵詞: RESET BOOT HPI CPLD的延時 時序
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)部的程序進行改寫便可實現(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ù)位,進入初始狀態(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ù)位信號。[!--empirenews.page--]
當(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需要進行BOOT自舉。在復(fù)位信號為低期間,BOOTMODE[4:0]管腳上的設(shè)置值被鎖存,決定芯片的存儲器映射方式以及自舉模式。但TMS320C6202沒有專門的管腳作為BOOTMODE[4:0]輸入管腳,而是將擴展總線的XD[4:0]映射為BOOTMODE[4:0],利用上拉/下拉電阻在復(fù)位時進行芯片啟動模式設(shè)置??偩€上的其它位也在復(fù)位期間被鎖定,決定系統(tǒng)相應(yīng)的設(shè)定值。而擴展總線XD在HPI口讀寫時要用到,所以使用MAX7000進行隔離。系統(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ù)位信號為低的信息時,不是立即認定按鍵已被按下,而是延時一段時間后再次檢測復(fù)位信號。如果仍為低,說明按鍵的確按下了,這實際上是避開了按鍵按下時的抖動時間。同樣,在檢測到按鍵釋放后,再延時幾個毫秒,消除后沿的抖動,然后再對鍵值處理。由于抖動現(xiàn)象主要出現(xiàn)在按鍵按下后,采用延時方法可有效地減少按鍵的抖動現(xiàn)象。[!--empirenews.page--]
2.2 BOOT模式的實現(xiàn)
為了滿足在復(fù)位有效期間對相應(yīng)管腳進行配置,在復(fù)位無效時,使管腳進入高阻態(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)。
因為DSP自舉有特定的時間要求,在復(fù)位信號結(jié)束后,配置管腳的值必須至少保持25ns。通過對復(fù)位信號作一定的延時,可以滿足要求。采用CPLD將信號作一定的延時,并不能簡單地在信號后串接一些非門或其它門電路,因為開發(fā)軟件在綜合設(shè)計時會將這些門作為冗余邏輯處理,達不到延時的效果。所以采用高頻時鐘驅(qū)動一移位寄存器,對移位寄存器進行正確的設(shè)置后,輸出即為延時后的數(shù)據(jù)。語句如下:
always@(posedge eclkout2) //采用dsp的clkout=100MHz 二分頻后作延時
begin
if(svs_rst_) //svs_rst_低電平,count始終置1010
begin
count=4'b1010;
end
else if(count==4'b0000) //0000則保持
begin
count=4'b0000;
end //svs_rst_高電平,count
開始計數(shù)
else
begin
count=count+4'b0001; //記六次至0000
end
end
assign tp4=count[3];
仿真效果如圖4所示。由仿真波形可見,CPLD的信號輸出完全符合DSP BOOT 的兩個要求。
2.3 HPI口接口邏輯的實現(xiàn)
圖像壓縮編碼器通過DSP的 HPI口與網(wǎng)絡(luò)模塊連接,實現(xiàn)圖像的網(wǎng)絡(luò)傳輸。TMS320C6202的HPI口是指其擴展總線的主機口接口部分。經(jīng)過編碼器編碼后的MPEG-4圖像數(shù)據(jù)以幀為單位存放在DSP內(nèi)部存儲器中,外部主機通過HPI口讀取。現(xiàn)以MCF5272微處理器與HPI口通信為例進行說明。
MCF5272將10/100MB以太網(wǎng)控制器和一個USB模塊等通信外圍設(shè)備結(jié)合起來, 是一款高集成的ColdFire微處理器。詳見參考文獻[4]。
MCF5272與TMS320C6202連接采用異步從屬工作方式,MCF5272作為上行機,TMS320C6202作為從屬機。由MCF5272高位地址線模擬XCNL、XR_W信號,TMS320C6202的多功能串行口3工作在GPIO模式下模擬信號,為MCF5272提供主機口中斷。本系統(tǒng)由CPLD——MAX7000編程實現(xiàn)兩者硬件接口。仿真后的時序如圖5所示,實驗證明可以滿足雙方時序要求,實現(xiàn)數(shù)據(jù)傳輸。
以上所討論的邏輯并不復(fù)雜,采用74系列在一定程度上說也可以完成。但是,采用CPLD具有以下優(yōu)勢:體系結(jié)構(gòu)和邏輯單元靈活、集成度高、適用范圍廣,因而采用CPLD的方案。
在開發(fā)階段,通過硬件實現(xiàn)的控制信號往往不能確定,需要試驗驗證。而CPLD因其具有靈活性,逐漸成為DSP進行信號處理不可或缺的協(xié)處理器。將相關(guān)控制信號接入CPLD,只需通過簡單的編程即可實現(xiàn)各種需要的邏輯,避免了硬件上的改動,使硬件邏輯控制更加方便靈活,對類似設(shè)計具有普遍意義。文中討論的防抖動以及CPLD延時程序?qū)τ陬愃圃O(shè)計也有一定的借鑒意義。
本文介紹的CPLD在基于DSP的MPEG-4編碼壓縮模塊的系統(tǒng)中的應(yīng)用實例,已通過下載驗證。應(yīng)用在工程實踐中,結(jié)果表明該設(shè)計是方便靈活且正確有效的。