新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 主流32位單片機攻略連載:為什么要學STM32?

        主流32位單片機攻略連載:為什么要學STM32?

        作者: 時間:2012-08-08 來源:網絡 收藏

          需要注意的一個問題是,某些微處理器限制RAM的使用,這種限制的目的是為了借用部分內存存儲器作為內部寄存器組使用。除了以上因素外,所使用的開發語言也對所需RAM容量有一定的影響,某些效率較低的編譯程序可能會占用大量寶貴的RAM空間。

          c.只讀存儲器(ROM)的選擇:系統所需ROM的大小應該是系統程序代碼與所有基于ROM的數據表容量之和。預測所需ROM空間容量比較困難的部分是預測程序代碼的長度,解決這類問題的方法只能是隨著經驗的逐步積累來提高預測精度。

          然而,最重要的并不是精確計算程序的代碼長度,而是要清楚地估算代碼長度的上限。根據經驗,如果80%的ROM空間被代碼占用的話,那么就太擁擠了,除非能確保系統需求不會有任何變化,否則至少要為可能發生的變化保留足夠的備用ROM空間。

          在多數情況下,我們可以試著在ROM中寫入一部分程序代碼,以便觀察代碼占用空間的情況,對于帶有內部ROM的微處理器系統來說,系統程序都只能占用有限的程序存儲器空間。

          d.經驗之談:ROM與RAM使用情況相類似,程序代碼長度與所選用的開發語言有關。舉例來說,使用匯編語言編制的程序要比使用C語言編制的程序占用少得多的空間。

          對于追求低成本的小型系統來說,一般不提倡使用高級程序設計語言;這是因為雖然高級語言在使用、調試以及維護方面來的比較容易,但同時這類語言需要占用更多的內存空間和大量的處理器時鐘周期。

          如果開發語言選擇不當,其后果可能是把一個簡單、低成本的系統變為一個需要使用配置若干兆字節RAM空間的64位嵌入式處理器系統。

          2.4.需要使用的中斷數量

          中斷的主要用途是向中央處理器通報當前發生的某類特殊事件,這類事件包括諸如定時器超時事件、硬件引發的事件等。

          需要強調的是,多數系統設計師經常過多地使用中斷功能,實際上,中斷的主要作用只是中斷現行程序的執行,中斷最適用于必須要求中央處理器立即提供服務的事件。

          在需要設計和使用中斷的情況下,一定要首先確認實際需要的中斷數量,然后必須考慮到系統內部占用的中斷資源,如果需要使用的中斷資源超出了處理器可以接收的中斷數量,我們就應借助于某些特殊手段來減少所需中斷信號的數量。

          2.5.實時處理方面的考慮

          實時處理是一個涉及范圍很廣的題目,其主要內容與系統的處理速度有密切聯系,實時事件是嵌入式微處理器需要關注的主要任務。

          例如:處理器跟串口進行通信時,通常通過上層軟件(為了保證實時性,進行任務切換的時間足夠短),然后再占用處理器去執行從串口拿數據的任務,并且要保證處理器的速率比串口速率快,那么處理器可以以最快的速度反應并處理串口的相關的任務,這樣就可以達到最大的實時性;

          另一方面,如果處理器本身就內置了串口控制器、或DMA、或LCD的控制器等,那么它就可以保證直接使用這些處理器內置的接口去控制串口、液晶屏等對象,以達到最大的實時性能。

          2.6.該廠商是否提供好的開發工具和環境

          選擇一款新的處理器,很可能就要使用一個新的開發工具和開發環境,包括軟件的編譯環境等;對于開發日程安排比較緊張的項目來說,開發人員往往無法抽出專門的時間來研究,熟悉新的開發工具,從而也無法全面掌握開發工具的使用技巧。

          并且,有的開發工具價格也比較昂貴,而且很可能只能從制造商那里購買,還有仿真工具也是需要付費的,這些對我們在選擇一款處理器的時候,是都應該考慮進去的成本因素。
        2.7.處理器速度方面的考慮

          主要考慮幾個細節問題:

          1)處理器速度與處理器時鐘之間的關系

          例:8031為例,由該處理器可以適應12MHz頻率的輸入時鐘,因此就可以認為它是一個速度為12MHz的處理器了嗎?不是,實際上,由于該處理器內部邏輯電路執行每條指令需要多種不同頻率的時鐘脈沖,因此該處理器內部時鐘電路要對輸入的12MHz時鐘12分頻處理;最終為處理器提供的只是 1MHz主頻。

          有的時候,80MHz主頻的處理器(80MHz輸入時鐘,80MHz執行速度)要比200MHz主頻的處理器(200MHz輸入時鐘,50MHz執行速度)執行速度要快得多。

          2)處理器指令系統

          如果不需要執行復雜數學運算的應用,那么RISC指令集的處理器要快;如果執行比較復雜的操作,則CISC指令集的處理器速度要更快。

          3)芯片結構體系

          現在有的芯片是將多個不同功能的核封裝到一個芯片IC中,定制某種特定的功能,比如DSP,其中包括用于實現數字解碼、乘法運算的硬件乘法器和移相器等;然而,這類處理器也由其自身局限,往往在執行某些普通操作之前必須要使用額外的指令來把RAM中的數據放入內部寄存器,相比之下,一般處理器只允許對 RAM中的數據進行直接訪問。

          2.8.只讀存儲器(ROM)的選擇

          多數工程項目在其開發階段一般使用可擦寫可編程只讀存儲器(EPROM)或快速存儲器(Flash Memory);這類可擦寫可重復寫入存儲器的主要優點是可多次使用。一旦產品研制完畢,就可以用一次寫入設備(OTP)來取代EPROM存儲器,一次性寫入器件的外觀與封裝幾乎與EPROM完全一樣,惟一不同之處就是其表面沒有擦出窗口,并且價格要比EPROM低很多。

          但是,另外一種情況,如果該產品今后需要升級固件,或在線編程,那么我們還是應該選擇可擦寫可編程的存儲器。

          還有一種是非易失的存儲器,例如制造一臺電視機,就有可能需要該設備具有記憶上次觀看最后一個頻道的功能,即使在切斷電源后,該頻道信息也不會丟失。

          總結:所以,根據不同的產品選擇不同的存儲器也是一門很講究的學問。

          2.9.電源的要求

          在某些設計中方案中,電源根本不存在問題,對電源唯一的要求就是可以為電路正常供電;實際上,選擇電源主要要考慮三個方面的問題:

          1)要注意設計方案中是否對電源的供電方式有所限制,例如,是否像大多數家用電器那樣需要使用屋內墻上的電源插座供電,或是是使用USB接口供電

          2)看系統是否需要使用電池供電方式,如果這樣,我們就要考慮選擇那種對驅動電流要求不高的處理器,然后再為其選擇合適的電池。

          3)休眠電流:許多微處理器都支持低功率運行模式,在這種模式下,系統的CPU處理器將處于休眠狀態,同時所有外部設備的電源供電都被暫時切斷,以便減少系統的電能消耗;某些微處理器在這種方式下需要的維持電流極小,但也有一些微處理器在這種方式下并不能節省多少功率;不管怎樣,我們都要對系統在節點模式下的工作時間有一個估測,以便對具體情況選擇使用的電池。

          總之,無論哪種情況,我們都要對系統需要的供電總功率做到心中有數。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 茶陵县| 吉水县| 东阿县| 合阳县| 松原市| 乌拉特后旗| 漯河市| 安溪县| 昌吉市| 鄂州市| 岢岚县| 弥勒县| 和顺县| 葫芦岛市| 二连浩特市| 仁寿县| 宕昌县| 温泉县| 镇坪县| 绥德县| 南丹县| 梁山县| 临沭县| 辽源市| 额敏县| 汝州市| 法库县| 丽江市| 南昌市| 体育| 龙门县| 台州市| 普定县| 临安市| 宜君县| 库伦旗| 太仓市| 德化县| 潍坊市| 米易县| 嵩明县|