體驗全新的MCU軟件方法
隨著世界不斷向數(shù)字化方向發(fā)展,微處理器 (MCU) 也正面向各種應(yīng)用領(lǐng)域全面推出。新型電視機(jī)采用 MCU 來提高 LED 對比度。割草機(jī)可通過 MCU 的幫助實現(xiàn)自動化操作,并可采用電動機(jī)取代汽油機(jī)引擎,提高效率,降低污染??Х葯C(jī)采用 MCU 后可提高智能性,能夠在您熟睡之后幫助您沖制一杯美味的咖啡。MCU 的發(fā)展帶動了一大批具有各種不同知識背景的開發(fā)人員的成長,這使我們不得不重新審視 MCU 軟件的開發(fā)。為了最大限度地提高處理器可用性,MCU 軟件必須滿足各種受眾用戶的需求,并必須更加重視系統(tǒng)應(yīng)用。滿足不同的編程愛好
本文引用地址:http://butianyuan.cn/article/151441.htmMCU 編程不再是經(jīng)驗豐富的嵌入式系統(tǒng)工程師的專利。新型應(yīng)用以及 MCU 的廣泛推出吸引了眾多此前從未接觸過數(shù)字硬件的工程師以及僅僅對技術(shù)充分熱情的業(yè)余愛好者,甚至那些尋求最新藝術(shù)表現(xiàn)形式的藝術(shù)家?,F(xiàn)在已經(jīng)到了擺脫傳統(tǒng)固定 MCU 編程模式的時候了,應(yīng)該為用戶提供代表不同抽象與控制水平的不同編程途徑。C2000 的 controlSUITE 軟件包含可支持上述靈活性的四級硬件抽象層 (HAL)。從最底層開始,寄存器和地址可像從前一樣支持直接參照。
不過從第二層進(jìn)行構(gòu)建,位字段可使寄存器及其中的位功能組像變量一樣進(jìn)行存取。通過將寄存器映射到存儲器上,編程人員現(xiàn)在就可像修改變量一樣訪問和存儲位或位功能組中的值,并可像變量一樣對其進(jìn)行實時觀察,從而無需位掩碼這種容易讓人困惑而且容易出錯的方法。位字段還可在簡化編程的同時支持完整的器件存取,因此對經(jīng)驗豐富的 MCU 編程人員也極具吸引力。
再進(jìn)一步,外設(shè) API 驅(qū)動器有助于用戶通過簡單的函數(shù)調(diào)用對外設(shè)進(jìn)行編程。例如,通過調(diào)用函數(shù),再向其提供周期、工作循環(huán)以及通道數(shù)等參數(shù),就可完成 PWM 的初始化與設(shè)置。這些外設(shè) API 驅(qū)動器可為嵌入式編程新手提供更簡單的接口(也可為 PC 軟件開發(fā)人員提供熟悉的函數(shù)調(diào)用接口)。
最后,完整的基準(zhǔn)框架可幫助新用戶實現(xiàn)其應(yīng)用的跨越式起步,無需擔(dān)心包括任務(wù)管理與 GPIO 映射在內(nèi)的設(shè)置代碼問題。
上述四級相結(jié)合,再加上四級之間的移動功能,編程人員能夠迅速實施簡單的函數(shù),同時還可全面發(fā)揮 C2000 以控制為導(dǎo)向的外設(shè)的優(yōu)勢。
圖 1. 具有不同背景與愛好的編程人員可通過 controlSUITE 軟件支持的 4 個硬件抽象層根據(jù)自己的方式進(jìn)行 C2000 MCU 編程。每個設(shè)計步驟的模塊化軟件
MCU 評估套件將配套提供示例軟件,幫助用戶啟動設(shè)計工作。不過,工程師通常要走出其專業(yè)技術(shù)領(lǐng)域之外為其項目添加特性與智能性,因此簡單的示例軟件是不夠的。從評估示例到器件庫,乃至應(yīng)用開發(fā)的整個設(shè)計過程都需要軟件。希望添加語音識別或影像處理功能的開發(fā)人員可能并不具備豐富的 FET 經(jīng)驗。設(shè)計機(jī)器臂 (robotic arm) 的機(jī)械工程師可能對數(shù)字電機(jī)控制也不具備什么經(jīng)驗。要想學(xué)習(xí)信號處理或控制算法可能需要大量的時間。 controlSUITE 軟件可提供每個步驟所需的解決方案。完整系列的評估示例可作為開發(fā)工作的起點。這些示例展示了位字段與 HAL 的 API 庫。豐富的庫集合可為工程師提供一系列配套使用的基礎(chǔ)代碼。MCU 供應(yīng)商將提供基本的數(shù)學(xué)和幾何學(xué)函數(shù)庫,然而 controlSUITE 軟件并不限于這些基礎(chǔ)代碼。controlSUITE 軟件作為傳承了 32 位管線 C28x 內(nèi)核強(qiáng)大數(shù)學(xué)處理功能的 MCU 產(chǎn)品系列,還包含 DSP 庫以及 FET 與濾波器算法。特別值得一提的是,IQMath 是一種對 C2000 編程人員極為有用的庫。IQMath 本身就是一個庫和編譯器,可幫助您在您的庫中選擇哪些數(shù)位為整數(shù) (I),哪些為商 (Q),從而選擇不同的范圍與分辨率。它還允許用戶以浮點格式編寫 C 函數(shù),而不用處理定點縮放的問題,并且編譯器能解決所有其它問題。此外,IQ Math 中的代碼編寫還可為定點 MCU 或浮點 MCU 編譯統(tǒng)一的源集,從而實現(xiàn)不同器件之間的移植。最后,應(yīng)用庫可提供作為不同系統(tǒng)基礎(chǔ)的構(gòu)建塊。controlSUITE 中的應(yīng)用庫不但包含如電機(jī)控制與功率轉(zhuǎn)換等應(yīng)用系統(tǒng)常見的基本元素,并可將其置于一組模塊化函數(shù)和宏中,而且還配套提供了文檔及理論。全新系統(tǒng)的實施就像輸入輸出的連接一樣簡單。例如,數(shù)字電機(jī)控制庫包含近 30 個宏,如變換式、估計式、控制算法以及外設(shè)驅(qū)動器等。controlSUITE 軟件所提供的這些模塊使開發(fā)人員能夠縮短實施基礎(chǔ)元素所需的時間,幫助他們集中精力進(jìn)行差異化開發(fā),提高產(chǎn)品競爭力。
圖 2. controlSUITE 可提供該方法每個步驟所需的模塊化軟件代碼效率
評論