2.我要求外部ADC的时钟输入频率为5M(采样率为5M),由于读取ADC的转换数据(12位并行)需要外部接口XINTF模块,我本打算使用XINTF模块的XCLKOUT输出作为外部ADC的时钟信号,但是它的频率最小只能是SYSCLKOUT/4,我要求设置系统时钟为150M,所以满足不了5M时钟信号输出。 后来又用EPWM模块产生占空比为50%频率为5M的PWM,打算将...
(3).TBPRD:按照公式(不同计数模式的Tpwm公式不同)计算得出数,手动填入,例如要把PWM的频率、(即ADC的采样频率)设置为2000Hz: 1//Set Period for EPWM12//up-and-down count mode:3//Tpwm = 2*(1/TBCLK)*TBPRD;45//up-count mode or down-count mode:( use this mode here )6//Tpwm = (1/TBC...
Uint16 EPWM_SOCB_SEQ2:1; // 0 EPWM compare B SOC mask for SEQ2 增强PWM比较器B作为SEQ2的启动转换标志 Uint16 rsvd1:1; // 1 reserved Uint16 INT_MOD_SEQ2:1; // 2 SEQ2 Interrupt mode SEQ2终端模式 Uint16 INT_ENA_SEQ2:1; // 3 SEQ2 Interrupt enable SEQ2中断使能 Uint...
EPwm1Regs.ETPS.bit.INTPRD = 1; //每发生一次PWM中断发生事件,就产生一次PWM中断 3. ADC使用SOCx事件触发 EPWMSOCx触发ADC采集,这一操作是需要初始化配置确保一些内容使能。EPWM中设置: EPwm1Regs.ETSEL.bit.SOCBEN = 1;//使能ADC启动脉冲EPWM1SOCB EPwm1Regs.ETSEL.bit.SOCBSEL = 0x2; //TBCTR=TBPRD...
小弟最近用F28335开发一个项目需要使用F28335的片内ADC,于是配置了一个ePWM+ADC的采集模式,也成功了,基本搞清楚了ADC各个寄存器的作用,使用ePWM给ADC提供启停信号,并设置采样率,然后利用ADC完成转换的中断去操作数据,成功地完成了一个ePWM+ADC的基本配置,代码如下:...
ePWM_SOCA_SEQ1 0:SEQ1不能由ePWMx SOCA触发信号启动。1:可以 EXT_SOC_SEQ1 1:可以通过GPIOA口的信号启动ADC。该引脚被配置位GPIOXINT2SEL寄存器的XINT2 ADCTRL3: ADCBGRFDN[1:0] 00:带隙和参考电路掉电。11:带隙和参考电路上电。 ADCPWDN 0:模拟内核的除带隙和参考电路之外所有模拟电路掉电。1:上...
TMS320F28335的EPWM(不错)
产生到引脚的时钟同步输入和输出信号只能是 ePWM1 (ePWM module #1)o ePWM1 的同步输出信号 EPWM1 6、SYNCO 也连接到第一个增强捕获单元eCAP1模块的SYNCI.ADC start-of-conversion signals (EPWMxSOCA and EPWMxSOCB).每个ePWM模块有两个ADC开始转换信号(每个ADC转换序列一个) 任何ePWM模块都可触发任何一个序列...
这个时序表示的是ADC采用外部触发时的时序。触发信号从GPIO端口输入,这个端口是低电平有效,所以平时是拉高的,需要触发时按照开关特性的最低时间要求拉低。 但是这个最低时间要求也适用于EPWMSOC触发。 所以笼统地说应该是和我新标的红叉附近的位置对齐:
我在28335配置完EPWM后(没配置对应的GPIO,在后面统一配置), 再配置其他ADC外设, 最后配置GPIO 所有的GPIO上拉,再配置GPIO复用,PWM GPIO会有一段10us左右的输出, 但配置GPIO上拉和GPIO复用放在一起配置却没有了,这是什么原因? 原配置: sInitFlash(); ...