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

          新聞中心

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

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

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

            脈沖寬度調(diào)制

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

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

            模數(shù)轉(zhuǎn)換器

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

            圖2所示為一個基本開關(guān)陣列和ADC。在VCC和GND之間串聯(lián)了一組電阻,每個電阻抽頭和公共極上連接了一個開關(guān)。如果開關(guān)接通,電路產(chǎn)生一個和電阻堆中開關(guān)位置成比例的電壓信號。要在數(shù)字系統(tǒng)中使用,模擬信號必須轉(zhuǎn)換為數(shù)字值,通常選用含有內(nèi)置ADC的來實(shí)現(xiàn)這一功能。

          模擬鍵盤陣列

          圖2.模擬鍵盤陣列

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

            上電排序

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

            圖3所示為典型的MAX IIZ器件上電排序應(yīng)用。隨著電路板密度以及電路板電源層數(shù)的增加,上電排序變得越來越復(fù)雜。MAX IIZ CPLD能夠輕松管理系統(tǒng)復(fù)雜程度不同的上電排序。多電源供電支持不同的器件,需要采用控制邏輯來管理每一器件的上電順序。為確保在上電期間不會出現(xiàn)對總線信號的意外驅(qū)動,也需要MAX IIZ器件來控制關(guān)鍵總線信號,直至上電完成。JTAG端口監(jiān)視上電順序,存儲上電時的錯誤和信息。它還可以用于在調(diào)試階段設(shè)置上電排序斷點(diǎn)。

          利用CPLD實(shí)現(xiàn)上電排序

          圖3. 利用CPLD實(shí)現(xiàn)上電排序



          評論


          相關(guān)推薦

          技術(shù)專區(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); })();