概述
SAR ADC支持CPU觸發(fā)、PWM觸發(fā)及EXTIO觸發(fā)。通過將SAR ADC CTRL寄存器中TRIG進(jìn)行設(shè)置,該設(shè)置對所有選中通道均有效,當(dāng)不同通道需要不同觸發(fā)方式時(shí),需要在采樣間隔配置TRIG位進(jìn)行切換。
PWM觸發(fā)操作方式如下:
PWM配置所需模式,將SARADC的CTRL寄存器中TRIG方式設(shè)置為PWM觸發(fā)。每路PWM對應(yīng)一個ADTRG寄存器值,當(dāng)PWM計(jì)數(shù)到指定值,可觸發(fā)ADC進(jìn)行采樣。PWM在任意模式下可以觸發(fā)ADC,每一路輸出獨(dú)立的ADC觸發(fā)信號,且每個周期可以設(shè)置1個ADC觸發(fā)點(diǎn),每個PWM只輸出一個觸發(fā)信號,不區(qū)分A.B分別觸發(fā)。
具體配置方式如下(以ADTRG0A0為例):
1、PWM配置所需模式
2、配置PWM模塊ADTRG0A0數(shù)值,該數(shù)值為觸發(fā)延時(shí)時(shí)長,在中心對稱模式下,前半周期從周期起始記,后半周期采樣點(diǎn)與前半周期中心對稱
3、使能ADTRG0A0寄存器EN位
4、配置ADC寄存器中TRIG寄存器A0對應(yīng)位,確認(rèn)該通道未被屏蔽
5、使能PWM模塊EN位,當(dāng)計(jì)數(shù)值到達(dá)ADTRG0A0設(shè)置值時(shí),觸發(fā)ADCCTRL寄存器中選中的通道(CHx)進(jìn)行采樣,采樣完成后,將產(chǎn)生EOC標(biāo)志位,并產(chǎn)生ADC中斷
程序中配置如下(PWM觸發(fā)ADC轉(zhuǎn)換):
//ADC初始化
void SVPWM_ADC_Init(void)
{
ADC_InitStructure ADC_initStruct;
PORT_Init(PORTA, PIN8, PORTA_PIN8_ADC0_CH7, 0); //PA.8 =》 ADC0.CH7
PORT_Init(PORTB, PIN9, PORTB_PIN9_ADC0_CH8, 0); //PB.9 =》 ADC0.CH8
ADC_initStruct.clk_src = ADC_CLKSRC_HRC_DIV8;
ADC_initStruct.clk_div = 8;
ADC_initStruct.ref_src = ADC_REFSRC_VDD; //電壓基準(zhǔn)選擇VDD
ADC_initStruct.channels = ADC_CH7 | ADC_CH8; //通道初始化
ADC_initStruct.samplAvg = ADC_AVG_SAMPLE8;
ADC_initStruct.trig_src = ADC_TRIGGER_PWM0; //設(shè)置PWM0觸發(fā)ADC轉(zhuǎn)換
ADC_initStruct.Continue = 0;//非連續(xù)模式,即單次模式
ADC_initStruct.EOC_IEn = ADC_CH8; //設(shè)置CH8為中斷
ADC_initStruct.OVF_IEn = 0;
ADC_Init(ADC0, &ADC_initStruct);//配置ADC
ADC0-》CHSEL = ((ADC_CH8 《《 ADC_CHSEL_PWM_Pos) | (ADC_CH7 《《 ADC_CHSEL_PWM_Pos)); //設(shè)置PWM觸發(fā)CH7、CH8通道轉(zhuǎn)換
ADC_Open(ADC0);//使能ADC
}
//ADC中斷
void ADC0_Handler(void)
{
ADC_IntEOCClr(ADC0, ADC_CH8); //清中斷
while (!ADC_IsEOC(ADC0, ADC_CH8)); //等待通道8轉(zhuǎn)換完成
ADC_Read(ADC0, ADC_CH7); //讀取ADC值
ADC_Read(ADC0, ADC_CH8);
}
具體詳情可登錄華芯微特官網(wǎng):http://www.synwit.cn/
編輯:jq
-
寄存器
+關(guān)注
關(guān)注
31文章
5427瀏覽量
123735 -
PWM
+關(guān)注
關(guān)注
116文章
5437瀏覽量
218529 -
adc
+關(guān)注
關(guān)注
99文章
6659瀏覽量
548547
原文標(biāo)題:SWM20x系列電機(jī)框架搭建:ADC(雙電阻采樣)篇
文章出處:【微信號:gh_737991c81b3d,微信公眾號:恒美股份】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
電機(jī)控制單電阻采樣PWM變形信號的產(chǎn)生

stm32雙ADC采樣異常的原因?
永磁同步電機(jī)FOC控制策略中三相相電流采樣思路分析【雙電阻采樣】
1小時(shí)搭建雙FOC電機(jī)控制平臺
如何使用單極性ADC對雙極性信號進(jìn)行采樣呢?
AD7608:8通道DAS,內(nèi)置18位、雙極性、同步采樣ADC

AD7607:8通道DAS,內(nèi)置14位、雙極性輸入、同步采樣ADC

AD7616-P:16通道DAS,帶16位、雙極性輸入、雙同步采樣ADC數(shù)據(jù)表

AD7863:同步采樣雙175 kSPS 14位ADC數(shù)據(jù)表

AD7352:差分輸入、雙采樣、同時(shí)采樣、3 MSPS、12位、SAR ADC數(shù)據(jù)表

AD7357:差分輸入、雙采樣、同時(shí)采樣、4.2 MSPS、14位、SAR ADC數(shù)據(jù)表

用于電機(jī)控制單電阻采樣PWM變形信號產(chǎn)生
STM32驅(qū)動無刷直流電機(jī)學(xué)習(xí)之ADC電流采樣

評論