體驗全新的MCU軟件方法
隨著(zhù)世界不斷向數字化方向發(fā)展,微處理器 (MCU) 也正面向各種應用領(lǐng)域全面推出。新型電視機采用 MCU 來(lái)提高 LED 對比度。割草機可通過(guò) MCU 的幫助實(shí)現自動(dòng)化操作,并可采用電動(dòng)機取代汽油機引擎,提高效率,降低污染??Х葯C采用 MCU 后可提高智能性,能夠在您熟睡之后幫助您沖制一杯美味的咖啡。MCU 的發(fā)展帶動(dòng)了一大批具有各種不同知識背景的開(kāi)發(fā)人員的成長(cháng),這使我們不得不重新審視 MCU 軟件的開(kāi)發(fā)。為了最大限度地提高處理器可用性,MCU 軟件必須滿(mǎn)足各種受眾用戶(hù)的需求,并必須更加重視系統應用。滿(mǎn)足不同的編程愛(ài)好
本文引用地址:http://dyxdggzs.com/article/151441.htmMCU 編程不再是經(jīng)驗豐富的嵌入式系統工程師的專(zhuān)利。新型應用以及 MCU 的廣泛推出吸引了眾多此前從未接觸過(guò)數字硬件的工程師以及僅僅對技術(shù)充分熱情的業(yè)余愛(ài)好者,甚至那些尋求最新藝術(shù)表現形式的藝術(shù)家?,F在已經(jīng)到了擺脫傳統固定 MCU 編程模式的時(shí)候了,應該為用戶(hù)提供代表不同抽象與控制水平的不同編程途徑。C2000 的 controlSUITE 軟件包含可支持上述靈活性的四級硬件抽象層 (HAL)。從最底層開(kāi)始,寄存器和地址可像從前一樣支持直接參照。
不過(guò)從第二層進(jìn)行構建,位字段可使寄存器及其中的位功能組像變量一樣進(jìn)行存取。通過(guò)將寄存器映射到存儲器上,編程人員現在就可像修改變量一樣訪(fǎng)問(wèn)和存儲位或位功能組中的值,并可像變量一樣對其進(jìn)行實(shí)時(shí)觀(guān)察,從而無(wú)需位掩碼這種容易讓人困惑而且容易出錯的方法。位字段還可在簡(jiǎn)化編程的同時(shí)支持完整的器件存取,因此對經(jīng)驗豐富的 MCU 編程人員也極具吸引力。
再進(jìn)一步,外設 API 驅動(dòng)器有助于用戶(hù)通過(guò)簡(jiǎn)單的函數調用對外設進(jìn)行編程。例如,通過(guò)調用函數,再向其提供周期、工作循環(huán)以及通道數等參數,就可完成 PWM 的初始化與設置。這些外設 API 驅動(dòng)器可為嵌入式編程新手提供更簡(jiǎn)單的接口(也可為 PC 軟件開(kāi)發(fā)人員提供熟悉的函數調用接口)。
最后,完整的基準框架可幫助新用戶(hù)實(shí)現其應用的跨越式起步,無(wú)需擔心包括任務(wù)管理與 GPIO 映射在內的設置代碼問(wèn)題。
上述四級相結合,再加上四級之間的移動(dòng)功能,編程人員能夠迅速實(shí)施簡(jiǎn)單的函數,同時(shí)還可全面發(fā)揮 C2000 以控制為導向的外設的優(yōu)勢。

圖 1. 具有不同背景與愛(ài)好的編程人員可通過(guò) controlSUITE 軟件支持的 4 個(gè)硬件抽象層根據自己的方式進(jìn)行 C2000 MCU 編程。每個(gè)設計步驟的模塊化軟件
MCU 評估套件將配套提供示例軟件,幫助用戶(hù)啟動(dòng)設計工作。不過(guò),工程師通常要走出其專(zhuān)業(yè)技術(shù)領(lǐng)域之外為其項目添加特性與智能性,因此簡(jiǎn)單的示例軟件是不夠的。從評估示例到器件庫,乃至應用開(kāi)發(fā)的整個(gè)設計過(guò)程都需要軟件。希望添加語(yǔ)音識別或影像處理功能的開(kāi)發(fā)人員可能并不具備豐富的 FET 經(jīng)驗。設計機器臂 (robotic arm) 的機械工程師可能對數字電機控制也不具備什么經(jīng)驗。要想學(xué)習信號處理或控制算法可能需要大量的時(shí)間。 controlSUITE 軟件可提供每個(gè)步驟所需的解決方案。完整系列的評估示例可作為開(kāi)發(fā)工作的起點(diǎn)。這些示例展示了位字段與 HAL 的 API 庫。豐富的庫集合可為工程師提供一系列配套使用的基礎代碼。MCU 供應商將提供基本的數學(xué)和幾何學(xué)函數庫,然而 controlSUITE 軟件并不限于這些基礎代碼。controlSUITE 軟件作為傳承了 32 位管線(xiàn) C28x 內核強大數學(xué)處理功能的 MCU 產(chǎn)品系列,還包含 DSP 庫以及 FET 與濾波器算法。特別值得一提的是,IQMath 是一種對 C2000 編程人員極為有用的庫。IQMath 本身就是一個(gè)庫和編譯器,可幫助您在您的庫中選擇哪些數位為整數 (I),哪些為商 (Q),從而選擇不同的范圍與分辨率。它還允許用戶(hù)以浮點(diǎn)格式編寫(xiě) C 函數,而不用處理定點(diǎn)縮放的問(wèn)題,并且編譯器能解決所有其它問(wèn)題。此外,IQ Math 中的代碼編寫(xiě)還可為定點(diǎn) MCU 或浮點(diǎn) MCU 編譯統一的源集,從而實(shí)現不同器件之間的移植。最后,應用庫可提供作為不同系統基礎的構建塊。controlSUITE 中的應用庫不但包含如電機控制與功率轉換等應用系統常見(jiàn)的基本元素,并可將其置于一組模塊化函數和宏中,而且還配套提供了文檔及理論。全新系統的實(shí)施就像輸入輸出的連接一樣簡(jiǎn)單。例如,數字電機控制庫包含近 30 個(gè)宏,如變換式、估計式、控制算法以及外設驅動(dòng)器等。controlSUITE 軟件所提供的這些模塊使開(kāi)發(fā)人員能夠縮短實(shí)施基礎元素所需的時(shí)間,幫助他們集中精力進(jìn)行差異化開(kāi)發(fā),提高產(chǎn)品競爭力。

圖 2. controlSUITE 可提供該方法每個(gè)步驟所需的模塊化軟件代碼效率
評論