漫談系列的上一期中介紹了外設(shè)間互聯(lián)矩陣 MindSwitch,用戶可以通過 MindSwitch 將系統(tǒng)中的常用外設(shè)進行同步。本期,筆者就來聊聊 MM32F5270 中的高性能模擬外設(shè),并以一個典型的 3 合 1 控制的例子來對前面幾期的內(nèi)容做一個綜合的講解。
1、高速 ADC
ADC 用于將模擬信號轉(zhuǎn)換成數(shù)字信號,是微控制器應(yīng)用中必不可少的外設(shè)之一。
MM32F5270 中包含了 2 組高速 SAR 結(jié)構(gòu) ADC,每組 ADC 支持最高 12 位分辨率和最高 3MSPS 采樣率。其中 ADC1 支持 17 路外部通道(ADC1_INx),ADC2 支持 19 路外部通道(ADC2_INx),兩組 ADC 有 12 個通道是共用引腳的(ADC12_INx),因此總計可用的外部通道數(shù)是 17 + 19 – 12 = 24 通道。MM32F5270 中的具體 ADC 通道分布整理如下表:
ADC 的具體特點這里就不一一介紹,感興趣的讀者可以閱讀 MM32F5270 用戶手冊。(https://www.mindmotion.com.cn/download/products/UM_MM32F5270_SC.pdf)
這里,對 MM32F5270 ADC 的部分創(chuàng)新特色做如下總結(jié):
支持任意通道轉(zhuǎn)換
支持轉(zhuǎn)換通道的任意排列,最高可支持 16 個通道。這相對于僅能固定順序掃描的 ADC 而言有兩個優(yōu)勢:一是實際應(yīng)用中通道間的采樣順序可能會變化,二是實際應(yīng)用中不同通道的采樣頻繁程度是不同的,而任意轉(zhuǎn)換序列 ADC 能夠很好的應(yīng)對這些場景。下圖是一個例子,任意通道轉(zhuǎn)換模式下,前 5 次轉(zhuǎn)換中的通道編號是亂序的(任意可配的),且通道 12 和 通道 6 僅轉(zhuǎn)換 1 次,而通道 3 則轉(zhuǎn)換了 3 次。
每個任意通道都有獨立的結(jié)果寄存器
除了最近一次轉(zhuǎn)換的結(jié)果,MM32F5270 的每個任意通道都有一個獨立的結(jié)果寄存器,存儲對應(yīng)通道最近一次的轉(zhuǎn)換結(jié)果。這樣用戶可以在所有ADC通道轉(zhuǎn)換完畢后在需要使用的時刻再讀取對應(yīng)ADC通道的結(jié)果寄存器的值,而不需要每次轉(zhuǎn)換后都讀取,有效的降低了 DMA 或 CPU 對 ADC 的訪問次數(shù)和軟件復(fù)雜度。
支持自動注入模式
在任意通道轉(zhuǎn)換方式下,完成任意通道轉(zhuǎn)換后會自動開始注入通道轉(zhuǎn)換。每個 ADC 支持最高 4 路注入通道,同樣支持任意序列轉(zhuǎn)換。需要注意的是,注入通道的觸發(fā)源和常規(guī)通道的觸發(fā)源是獨立的,后文將要講到的 ADC 分時復(fù)用就需要用到這個功能。
支持最高 256 次硬件過采樣
MM32F5270 支持 2 到 256次可配的硬件過采樣,當配置為 256次時,ADC 將 256 次的采樣數(shù)值進行累加和硬件平均,并將結(jié)果存儲在一個 16 位寄存器中。很多應(yīng)用為提高采樣準確度都需要進行多次采樣求平均的操作,硬件過采樣的優(yōu)勢是不需要 DMA 或 CPU 的數(shù)據(jù)搬運和計算就能得到平滑濾波后的結(jié)果。
觸發(fā)源通過 MindSwitch 配置
通過 MindSwitch 配置的觸發(fā)可以實現(xiàn)更靈活可配的觸發(fā),后文中的應(yīng)用案例就將用到這一功能。
2、高速 COMP
比較器 COMP 用于比較兩個模擬信號的電平,比較器因其比較速度快和響應(yīng)速度快等特點,在實際應(yīng)用中常用于做過流保護等安全保護措施。
MM32F5270 中包含了 3 組高速比較器 COMP1~3,每組比較器都具備如下特點:
參考源豐富
帶窗口 Blanking 功能
支持輪詢
支持濾波
帶極性選擇功能
在實際應(yīng)用中,往往是將外部的模擬信號和一個參考電壓值通過比較器進行比較,這個參考電壓值往往是一個固定電平,其可以從芯片外部輸入,也可以由芯片內(nèi)部提供。MM32F5270 的比較器支持這兩種方式,并且提供了豐富的電壓參考源包括:
CRV 的輸出
DAC1 的輸出
DAC2 的輸出
這里,CRV 的全稱是 Comparator Reference Voltage,是一個低分辨率的電阻分壓網(wǎng)絡(luò),可提供 1/20 到 16/20 共 16 檔參考電壓,其分壓源可以選擇是 VDDA 或者內(nèi)部 1.2V 帶隙基準電壓。以 VDDA = 3V 為例,其分壓范圍為 150mV 到 2.4V,每 150mV 一檔,共 16 檔。
如果需要更精確的參考電壓,則可以采用 DAC1 或 DAC2 的輸出,這里的兩個 DAC 都是 12 位分辨率。以 VDDA = 3V 為例,其分壓范圍為 0V 到 3V,共 4096 檔,分辨率約為 0.7 mV(僅是理想分辨率,真實分辨率會更大)。
不論是 CRV 還是 DAC,其相較于外部輸入的最大優(yōu)勢是其電壓可隨時調(diào)整。
每組 COMP 支持 4 路正向輸入和7路負相輸入,其中正向輸入全部由外部引腳輸入,而 7 路負相輸入中包含了 3 路外部引腳輸入、1 路 CRV 輸出、1 路 DAC1 輸出和 1 路 DAC2 輸出,總結(jié)如下表:
上面的提到的 2 組 DAC 除了可以為比較器提供參考電壓外,它們還帶有一定的輸出驅(qū)動能力,支持最快 1MSPS 轉(zhuǎn)換率,可以不需要外部放大器而直接驅(qū)動負載,非常適用于一些音頻應(yīng)用。此外,DAC 還支持硬件自動生成三角波,用戶也可以通過精確的觸發(fā)控制和數(shù)據(jù)輸入來通過 DAC 生成更復(fù)雜的正弦波或任意波形。
3、應(yīng)用場景:3 合 1 控制
經(jīng)過上述介紹,相信讀者對于 MM32F5270 中的高性能模擬外設(shè)已經(jīng)有所了解。接下來,筆者就將前幾期介紹內(nèi)容和本期內(nèi)容結(jié)合在一起,通過一個常見的應(yīng)用案例來講解。
實際應(yīng)用中的一個趨勢是系統(tǒng)的集成度越來越高,很多嵌入式系統(tǒng)會將原本分布在多個 MCU 中的功能集成在同一個主控 MCU 中,在汽車、家電和消費電子領(lǐng)域中都能觀察到這種趨勢,這樣做能夠帶來開發(fā)便捷、節(jié)省空間、節(jié)省成本、節(jié)省線束等多種好處,通常可以把這種多功能合并的結(jié)構(gòu)叫做多合一控制,舉幾個典型的例子:
2 合 1
2 合 1 典型場景是雙電機控制,具體應(yīng)用包括洗烘一體洗衣機中的滾筒電機 + 熱泵風(fēng)扇控制、割草機中的割草電機 + 行進電機控制、電動三輪車中的差速電機控制等等。對于此類應(yīng)用,靈動的 MM32SPIN0280 就非常適合,其配備了96MHz M0 內(nèi)核、硬件除法和開方、雙 3MSPS ADC + 雙高級定時器、多路運放和比較器,感興趣的讀者可以點擊鏈接進一步了解。
3 合 1
3 合 1 典型的應(yīng)用是空調(diào)外機中的 PFC + 壓縮機 + 風(fēng)機控制,對于此類應(yīng)用,其對于 CPU 性能的要求往往更高,因此,目前市面上的方案往往是 Cortex-M4 及以上性能的 MCU 或 DSP 來實現(xiàn)。MM32F5270 配備了 120MHz 的 Armv8 “星辰”處理器,帶有 DSP 和 FPU 擴展,單位主頻性能相較于 Cortex-M4 提升約 20%,并配有多并發(fā)的總線架構(gòu)、高效互聯(lián)系統(tǒng) MindSwitch、多路定時器以及本期重點講解的高性能模擬外設(shè),非常適合用于此類 3 合 1 的應(yīng)用場景。
4 合 1
典型的應(yīng)用是四旋翼飛行器的四個螺旋槳控制,甚至可以將電機控制和飛控進行合并,此類應(yīng)用往往需要 Cortex-M7 或以上性能的 MCU 或 MPU 來實現(xiàn)。
這里,筆者就以空調(diào)外機 3 合 1 控制這個典型應(yīng)用來說明 MM32F5270 的高性能配置。
空調(diào)外機的主體部分包括 1 路 PFC、1 路壓縮機和 1 路風(fēng)機。這里,對這3個模塊的參數(shù)做如下約束:
PFC
采用 Boost 結(jié)構(gòu),通過 1 路 PWM 驅(qū)動 MOS 管以控制功率因數(shù)校正網(wǎng)絡(luò),PWM 周期為 64KHz,電流環(huán)為 32KHz,帶過流保護。
壓縮機
永磁同步電機,采用無感 FOC 控制,單電阻采樣,PWM 周期和電流環(huán)均為 16KHz,帶過流保護。
風(fēng)機
永磁同步電機,采用無感 FOC 控制,單電阻采樣,PWM 周期和電流環(huán)均為 16KHz,帶過流保護。
其中,Boost PFC 的原理圖如下:
單電阻無感 FOC 電機控制原理圖如下:
根據(jù)上述約定:每路電機需要 3 相互補 PWM 來驅(qū)動,1 路高速 ADC 去做電流采樣,多個定時器通道去控制 ADC 的采樣點,以及 1路比較器做過流保護;PFC 則需要 1 路 PWM 輸出去做功率因數(shù)校正,1 路高速 ADC 去做電流采樣,1個定時器通道去控制 ADC 的采樣點,以及 1 路比較器做過流保護。
這里,考慮到兩路電機的 PWM 周期完全一致,因此可以很容易的將兩路電機的處理(包括采樣和計算)在時序上分割開,這樣, 兩路電機就可以共用一組 ADC 進行分時采樣,而另一組 ADC 可以留給 PFC 使用。
MM32F5270 中配置了 2 組高級定時器(TIM1 & TIM8)、4 組通用定時器(TIM2~5)、3 組比較器(COMP1~3)、2 組獨立 DMA(DMA1~2,可分別用于兩組 ADC),并通過 MindSwitch 和 CLU 將上述外設(shè)進行精確同步,能夠滿足上述資源需求。資源分配整理如下表:
其對應(yīng)的系統(tǒng)框圖如下圖所示:
一種可行的時序分配和 PWM 波形如下圖所示。
這里,因 TIM1 和 TIM8 的 PWM 周期都是 16KHz,因此,TIM1 和 TIM8 可以做 180° 相位差的嚴格同步。這樣電機1(M1)和電機2(M2)的采樣可以分時復(fù)用 ADC1 而不互相干擾。CPU 也可以分時處理 M1 和 M2 的電流環(huán)而不互相干擾。
這里電機 1 的電流采樣點通過任意通道的觸發(fā)控制(ADC1_TRIG),而電機 2 的電流采樣點通過自動注入通道的觸發(fā)控制(ADC1_JTRIG)。
TIM3 的 PWM 周期是 64KHz,而電流環(huán)是 32KHz,因此,其剛好可以利用 M1 和 M2 電流環(huán)的處理間隙做 PFC 的電流環(huán)。當然,這也得益于 “星辰”處理器的高性能運算能力,有足夠的 CPU 帶寬可以用于三路算法的運算。
此時,MindSwitch 和 CLU 的內(nèi)部連接如下圖所示:
可以看到,上述 3 合 1 的應(yīng)用場景用到了 MM32F5270 的多個模塊:
高性能“星辰”處理器
MindSwitch 和 CLU
2 組高速 ADC
3 組高速比較器
2 組高級定時器
1 組通用定時器
2 組 DAC
MM32F5270 以高性能運算能力和豐富的外設(shè)資源,很好的滿足了 3 合 1 應(yīng)用的需求。
4、小結(jié) & NEXT
本文介紹了MM32F5270 中的 ADC、DAC 和比較器等模擬外設(shè),并結(jié)合前幾期的知識點,以 3 合 1 的應(yīng)用實例來說明了這些高性能外設(shè)間如何協(xié)同配合來滿足復(fù)雜應(yīng)用的需求。
來源:靈動MM32MCU
-
dac
+關(guān)注
關(guān)注
43文章
2379瀏覽量
193069 -
高速ADC
+關(guān)注
關(guān)注
0文章
48瀏覽量
28924 -
MM32
+關(guān)注
關(guān)注
1文章
108瀏覽量
1032
發(fā)布評論請先 登錄
移動電源方案究竟硬件三合一還是軟件三合一?
同步整流 移動電源三合一問題
移動電源硬件三合一方案和軟件三合一方案對比
基于MM32F5270控制器的I2S音頻播放
【MM32F5270】Keil開發(fā)環(huán)境搭建

評論