MCU是目前市場主流的電機控制方案,適用于高、中、低端電機控制。通過內部集成的電機控制模塊,可簡化客戶對于電機控制的開發(fā);而相對于DSP較強的控制功能,能更好地實現(xiàn)電機的伺服控制和保護功能。 關于電機控制方案,DSP、MCU和FPGA各有其優(yōu)特點。DSP因為數(shù)據(jù)處理能力強、運算速度快,適用于高端復雜的電機系統(tǒng)控制,但它依賴于軟件算法的成熟度和穩(wěn)定性,對開發(fā)者的要求比較高。FPGA通過集成邏輯電路及專用電機驅動電路,能夠很好地適用于客戶化的電機驅動,但在電機控制的通用性方面略有不足。MCU通常側重于I/O接口的數(shù)量和可編程存儲器的大小,非常適用于有大量的I/O操作的場合,所以廣泛應用在低成本,低功耗和對精度要求不高的系統(tǒng)中。但由于本身處理能力有限,應用的場合受到了比較大的限制。 為了帶大家深入地了解市面上主流的電機控制方案,小編將從MCU,DSP,F(xiàn)PGA三個方向入手,盤點各大廠商推出的電機控制方案。本系列主要針對MCU領域,后續(xù)將會慢慢完善其它系列,敬請期待! MCU是目前市場主流的電機控制方案,適用于高、中、低端電機控制。通過內部集成的電機控制模塊,可簡化客戶對于電機控制的開發(fā);而相對于DSP較強的控制功能,能更好地實現(xiàn)電機的伺服控制和保護功能。目前,8位MCU主要用于電機控制的低成本,低性能場合,16位、32位MCU則用于中/高性能場合。 英飛凌針XMC1000 英飛凌針對中國市場推出全新XMC1000工業(yè)單片機,在電機控制領域擁有很高的性價比。XMC1000將ARM Cortex-M0內核與尖端的65nm制程技術結合在一起,克服了當今8位設計的限制,并使當前的8位用戶有機會享受32位性能,而無需在價格或易用性方面付出代價。 簡介 XMC1000具有最具擴展性的閃存組合,容量從8KB- 200KB不等。XMC1000的三個不同系列涵蓋了眾多應用領域。XMC1100系列是XMC單片機的入門級選擇,該系列器件具有6個12位A/D轉換器通道(轉換速率高達1.88兆采樣/秒)、4個16位定時器(捕獲/比較單元4(CCU4))以及寬工作電壓范圍(1.8V-5.5V)。這些特性使XMC1000可適用于廣泛的工業(yè)應用領域。X MC1200系列具有面向LED照明和HMI設計的外設,包括一個電容觸控和LED顯示控制單元,一個BCCU。BCCU可在處理器幾乎不介入的情況下,對LED進行無閃爍調光和顏色控制。該系列產(chǎn)品的工作溫度范圍為-40°C 到105°C。XMC1300系列可滿足電機控制或數(shù)字電源轉換應用的實時控制需求,它集成一個功能強大的捕獲/比較單元 CCU8(支持8對互補PWM生成和非對稱PWM生成),集成位置接口單元(POSIF),支持精確的電機位置檢測。XMC1300系列還集成算術協(xié)處理器,支持無傳感器FOC(磁場定向控制)解決方案,提高電機運行效率。這是其他基于Cortex-M0的單片機產(chǎn)品所沒有的。XMC1300系列的工作溫度最高可達105°C 。 XMC1000家族成員特性表 功能框圖 XMC1000主要特性:32位ARM Cortex-M0(32MHz)內核,低端領域最具擴展性的閃存組合,容量從8KB- 200KB不等,適用于軟件IP保護的AES 128位安全加載器 ,專利的LED色彩控制引擎,領先的XMC混合信號和定時器外設,IEC 60730 class B標準兼容,面向觸控和LED顯示控制的外設,面向高端控制回路(CORDIC / DIVIDE)的64MHz算術協(xié)處理器,溫度范圍擴展至105°C。 單元模塊介紹 XMC1000的BCCU-亮度色彩控制單元 1 概述 BCCU是亮度色彩控制單元(Brightness and Color Control Unit),用于控制多至9個不同的LED。 通過12bit的Delta Sigma反變換把亮度控制值轉換為比特流。這種結構使得BCCU還可以連接一個外部RC電路作為DAC使用。 XMC1000系列中,XMC1200和XMC1300帶有BCCU模塊 2 特性 1)包括3個獨立的Dimming Engine(亮度控制引擎) 2)Dimming Engine支持12位(4096)不同的亮度輸出 3)亮度按照指數(shù)曲線調節(jié),且步長可調 4)9個獨立的輸出通道,輸出比特流,可以控制9個不同的LED或作為DAC使用 5)通道可連接一個Linear Walker,它的輸出時LED的飽和度(Intensity),支持12位調節(jié) 6)通道和Dimming Engine之間可自由連接 7)通道也可連接飽和度調節(jié)器和Dimming Engine輸出值的乘積 8)每個通道可連接一個Packer,當需要降低開關頻率是可用到 9)有兩個通道可以連接ADC 3 通道結構 每個通道都是相同的結構,其中左側是通道的輸入(包括Dimming Engine和Linear Walker),右側BCCU.OUTy是通道的輸出,從這個結構框圖可以看出BCCU通道的工作分為幾步 1)輸入的選擇和配置 2)輸入通過Delta Sigma轉換為比特流 3)比特流通過一個可選的Packer,某些LED或其驅動芯片有最短開通時間的限制,Packer可以用于類似的需要降低開關速度的情況。 4)外部使能是否輸出 5)同時Delta Sigma的輸出可以產(chǎn)生一個Tigger,用以出發(fā)ADC轉換等 通道的輸入可以有兩種,這可以通過修改寄存器DBP來選擇,其中Linear Walker的輸出為飽和度Intensity 1)Dimming Engine輸出和Linear Walker輸出的乘積 2)Linear Walker的直接輸出 XMC1000的隨機數(shù)生成單元PRNG 1 背景 PRNG(Preeudo Random Number Generator)是隨機碼生成模塊,可以產(chǎn)生8/16位隨機碼。 2 工作原理 1)框圖 2)工作原理 這個模塊通過向隨機數(shù)序列生成器寫入Key,來產(chǎn)生8/16位的隨機數(shù),其中隨機數(shù)序列的產(chǎn)生和Key是唯一對應的。隨機Key寫入完畢后,可以讀出隨機序列,隨機Key寫入和隨機序列讀出的位置都是PRNG_WORD,不過他們在不同的步驟中操作,所以不會產(chǎn)生沖突。 3)使用 a.首先設定KLD=1,進入Key寫入模式,寫入隨機key,key可以是任意位數(shù),推薦80位,分為5個16bit寫入PRNG_WORD中。注意,只有當PRNG_CHK.RDV=1時,才能向PRNG_WORD中寫入Key b.Key寫完后,把KLD置為0。然后,當PRNG_CHK.RDV=1,可以從PRNG_WORD中讀出隨機序列。隨機序列可以為8、16位數(shù)據(jù),這個通過PRNG_CHK.RDBS來控制。 c.若在隨機碼產(chǎn)生過程中把KLD置為1,則可繼續(xù)寫入Key,新寫入的Key會和之前的Key共同作用于隨機序列 d.通過RDBS置為00,可以重啟該模塊 e.若在重啟前,記錄隨機序列至少80位,重新作為key寫入,則隨機序列會接著上次的輸出繼續(xù)產(chǎn)生。 XMC1300的MATH協(xié)處理器 1 XMC1300芯片帶有一個MATH協(xié)處理器,它包含以下兩個子模塊 除法器和Cordic協(xié)處理器 2 除法器 特性:可做32位/32位,32位/16位,16位/16位除法 操作:除法器啟動,啟動方式有兩種,通過設定DIVCON.STMODE來選取, a. 當DIVCON.STMODE=0,寫入DVS即啟動除法 b. 當DIVCON.STMODE=1,寫入DIVCON.ST位即啟動除法 除法器忙,當除法器工作時,DIVST.BSY = 1,這時不要再試圖啟動其他的除法,除法器需要35個周期結束,結束時可選擇產(chǎn)生中斷,并會出現(xiàn)結果置位,這個結果置位需要手動清除。 3 Cordic協(xié)處理器 Cordic協(xié)處理器可進行三角函數(shù)、雙曲線函數(shù)和一次線性函數(shù),其中函數(shù)模式通過CON.MODE來選擇。 計算模式包括向量模式和旋轉模式,通過CON.ROTVEC來選擇,特性:24位精度,Circula模式 旋轉模式 輸入X,Y,Z 輸出X= K*[X*cos(Z)-Y*sin(Z)]/MPS,Y= K*[Y*cos(Z)+X*sin(Z)]/MPS,Z=0,其中K=1.646760258121 向量模式 輸入X,Y,Z,輸出X= K*sqrt(X^2+Y^2)/MPS,Y= 0,Z=Z+atan(Y/X) 主要應用:計算sin(z),cos(z),tan(z),ctg(z)等 雙曲線模式 - 旋轉模式 輸入X,Y,Z,輸出X=k[Xcosh(Z)+Ysinh(Z)]/MPS,Y= k[Ycosh(Z)+Xsinh(Z)]/MPS,Z=0 -向量模式 輸入X,Y,Z,輸出X=k*sqrt(X^2-Y^2)/MPS,Y= 0,Z=Z+atanh(Y/X),其中k = 0.828159360960 主要應用,計算sinh(Z),cosh(Z),tanh(Z),ctgh(Z)等,同時可以計算ln(w),sqrt(W),acosh(w),asinh(W)等 一次線性模式 輸入X,Y,Z,輸出X=X/MPS,Y=[Y+X*Z]/MPS,Z=0 -向量模式 輸入X,Y,Z 輸出X=X/MPS,Y= 0,Z=Z+Y/X 4 除法器和Cordic的互聯(lián) 除法器的輸入可以由除法器的結果或Cordic的結果直接輸入,這樣構成了除法器和Cordic的級聯(lián)。 比如計算tan(z),可以直接把Cordic的輸出sin(z)連接到DVD,cos(z)連接到DVS,這樣就可以得到tan(z)。 XMC1000的中斷控制器 1 概述 XMC1000系列的中斷處理器包括32個中斷處理節(jié)點,每個節(jié)點支持4級中斷優(yōu)先級,支持尾鏈(tail-chaining ),支持軟中斷。 2 中斷對應表格,可查相應數(shù)據(jù)手冊活產(chǎn)品手冊 3 中斷功能 由以上框圖可以看出,對應于每個中斷,都可以由外部或軟件觸發(fā)產(chǎn)生,不過每個中斷又需要單獨使能才能最終進入中斷處理。同時中斷也可以被軟件清除,或者當進入中斷處理后,硬件會自動清除。另外要注意的是,當硬件中斷和軟件清除同時到來,軟件清除會被系統(tǒng)忽略,即硬件中斷置位優(yōu)先級高。從中斷觸發(fā)到進入中斷處理程序,一般要花費21個系統(tǒng)周期。注:尾鏈技術(Tail-Chain)這個技術是ARM推出的可以減小中斷等待時間的技術。 一般情況下的中斷處理,需要先保存堆棧,再出棧,如果中途有新的更高優(yōu)先級的中斷,則需要重新做上一步驟。如果使用了尾鏈技術,則第二個中斷到來時候,不需要重復保存堆棧,再出棧的過程。 XMC1000電機應用相關外設集 PWM - CCU4,多功能16位定時器組,4個完全相同、獨立運行的子單元 實現(xiàn)功能(部分):通用16位定時器,獨立的16位PWM生成,外部信號捕獲(周期,占空比), 計數(shù)功能:與其他外設配合工作,與ADC配合,觸發(fā)延時電流采樣,與POSIF配合,實現(xiàn)轉速、位置計算:霍爾傳感器,增量式編碼器,與比較器配合,實現(xiàn)外部事件觸發(fā) PWM - CCU8 PWM生成(PFC),CCU8 = CCU4++,集成CCU4所有功能,8對互補PWM輸出(獨立死區(qū)),支持常見的各種電機拓撲PWM生成,半橋、全橋、三相全橋、三電平控制等,支持移相PWM:單母線電阻電流采樣,與POSIF配合,實現(xiàn)BLDC控制,硬件觸發(fā)ADC采樣,ADC & 比較器,三路獨立、高速比較器單元,3mV 輸入偏置電壓,30ns傳輸延時,可觸發(fā)PWM, A/D操作,回差可調:0mV,15mV,20mV,位置接口單元 - POSIF,增量編碼器,霍爾傳感器,多通道模式(BLDC 相關)。 應用:與CCU4配合進行位置、速度的檢測,與CCU8配合進行直流無刷電機控制,位置接口單元 - 旋轉變壓器接口(DSD)。 旋轉變壓器:環(huán)境不敏感,系統(tǒng)成本較高、精度受限。 應用領域:伺服控制系統(tǒng),汽車、電力、冶金等。 通訊接口 XMC1000通用的應用領域 LED 照明;適合領域:LED 路燈,彩色LED控制,亮度控制等;應用優(yōu)勢:無閃爍調光及色彩控制,僅需極少CPU負荷,即可實現(xiàn)調光,通信接口支持網(wǎng)絡連接。 數(shù)字電源轉換:傳感器、執(zhí)行器、通用應用;適合領域:低端工業(yè)、消費類應用,現(xiàn)有8位微控制器的相關應用;應用優(yōu)勢:通用、強大,小封裝、大Flash, 大RAM XMC1000應用在電機控制領域(支持簡單控制至無傳感器FOC): 支持各種電機應用:風機,水泵,家電,電動自行車等 電機類型:直流有刷電機,直流無刷電機,永磁同步電機 控制算法:梯形波控制,簡單正弦波控制,磁場定向控制(FOC) XMC1000的兩個電機控制應用實例 電動自行車(Ebike)控制器 - 雙模FOC控制 XMC1300雙模FOC方案 電動自行車發(fā)展 功能列表 結構框圖 航模控制器 - 高速無感BLDC控制 航模BLDC特點:體積小,重量輕,轉速高(幾千K/V或更高),業(yè)內最高速度(21,0000RPM/1對極),無Hall傳感器,減少線材,避免潛在故障點,寬電壓范圍工作(電池供電)。 對MCU的要求:最好內置比較器實現(xiàn)過零點檢出,盡量硬件實現(xiàn)換相檢測,減少CPU占用,端電壓分壓后不濾波直接處理,避免RC延時的影響。 XMC1300航模控制器Demo介紹 實物圖 結構框圖 -內置三個高速比較器,無須輸入信號切換 -POSIF單元處理比較器信號,實現(xiàn)硬件換相 -CCU4配合POSIF實現(xiàn)濾除開關毛刺和續(xù)流尖峰處理、換相延時。 |