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