新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 實現(xiàn)8位微控制器升級至32位的關(guān)鍵

實現(xiàn)8位微控制器升級至32位的關(guān)鍵

作者: 時間:2011-04-25 來源:網(wǎng)絡(luò) 收藏
獨立位設(shè)置/重設(shè)

本文引用地址:http://butianyuan.cn/article/150823.htm

  ARM 架構(gòu)的另一缺陷是不能利用單個 ARM 指令進行單獨的位設(shè)置和重設(shè)操作。對實時控制應(yīng)用而言,這些操作必須執(zhí)行一個讀/改/寫 (read-modify-write) 序列。在多個任務(wù)共享同一外圍設(shè)備的情況下,位操作 (bit manipulation) 必須是獨立的 (atomic) (不易中斷),這就要求在讀/改/寫序列期間屏蔽中斷。

  這種解決方案是通過兩個虛擬寄存器 (virtual register),一個用于位設(shè)置 (使啟動),另一個用于位重設(shè) (使失效),這能透過單條儲存指令來啟動位或使之失效 (圖3)。由于這種指令對 ARM 處理器的影響是單獨的,故不必屏蔽中斷。

  外圍 DMA

  在外圍設(shè)備上要保持恒定的數(shù)據(jù)傳輸率,需要處理器的及時響應(yīng)。采用一個外圍直接內(nèi)存訪問 (DMA) 就可消除這種約束。不同于CPU逐個字節(jié)地傳輸數(shù)據(jù),這種DMA無需CPU干涉,便可直接把數(shù)據(jù)按模塊進行傳輸。在每個模塊傳輸結(jié)束時產(chǎn)生一個單獨的中斷,不再需要對外圍設(shè)備輪詢 (polling)。采用雙指針機制 (dual pointer mechanism) 就可以自動管理模塊數(shù)據(jù)傳輸,避免了對時間要求嚴格的指針重配置。

  單電源

  先進的CMOS技術(shù)使微中的內(nèi)核電源電壓逐漸降低。采用0.18μm工藝時,其典型值是1.8V。不過,如果要保留與原有8位系統(tǒng)的兼容性,32位MCU必須采用電壓范圍在3.0V~3.6V之間的單電源。在這種情況下,可以利用一個內(nèi)置電壓調(diào)節(jié)器 (圖4) 來產(chǎn)生內(nèi)核及其它片上子系統(tǒng)所需的1.8V電壓。該調(diào)節(jié)器的輸出電壓在生產(chǎn)階段時校準。

  以外部連接方式來提供1.8V電壓環(huán),能根據(jù)主板能力對功率源進行更好的控制。對于采用片上電壓調(diào)節(jié)器、還是效率更高或待機耗電更低的外部電壓調(diào)節(jié)器,最終用戶擁有絕對的控制權(quán)。

  使用外部連接方案的另一項優(yōu)點,是可能使板上的其它IC也由內(nèi)部產(chǎn)生的1.8V供電。

  當(dāng) CPU 以較低的速度 (500Hz ~1.5MHz) 運行時,電壓調(diào)節(jié)器會處于閑置 (idle) 模式,此時電壓調(diào)節(jié)器的功耗降到2μA。這種情況下,最大輸出電流為1mA,便足以維持CPU和大多數(shù)外圍設(shè)備的活動。這有助于彌補32位MCU待機電流稍高的不足。

  減低8位至32位過程的復(fù)雜性

  要增加低成本32位ARM微控制器的市場接受程度,必須使用現(xiàn)有固件,以便于移植。簡化專為C語言而最佳化的器件編程模型 (device programming model)、提供強有力的調(diào)試功能,以及使已建立的8位開發(fā)工具支持32位微控制器等,都是加快用戶學(xué)習(xí)速度的。

  一個適用于整個微控制器系列集成式外圍設(shè)備、而且全面和一致的編程模型,正是簡化復(fù)雜性的基礎(chǔ)。要做到這種模型,最好的方法是通過一種均勻寄存器結(jié)構(gòu) (homogeneous register structure) 為所有外圍設(shè)備指定系統(tǒng)和中斷結(jié)構(gòu)地址。只需一個緊密地集成在外圍地址空間的外圍DMA控制器,就可以顯著減低對軟件的要求。

  為用戶提供外圍設(shè)備驅(qū)動器和完整的項目實例 (如可重用的源代碼),可加快他們的學(xué)習(xí)進程,并盡快開始工作。當(dāng)代碼能夠迅速被更新,而一旦被加載后器件就能完全自主時,片上閃存的優(yōu)點就變得顯而易見。ARM7 處理器適合于多種操作系統(tǒng)和軟件模塊如協(xié)議堆棧。此外,ARM 微控制器的顧問人數(shù)正日益增加,能有效幫助中的客戶處理移植過程上遇到的各種問題。

  對軟件開發(fā)商而言,要加快移植過程并使固件有效,調(diào)試工具的質(zhì)量至關(guān)重要。支持硬件斷點 (hardware breakpoints) 的在線仿真 (In-Circuit-Emulation) 接口,提供對處理器的寄存器和內(nèi)部存儲空間的全面訪問能力,此外也是連接軟件可控追蹤 (software-controlled trace) 調(diào)試器的界面。目前它們是具有最佳性價比的調(diào)試解決方案 (見圖5)。編程人員使用指令集仿真器 (Instruction Set Simulator),可以在硬件調(diào)試之前提高固件的質(zhì)量水平,從而縮短開發(fā)時間。

  除了微控制器調(diào)試埠之外,使用片上硬件 (on-chip hardware) 也可以加快開發(fā)速度。一般而言,錯位 (mis-aligned) 的數(shù)據(jù)存取極難處理,除非片上監(jiān)控器能夠予以識別,并向處理器發(fā)出一個異常中斷請求。這正是ARM架構(gòu)的功能之一。當(dāng)處理器在調(diào)試模式下被中止時,有可能會發(fā)生監(jiān)視器溢出 (overflow) 事故。但若在調(diào)試時自動把監(jiān)視器中止,就可以預(yù)防這種情況的發(fā)生。此外,外圍設(shè)備還可能在調(diào)試期間產(chǎn)生無效的中斷請求,這些請求應(yīng)該被過濾。

  要避免在升級過程差不多完成時才出現(xiàn)最后錯誤,最好的方法是用閃存來存儲程序。這樣,在開發(fā)的最終階段也可以對軟件進行修改,不會影響生產(chǎn)周期,靈活性極佳。

  



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉