paradoxfx

【原创】TI C2833x介绍---系统自带的ADC(14)

对漂移误差的校正也可以用一种“全手动”的方式,即不去管ADCOFFTRIM寄存器的值,在使用默认的BootROM修正的情况下,只需要在ADC输入管脚接地时,读取ADC转换结果寄存器的值,这也相当于一个漂移值;只要以后每次在该通道的转换结果中减掉漂移值就行了。前者因为在寄存

【原创】TI C2833x介绍---系统自带的ADC(13)

在F28335的器件手册中指出,如果ADC的校准例程被从引导ROM执行,则ADC增益误差和偏移误差参数只为额定值,即使用BootROM中的程序对ADC模块的校正之后的偏移误差的范围是±15LSB(最低有效位),带有内部基准的总增益误差的范围是±30LSB。一般情况下,这样的误差范围可以

【原创】TI C2833x介绍---系统自带的ADC(12)

在28335的前一代主流产品,即TMS320F2812那一代,DSP片上自带的AD对外部电路的设计精度要求很高,不然ADC的采样精度很容易受到一些非线性因素的影响,当初TI提供了一些软件程序来帮助我们减少这种影响。在F28335这一代,TI将相关的非线性校正程序和数据存在了片内的固件

【原创】TI C2833x介绍---系统自带的ADC(11)

28335自带的ADC只能处理0-3V的模拟量输入信号,而在很多情况下,特别是在电机控制系统之中,很多必须被采样的模拟量,比如电网电压、电动机的电流等都是交流信号,经过传感器或者采样电阻之后仍然为交流,这就带来了一个问题,必须把交流、双极性的信号转换为0-3V的信号

【原创】TI C2833x介绍---系统自带的ADC(10)

【原创】TIC2833x介绍---系统自带的ADC(10)说了半天ADC的处理过程,那ADC的转换结果是最终如何处理的呢?因为F28x的ADC有16个模拟量输入管脚,所以对应的结果寄存器也有16个,即AdcRegs.ADCRESULTx,x的值从0到15。F28x片上自带的AD是12位精度,但是结果寄存器是16位的

【原创】TI C2833x介绍---系统自带的ADC(9)

继续上次的例子:在把ADC模块设置为级联序列发生器模式,并且设置为序列采样模式之后,把MAX_CONV1设定为2,则通道选择序列控制器ADCCHSELSEQ中的位对应的转换量的映射关系为:图1通道与转换量的映射详细分析整个转换过程的具体流程如下:1.按照图1将通道与被采用

【原创】TI C2833x介绍---系统自带的ADC(8)

序列发生器(SEQ1、SEQ2或SEQ)可以在时序上互相独立,并且与多个触发信号SOC同步停止/启动,即ADC模块的启动/停止模式。在此模式下,序列发生器在完成其某次序列转换之后,可以不需要复位序列发生器,并且在触发条件满足时重新触发(这点在使用定时中断来启动ADC转换时

【原创】TI C2833x介绍---系统自带的ADC(7)

28335的ADC有16个通道,可以通过最大转换通道寄存器AdcRegs.ADCMAXCONV来配置每次触发ADC采样所转换的通道数量,该寄存器的位说明如图1所示。图1ADCMAXCONV寄存器在级联模式下,最大转换通道数由低4位控制;在双序列发生器模式下,SEQ1对应0-2位,SEQ2对应4-6位。

【原创】TI C2833x介绍---系统自带的ADC(6)

继续关于ADCTRL寄存器的内容,ADCTRL2的低八位的含义是:7:序列发生器SEQ1的外部启动转换信号SOC。写0的时候不起作用,写1的话则通过ADCSOC管脚输入SOC信号。28335的外部ADCSOC管脚共有两个,都是复用的GPIO,在QFP176封装的情况下,分别是75:GPIO33/SCLA/EPWMS

【原创】TI C2833x介绍---系统自带的ADC(5)

继续关于ADCTRL寄存器的内容,ADCTRL1的低五位的含义是:4:级联模式:即配置两个序列发生器是工作在两个8状态的双序列发生器模式(位为0),还是一个16位状态的级联模式(位为1)。3-0:目前没有用到,是保留位,同时为以后的新器件功能升级留出余地。再看ADCTRL

【原创】TI C2833x介绍---系统自带的ADC(4)

28335片上自带的ADC在使用上相对其它外设模块来讲并不复杂,只要掌握了其最重要的3个控制寄存器的原理并争取配置,在合格的采样电路设计下就能够完成高速高精度采样了。这3个控制寄存器即3个16位的ADCTRL1、ADCTRL2和ADCTRL3。首先看ADCTRL1的位说明:图1ADCTRL1&

【原创】TI C2833x介绍---系统自带的ADC(3)

ADC模块的时钟信号由系统高速时钟信号HSPCLK经过分频等操作转换而来。从DSP的外部有源晶振或者无源晶体输出的30MHz脉冲信号,到最终我们得到ADC模块的运行时钟信号,中间经过了相当多的步骤,总结下来一步一步如下:1.外部有

【原创】TI C2833x介绍---系统自带的ADC(2)

28335自带ADC模块的框图如图1、2所示图1ADC模块功能框图-双序列发生器模式图2ADC模块功能框图-级联模式片上ADC一共有16个输入通道,可配置为两个独立的8通道模块,如图1所示;也可将2个独立的8通道模块级联成1个16通道模块,如图2所示。每8个通道复用

【原创】TI C2833x介绍---系统自带的ADC(1)

28335这样的DSC相比普通的处理器,甚至是VC33这样的通用处理器更适合于进行电机控制处理的一大明显优势在于,它内置了大量专门适合于电机控制应用的外设,比如ADC、EPWM、SCI等模块。因为一个片子上既有数字信号,比如I/O等,也有大量的

【原创】TI C2833x介绍---系统的初始化(13)

EALLOW和EDIS我们在前面用到的时候也曾经提到过,不过不是专门描述的所以不是很具体。这次有时间了专门把它们总结一下。EALLOW就是EmulationAllow的缩写,即仿真器存取允许;在使用EALLOW指令的情况下(令CPU状态寄存器ST1里面的EALLOW=1),可以使用仿真器通过JTAG协议
Baidu
map