Global Sources
電子工程專輯
 
電子工程專輯 > 嵌入式技術
 
 
嵌入式技術  

編程和可配置工具開始決定微控制器的選擇

上網時間: 2006年05月10日     打印版  Bookmark and Share  字型大小:  

關鍵字:MCU  微控制器  C編譯器  CyanIDE  整合開發環境 

今天半導體製程幾何尺寸的不斷減少正改變微控制器的經濟學。新的嵌入式設計開發工具成本快速成長,但微控制器上的數位邏輯線路成本正不斷下降。這使得提供具有更多週邊的微控制器更具經濟性,尤其是如果這些週邊屬於數位類電路、UART、CAN控制器和乙太網路MAC等。目前市場上具有更複雜週邊的微控制器正不斷出現。如果我們將快閃記憶體和RAM也看作是週邊,那麼今天許多微控制器的結構中90%以上的部份都是週邊。

這裡以目前銷售的8051和許多衍生元件為例進行說明。10年前,8051幾乎要被棄用,但是現在有許多新產品還在採用8051核心,為提高性能,其週邊的數量和種類都有了顯著增加。許多熟悉8051的工程師都在關注這些新產品。他們認為自己了解8051核心,所以採用基於8051的元件比採用基於其它核心的元件會更簡單。但僅僅熟悉微控制器核心就足夠了嗎?

C編譯器編寫控制器軟體

在回答這個問題之前,先了解一下新微控制器發展的過程。大多數微控制器製造商都有許多不同的變種產品,某個廠商甚至擁有500多個不同的變種。這些變種對於設計者為特定應用充分選擇週邊提供了條件。

一種更好的方式就是選擇已經具備很多計劃所需的所有週邊和靈活輸入輸出排列的微控制器。因此,用戶可以選擇和配置每個計劃要求的具體週邊組合,顯著降低了PCB重新設計所需的工作量。選擇這類微控制器可以使硬體修改更加容易。這可使用戶更加靈活地選取恰當的週邊組合來滿足設計要求。

圖1:CyanIDE整合開發環境。

此外,工程師透過降低不同零元件購買和庫存的數量,將獲得公司內的物料供應人員認同,因為在過去很長的一段時間內,我們看到製造商都以能提供各種各樣的微控制器為榮,實際上,這對於客戶和製造商本身來說都無異於一場物流供應方面的噩夢。事實上,供應商應更好地利用不斷降低的矽成本製造更少變種、但功能更強大的微控制器。

大多數工程師會爭辯說軟體功能是他們不能放棄現有微控制器系列的原因之一,所以我們來談談軟體問題。

考慮一款新的微控制器時,需要解決2個主要軟體問題:1. 編寫完全執行在核心中的演算法,包括數學演算法(如濾波演算法)或主循環;2. 週邊初始化和介面的軟體。

首先來談談在微控制器核心中執行的軟體。過去幾年裡,C編譯器的使用不斷普遍,並且效率也有所提高。這意味著,C編譯器可節省的編程工作比所有應用程式中性能損失的程度更重要。仍有一些與時間精確性相關的軟體功能需要用匯編程式編寫,但是這些程式也可能整合在C編譯器編寫的主程式中。

除了編譯器的效率外,微控制器總體性能也有了明顯的提高。許多工程師都利用比以前性能強10倍的現代控制器並轉變成用C編譯器編寫軟體,而設計出的產品比前幾代產品執行起來要快得多。

採用C編譯器的另外一個驅動因素就是許多產品普遍都需要增加程式碼數量。在匯編程式中編寫8K程式碼可能相當於100張A4紙的軟體。編寫和維護這種數量的程式碼需要耗費大量的工作量。一旦你開始著眼於需要32K或64K程式碼的應用程式,那麼使用編譯器自然而然就成了99%應用程式的唯一實際選擇。

如果我們決定下一個要開發計劃使用C編譯器,那麼就可以做出一個大膽得結論。包括C語言在內的高階語言可以使工程師避開微控制器核心的繁雜工作。如果我們編寫:

Counter=Counter+1; (or Counter++;),

我們可以意識到其實我們不必在乎它在應用程式中究竟如何執行。這就是編譯器的主要目的所在,所以也就不足為怪。只要變量Counter增加,我們並不需要知道是否使用累加器或暫存器架構獲得結果。

應對複雜週邊電路編程挑戰

現在來討論週邊電路編程的問題。在市場上許多新款微控制器中,週邊數量迅速成長。越來越多的晶片面積都被週邊電路佔用,它們的複雜性和功率似乎也在不斷增加。今天市場上的一些8051微控制器擁有300~400頁的數據手冊。其中,你會發現只有25頁內容是介紹核心工作原理的,剩下的都是關於週邊的,如重置控制器、複雜的ADC與更複雜的通訊控制器(如CAN、USB、乙太網路)。

這讓我們得出一個結論,涉及週邊的軟體比完全在核心中執行的軟體要花費更多得多的工作量。

進一步說就是,專門針對週邊的產品規格說明書越多,對熟悉這種控制器核心來說就越無益。

作為面對複雜週邊的工程師,為了避免淹沒在那些週邊實現所有預期用途的繁重任務時,你會怎樣做呢?有些微控制器製造商提供能夠產生原始程式碼的工具。在圖1中,你可以到這種工具的一個例子,賽恩科技提供的CyanIDE整合開發環境,顯示了只需點選滑鼠就可以輕鬆設定UART波特率的便捷方法。

圖2:賽恩的16位元微控制器μCOG1m整合了密集的週邊電路。

有了這些工具,開發者無需閱讀長篇累牘的數據手冊就能算出每個暫存器中應該編程的數值。此外,CyanIDE還具有全面的上下文相關的幫助。這種工具可以大幅減少新款微控制器所涉及的工程量。

本文小結

本文開篇就對一項假設提出了質疑,即選擇具有熟悉核心的微控制器一定會降低新計劃設計工作涉及的學習任務量嗎?對所涉及的工作進行簡單分析後,可以清楚的發現這種假設是不正確的。如果使用C編譯器和即使具有為數不多週邊的元件,那麼對核心的熟悉程度比起幫助完成週邊電路編程的工具來說其重要性要小得多。

實際上,如果新製造商擁有性能良好且整合的工具幫助進行週邊的編程,那麼選擇新製造商的微控制器可能不比選擇來自傳統系列和製造商但具有重要新型週邊的微控制器更容易。工具和可配置性的強有力結合比擁有核心方面的豐富經驗要重要得多。

作者:倫志文

亞洲區域經理

賽恩亞洲有限公司




投票數:   加入我的最愛
我來評論 - 編程和可配置工具開始決定微控制器的選...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首