直面FPGA在嵌入式測試系統中的設計挑戰
發布時間:2008/5/27 0:00:00 訪問次數:373
    
    
    有多種方式可以在系統中加入智能化功能,其中一種常見的技術就是現場可編程門陣列(fpga)。將算法編入fpga中可為最終產品在成本、尺寸和性能方面帶來很多好處。本文主要介紹在要求測量和控制功能的系統中使用fpga可得到的好處和面臨的挑戰。
    
    “嵌入式系統”這個詞范圍很廣,從數字式電子表到變電站電力檢測系統中的pc都可歸于這一范疇。大多數情況下,嵌入式系統是一個獨立且具有專門用途的系統,它應能在沒有技術人員操作的情況下運行。許多嵌入式系統都有某種類型的用戶界面,但有一些以“傻瓜型”方式運作,這些系統需要與外界通過傳感器、網絡等進行交流。系統智能化可以通過由操作系統控制的微處理器實現,或者系統大部分功能也可由一個單獨的專用芯片完成。
    
    不同的嵌入式系統其設計要求相去甚遠。如果設計的是手持式設備(如pda),那么功耗是主要問題;而對機場或電影院售票設備,可靠性和安全將是主要考慮因素。當然,用戶界面在上述兩種系統中都是主要組成部分,但也有許多嵌入式系統還必須和傳感器和執行器相連,這些系統要求對實際的激勵做出迅速反應并生成復雜輸出模式作為響應,完成這些動作需要處理引擎和系統輸入輸出端口緊密結合。
    
    讓我們來看一下嵌入式系統和外界進行交流的方式。掌上計算器具有非常簡單的用戶界面,包括鍵盤和lcd顯示器,它不需要與傳感器或通信總線連接的接口。而對于一個汽車引擎控制單元,它雖然沒有用戶界面,但是需要與傳感器和執行器進行通信,而且車輛網絡總咭彩嗆苤匾牟糠幀5逼到形薇q保際躒嗽被崾褂靡恢稚璞缸魑檔緶返撓沒ы緱媯源蠖嗍枰庵止δ艿南執度朧較低常沒ы緱嬙裾庋ü諫璞干顯黽右桓鲆蘊絲冢緩笤誦衱eb服務器作為嵌入式系統功能的一部分來實現。路由器就是這樣一種設備,通常以“傻瓜”方式運行,但可通過一個web瀏覽器對其進行配置。
    
    可以選擇多種方法和器件將智能化功能加入系統中,并且可將這些方法和器件進行混合配對以便以最佳方式達到設計要求。最靈活的平臺類型是將微處理器和操作系統結合起來,這種架構可以采取單板機帶實時操作系統(rtos)內核的形式,比如在atm機或自動售貨機中。更復雜的系統則嵌入一個完整的pc,上面運行windows或其它操作系統,這樣做可以利用現成的網絡接口功能連接到標準打印機上。
    
    對于有的系統而言,pc或單板機可能太大或成本太高,而且它們或許也不能滿足性能需求。這時可以通過將現成的專用集成電路芯片(asic)集成到設計中來實現所要求的功能,如用dsp、運算放大器和通信總線收發器等,這種方法的缺陷是項目需要增加板級設計,而如果使用pc平臺,只需要將精力集中在系統級設計上即可。
    
    但如果pc不能滿足需求,而且也沒有現成部件可以完成系統,那該怎么辦呢?這時不僅要考慮進行板級設計,而且還包括芯片級設計,需要設計并制造自己的asic或者是使用現成的可配置芯片:fpga。其中一個需確定的因素是最終產品的數量,如果設計的是大批量產品如蜂窩電話,那么為了節約設計和裝配成本最好自行開發asic;但如果目標市場很小,則可以通過使用fpga來減少成本。fpga可以在更改系統時不必開發新的asic,如果系統需要升級或修改以便滿足特殊客戶的需要,這樣的方式是極為有利的。今天,fpga已廣泛應用在打印機、復印機、測量設備、消費電子產品和自動控制模塊等嵌入式系統中。
    
    測量和控制用fpga
    
    fpga是一種具有可重配置邏輯門的芯片,與供應商提供功能定義的asic芯片不同,fpga可根據每個應用的不同需要而進行配置和重新配置。由于fpga允許在硬件中實現自定義算法,因此它具有精確時序和同步、快速決策及并行任務同時執行等優點。在pc或帶有rtos和微處理器的平臺上,處理器必須對多個任務進行分時處理,而fpga則可以配置為多個獨立的并行計算資源,簡言之,就像芯片上有多個微處理器一樣,且這些微處理器都針對特定的任務進行了優化。
    
    fpga的性能和靈活性使得它們成為處理輸入輸出非常有效的技術。假如想計算那些比計數器處理的簡單上升或下降沿更有趣的模擬或數字事件,或者要確認一個基于特定事件順序或自定義通信協議的輸入模
    
    
    有多種方式可以在系統中加入智能化功能,其中一種常見的技術就是現場可編程門陣列(fpga)。將算法編入fpga中可為最終產品在成本、尺寸和性能方面帶來很多好處。本文主要介紹在要求測量和控制功能的系統中使用fpga可得到的好處和面臨的挑戰。
    
    “嵌入式系統”這個詞范圍很廣,從數字式電子表到變電站電力檢測系統中的pc都可歸于這一范疇。大多數情況下,嵌入式系統是一個獨立且具有專門用途的系統,它應能在沒有技術人員操作的情況下運行。許多嵌入式系統都有某種類型的用戶界面,但有一些以“傻瓜型”方式運作,這些系統需要與外界通過傳感器、網絡等進行交流。系統智能化可以通過由操作系統控制的微處理器實現,或者系統大部分功能也可由一個單獨的專用芯片完成。
    
    不同的嵌入式系統其設計要求相去甚遠。如果設計的是手持式設備(如pda),那么功耗是主要問題;而對機場或電影院售票設備,可靠性和安全將是主要考慮因素。當然,用戶界面在上述兩種系統中都是主要組成部分,但也有許多嵌入式系統還必須和傳感器和執行器相連,這些系統要求對實際的激勵做出迅速反應并生成復雜輸出模式作為響應,完成這些動作需要處理引擎和系統輸入輸出端口緊密結合。
    
    讓我們來看一下嵌入式系統和外界進行交流的方式。掌上計算器具有非常簡單的用戶界面,包括鍵盤和lcd顯示器,它不需要與傳感器或通信總線連接的接口。而對于一個汽車引擎控制單元,它雖然沒有用戶界面,但是需要與傳感器和執行器進行通信,而且車輛網絡總咭彩嗆苤匾牟糠幀5逼到形薇q保際躒嗽被崾褂靡恢稚璞缸魑檔緶返撓沒ы緱媯源蠖嗍枰庵止δ艿南執度朧較低常沒ы緱嬙裾庋ü諫璞干顯黽右桓鲆蘊絲冢緩笤誦衱eb服務器作為嵌入式系統功能的一部分來實現。路由器就是這樣一種設備,通常以“傻瓜”方式運行,但可通過一個web瀏覽器對其進行配置。
    
    可以選擇多種方法和器件將智能化功能加入系統中,并且可將這些方法和器件進行混合配對以便以最佳方式達到設計要求。最靈活的平臺類型是將微處理器和操作系統結合起來,這種架構可以采取單板機帶實時操作系統(rtos)內核的形式,比如在atm機或自動售貨機中。更復雜的系統則嵌入一個完整的pc,上面運行windows或其它操作系統,這樣做可以利用現成的網絡接口功能連接到標準打印機上。
    
    對于有的系統而言,pc或單板機可能太大或成本太高,而且它們或許也不能滿足性能需求。這時可以通過將現成的專用集成電路芯片(asic)集成到設計中來實現所要求的功能,如用dsp、運算放大器和通信總線收發器等,這種方法的缺陷是項目需要增加板級設計,而如果使用pc平臺,只需要將精力集中在系統級設計上即可。
    
    但如果pc不能滿足需求,而且也沒有現成部件可以完成系統,那該怎么辦呢?這時不僅要考慮進行板級設計,而且還包括芯片級設計,需要設計并制造自己的asic或者是使用現成的可配置芯片:fpga。其中一個需確定的因素是最終產品的數量,如果設計的是大批量產品如蜂窩電話,那么為了節約設計和裝配成本最好自行開發asic;但如果目標市場很小,則可以通過使用fpga來減少成本。fpga可以在更改系統時不必開發新的asic,如果系統需要升級或修改以便滿足特殊客戶的需要,這樣的方式是極為有利的。今天,fpga已廣泛應用在打印機、復印機、測量設備、消費電子產品和自動控制模塊等嵌入式系統中。
    
    測量和控制用fpga
    
    fpga是一種具有可重配置邏輯門的芯片,與供應商提供功能定義的asic芯片不同,fpga可根據每個應用的不同需要而進行配置和重新配置。由于fpga允許在硬件中實現自定義算法,因此它具有精確時序和同步、快速決策及并行任務同時執行等優點。在pc或帶有rtos和微處理器的平臺上,處理器必須對多個任務進行分時處理,而fpga則可以配置為多個獨立的并行計算資源,簡言之,就像芯片上有多個微處理器一樣,且這些微處理器都針對特定的任務進行了優化。
    
    fpga的性能和靈活性使得它們成為處理輸入輸出非常有效的技術。假如想計算那些比計數器處理的簡單上升或下降沿更有趣的模擬或數字事件,或者要確認一個基于特定事件順序或自定義通信協議的輸入模