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