《《DSP的AD转换器》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《DSP的AD转换器》PPT课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 DSP的的A/D转换器转换器本章内容:本章内容:5.1 F281x281x的的A/D转换器的特点5.2 自动排序器原理自动排序器原理5.3 自动排序模式自动排序模式5.4 ADCADC时钟定标时钟定标5.5 ADCADC寄存器寄存器5.6 ADCADC的的C语言编程实例语言编程实例11/27/20221山东大学控制学院 张东亮5.1 F281x5.1 F281x的的A/DA/D转换器的特点转换器的特点 TMS320C281x DSP 控控制制器器是是一一种种32位位单单片片机机(Microcontroller),即即单单片片解解决决方方案案(Single Chip Solution
2、),也是由也是由CPU、存储器、接口等组成存储器、接口等组成。DSP控控制制器器片片内内接接口口部部件件(也也称称片片内内外外设设)有有数数字字I/O接接口口、模模/数数转转换换模模块块、事事件件管管理理器器模模块块、各各种种通通信信模模块块(包包括括SCI串串行行通通信信接接口口、SPI串串行行外外设设接接口口、CAN控控制制器器模模块块、多多通通道道缓缓冲冲串串口口McBSP)等。)等。11/27/20222山东大学控制学院 张东亮 281x DSP内部有一个内部有一个12位模位模/数转换器数转换器ADC(Analog to Digital Converter),可有可有16路模拟输入信号
3、路模拟输入信号,转换时间可以在转换时间可以在80 ns以内。以内。16个结果寄存器个结果寄存器ADCRESULT015存储转换结果。存储转换结果。A/DA/D转换器的特点转换器的特点 12位位ADC模块,内含采样模块,内含采样/保持电路。保持电路。同时采样或顺序采样模式。同时采样或顺序采样模式。模拟输入范围模拟输入范围03V。25 MHz的的ADC时钟频率,转换时间短。时钟频率,转换时间短。16通道,多路选通输入。通道,多路选通输入。可在一次采样中同时实现可在一次采样中同时实现16路自动转换的自动排序。路自动转换的自动排序。排序器可以作为两个独立的排序器可以作为两个独立的8通道排序器或一个通道
4、排序器或一个16通道排通道排序器序器(即级联模式即级联模式)。16个结果寄存器存储转换结果,皆可独立寻址。个结果寄存器存储转换结果,皆可独立寻址。11/27/20223山东大学控制学院 张东亮多个触发源可以启动多个触发源可以启动A/D转换。包括软件转换。包括软件(S/W,Software)启动、事件管理器启动、事件管理器A/B(多个触发源多个触发源)启动、启动、外部引脚触发启动。外部引脚触发启动。灵活的中断控制,允许每个排序的结束灵活的中断控制,允许每个排序的结束(EOS,End of Sequence)或每两次或每两次EOS申请中断一次。申请中断一次。排序器可以工作在启动排序器可以工作在启动
5、/停止模式,允许多个时间排停止模式,允许多个时间排序的触发源同步转换。序的触发源同步转换。EVA、EVB触发源可以独立工作在双排序器模式。触发源可以独立工作在双排序器模式。采样保持采样保持(S/H)获取时间窗有单独的预分频时钟。获取时间窗有单独的预分频时钟。11/27/20224山东大学控制学院 张东亮Control PeripheralsFast&Flexible 12-bit 16-Channel ADCl12.5 MSPS throughput(80ns pipeline conversion,200ns single conversion)lDual sample/hold enabl
6、e simultaneous sampling or sequencing sampling modeslAnalog input:0V to 3Vl16 channel,multiplexed inputslAuto Sequencer supports up to 16 conversions without CPU interventionlSequencer can be operated as two independent 8-state sequencers or as one large 16-state sequencerlSixteen result registers(i
7、ndividually addressable)to store conversion valuesADCOn-Chip 12-bit Analog-to-Digital Converter11/27/20225山东大学控制学院 张东亮ADCADC模块原理框图模块原理框图11/27/20226山东大学控制学院 张东亮ADCADC寄存器寄存器ADC控制寄存器控制寄存器1 1:ADCTRL1。ADC控制寄存器控制寄存器2:ADCTRL2。ADC控制寄存器控制寄存器3:ADCTRL3。最大通道转换最大通道转换寄存器寄存器:ADCMAXCONV。自动排序状态寄存器自动排序状态寄存器:ADCASEQSR
8、。ADC状态和标志寄存器状态和标志寄存器:ADCST。ADC输入通道排序寄存器输入通道排序寄存器:ADCCHSELSEQ14。ADC转换结果缓冲寄存器转换结果缓冲寄存器:ADCRESULT015。11/27/20227山东大学控制学院 张东亮5.2 5.2 自动排序器原理自动排序器原理 自动排序器可以对模拟通道的转换顺序进行排序。自动排序器可以对模拟通道的转换顺序进行排序。ADC排序器由两个排序器由两个8状态排序器状态排序器SEQ1和和SEQ2组成,组成,也可以级联成一个也可以级联成一个16状态排序器。这里的状态指排序器状态排序器。这里的状态指排序器中自动转换的数量。中自动转换的数量。排序器有
9、两种工作模式:单排序器即级联模式,排序器有两种工作模式:单排序器即级联模式,双排序器模式。双排序器模式。单排序器可以有单排序器可以有16个转换通道。双排序器模式为两个转换通道。双排序器模式为两个独立的个独立的8状态(或状态(或8通道)转换。通道)转换。11/27/20228山东大学控制学院 张东亮单排序器单排序器(级联级联)模式的自动排序模式的自动排序ADCADC框图框图11/27/20229山东大学控制学院 张东亮11/27/202210山东大学控制学院 张东亮双排序器模式的自动排序的双排序器模式的自动排序的ADCADC框图框图11/27/202211山东大学控制学院 张东亮11/27/20
10、2212山东大学控制学院 张东亮ADC单操作模式和级联操作模式比较单操作模式和级联操作模式比较特点特点单单8状态状态排序器排序器1(SEQ1)单单8状态状态排序器排序器2(SEQ2)级联级联16状态状态排序器排序器(SEQ)开始转换触发信号开始转换触发信号(SOC)EVA,软件软件,外部外部引脚引脚EVB,软件软件EVA,EVB,软件软件,外部引脚外部引脚最大转换数最大转换数(即排序器即排序器长度长度)8816自动停在排序器的结尾自动停在排序器的结尾(EOS)是是是是是是优先级优先级高高低低无效无效ADC转换结果寄存器转换结果寄存器07815015ADCCHSELSEQn位的位的分配分配CON
11、V00CONV07CONV08CONV15CONV00CONV1511/27/202213山东大学控制学院 张东亮5.3 5.3 自动排序模式自动排序模式 不间断的自动排序模式(不间断的自动排序模式(UninterruptUninterrupt AutosequencedAutosequenced ModeMode)即连续转换模式,在该模式下即连续转换模式,在该模式下SEQ1/SEQ2SEQ1/SEQ2能在一次排能在一次排序过程中序过程中,对多达对多达8 8个转换通道进行自动排序。个转换通道进行自动排序。例,采用例,采用SEQ1的双排序模式下的转换。的双排序模式下的转换。设在设在SEQ1中有中
12、有7路转换,即路转换,即 ADCINA2和和ADCINA3各两次,各两次,ADCINA6、ADCINA7和和ADCINB4各各1次。则次。则 ADCCHSELSEQ1:0 x3232 ADCCHSELSEQ2:0 x0C76MAXCONV1:61.1.不间断的自动排序模式不间断的自动排序模式11/27/202214山东大学控制学院 张东亮ADCCHSELSEQn各寄存器数值各寄存器数值Bits512Bits118Bits74Bits303232ADCCHSELSEQ1x0C76ADCCHSELSEQ2xxxxADCCHSELSEQ3xxxxADCCHSELSEQ411/27/202215山东大
13、学控制学院 张东亮事件管理器触发排序转换的例子事件管理器触发排序转换的例子2.2.排序器的启动排序器的启动/停止模式停止模式例,例,排序器的启动排序器的启动/停止停止操作。操作。要求触发要求触发1(定时器下溢)(定时器下溢)到来时,开始到来时,开始3个自动转个自动转换换(I1,I2,I3)。触发。触发2(定时器周期匹配)到(定时器周期匹配)到来时,开始另外来时,开始另外3个自动个自动转换转换(V1,V2,V3)。触发。触发事件事件1、2在时间上相差在时间上相差25微秒。微秒。11/27/202216山东大学控制学院 张东亮ADC输入通道选择控制寄存器输入通道选择控制寄存器ADCCHSELSEQ
14、n设置设置Bits512Bits118Bits74Bits30V1I3I2I1ADCCHSELSEQ1xxV3V2ADCCHSELSEQ2xxxxADCCHSELSEQ3xxxxADCCHSELSEQ411/27/202217山东大学控制学院 张东亮ADC结果寄存器结果寄存器ADC结果寄存器结果寄存器ADC转换结果转换结果ADC结果寄存器结果寄存器ADC转换结果转换结果ADCRESULT0I1ADCRESULT8xADCRESULT1I2ADCRESULT9xADCRESULT2I3ADCRESULT10 xADCRESULT3V1ADCRESULT11xADCRESULT4V2ADCRESU
15、LT12xADCRESULT5V3ADCRESULT13xADCRESULT6xADCRESULT14xADCRESULT7xADCRESULT15x11/27/202218山东大学控制学院 张东亮3.3.同时采样模式同时采样模式 ADC有同时采样两路有同时采样两路ADCINxx输入的能力,前提为输入的能力,前提为一路输入是一路输入是ADCINA0ADCINA7,另,另一路输入是一路输入是ADCINB0 ADCINB7,而且,而且两路输入的偏移量是对应的,两路输入的偏移量是对应的,例如例如ADCINA0 和和ADCINB0。11/27/202219山东大学控制学院 张东亮4.4.输入触发描述输
16、入触发描述不同排序器下的不同触发源不同排序器下的不同触发源SEQ1(排序器排序器1)SEQ2(排序器排序器2)级联排序器级联排序器SEQ软件触发软件触发(软件软件SOC)软件触发软件触发(软件软件SOC)软件触发软件触发(软件软件SOC)事件管理器事件管理器A(EVA SOC)事件管理器事件管理器B(EVB SOC)事件管理器事件管理器A(EVA SOC)外部外部SOC引脚引脚事件管理器事件管理器B(EVB SOC)外部外部SOC引脚引脚11/27/202220山东大学控制学院 张东亮排序转换中的中断操作模式排序转换中的中断操作模式5.5.排序器转换中的中断操作排序器转换中的中断操作有三种情况
17、,两有三种情况,两种中断模式。种中断模式。第一种情况:两次采样的采第一种情况:两次采样的采样数不一样。模式样数不一样。模式l中断操作中断操作(即每次即每次EOS都产生中断都产生中断)。第二种情况:两次采样的采第二种情况:两次采样的采样数一样。模式样数一样。模式2中断操作中断操作(即每即每2次次EOS产生产生1个中断个中断)。第三种情况:两次采样的采第三种情况:两次采样的采样数一样(虚读)。模式样数一样(虚读)。模式2中中断操作断操作(即每即每2次次EOS产生产生1个个中断中断)。11/27/202221山东大学控制学院 张东亮ADCADC内核时钟和采样保持时钟内核时钟和采样保持时钟通往通往AD
18、CADC的时钟链的时钟链5.4 ADC5.4 ADC时钟定标时钟定标11/27/202222山东大学控制学院 张东亮5.5 ADC5.5 ADC寄存器寄存器ADC控制寄存器控制寄存器1 1:ADCTRL1。ADC控制寄存器控制寄存器2:ADCTRL2。ADC控制寄存器控制寄存器3:ADCTRL3。ADC最大通道转换最大通道转换寄存器:寄存器:ADCMAXCONV。自动排序状态寄存器:自动排序状态寄存器:ADCASEQSR。ADC状态和标志寄存器:状态和标志寄存器:ADCST。ADC输入通道排序寄存器输入通道排序寄存器:ADCCHSELSEQ14。ADC转换结果缓冲寄存器转换结果缓冲寄存器:AD
19、CRESULT015。11/27/202223山东大学控制学院 张东亮ADC控制寄存器控制寄存器1 1:ADCTRL1位位14 RESET:模数转换模块软件复位位。模数转换模块软件复位位。位位1312 SUSMOD1SUSMOD0:仿真悬挂模式。:仿真悬挂模式。位位118 ACQ_PS3ACQ_PS0:采样时间窗宽度位。:采样时间窗宽度位。位位7 CPS:内核时钟预分频器:内核时钟预分频器。位位6 CONT RUN:连续运行位。:连续运行位。位位5 SEQ OVRD:排序器超越模式位。:排序器超越模式位。位位4 SEQ CASC:级联排序器工作模式位。:级联排序器工作模式位。11/27/202
20、224山东大学控制学院 张东亮ADC控制寄存器控制寄存器2:ADCTRL2位位15 EVB SOC SEQ:级联排序器模式下:级联排序器模式下EVB SOC使能位使能位位位14 RST SEQ1:复位排序器:复位排序器1位。位。位位13 SOC SEQ1:开始转换:开始转换SOC触发排序器触发排序器1。位位11 INT ENA SEQ1:排序器:排序器SEQ1的中断使能位。的中断使能位。位位10 INT MOD SEQ1:排序器:排序器SEQ1的中断模式控制位。的中断模式控制位。位位8 EVA SOC SEQ1:EVA对对SEQ1产生产生SOC信号的屏蔽位。信号的屏蔽位。11/27/20222
21、5山东大学控制学院 张东亮位位7 EXT SOC SEQ1:外部信号启动:外部信号启动SEQ1转换位。转换位。位位6 RST SEQ2:复位排序器:复位排序器2。位位5 SOC SEQ2:启动:启动SEQ2转换位转换位。位位3 INT ENA SEQ2:SEQ2的中断使能控制位。的中断使能控制位。位位2 INT MOD SEQ2:SEQ2的中断模式控制位。的中断模式控制位。位位0 EVB SOC SEQ2:EVB对对SEQ2产生产生SOC信号的屏蔽位。信号的屏蔽位。11/27/202226山东大学控制学院 张东亮ADC控制寄存器控制寄存器3:ADCTRL3位位76 ADCBGRFDN1、ADC
22、BGRFDN0:模数转换内部:模数转换内部带隙带隙(Bandgap)和参考电压源电路的电源上电。这两位控和参考电压源电路的电源上电。这两位控制制ADC内部参考电压源电路的上电与断电。内部参考电压源电路的上电与断电。位位5 ADCPWDN:模数转换模块掉电控制位。:模数转换模块掉电控制位。位位0 SMODE_SEL:采样模式选择位。:采样模式选择位。11/27/202227山东大学控制学院 张东亮位位41 ADCCLKPS30:内核时钟分频器。:内核时钟分频器。ADC时钟分频情况时钟分频情况 ADCCLKPS30内核时钟分频内核时钟分频ADCLK00000HSPCLK/(ADCTRLl7+1)0
23、00l1HSPCLK/2*(ADCTRLl7+1)00102HSPCLK/4*(ADCTRLl7+1)111014HSPCLK/28*(ADCTRLl7+1)111115HSPCLK/30*(ADCTRLl7+1)11/27/202228山东大学控制学院 张东亮最大通道转换最大通道转换寄存器:寄存器:ADCMAXCONV位位60 MAX CONVn:定义一次自动转换最多可以转换:定义一次自动转换最多可以转换的通道个数。一次转换的个数为的通道个数。一次转换的个数为MAX CONVn+1。11/27/202229山东大学控制学院 张东亮自动排序状态寄存器:自动排序状态寄存器:ADCASSR 位位1
24、18 SEQ CNTR30:排序计数器状态位。在转换排:排序计数器状态位。在转换排序开始时,序开始时,SEQ CNTR30初始化为初始化为MAX CONV中的值。中的值。在一个自动转换排序的每一个转换之后,排序器的计数器减在一个自动转换排序的每一个转换之后,排序器的计数器减1。位位60 是排序器是排序器SEQ2和和SEQ1的指针。作为的指针。作为TI测试用。测试用。11/27/202230山东大学控制学院 张东亮ADC状态和标志寄存器:状态和标志寄存器:ADCST位位7 EOS BUF2:SEQ2的排序缓冲器结束位。的排序缓冲器结束位。位位6 EOS BUF1:SEQ1的排序缓冲器结束位。的排
25、序缓冲器结束位。位位5 INT SEQ2 CLR:SEQ2中断清零位。中断清零位。位位4 INT SEQ1 CLR:SEQ1中断清零位。中断清零位。位位3 SEQ2 BSY:SEQ2忙状态位。忙状态位。位位2 SEQ1 BSY:SEQ1忙状态位。忙状态位。位位1 INT SEQ2:SEQ2中断标志位中断标志位。位位0 INT SEQ1:SEQ1中断标志位中断标志位。11/27/202231山东大学控制学院 张东亮ADC输入通道排序寄存器输入通道排序寄存器:ADCCHSELSEQ14 每每4位的位的CONVnn选择选择16路模拟输入通道中的一个作为路模拟输入通道中的一个作为自动排序的转换通道自动
26、排序的转换通道。11/27/202232山东大学控制学院 张东亮ADC转换结果缓冲寄存器转换结果缓冲寄存器:ADCRESULT015 寄存器寄存器ADCRESULTn中中12位转换结果是左对齐的,位转换结果是左对齐的,即存放在即存放在16位寄存器的高位寄存器的高12位。位。11/27/202233山东大学控制学院 张东亮5.6 ADC的的C语言编程实例语言编程实例 例,例,A/D转换程序。采用双排序器和顺序采样模式转换程序。采用双排序器和顺序采样模式,排序器排序器SEQ1对两个模拟输入通道对两个模拟输入通道ADCINA0和和ADCINA1的电压信号进行自动转换。排序器采用事件管理器的电压信号进
27、行自动转换。排序器采用事件管理器EVA(T1)的下溢中断标志作为触发启动信号。使用的下溢中断标志作为触发启动信号。使用ADC模模块的中断方式,每次排序结束块的中断方式,每次排序结束(EOS)都产生中断。在中断都产生中断。在中断服务程序中,读取模拟量的转换结果并存储到两个长度为服务程序中,读取模拟量的转换结果并存储到两个长度为1024的数组的数组Voltage1和和Voltage2中。中。11/27/202234山东大学控制学院 张东亮#include“DSP281x_Device.h”/DSP281x 寄存器头文件寄存器头文件interrupt void adc_isr(void);/ADC中
28、断函数声明中断函数声明/Global variables used in this example 全局变量定义全局变量定义 Uint16 ConversionCount;/转换次数计数转换次数计数 Uint16 Voltage11024;/模拟输入模拟输入ADCINA0的电压转换结果存储数组的电压转换结果存储数组 Uint16 Voltage21024;/模拟输入模拟输入ADCINA1的电压转换结果存储数组的电压转换结果存储数组 main()InitSysCtrl();/初始化初始化PLL,WD,外设时钟外设时钟 DINT;/关中断关中断 InitPieCtrl();/初始化初始化pie寄存
29、器寄存器 IER=0 x0000;/禁止所有的中断禁止所有的中断 IFR=0 x0000;InitPieVectTable();/初始化初始化pie中断向量表中断向量表 EALLOW;/使能中断向量表写入使能中断向量表写入 11/27/202235山东大学控制学院 张东亮 PieVectTable.ADCINT=&adc_isr;EDIS;/中断向量表保护中断向量表保护 AdcRegs.ADCTRL1.bit.RESET=1;/Reset the ADC module asm(RPT#10|NOP);/Wait 12-cycles for ADC reset to take effect Ad
30、cRegs.ADCTRL3.all=0 x00C8;/first power-up ref and bandgap circuits AdcRegs.ADCTRL3.bit.ADCBGRFDN=0 x3;/Power up bandgap/ref circuitry AdcRegs.ADCTRL3.bit.ADCPWDN=1;/Power up rest of ADC /Enable ADCINT in PIE PieCtrlRegs.PIEIER1.bit.INTx6=1;IER|=M_INT1;/Enable CPU Interrupt 1 EINT;/Enable Global inte
31、rrupt INTM ERTM;/Enable Global realtime interrupt DBGM ConversionCount=0;/Configure ADC AdcRegs.ADCMAXCONV.all=0 x0001;/Setup 2 convs on SEQ1 AdcRegs.ADCCHSELSEQ1.bit.CONV00=0 x0;/ADCINA0 as 1st SEQ1 AdcRegs.ADCCHSELSEQ1.bit.CONV01=0 x1;/ADCINA1 as 2nd SEQ111/27/202236山东大学控制学院 张东亮 AdcRegs.ADCTRL2.bi
32、t.EVA_SOC_SEQ1=1;/Enable EVASOC to start SEQ1 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;/Enable SEQ1 interrupt(every EOS)/Configure EVA /Assumes EVA Clock is already enabled in InitSysCtrl();EvaRegs.T1CMPR=0 x0080;/Setup T1 compare value EvaRegs.T1PR=0 x10;/Setup period register EvaRegs.GPTCONA.bit.T1TOADC
33、=1;/Enable EVASOC in EVA EvaRegs.T1CON.all=0 x1042;/Enable T1 compare(upcount mode)/Wait for ADC interrupt while(1)1;interrupt void adc_isr(void)Voltage1ConversionCount=AdcRegs.ADCRESULT0 4;Voltage2ConversionCount=AdcRegs.ADCRESULT1 4;/If 40 conversions have been logged,start over11/27/202237山东大学控制学
34、院 张东亮if(ConversionCount=1023)ConversionCount=0;else ConversionCount+;/Reinitialize for next ADC sequence AdcRegs.ADCTRL2.bit.RST_SEQ1=1;/Reset SEQ1 AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;/Clear INT SEQ1 bit PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;/Acknowledge interrupt to PIE return;11/27/202238山东大学控制学院 张东亮思
35、考题与习题思考题与习题1.简述简述 281x DSP的的AD转换器的特点。转换器的特点。2.简述简述281x自动排序器的原理。自动排序器的原理。3.281x ADC的时钟是如何确定的?的时钟是如何确定的?4.281x A/D转换器有哪些寄存器?如何使用?转换器有哪些寄存器?如何使用?5.编编程程采采用用双双排排序序器器和和顺顺序序采采样样模模式式,排排序序器器SEQ1对对两两个个模模拟拟输输入入通通道道ADCINA5和和ADCINA6的的电电压压信信号号进进行行自自动动转转换换。排排序序器器采采用用事事件件管管理理器器EVA(T1)的的周周期期匹匹配配中中断断标标志志作作为为触触发发启启动动信信号号,T1定定时时50s。使使用用ADC模模块块的的中中断断方方式式,每每次次排排序序结结束束(EOS)都都产产生生中中断断。在在中中断断服服务务程程序序中中,读读取取模模拟拟量量的的转转换换结结果果并并存存储储到到两两个个长长度度为为200的的数数组组Voltage1和和Voltage2中中。设设CPU时钟频率为时钟频率为150MHz。11/27/202239山东大学控制学院 张东亮
限制150内