今天写的不顺畅,一个AD写了八个小时,然后一个温度传感器又卡了四个小时,哎,没人能一马平川,特别是搞技术,我们的目的不是走马观花式的学习,而是真正了解寄存器的操作,不要怕时间不够,就怕时间花了还吃不透,反而透露着阿Q精神安慰自己,我们不要这样。
来来来,直接进入比较器的学习。
可以提供两个外部模拟输入,一个DAC内部基准;输出可以异步传输,也可以通过限定单元与系统时钟周期同步,进行简单滤波;输出被传送到ePWM触发区(Trip Zone)模块和GPIO输出多路复用器。
比较器大家应该是不陌生的,两路输入,当正极输入大于负极时,输出高电平;反之输出低电平,下面是真值表
每个比较器模块都包含一个10位的DAC电压基准。电压输出大小由DACVAL寄存器或者斜坡发生器控制,这个由第一个比较器的图解大家就可以了解到。
当DACVAL寄存器选择为DAC的输入时,输出大小为
现在来说下斜坡发生器这个,稍微复杂一点
在这种模式下,是把RAMPSTS寄存器的前十位当做DAC的输入
上面看了斜坡发生器的结构图,下面就是它的控制型号
现在来说比较器的操作了:
操作大概步骤如下:
1、使能ADC内的帶隙:ADCTRL1.ADCBGPWD=1;
2、使能比较器模块:COMPCTL.RAMPMAXREF=1;
3、使能COMP时钟:PCLKR3.COMPxENCLK=1;
4、GPIO和AIO引脚复用设置;
5、若用DAC,使能VSSA:ADCTRL1.VREFLOCONV,设置DACVAL.DACVAL,COMP控制寄存器COMPCTL设置:使能、反向输入源、输出取反、同步等
现在来看下具体的寄存器,只有几个,我们耐