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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 雜談單片機所牽扯的軟硬件問題

          雜談單片機所牽扯的軟硬件問題

          作者: 時間:2012-10-31 來源:網(wǎng)絡(luò) 收藏

          伴隨著的發(fā)展歷程,8位,16位,32位變化的過程,是一個高度集成的過程。

          硬件的設(shè)計考慮永遠與軟件分不開,首要分析的特性,存儲技術(shù)和容量選擇、I/O引腳、片上外設(shè)、系統(tǒng)吞吐能力、功耗、封裝,由于平臺化的要求,現(xiàn)在一個系統(tǒng)做到最后發(fā)現(xiàn)資源不夠也是郁悶。一般在選擇一個廠家的以后,往往不愿意去選擇其他的軟件,現(xiàn)在從Keil改到AVRstudio就無比痛苦。因為改變的代價往往是帶來巨大的工作量。習(xí)慣一樣?xùn)|西就很難去改變,刷了5個不同的系統(tǒng)最后還是發(fā)現(xiàn)原來那個最好用,只好又刷回來了,可能只是習(xí)慣了那種操作方式罷了。一種系列的單片機用熟了,軟件,硬件都有一定積累了,就很難再想換一種新的器件,但是隨著設(shè)計的復(fù)雜,器件也在更新?lián)Q代,早晚得換不如早換,任何一款產(chǎn)品都有停產(chǎn)的時候。終于正式從51換到AVR了,也可以考慮下MSP430,都各有特色,設(shè)計思想不會變,最大的差別也不在器件或是開發(fā)環(huán)境上。其實ARM也是很有前途的,只是起點高了些,器件選擇都開始全面轉(zhuǎn)向3.3V,2.5V供電的,所有硬件設(shè)計,軟件設(shè)計都需要重新適應(yīng)一下下.......

          一個系統(tǒng)在進行成本優(yōu)化的過程中,往往直接在BOM表體現(xiàn)出來的正是單片機的價格上。如將16位平臺的單片機改為8位平臺的,或者是從歐美廠家的改為日本廠家的。不過我們出來沒有成本的問題。在這個過程中,最牽扯的還是軟件的大量的工作,還有積累起來的大量經(jīng)驗和成功的代碼。 我個人的感受,硬件設(shè)計過程中的很多問題都需要軟件去實現(xiàn),因為所有的信號都是由單片機來處理的,所有的功能設(shè)計的考慮再周全,如果在軟件上不能夠進行處理完善,結(jié)果往往也是不盡如人意。電源對于嵌入式電子來說是源泉,需要密切注意對電源的監(jiān)控,首先要注意的過壓欠壓的處理,其次要考慮的就是電源跌落和上升,這次的復(fù)位電路就是在處理掉電恢復(fù)時不能快速放電,導(dǎo)致上電復(fù)位不可靠。快速的檢測出電源跌落的過程,以便能再次成功復(fù)位。LDO還是DC-DC?也算各有優(yōu)點,硬件設(shè)計需要考慮邏輯系統(tǒng)(5V)的總需求電流,通過這個需求來選擇供電。而比較喜歡DC-DC的高效,高效意味著低損耗,低發(fā)熱,F(xiàn)PGA,單片機,LCD都是“用電大戶”,因此在這方面的考慮,又是需要坐下來冷靜考慮。尤為重要的,以上不同選擇,都需要硬件工程師對單片機架構(gòu)有足夠的了解, 產(chǎn)品標(biāo)準(zhǔn)化需要做的事太多了,文檔,圖紙,說明,測試,驗收,備件,如果實際使用出現(xiàn)問題還要另行解決。發(fā)現(xiàn)干實業(yè)還是比較麻煩的,比炒股要......................



          評論


          相關(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); })();