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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在SX系列單片機(jī)上實(shí)現(xiàn)的虛擬技術(shù)

          在SX系列單片機(jī)上實(shí)現(xiàn)的虛擬技術(shù)

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

          是計(jì)算機(jī)應(yīng)用的一個(gè)重要方面,機(jī)(MCU)領(lǐng)域也不例外。是計(jì)算機(jī)對(duì)真實(shí)情況的軟件模擬。多年來(lái),在機(jī)的應(yīng)用中,也曾零星 的用于外設(shè)接口或功能單元的時(shí)序模擬、狀態(tài)模擬以及控制模擬上。例如,各種串行接口的虛擬傳送,頻率信號(hào)源的虛擬輸出,以及虛擬的LED譯碼控制等。

          本文引用地址:http://www.ex-cimer.com/article/171712.htm

          虛擬技術(shù)的本質(zhì)是計(jì)算機(jī)的軟件仿真,只有當(dāng)軟件仿真到達(dá)實(shí)時(shí)效果時(shí),虛擬技術(shù)才能到達(dá)實(shí)用水平而得到普及推廣。因此機(jī)虛擬技術(shù)的實(shí)用化基礎(chǔ)是單片 機(jī)執(zhí)行指令的高速度。例如當(dāng)指令速度到達(dá)0.5MIPS(百萬(wàn)條指令/秒)時(shí),可傳輸速度100kbps的I2C串行總線接口的虛擬,但是無(wú)法傳輸速度為1.05MH z的SPI串行總線的仿真。指令速度越高,可虛擬的對(duì)象就越廣泛。在采用模擬技 術(shù)時(shí),除了要求指令高速運(yùn)行外,還要有合理的片內(nèi)資源支持并專業(yè)化設(shè)計(jì),對(duì)虛擬對(duì)象有徹底的了解,開(kāi)發(fā)出優(yōu)秀的軟件包,并為虛擬對(duì)象的軟件包制定出規(guī)范。

          單片機(jī)

          您聽(tīng)說(shuō)過(guò)每秒執(zhí)行1億條指令的8位單片機(jī)嗎?SCENIX公司的新型單片機(jī)就 是這樣的單片機(jī)(詳情請(qǐng)查網(wǎng)址:www.scenix.com)。在研發(fā)過(guò)程中充分考慮到基于高速指令運(yùn)行下的虛擬外設(shè)(也就是軟件外設(shè))。除了極高的指令運(yùn)行速度 ,極高的時(shí)鐘頻率外,在片內(nèi)資源的配置及I/O端口的設(shè)置方面都作了專門化的考 慮,并組織了較大規(guī)模的虛擬外設(shè)軟件包開(kāi)發(fā)隊(duì)伍。目前已有多種虛擬外設(shè)軟件 模塊可以免費(fèi)提供。 您在項(xiàng)目開(kāi)發(fā)過(guò)程中,您可能為提高您的系統(tǒng)速度而不得不改用16位的單片機(jī)或 用DSP(數(shù)字信號(hào)處理器)。當(dāng)您在設(shè)計(jì)您的系統(tǒng)時(shí)您可能需要多個(gè)串口、幾路A /D和D/A,或一個(gè)紅外數(shù)據(jù)收/發(fā)器,最好還能有一個(gè)I2C/SPI串行外圍接口,但您 可能很難找到一個(gè)合適的單片機(jī)滿足您的要求。如果采用超高速單片機(jī), 這些外部電路可以根據(jù)您的系統(tǒng)要求隨時(shí)添加進(jìn)您的單片機(jī),而不會(huì)額外增加系 統(tǒng)的成本。

          美國(guó)SCENIX公司推出的SX系列超高速單片機(jī),其結(jié)構(gòu)和指令與普通的單片機(jī)類似 ,但它利用其高速性能發(fā)展和提高了單片機(jī)“虛擬外設(shè)”這一概念的內(nèi)容和實(shí)用化水平。它把許多單片機(jī)可能會(huì)用到的功能通過(guò)模塊化的軟件來(lái)實(shí)現(xiàn)。由于這種 軟件模塊相對(duì)獨(dú)立,結(jié)構(gòu)明晰,入口和出口參數(shù)已經(jīng)定義好了,開(kāi)發(fā)者無(wú)須知道 模塊是如何實(shí)現(xiàn)的,只需把需要的模塊加到自己的應(yīng)用程序中去即可。

          SCENIX公司為什么會(huì)想到這個(gè)主意呢?在8位嵌入式單片機(jī)領(lǐng)域中,單片機(jī)處理器 的結(jié)構(gòu)與20年前仍差不多,但是更加小巧,芯片上也集成了更多的外設(shè)功能和各 種存儲(chǔ)器,尺寸也更小。但是,如果將各種應(yīng)用項(xiàng)目所需的功能都放在單片機(jī)內(nèi) 部便會(huì)使芯片面積增大,制造成本太高。通常,設(shè)計(jì)人員只能通過(guò)修改現(xiàn)有設(shè)計(jì) 和重造掩膜,增加所需外設(shè)功能的芯片,才能增加單片機(jī)的功能,以滿足不同領(lǐng) 域應(yīng)用的需要。而且,單片機(jī)的供應(yīng)商為滿足特定應(yīng)用對(duì)不同性能的需要,必須制造同一器件的不同變體。例如,用于電視機(jī)遙控的單片機(jī)采用8位內(nèi)核,配置各 種片內(nèi)的外圍模塊來(lái)實(shí)現(xiàn)ROM和RAM、多個(gè)可編程I/O口、時(shí)鐘產(chǎn)生電路和用于紅外(IR)接口的通用異步收發(fā)器(UART)等功能。在相同的處理器內(nèi)核基礎(chǔ)上增加 I2C總線接口等功能,就可用于錄像機(jī)和攝像機(jī)。其它應(yīng)用可能需要增加通信功能等等。

          也有人嘗試用單片機(jī)的部分能力來(lái)實(shí)現(xiàn)軟件外設(shè)功能,但是,8位單片機(jī)的吞吐量 通常限制了軟件外設(shè)的使用。盡管有時(shí)在單片機(jī)中也加入一兩種軟件外設(shè)功能,但這些功能必須是簡(jiǎn)單的、吞吐量較低的并且對(duì)實(shí)時(shí)性要求不太高的,而復(fù)雜外 設(shè)和高吞吐量外設(shè)功能仍需采用硬件實(shí)現(xiàn)。例如,8位單片機(jī)的平均吞吐量接近4 MIPS,用軟件實(shí)現(xiàn)100kHz后臺(tái)定時(shí)器約需要1.0MIPS吞吐量,19.2kbps的UART約需 要1.5MIPS,模數(shù)轉(zhuǎn)換器(ADC)約需5MIPS。這些功能占用單片機(jī)資源太多,往往 只能通過(guò)硬件來(lái)實(shí)現(xiàn)。一些簡(jiǎn)單的功能,如I2C/SPI/MICROWIRE串行接口則可以通 過(guò)軟件來(lái)實(shí)現(xiàn)。許多工程師經(jīng)常用軟件實(shí)現(xiàn)低速UART作為硬件UART的補(bǔ)充,滿足 雙UART的需要。但是如果需要高速或多個(gè)軟件UART,普通單片機(jī)就顯得有點(diǎn)力不 從“芯”了,更別說(shuō)A/D轉(zhuǎn)換器、電機(jī)控制器和雙音多頻(DTMF)檢測(cè)等其它功能 了。對(duì)于那些實(shí)時(shí)性比較強(qiáng)或需要中斷來(lái)實(shí)現(xiàn)的外圍設(shè)備,普通的單片機(jī)由于速 度和其中斷響應(yīng)的不可預(yù)見(jiàn)性而應(yīng)用受到限制。

          SCENIX采取了另一種可行的方法,即開(kāi)發(fā)一種全新的適宜執(zhí)行軟件外設(shè)功能的8位單片機(jī)架構(gòu)。專門用軟件來(lái)實(shí)現(xiàn)硬件外設(shè)的功能,在很多情況下無(wú)需進(jìn)行專用外 圍模塊的開(kāi)發(fā),從而增加了設(shè)計(jì)的靈活性,降低了最終產(chǎn)品的整體成本,縮短了 上市周期。

          有些單片機(jī)方面的專家正在致力于單片機(jī)應(yīng)用標(biāo)準(zhǔn)化方面的研究,他們建議單片 機(jī)的應(yīng)用要避免低水平的重復(fù)開(kāi)發(fā)。虛擬外設(shè)的開(kāi)發(fā)思路恰好適應(yīng)了單片機(jī)軟件 的標(biāo)準(zhǔn)化和模塊化的設(shè)計(jì)要求。



          評(píng)論


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