• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用CPLD來替代微控制器的6種方法

    利用CPLD來替代微控制器的6種方法

    作者: 時間:2011-02-28 來源:網(wǎng)絡 收藏
    引言
    如果告訴便攜式電子設計人員有一種低功耗數(shù)字器件能使他們利用軟件程序來重新配置硬件工作,他們中的十個會有九個認為這是某種控制器。這是可以理解的。豐富的特性和封裝、大量的軟件開發(fā)工具,以及龐大的應用代碼庫,無處不在的微控制器幾乎能夠用在所有便攜式應用中。然而,隨著低功耗
    C的出現(xiàn),設計人員有了新的選擇實現(xiàn)以前由微控制器完成的功能。
    本白皮書討論什么時候適合采用C來替代微控制器,什么時候可以采用C作為微控制器的輔助器件。根據(jù)其功能和復雜程度,本白皮書中的例子可以分成三類。第一類是I/O管理,主要針對引腳級應用。第二類是端口管理,重點是器件之間的各種接口。第三類是系統(tǒng)管理,面向使用引腳或者端口來控制系統(tǒng)級功能的應用。
    第一次接觸可編程邏輯的設計人員會發(fā)現(xiàn)設計在很多方面和傳統(tǒng)的微控制器設計類似。下面簡單說明設計流程:
    1
    利用軟件開發(fā)工具,采用Verilog或者VHDL等高級語言編寫設計。
    2
    對設計進行仿真,以驗證功能是否正確。
    3
    驗證是否滿足資源占用和時序通路等物理要求,將設計適配中。
    4
    對設計進行仿真,以驗證時序是否正確。
    5
    設計被編程至物理器件中。

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

    CPLD替代微控制器的實例

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

    I/O管理

    當考慮是使用CPLD還是微控制器來進行I/O管理時,所需要的I/O數(shù)量和類型是兩個關鍵因素。微控制器的好處是體積小而且價格低,當然還有大量的小型低成本微控制器供設計人員選擇。然而,如果某一應用需要大量的通用I/O,那么CPLD在成本上通??梢院臀⒖刂破飨喔偁?。小型低成本微控制器一般受限于串口,它最多有幾個通用I/O引腳。

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

    可編程電平轉換

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

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



    脈沖寬度調制

    一般而言,設計人員針對某一功能選擇一款微控制器,例如脈沖寬度調制(PWM),這些功能也可以采用CPLD來實現(xiàn)。在PWM中,方波的時間周期不變,而信號保持高電平的時間在變化或者受到調制。這樣,信號的占空比(tON)是變化的。PWM為數(shù)字系統(tǒng)中的模擬電路控制提供了有效的方法。便攜式應用中常用的一種方法是利用PWM來調節(jié)LED的亮度。

    CPLD并沒有專用PWM電路,但是實現(xiàn)PWM輸出并不難。例如,MAX IIZ CPLD的內部振蕩器可以用作頻率源,計數(shù)器可以用于調制所產(chǎn)生的頻率。



    模數(shù)轉換器

    設計人員經(jīng)常選擇微控制器來實現(xiàn)模數(shù)轉換器(ADC)。然而,在某些情況下,例如鍵盤解碼,可能不需要ADC。

    然而,CPLD也是一種選擇。加入一個簡單的低成本外部電容后,MAX IIZ CPLD可以利用其內部振蕩器、施密特觸發(fā)器I/O以及高密度算法可編程邏輯架構來完成模數(shù)轉換(1)。

    上電排序
    MAX IIZ器件針對大量的系統(tǒng)管理功能進行了優(yōu)化,例如多電壓系統(tǒng)上電和系統(tǒng)復位上電排序功能,以及片選信號生成等。這兩類應用一般集成在一個非易失、瞬時接通器件中。多電壓系統(tǒng)上電排序功能需要采用瞬時接通器件,該器件能馬上管理PCB上其他器件的上電順序。因此,相對于在毫秒量級上電的微控制器,能夠在幾微秒內上電的CPLD是上電排序功能更好的選擇。

    看門狗定時器

    很多系統(tǒng)管理應用需要采用定時器。設計人員可能會吃驚地發(fā)現(xiàn)CPLD可以用于實現(xiàn)通常由微控制器完成的定時器功能。利用幾個分立電容、電阻、二極管和金屬氧化物半導體場效應晶體管(MOSFET),設計一個簡單但是有效的電阻電容(RC)定時器電路,周期性的對CPLD上電。在圖4的實例電路中,設置RC值來建立一個10秒定時器??梢岳萌齻€外部電容(C1、C2和C3)來擴展這一基本定時器,三個電容被用于建立一個簡單的非易失二進制計數(shù)器。這樣,在MAX IIZ EPM240Z CPLD中利用19%的邏輯就可以完全實現(xiàn)從10秒到80秒的間隔周期(2)。

    GPIO引腳擴展

    在常見的通用I/O(GPIO)引腳擴展應用中,設計人員把低成本小型微控制器的可編程功能和CPLD的通用IO資源結合起來使用。CPLD構建一組內部寄存器,微控制器通過I2C或者SPI等串口來訪問這些寄存器,使微控制器能夠使用現(xiàn)有的I/O資源來擴展其I/O總數(shù)量。利用擴展I/O,設計人員還可以使用CPLD進行電平轉換,從而提高了CPLD的實用性(3)。

    linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


    評論


    相關推薦

    技術專區(qū)

    關閉
    主站蜘蛛池模板: 南平市| 平定县| 白玉县| 新昌县| 永兴县| 永济市| 漠河县| 鄢陵县| 南阳市| 图木舒克市| 丰县| 罗平县| 新和县| 岱山县| 湘乡市| 佛学| 河曲县| 海伦市| 万宁市| 阜平县| 栾城县| 株洲县| 历史| 正镶白旗| 宿州市| 永德县| 祁东县| 潮州市| 香港| 石林| 桓台县| 芜湖县| 罗田县| 扶余县| 娱乐| 获嘉县| 江阴市| 大足县| 台州市| 宁津县| 大埔县|