TMS320LF2407模数转换模块几种触发源的应用
介绍TMS320LF2407模数转换模块及几种触发器,讨论了如何使用不同的启动信号触发该模块来实现模数转换,以及在软件上的实现方法。
关键词:模数转换模块;触发源;数字信号处理器
LIU Jianhua, KANG Haiwei, ZHANG Jiancheng, GENG Peng
(Shijiazhuang Railway Institute, Shijiazhuang 050043, China)
1工作原理
TMS320LF240x DSP是TI公司的新一代产品,采用哈佛结构,3.3V供电,4级流水线作业,40MIPS的执行速度,指令周期为25ns;32K字的片内FLASH程序存储器,2.5K字的片内RAM,片内集成了2个事件管理模块EVA和EVB,具有16通道10位AD转换器、CAN、SPI、SCI通信模块等多种片内设备,几乎不用外接外设。并且该模块支持多种触发方式。
模数转换(ADC)模块包括2个8状态排序器(SEQ1和SEQ2),这两个排序器也可级联成一个16状态排序器(SEQ)。在这2种工作方式下,ADC模块能对任一转换序列(转换通道次序)进行排序转换;16个通道均可通过模拟输入通道的多路选择器来选择。转换结束后,所选通道的数字量保存在相应的结果寄存器(RESULTn)中,即第1个结果保存在RESULT0中,依此类推。也可对同一通道“过采样”。注意,DSP只有一个A/D转换器,在双排序模式下,该转换器被2个排序器(SEQ1和SEQ2)共享。
一个转换排序中的转换通道个数受MAXCONV寄存器中的某些位控制(详见ADC最大转换通道寄存器MAXCONV),它的值在转换开始时被自动装载到自动排序状态寄存器(AUTO-SEQ-SR)的排序计数器状态域(SEQCNTR3~0)中。MAXCONV域有一个0~15的值,对应转换通道个数(双排序模式下为0~7)。当排序器从状态CONV00开始依次进行时,SEQCNTRn从装载值开始向下计数,直到SEQCNTRn为0,一次自动排序中完成的转换数为MAXCONVn+1。?
TMS320LF240x DSP是TI公司的新一代产品,采用哈佛结构,3.3V供电,4级流水线作业,40MIPS的执行速度,指令周期为25ns;32K字的片内FLASH程序存储器,2.5K字的片内RAM,片内集成了2个事件管理模块EVA和EVB,具有16通道10位AD转换器、CAN、SPI、SCI通信模块等多种片内设备,几乎不用外接外设。并且该模块支持多种触发方式。
模数转换(ADC)模块包括2个8状态排序器(SEQ1和SEQ2),这两个排序器也可级联成一个16状态排序器(SEQ)。在这2种工作方式下,ADC模块能对任一转换序列(转换通道次序)进行排序转换;16个通道均可通过模拟输入通道的多路选择器来选择。转换结束后,所选通道的数字量保存在相应的结果寄存器(RESULTn)中,即第1个结果保存在RESULT0中,依此类推。也可对同一通道“过采样”。注意,DSP只有一个A/D转换器,在双排序模式下,该转换器被2个排序器(SEQ1和SEQ2)共享。
一个转换排序中的转换通道个数受MAXCONV寄存器中的某些位控制(详见ADC最大转换通道寄存器MAXCONV),它的值在转换开始时被自动装载到自动排序状态寄存器(AUTO-SEQ-SR)的排序计数器状态域(SEQCNTR3~0)中。MAXCONV域有一个0~15的值,对应转换通道个数(双排序模式下为0~7)。当排序器从状态CONV00开始依次进行时,SEQCNTRn从装载值开始向下计数,直到SEQCNTRn为0,一次自动排序中完成的转换数为MAXCONVn+1。?
TMS320LF2407中与模数转换模块(ADC)有关的寄存器在模数转换过程中起着重要作用。ADC模块中共有25个寄存器。限于篇幅,此处只简单介绍几个重要寄存器的相关位。
(1)ADC控制寄存器ADCTRL1
(1)ADC控制寄存器ADCTRL1
?
?
D12:SEQ1忙状态位。0:SEQ1处于空闲状态;1:SEQ1处于忙状态,一个转换序列正在进行。
D7:外部信号对SEQ1的启动转换位。1:允许一个来自ADCSOC引脚上的信号启动ADC自动转换序列;0:不起作用。
D5:SEQ2的转换启动A/D内部SOC触发器信号,可由多种触发源触发(见下文表1)。
(3)ADC最大转换通道寄存器MAXCONV
D7:外部信号对SEQ1的启动转换位。1:允许一个来自ADCSOC引脚上的信号启动ADC自动转换序列;0:不起作用。
D5:SEQ2的转换启动A/D内部SOC触发器信号,可由多种触发源触发(见下文表1)。
(3)ADC最大转换通道寄存器MAXCONV
?
级联模式下:D3~D0:SEQ的转换通道个数。
(4)ADC输入通道选择排序控制寄存器CHSELSEQ1~CHSELSEQ4(只介绍CHSELSEQl,其余类似)
(4)ADC输入通道选择排序控制寄存器CHSELSEQ1~CHSELSEQ4(只介绍CHSELSEQl,其余类似)
(5)ADC转换结果缓冲寄存器RESULT0~RESULT15?
每一个排序器都有一组能够被使能或禁止的触发源,见表1。
?
由软件向ADCTRL2的位13或位5写1可立即启动片内A/D;在双排序工作模式下位13启动SEQ1,位5启动SEQ2;在级联工作模式下位13启动SEQ,此时,SEQ2的触发信号被忽略。
例如,在级联工作模式下,软件启动SEQ:
?
3.2事件管理器EVA触发
在EVA中有多个A/D触发源,如定时器上溢、下溢、周期中断和比较中断事件。
事件管理模块EVA有2个通用定时器1和2,其分别包括以下主要模块:
①一个16位定时器比较寄存器TXCMPR(x=(1、2);②一个定时器周期寄存器TXPR(x=1、2);③一个16位定时器控制寄存器TXCON(x=1、2);④全局控制寄存器GPTCONA/B,对不同的定时器事件指定定时器采取的动作;⑤一个16位增/减计数器TXCNT(x=1、2)。
通用定时器的输出模块有启动ADC的功能。
下面以全局控制寄存器GPTCONA(对应定时器1和2)为例,简要介绍一下怎样用定时器启动ADC。
全局控制寄存器GPTCONA:
例如,在级联工作模式下,软件启动SEQ:
?
3.2事件管理器EVA触发
在EVA中有多个A/D触发源,如定时器上溢、下溢、周期中断和比较中断事件。
事件管理模块EVA有2个通用定时器1和2,其分别包括以下主要模块:
①一个16位定时器比较寄存器TXCMPR(x=(1、2);②一个定时器周期寄存器TXPR(x=1、2);③一个16位定时器控制寄存器TXCON(x=1、2);④全局控制寄存器GPTCONA/B,对不同的定时器事件指定定时器采取的动作;⑤一个16位增/减计数器TXCNT(x=1、2)。
通用定时器的输出模块有启动ADC的功能。
下面以全局控制寄存器GPTCONA(对应定时器1和2)为例,简要介绍一下怎样用定时器启动ADC。
全局控制寄存器GPTCONA:
?
10:设置周期中断标志启动ADC;即当定时器的计数器值与周期寄存器的值相同时,产生周期事件,如相应的中断使能,置相应的中断标志,启动ADC;
11:设置比较中断标志启动ADC;即当定时器的计数器值与比较寄存器的值相同时,产生比较事件,如相应的中断使能,置相应的中断标志,启动ADC。
D8~7:T1TOADC,与T2TOADC类似。
3.3事件管理器EVB触发
在EVB中有多个事件源,与EVA类似。
3.4外部电平触发
在XINT2/ADCSOC引脚出现电平跳变时,触发外部中断XINT2,同时也触发A/D转换。
引脚XINT2/ADCSOC作为A/D转换的触发源,通过设置外部中断2控制寄存器XINT2CR的位2来选择上升沿(位2=1)或下降沿(=0)产生中断触发ADC。?
11:设置比较中断标志启动ADC;即当定时器的计数器值与比较寄存器的值相同时,产生比较事件,如相应的中断使能,置相应的中断标志,启动ADC。
D8~7:T1TOADC,与T2TOADC类似。
3.3事件管理器EVB触发
在EVB中有多个事件源,与EVA类似。
3.4外部电平触发
在XINT2/ADCSOC引脚出现电平跳变时,触发外部中断XINT2,同时也触发A/D转换。
引脚XINT2/ADCSOC作为A/D转换的触发源,通过设置外部中断2控制寄存器XINT2CR的位2来选择上升沿(位2=1)或下降沿(=0)产生中断触发ADC。?
下面是一段ADSOC启动ADC的部分程序,利用XINT2引脚上升沿产生中断,在中断服务子程序中判断A/D是否转换结束,从而读取数据。
?
?
(1)启动模数转换之前,要复位ADC;
(2)在XINT2中断程序中,要清除XINT2中断标志,否则只能执行一次中断服务程序。
(2)在XINT2中断程序中,要清除XINT2中断标志,否则只能执行一次中断服务程序。
- 转换模(5169)
相关推荐
TMS320LF2407应用
本帖最后由 mr.pengyongche 于 2013-4-30 03:14 编辑
TMS320LF2407应用[url=www.6668.cc]
2012-08-19 20:50:53
为什么我使用TMS320LF2407仿真时不能保证每次都能GO MAIN?
问:我使用的是TMS320LF2407,但是仿真时不能保证每次都能GO MAIN。为啥呢????
2019-09-02 23:23:34
基于TMS320LF2407A的调音器设计
基于TMS320LF2407A的调音器设计 摘要:设计了一种基于数字信号处理芯片TMS320LF2407的调音器系统,以咪头拾取吉他弦音,将声音信号转换为电信号,再用模数转换器转换为数字信号,通过
2012-12-18 11:43:35
如何用C语言完成精确的软件延时完成DS18B20与TMS320LF2407之间的数据通讯?
TMS320LF2407与 DS18B20的连接方法是什么?如何用C语言完成精确的软件延时完成DS18B20与TMS320LF2407之间的数据通讯?
2021-05-07 06:51:19
怎样去设计一种基于DSP TMS320LF2407的真空断路器机械特性测试系统
真空断路器的工作原理是什么?TMS320F2407的功能结构是怎样构成的?怎样去设计一种基于DSP TMS320LF2407的真空断路器机械特性测试系统?
2021-09-18 06:10:13
用TMS320LF2407和FPGA实现电能质量监测
提出用TMS320LF2407 和FPGA实现电能监测的一种方案,阐述各模块的设计和实现方法。本方案中,FPGA 用于采样16 路交流信号并进行64 次谐波分析;DSP 用于电力参数的计算。为了提高其通
2009-04-16 09:49:1015
内嵌CAN控制器的TMS320LF2407 的CAN通信实例
本设计中的DSP芯片是TMS320LF2407自带CAN控制器。TMS320LF2407 的CAN控制器支持标准和扩展的信息帧,即CAN2.0A 和CAN2.0B协议
2009-04-16 11:08:2232
tms320lf2407/tms320lf2406中文资料
tms320lf2407/tms320lf2406是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,片内处理集成RAM、Flash及定时器外,还集成了A/D转换器、PWM控制器及CAN总线控制器等模
2009-04-20 10:42:201653
TMS320LF2407 DSP结构、原理及应用实验指导书
TMS320LF2407 DSP结构、原理及应用实验指导书:实验一 TMS320LF2407 DSP实验开发系统及CC软件应用一.实验说明 在本书的程序设计实例中,是以DSP微控制器TMS320LF24x芯片作为设
2009-05-12 08:33:28137
TMS320LF2407捕获单元CAP实验
TMS320LF2407捕获单元CAP实验实验目的:
1、掌握TMS320LF2407捕获单元CAP的工作原理
2、掌握TMS320LF2407捕获单元CAP程序设计
2008-10-17 22:31:562712
TMS320LF2407 CAN控制器实验
TMS320LF2407 CAN控制器实验实验目的:
1、掌握TMS320LF2407 CAN控制器模块的工作原理
2、掌握TMS320LF2407 CAN控制器模
2008-10-17 22:35:55949
TMS320LF2407事件管理器定时器1中断系统实验
TMS320LF2407事件管理器定时器1中断系统实验实验目的:
1、掌握TMS320LF2407事件管理器定
2008-10-17 22:52:241950
基于Matlab的TMS320LF2407程序快速设计
基于Matlab的TMS320LF2407程序快速设计
TMS320LF2407是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,
2009-04-20 10:46:321004
一种基于TMS320LF2407的并网逆变器控制策略
一种基于TMS320LF2407的并网逆变器控制策略
在分析倍频式SPWM并网逆变器电压相量图的基础上,提出了一种基于TMS320LF2407DSP芯片作为控制器的并网逆变器实现方案。该方案
2009-10-29 17:35:05946
TMS320LF2407在机车横向振动信号模数转化中的应用
基于TMS320LF2407 DSP模数转换模块(ADC)直接应用于机车横向振动信号A/D转化、实现串行高速采样的目的,采用对ADC模数转化进行软件编程的方法,通过合理安排转换通道、设计系统要求的
2011-09-19 15:44:2235
评论
查看更多