直面FPGA在嵌入式測(cè)試系統(tǒng)中的設(shè)計(jì)挑戰(zhàn)
不同的嵌入式系統(tǒng)其設(shè)計(jì)要求相去甚遠(yuǎn)。如果設(shè)計(jì)的是手持式設(shè)備(如PDA),那么功耗是主要問題;而對(duì)機(jī)場(chǎng)或電影院售票設(shè)備,可靠性和安全將是主要考慮因素。當(dāng)然,用戶界面在上述兩種系統(tǒng)中都是主要組成部分,但也有許多嵌入式系統(tǒng)還必須和傳感器和執(zhí)行器相連,這些系統(tǒng)要求對(duì)實(shí)際的激勵(lì)做出迅速反應(yīng)并生成復(fù)雜輸出模式作為響應(yīng),完成這些動(dòng)作需要處理引擎和系統(tǒng)輸入輸出端口緊密結(jié)合。
可以選擇多種方法和器件將智能化功能加入系統(tǒng)中,并且可將這些方法和器件進(jìn)行混合配對(duì)以便以最佳方式達(dá)到設(shè)計(jì)要求。最靈活的平臺(tái)類型是將微處理器和操作系統(tǒng)結(jié)合起來,這種架構(gòu)可以采取單板機(jī)帶實(shí)時(shí)操作系統(tǒng)(RTOS)內(nèi)核的形式,比如在ATM機(jī)或自動(dòng)售貨機(jī)中。更復(fù)雜的系統(tǒng)則嵌入一個(gè)完整的PC,上面運(yùn)行Windows或其它操作系統(tǒng),這樣做可以利用現(xiàn)成的網(wǎng)絡(luò)接口功能連接到標(biāo)準(zhǔn)打印機(jī)上。
測(cè)量和控制用FPGA
FPGA的性能和靈活性使得它們成為處理輸入輸出非常有效的技術(shù)。假如想計(jì)算那些比計(jì)數(shù)器處理的簡(jiǎn)單上升或下降沿更有趣的模擬或數(shù)字事件,或者要確認(rèn)一個(gè)基于特定事件順序或自定義通信協(xié)議的輸入模式,然后在幾納秒后觸發(fā)一個(gè)模擬操作,這時(shí)就可以利用FPGA監(jiān)視輸入信號(hào),快速?zèng)Q定并做出反應(yīng)。另外可以創(chuàng)建一個(gè)系統(tǒng)讀取脈寬調(diào)制信號(hào)并迅速計(jì)算占空比,更進(jìn)一步,還可以對(duì)FPGA進(jìn)行配置以利用自定義數(shù)字協(xié)議進(jìn)行通信,如對(duì)輸入信息進(jìn)行解碼,然后將信息組合編碼作為輸出數(shù)據(jù)包再發(fā)送出去,這種快速解碼在與非標(biāo)準(zhǔn)編碼器連接時(shí)有助于讀取和解讀出位置和速度信息。你可能甚至希望同時(shí)進(jìn)行上述所有操作,并使得這些操作互相同步,且和其它輸入和輸出任務(wù)同步。
面臨的挑戰(zhàn)
將FPGA集成到嵌入式系統(tǒng)最大的挑戰(zhàn)是如何配置FPGA的邏輯,以及將傳感器輸入和控制輸出與它連接起來。許多嵌入式系統(tǒng)設(shè)計(jì)人員對(duì)于在實(shí)時(shí)操作系統(tǒng)下運(yùn)行的微處理器上編程非常熟練,但他們不喜歡在芯片級(jí)對(duì)硬件進(jìn)行定義,這需要有設(shè)計(jì)工具和語言如VHDL方面的知識(shí)。當(dāng)然,冒昧進(jìn)入芯片級(jí)領(lǐng)域還意味著需要設(shè)計(jì)和構(gòu)建芯片周邊的電路板,雖然這對(duì)于一些嵌入式系統(tǒng)設(shè)計(jì)人員來說已經(jīng)過時(shí)了,但仍然有許多設(shè)計(jì)人員寧愿盡可能地使用現(xiàn)成的硬件,特別是當(dāng)硬件必須精確地測(cè)量出傳感器數(shù)據(jù)并對(duì)其作數(shù)字化處理時(shí)。
設(shè)計(jì)系統(tǒng)
有幾個(gè)原因你可能無法將整個(gè)應(yīng)用程序嵌入到FPGA中去。應(yīng)用程序大小是其中之一,F(xiàn)PGA的邏輯門數(shù)量有限,并且最終放入FPGA中的代碼因編程人員以及生成代碼的自動(dòng)系統(tǒng)不同而效率可能很高也可能很低,另外FPGA上供用戶使用的RAM容量也很有限,而基于PC的平臺(tái)一般都帶有相對(duì)較大的內(nèi)存和硬盤空間。另外一個(gè)需要考慮的問題是FPGA設(shè)計(jì)常常無法進(jìn)行浮點(diǎn)運(yùn)算,市面上有在FPGA上執(zhí)行浮點(diǎn)運(yùn)算的工具,但它們可能可以也可能無法與你正在使用的開發(fā)工具兼容,如果無法全部以整型算法運(yùn)行整個(gè)計(jì)算,可以放一部分在PC上執(zhí)行。PC還可以提供一些其它好處,而這些好處在FPGA上無法容易地實(shí)現(xiàn),包括文件I/O、網(wǎng)絡(luò)操作、打印能力和基于PC的測(cè)量和控制能力,如圖形識(shí)別/處理、GPIB/VXI工具控制以及與工業(yè)總線如CAN、RS-232和RS-485的接口等。
本文小結(jié)
評(píng)論