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