本文導讀
NXP推出的S32K3XX系列微控制器在電機控制方面具有豐富的外設資源,相比較上個系列S32K1xx來說,控制方式有明顯的不同。S32K3xx微控制器通過eMIOS、LCU、BCTU和ADC等硬件外設對電機實現控制,顯得更加靈活和方便。
NXP S32K3xx系列微控制器,相比較上個系列S32K1xx來說存在著諸多亮點,從主頻,外設資源、安全等級以及安全加密等都有很大的提升。雖然S32K3是S32K1的升級版,但是很多外設以及功能實現方式卻完全不同。單純從電機控制方面來說,S32K3xx硬件外設eMIOS、LCU、BCTU和ADC的組合方式,相比較S32K1xx的FTM、PDB和ADC明顯不同,對電機的控制更加靈活方便。
S32K3xx系列微控制器具有生成PWM、輸入捕獲和輸出比較功能的eMIOS、可以自由靈活配置的小型FPGA外設LCU、專門為了方便控制ADC觸發的BCTU和多路ADC通道。S32K3這些硬件資源足以對PMSM、BLDC和ACIM等電機進行控制。下面一起來了解S32K3xx eMIOS、LCU、BCTU和ADC外設的功能介紹。
eMIOS
eMIOS(Enhanced Modular IO Subsystem,增強型模塊化IO子系統),該外設主要用于生成PWM、捕獲外部信號和輸出比較。eMIOS內部有計數總線機制,可以支持各通道使用不同的時鐘頻率計數,且每個通道都是獨立,可以自由配置各種模式。 eMIOS通道可以配置的模式按照功能可以分類如下:
以S32K344舉例,其具有3個eMIOS實例,每個emios實例具有24個通道,每個通道有四種通道類型(X、Y、G和H)區分,比如Y類型通道就只支持SAIC SAOC OPWMB OPWMT功能,其他通道類型支持的模式可以在用戶手冊自行查找。 但并不是所有模式只要一個通道配置成該模式,該模式功能就可以實現的。有些模式是需要用另一個通道配置成計數總線模式,用另一個通道給該模式提供時鐘頻率,該模式才可以正常工作。比如以OPWMT模式為例,手冊規定OPWMT模式時鐘必須是由MC或者MCB模式通道提供,所以就需要將一個通道配置成MC或者MCB模式去提供時鐘,另一個通道配置成OPWMT模式才能起作用。
LCU
LCU(Logic Control Unit,邏輯控制單元), LCU用于創建小型組合時序邏輯電路,該外設主要是與eMIOS或者SIUL2外設組合使用,將eMIOS生成的PWM或者SIUL2輸入的電平經過LCU進行查表操作,從而輸出對應的PWM或者電平。因為LCU可以理解為一個FPGA,其實現邏輯電路的靈活性也給電機控制提供了更多可能性。 一個LCU內部由3個LC組成,一個LC具有4個輸入和4個輸出,同時還具有強制控制功能,如圖1所示。LC將輸入的信號,通過查找表(LUT)產生輸出信號,可以通過TRGMUX給到對應的外設,而查找表(LUT)就是LCU的核心內容,可由軟件自由設置。用戶可以使用LCU編程為與或非和異或等邏輯器件,也可以編程為S-R觸發器,D觸發器,JK觸發器,增量編碼器以及ACIM、PMSM和BLDC電機控制器。
圖1LCU內部框圖
eMIOS+LCU組合使用
eMIOS和LCU的組合使用需要借助TRGMUX進行連接。以產生互補的PWM為例,如圖2所示,eMIOS產生的PWM,通過TRGMUX連接到LCU其中一個LC的輸入,LC內部進行查表,從而在LC的輸出端產生一對互補的PWM波形。
圖2 eMIOS和LCU組合使用
這上面只是eMIOS+LCU的一個應用,還可以有其他的應用方式,具體要根據實際場景進行使用。
ADC
S32K3XX系列微控制器ADC具有可選分辨率:8/10/12/14 bit,轉化結果始終為15bit寬;在80MHz轉化時鐘下采樣和轉化時間約為1us,即高達1M samples/sec,且轉化精度為+/-6LSB。
S32K3XX系列微控制器最多有3個ADC,每個ADC具有8個精密通道,16個標準通道,和最多支持32路外部通道,這三種通道的轉化優先級順序為:精密通道>標準通道>外部通道。其中精密通道和標準通道是實實在在可以在芯片引腳上可以找到復用引腳的,但外部通道卻不一樣,看手冊描述一個ADC支持32路外部通道ADC,但看說手冊發現一個ADC的外部通道輸入引腳就只有4個,那么怎么支持32路外部通道呢? 每個ADC提供三個外部解碼信號(“MA”),用于從外部多路選擇器選擇一個通道(最多八個)輸入到ADC的外部通道引腳,如圖3所示。因為一個ADC有4個外部通道輸入引腳,就可以有四個8通道數據選擇器,所以最多連接32個外部通道。需要注意的是,ADCx_MA是格雷編碼的,因此它不會從0到7連續計數,它計數順序為0、1,3,2,6,7,5,4。
圖3ADC外部通道硬件實現框圖
ADC支持三種轉化模式:
正常轉換:支持一次轉換和連續轉換。
注入轉換:僅支持單次轉換。注入轉換可以在一組輸入通道已經開始轉化的過程中,注入另一組輸入通道進行轉換。
BCTU轉換:由BCTU外設觸發ADC,每次觸發運行一次轉換,轉化支持單一和列表轉化。
BCTU
BCTU(Body Cross-triggering Unit),BCTU外設可以理解就是為了方便控制ADC觸發的外設。BCTU用于接收ADC轉化請求觸發輸入,將請求路由到一個或多個ADC。BCUT觸發源有三種方式:eMIOS定時器通道;TRGMUX輸入和軟件觸發。BCTU具有多個并行轉換功能,可以同時觸發3個ADC同時進行轉化,使用eMIOS同時觸發ADC的框圖如圖4所示:
圖4BCTU同時觸發多個ADC
并且,BCTU還具有對ADC通道有重復觸發的功能,支持單個通道轉化多次、單個觸發產生一連串的轉化、以及轉化過程中暫停,等另一個觸發過來再轉化等功能,同時每個ADC具有兩個FIFO來緩存ADC轉化結果。
應用場景
如圖5所示是S32K3xx外設硬件對帶霍爾傳感器的無刷直流電機BLDC的控制框圖。
圖5S32K3xx對BLDC的控制框圖
圖中①路徑是通過“eMIOS-TRGMUX-LCU”輸出六路三相PWM,從而給到三相無刷電機預驅動器對電機進行控制;
圖中②路徑是通過“TRGMUX-LCU-TRGMUX-eMIOS”獲取霍爾傳感器的速度,通過TRGMUX和LCU結合,實現了根據霍爾信號硬件自動換向的,無需內核的干預。 圖中③路徑是通過“eMIOS-BCTU-ADC”或者eMIOS重裝載時通過“EMIOS-TRGMUX-BCTU-ADC”觸發ADC采集外部電壓。
審核編輯:湯梓紅
-
微控制器
+關注
關注
48文章
7649瀏覽量
152111 -
NXP
+關注
關注
60文章
1289瀏覽量
185497 -
電機控制
+關注
關注
3540文章
1896瀏覽量
269259 -
adc
+關注
關注
99文章
6533瀏覽量
545757 -
LCU
+關注
關注
0文章
9瀏覽量
3695
原文標題:【技術分享】S32K3電機控制資源精華匯總
文章出處:【微信號:立功科技,微信公眾號:立功科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論