新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用CPLD來替代微處理器的6種方法

        采用CPLD來替代微處理器的6種方法

        作者: 時間:2010-02-02 來源:網絡 收藏

          隨著的出現,電子產品設計人員現在有新的選擇來實現以前由完成的多種功能。本白皮書討論什么時候適合采用替代,什么時候可以采用作為的輔助器件。

          引言

          如果告訴便攜式電子設計人員有一種數字器件能使他們利用軟件程序來重新配置硬件工作,他們中的十個會有九個認為這是某種微控制器。這是可以理解的。豐富的特性和封裝、大量的軟件開發工具,以及龐大的應用代碼庫,無處不在的微控制器幾乎能夠用在所有便攜式應用中。然而,隨著低功耗CPLD的出現,設計人員有了新的選擇來實現以前由微控制器完成的功能。

          本白皮書討論什么時候適合采用CPLD來替代微控制器,什么時候可以采用CPLD作為微控制器的輔助器件。根據其功能和復雜程度,本白皮書中的例子可以分成三類。第一類是I/O管理,主要針對引腳級應用。第二類是端口管理,重點是器件之間的各種接口。第三類是系統管理,面向使用引腳或者端口來控制系統級功能的應用。

          第一次接觸可編程邏輯的設計人員會發現CPLD設計在很多方面和傳統的微控制器設計類似。下面簡單說明CPLD設計流程:

          1 利用軟件開發工具,采用Verilog或者VHDL等高級語言編寫設計。

          2 對設計進行仿真,以驗證功能是否正確。

          3 驗證是否滿足資源占用和時序通路等物理要求,將設計“適配”到CPLD中。

          4 對設計進行仿真,以驗證時序是否正確。

          5 設計被編程至物理器件中。

          一個主要不同是復雜的在電路仿真器功能,以驗證微控制器。然而,一旦理解了可編程技術的細微差別后,微控制器設計人員便能夠很好地進行CPLD設計。

          CPLD替代微控制器的實例

          以下部分介紹了CPLD能夠有效替代微控制器的某些應用。

          I/O管理

          當考慮是使用CPLD還是微控制器來進行I/O管理時,所需要的I/O數量和類型是兩個關鍵因素。微控制器的好處是體積小而且價格低,當然還有大量的小型低成本微控制器供設計人員選擇。然而,如果某一應用需要大量的通用I/O,那么CPLD在成本上通??梢院臀⒖刂破飨喔偁帯P⌒偷统杀疚⒖刂破饕话闶芟抻诖?,它最多有幾個通用I/O引腳。

          設計人員發現,I/O數量較多的微控制器體積也不小,而且價格也昂貴。而另一方面,CPLD趨于有較多的I/O;小外形封裝CPLD有50多個I/O是比較常見的。例如,5mm x 5mm封裝的Altera? MAX? IIZ EPM240Z CPLD有80個I/O。除了I/O數量優勢以外,一般情況下,CPLD要比微控制器更加靈活。除了某些例外,大部分CPLD I/O都能夠用于任意目的。

          可編程電平轉換

          很多產品都需要使用電壓不同的各種邏輯器件。為支持多電壓應用,設計人員要經常連接不同電平的器件。而采用微控制器幾乎不可能實現這一切,因為微控制器的I/O資源數量有限,一般采用一個電壓源工作。而CPLD有大量的I/O,并分成多個塊。相應的為每個I/O塊分配一個電壓源。因此,開發電平轉換器只需要將一個塊中一種電壓的所有I/O分在一起,將相關的電壓參考連接到這些I/O所需的電源上(圖1)。使用CPLD不但能夠很好地完成電平轉換,它更大的優勢在于和電平轉換相結合的可編程功能。例如,如果某一應用需要LCD顯示器,但主處理器并不支持這種顯示器,而且電平不同,那么可以采用CPLD來實現主處理器和LCD顯示器之間的電平轉換時序控制功能。

        采用CPLD來替代微處理器的6種方法

        圖1. 使用MAX IIZ CPLD來進行電平轉換


        上一頁 1 2 3 4 5 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玛多县| 筠连县| 利辛县| 天镇县| 广昌县| 资溪县| 孟连| 友谊县| 英德市| 林甸县| 郁南县| 若羌县| 武乡县| 健康| 葵青区| 板桥市| 新疆| 德保县| 湖南省| 双流县| 建瓯市| 阿尔山市| 刚察县| 六安市| 乌审旗| 彝良县| 寿光市| 沙河市| 永城市| 察雅县| 洪泽县| 资源县| 扎兰屯市| 博罗县| 东乡族自治县| 华蓥市| 雷山县| 鸡泽县| 新平| 阳高县| 苏尼特右旗|