體驗(yàn)全新的MCU軟件方法
隨著世界不斷向數(shù)字化方向發(fā)展,微處理器 (MCU) 也正面向各種應(yīng)用領(lǐng)域全面推出。新型電視機(jī)采用 MCU 來(lái)提高 LED 對(duì)比度。割草機(jī)可通過(guò) MCU 的幫助實(shí)現(xiàn)自動(dòng)化操作,并可采用電動(dòng)機(jī)取代汽油機(jī)引擎,提高效率,降低污染??Х葯C(jī)采用 MCU 后可提高智能性,能夠在您熟睡之后幫助您沖制一杯美味的咖啡。MCU 的發(fā)展帶動(dòng)了一大批具有各種不同知識(shí)背景的開(kāi)發(fā)人員的成長(zhǎng),這使我們不得不重新審視 MCU 軟件的開(kāi)發(fā)。為了最大限度地提高處理器可用性,MCU 軟件必須滿足各種受眾用戶的需求,并必須更加重視系統(tǒng)應(yīng)用。滿足不同的編程愛(ài)好
MCU 編程不再是經(jīng)驗(yàn)豐富的嵌入式系統(tǒng)工程師的專利。新型應(yīng)用以及 MCU 的廣泛推出吸引了眾多此前從未接觸過(guò)數(shù)字硬件的工程師以及僅僅對(duì)技術(shù)充分熱情的業(yè)余愛(ài)好者,甚至那些尋求最新藝術(shù)表現(xiàn)形式的藝術(shù)家?,F(xiàn)在已經(jīng)到了擺脫傳統(tǒng)固定 MCU 編程模式的時(shí)候了,應(yīng)該為用戶提供代表不同抽象與控制水平的不同編程途徑。C2000 的 controlSUITE 軟件包含可支持上述靈活性的四級(jí)硬件抽象層 (HAL)。從最底層開(kāi)始,寄存器和地址可像從前一樣支持直接參照。
不過(guò)從第二層進(jìn)行構(gòu)建,位字段可使寄存器及其中的位功能組像變量一樣進(jìn)行存取。通過(guò)將寄存器映射到存儲(chǔ)器上,編程人員現(xiàn)在就可像修改變量一樣訪問(wèn)和存儲(chǔ)位或位功能組中的值,并可像變量一樣對(duì)其進(jìn)行實(shí)時(shí)觀察,從而無(wú)需位掩碼這種容易讓人困惑而且容易出錯(cuò)的方法。位字段還可在簡(jiǎn)化編程的同時(shí)支持完整的器件存取,因此對(duì)經(jīng)驗(yàn)豐富的 MCU 編程人員也極具吸引力。
再進(jìn)一步,外設(shè) API 驅(qū)動(dòng)器有助于用戶通過(guò)簡(jiǎn)單的函數(shù)調(diào)用對(duì)外設(shè)進(jìn)行編程。例如,通過(guò)調(diào)用函數(shù),再向其提供周期、工作循環(huán)以及通道數(shù)等參數(shù),就可完成 PWM 的初始化與設(shè)置。這些外設(shè) API 驅(qū)動(dòng)器可為嵌入式編程新手提供更簡(jiǎn)單的接口(也可為 PC 軟件開(kāi)發(fā)人員提供熟悉的函數(shù)調(diào)用接口)。
最后,完整的基準(zhǔn)框架可幫助新用戶實(shí)現(xiàn)其應(yīng)用的跨越式起步,無(wú)需擔(dān)心包括任務(wù)管理與 GPIO 映射在內(nèi)的設(shè)置代碼問(wèn)題。
上述四級(jí)相結(jié)合,再加上四級(jí)之間的移動(dòng)功能,編程人員能夠迅速實(shí)施簡(jiǎn)單的函數(shù),同時(shí)還可全面發(fā)揮 C2000 以控制為導(dǎo)向的外設(shè)的優(yōu)勢(shì)。
圖 1. 具有不同背景與愛(ài)好的編程人員可通過(guò) controlSUITE 軟件支持的 4 個(gè)硬件抽象層根據(jù)自己的方式進(jìn)行 C2000 MCU 編程。每個(gè)設(shè)計(jì)步驟的模塊化軟件
MCU 評(píng)估套件將配套提供示例軟件,幫助用戶啟動(dòng)設(shè)計(jì)工作。不過(guò),工程師通常要走出其專業(yè)技術(shù)領(lǐng)域之外為其項(xiàng)目添加特性與智能性,因此簡(jiǎn)單的示例軟件是不夠的。從評(píng)估示例到器件庫(kù),乃至應(yīng)用開(kāi)發(fā)的整個(gè)設(shè)計(jì)過(guò)程都需要軟件。希望添加語(yǔ)音識(shí)別或影像處理功能的開(kāi)發(fā)人員可能并不具備豐富的 FET 經(jīng)驗(yàn)。設(shè)計(jì)機(jī)器臂 (robotic arm) 的機(jī)械工程師可能對(duì)數(shù)字電機(jī)控制也不具備什么經(jīng)驗(yàn)。要想學(xué)習(xí)信號(hào)處理或控制算法可能需要大量的時(shí)間。 controlSUITE 軟件可提供每個(gè)步驟所需的解決方案。完整系列的評(píng)估示例可作為開(kāi)發(fā)工作的起點(diǎn)。這些示例展示了位字段與 HAL 的 API 庫(kù)。豐富的庫(kù)集合可為工程師提供一系列配套使用的基礎(chǔ)代碼。MCU 供應(yīng)商將提供基本的數(shù)學(xué)和幾何學(xué)函數(shù)庫(kù),然而 controlSUITE 軟件并不限于這些基礎(chǔ)代碼。controlSUITE 軟件作為傳承了 32 位管線 C28x 內(nèi)核強(qiáng)大數(shù)學(xué)處理功能的 MCU 產(chǎn)品系列,還包含 DSP 庫(kù)以及 FET 與濾波器算法。特別值得一提的是,IQMath 是一種對(duì) C2000 編程人員極為有用的庫(kù)。IQMath 本身就是一個(gè)庫(kù)和編譯器,可幫助您在您的庫(kù)中選擇哪些數(shù)位為整數(shù) (I),哪些為商 (Q),從而選擇不同的范圍與分辨率。它還允許用戶以浮點(diǎn)格式編寫(xiě) C 函數(shù),而不用處理定點(diǎn)縮放的問(wèn)題,并且編譯器能解決所有其它問(wèn)題。此外,IQ Math 中的代碼編寫(xiě)還可為定點(diǎn) MCU 或浮點(diǎn) MCU 編譯統(tǒng)一的源集,從而實(shí)現(xiàn)不同器件之間的移植。最后,應(yīng)用庫(kù)可提供作為不同系統(tǒng)基礎(chǔ)的構(gòu)建塊。controlSUITE 中的應(yīng)用庫(kù)不但包含如電機(jī)控制與功率轉(zhuǎn)換等應(yīng)用系統(tǒng)常見(jiàn)的基本元素,并可將其置于一組模塊化函數(shù)和宏中,而且還配套提供了文檔及理論。全新系統(tǒng)的實(shí)施就像輸入輸出的連接一樣簡(jiǎn)單。例如,數(shù)字電機(jī)控制庫(kù)包含近 30 個(gè)宏,如變換式、估計(jì)式、控制算法以及外設(shè)驅(qū)動(dòng)器等。controlSUITE 軟件所提供的這些模塊使開(kāi)發(fā)人員能夠縮短實(shí)施基礎(chǔ)元素所需的時(shí)間,幫助他們集中精力進(jìn)行差異化開(kāi)發(fā),提高產(chǎn)品競(jìng)爭(zhēng)力。
圖 2. controlSUITE 可提供該方法每個(gè)步驟所需的模塊化軟件代碼效率 [!--empirenews.page--]
努力降低污染或延長(zhǎng)電池使用壽命可大幅提升效率。軟件和硬件在提升系統(tǒng)效率的過(guò)程中都發(fā)揮著極其重要的作用。我們非常重視硬件效率,當(dāng)然也希望軟件同樣能提升效率。controlSUITE 中的數(shù)學(xué)與 DSP 庫(kù)包含針對(duì)不同類型處理器(定點(diǎn)、浮點(diǎn)以及 Piccolo 具有革命性突破的控制律加速器 (CLA) 等)優(yōu)化的不同集。此外,應(yīng)用庫(kù)是從基礎(chǔ)構(gòu)建的,可最大限度地縮短執(zhí)行時(shí)間。例如,controlSUITE 軟件包含可轉(zhuǎn)換成宏格式的數(shù)字電機(jī)控制庫(kù),在該庫(kù)中,庫(kù)模塊在編譯時(shí)被宏調(diào)用替代。這種架構(gòu)可消除有關(guān)傳統(tǒng)庫(kù)環(huán)境切換所占用的工作循環(huán),不僅提升了效率,而且還可為系統(tǒng)支持函數(shù)或工業(yè)標(biāo)準(zhǔn)的實(shí)施預(yù)留更多的空間。演示系統(tǒng)與開(kāi)發(fā)系統(tǒng)
對(duì)應(yīng)用系統(tǒng)關(guān)注的提升為設(shè)計(jì)人員帶來(lái)了新的問(wèn)題,演示系統(tǒng)和參照設(shè)計(jì)可證明概念,但要采用這些設(shè)計(jì)方案,并使其通過(guò)不同的設(shè)置工作,則極為困難,有時(shí)甚至是不可能的。例如,許多現(xiàn)有套件都可提供能夠全面工作的高級(jí)電機(jī)控制閉環(huán)設(shè)計(jì),但采用這些套件進(jìn)行定制系統(tǒng)時(shí)都需要進(jìn)行大量的修改,使用和調(diào)試不同拓?fù)渖系牟煌姍C(jī)。C2000 應(yīng)用套件是從頭重新設(shè)計(jì)的,是全面的開(kāi)發(fā)套件。該硬件包含可重復(fù)使用或修改的模塊。材料清單、原理圖以及布局均針對(duì)用戶免費(fèi)提供,并可根據(jù)需要進(jìn)行使用和改進(jìn)。就軟件而言,所有 controlSUITE 套件都采用漸進(jìn)型構(gòu)建系統(tǒng),用戶可通過(guò)該系統(tǒng)從簡(jiǎn)到難啟動(dòng)設(shè)計(jì)工作,隨著開(kāi)發(fā)工作的推進(jìn)慢慢添加更多的組件。讓我們深入了解一下 C2000 雙通道電機(jī)控制和 PFC 套件的軟件。該套件不僅可演示無(wú)傳感器的磁場(chǎng)定向電機(jī)控制,而且還可通過(guò)五個(gè)構(gòu)建級(jí)演示該軟件,指導(dǎo)用戶完成系統(tǒng)設(shè)計(jì)。構(gòu)建級(jí) 1 實(shí)施最小化系統(tǒng)檢查,確認(rèn)系統(tǒng)中斷的工作并驗(yàn)證 Inverse Park、Space Vector 以及 PWM 驅(qū)動(dòng)器模塊所生成波形的正確。構(gòu)建級(jí) 2 可在添加偏移補(bǔ)償和 Clarke / Park 轉(zhuǎn)換的同時(shí),驗(yàn)證模數(shù)轉(zhuǎn)換與相位電壓的計(jì)算。在構(gòu)建級(jí) 3 中,我們可添加真實(shí) PID 模塊,并可驗(yàn)證 dq 軸的電流調(diào)節(jié)。而后,構(gòu)建級(jí) 4 包括轉(zhuǎn)子位置估算與速度估算模塊。最后,構(gòu)建級(jí) 5 可通過(guò)使用所測(cè)量的速度作為反饋,來(lái)關(guān)閉速度環(huán)路,從而完成整個(gè)系統(tǒng)。這種設(shè)置配合全面的文檔和理論,可創(chuàng)建便于快速學(xué)習(xí)應(yīng)用、加快不同系統(tǒng)修改以及簡(jiǎn)化調(diào)試的套件。
圖 3. 五級(jí)漸進(jìn)型構(gòu)建系統(tǒng)從簡(jiǎn)單 PWM 波形驗(yàn)證到閉環(huán)電機(jī)控制系統(tǒng)上無(wú)傳感器磁場(chǎng)定向控制的發(fā)展過(guò)程。簡(jiǎn)化工作
在零售軟件與消費(fèi)類電子領(lǐng)域,我們非常重視用戶體驗(yàn)。不過(guò),這個(gè)術(shù)語(yǔ)以前很少在 MCU 或 DSP 軟件應(yīng)用中提及。嵌入式編程人員習(xí)慣于 MCU 軟件開(kāi)發(fā)的高復(fù)雜性,但這可能會(huì)給編程新手帶來(lái)巨大的障礙。怎么才能知道獲得了全部元素?怎么才能保持最新?怎么使源代碼進(jìn)入庫(kù)中?controlSUITE 軟件通過(guò)集中的軟件管理消除了上述問(wèn)題和擔(dān)憂。所有 C2000 軟件均可通過(guò)統(tǒng)一的網(wǎng)站和安裝程序顯示,并可免費(fèi)下載。通過(guò)安裝程序,客戶可了解軟件包之間的相關(guān)性,確保所有所需組件的下載和安裝。最后,controlSUITE 軟件還能幫助用戶通過(guò)下載更新保持最新,并可通過(guò)設(shè)置自動(dòng)檢查軟件的新版本。