<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用CPLD來(lái)替代微處理器的6種方法

          采用CPLD來(lái)替代微處理器的6種方法

          作者: 時(shí)間:2010-02-02 來(lái)源:網(wǎng)絡(luò) 收藏

            看門(mén)狗定時(shí)器

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

          采用CPLD來(lái)替代微處理器的6種方法

          圖4. 為MAX IIZ CPLD開(kāi)發(fā)基于定時(shí)器的上電電路

            CPLD和結(jié)合使用的實(shí)例

            CPLD并不總是和相競(jìng)爭(zhēng)。在以下幾個(gè)例子中,CPLD是微控制器優(yōu)異的輔助器件。

            GPIO引腳擴(kuò)展

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

          GPIO引腳擴(kuò)展

          圖5. GPIO引腳擴(kuò)展

            端口管理

            便攜式應(yīng)用設(shè)計(jì)人員經(jīng)常需要連接具有不同I/O接口的器件。這一功能被稱(chēng)為橋接,因?yàn)椴捎肅PLD來(lái)構(gòu)成不同接口之間的“橋”。這一節(jié)介紹三個(gè)這樣的例子:

          • 串行至串行 - I2C至SPI
          • 串行至并行 – SPI器件(串行)至主處理器(并行)
          • 并行至并行 - 主處理器至CF+

            在每一例子中,有幾個(gè)原因表明為什么CPLD是優(yōu)于微控制器的選擇。一個(gè)原因是微控制器不能有效地提供需要的I/O數(shù)量。采用微控制器不一定能滿(mǎn)足接口需要的性能。此外,在微控制器中實(shí)現(xiàn)這些功能要比在CPLD硬件中復(fù)雜得多。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();