在手里的一個(gè)CASE,客戶要求采用FPGA設(shè)計(jì)數(shù)據(jù)采集電路然后通過千兆網(wǎng)把數(shù)據(jù)傳入計(jì)算機(jī)進(jìn)行處理和顯控。數(shù)據(jù)傳輸率為400Mb/s,設(shè)計(jì)順利完成后測試發(fā)現(xiàn)數(shù)據(jù)傳入計(jì)算機(jī),對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行計(jì)算處理耗費(fèi)了大量的CPU資源,導(dǎo)致計(jì)算機(jī)顯控響應(yīng)較慢,CPU占用率高,如果計(jì)算機(jī)長期超負(fù)荷工作,可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的穩(wěn)定性下降,于是客戶希望把原來設(shè)計(jì)在計(jì)算機(jī)端的一部分比較耗費(fèi)CPU資源的算法移到下位機(jī)(電路板)上完成。
初步分析需要在下位機(jī)實(shí)現(xiàn)的算法后,發(fā)現(xiàn)算法中用到了大量的定點(diǎn)乘法,如果不改變電路,直接在FPGA里實(shí)現(xiàn),速度不一定能上得來,而且可能會(huì)導(dǎo)致整個(gè)FPGA系統(tǒng)的系統(tǒng)速度下降,于是提出在電路板里加入一個(gè)DSP最小系統(tǒng)來完成算法的實(shí)現(xiàn)。最后定下來在電路中加入ADI公司ADSP-BF533這一款DSP,理由如下:一是ADSP-BF533芯片尺寸較小,方便集成在電路板中,不會(huì)占用太大的PCB空間;二是ADSP-BF533的系統(tǒng)時(shí)鐘可以跑到600M,定點(diǎn)乘法的速度比較快;三是ADSP-BF533的外部通信接口比較豐富,與FPGA通信比較方便,比如PPI,RS232,SPI及同步串行接口等。設(shè)計(jì)框圖如下:
要想FPGA和DSP同步協(xié)調(diào)工作,必須考慮如下兩個(gè)問題,一是主從關(guān)系,二是兩者之間的通信接口。經(jīng)分析,數(shù)據(jù)是由FPGA采集得到,一次需要計(jì)算機(jī)的數(shù)據(jù)量為8KB,經(jīng)過DSP對(duì)8K運(yùn)算后,得到16字節(jié)的運(yùn)算結(jié)果。顯然,數(shù)據(jù)運(yùn)算的發(fā)起者為FPGA,DSP只是一個(gè)運(yùn)算單元,所以DSP應(yīng)該為從設(shè)備。在硬件電路設(shè)計(jì)方面,DSP的復(fù)位引腳由FPGA控制,上電后到FPGA完成初始化,DSP處于復(fù)位狀態(tài);FPGA完成初始化并穩(wěn)定工作后,釋放DSP的復(fù)位信號(hào),DSP加載程序開始工作。另一方面,DSP的系統(tǒng)時(shí)鐘輸入也于FPGA的IO提供,這樣在電路上可以減少一個(gè)晶振電路的設(shè)計(jì),降低了生產(chǎn)成本,也節(jié)省了PCB空間。
通信接口方面,考慮到傳入DSP的速度量比較大,DSP輸出到FPGA的數(shù)據(jù)量比較小的特點(diǎn),8K的數(shù)據(jù)傳入DSP采用PPI接口,其通信速度最高可達(dá)132Mbytes/s;DSP運(yùn)算后的16字節(jié)的運(yùn)算結(jié)果通過DSP的同步串口傳入FPGA,通信速度可達(dá)125Mbit/s;運(yùn)算需要用到的參數(shù)通過RS232接口傳入DSP。硬件實(shí)物如下:
測試結(jié)果表明,系統(tǒng)的硬件設(shè)計(jì)達(dá)到了預(yù)期要求。
|