当前位置:首页 > 单片机 > 单片机
[导读]设计了利用TMS320LF2407A与EPM3032A控制的ADS7805多通道采集系统的逻辑结构,介绍了系统的工作原理,详细描述了ADS7805、DSP及CPLD之间接口的硬件与软件设计。

摘要  设计了利用TMS320LF2407A与EPM3032A控制的ADS7805多通道采集系统的逻辑结构,介绍了系统的工作原理,详细描述了ADS7805、DSPCPLD之间接口的硬件与软件设计。
关键词  DSP;CPLD;ADS7805

0 引言

    用于实时控制的嵌入式系统有多路模拟量输入,要求对多路输入进行连续扫描并进行高速高精度处理,具有16位16路差分输入通道的ADS7805能够满足系统通道数量及精度的要求。通道的快速切换及系统关键控制信号的产生成为制约系统性能的瓶颈,利用TMS320LF2407A丰富的I/O接口及高频时钟,配合EPM3032A灵活的译码功能,则可以控制ADS7805进行多个通道的高精度高速数据采集,由于采用了DSP与CPLD等可编程器件,系统可操作性得到了保证,也极大地简化了硬件电路。

1 系统结构设计

     系统以DSP与CPLD为核心构建,模拟信号从多路复用器接入,利用CPLD使能或禁止其输出,DSP的I/O引脚控制通道的选择,当选通一路时,多路复用器输出差分再经过运放转为单端信号作为ADC的输入,ADC片选由DSP的I/O引脚控制,启动由CPLD控制,当片选有效时启动ADC,并按照规定的时序控制片选信号,ADC开始工作,转换结果输出到CPLD译码得到的地址。ADC与DSP之间的缓冲器件用来做电平匹配,利用CPLD将其锁定在选通状态。ADC在转换完成时发起一个外部中断到DSP,请求DSP处理转换结果[1]。系统结构如图1所示。

2 硬件设计

    模拟信号输入到多路复用器ADG726(ADI公司产品),1.8~5.5V电源供电,由引脚VDD输入;接受16路差分或32路单端模拟信号输入(引脚S1A~S16A,S1B~S16B)。DA,DB为差分信号输出引脚;A0~A3是通道选择控制引脚。片选引脚CSA、CSB低电平有效。引脚EN、WR分别为芯片使能和写使能,EN低有效,WR上的有效电平波形如图2所示。

图1系统结构

图2 多路复用器ADG726的控制时序图

    信号从DA,DB引脚输出之后,在到达ADC之前先转成单端信号,这里采用ADI公司易用型运放AD620,±12V模拟电源供电,电路连接如图3所示。

图3 差分转单端电路

    ADI公司生产的低功耗16位模数转换器ADS7805为逐次逼近型结构,+5V单电源供电,标准±10V输入,最小采样率100KSPS。REF引脚接内部或者外部参考电压,用于设定模拟输入电压范围,与模拟地之间连接一个2.2μF的钽电容,本设计采用内部参考;VANA引脚是+5V模拟电源输入端,并联一个0.1μF和一个10μF的钽电容接到模拟地上;VDIG为数字电源输入端,直接连到VANA上。AGND1和AGND2是模拟地;CAP引脚为参考缓冲电容,与模拟地之间接一个2.2μF钽电容;DGND是数字地;BYTE引脚电平决定转换结果的字节位置,低电平时引脚6到13输出结果的高8位,引脚15到22输出结果的低8位,高电平时正好相反。当启动引脚R//C为低时,片选CS的下降沿激活一次转换。BUSY在转换时保持低电平,转换完成时变高。转换结果由16个引脚并行输出,经过缓冲74LVTH16245A做5V到3.3V的电平转换到DSP,输出引脚为三态驱动。ADS7805的控制时序如图4所示

图 4 ADS7805的控制时序

    系统的主控制器采用TI(德州仪器)公司的TMS320LF2407A,3.3V静态CMOS工艺,40MIPS,具有16位地址总线,16位数据总线,3个独立的存储空间,包括可用的64K字程序空间,35.5K字数据空间以及64K字I/O空间。访问不同的存储空间时,DSP有相应的引脚作为选通信号,即PS对应程序空间,DS对应数据空间,IS对应I/O空间,均为低电平有效。本设计将ADC映射到I/O空间。TMS320LF2407A具有丰富的通用数字I/O口,利用其中一个对ADS7805进行启动控制。通道选择也由数字I/O实现,利用DSP 4个I/O引脚作为ADG726的4-16译码输入可选择系统的16路差分。设计将ADC的BUSY引脚接到DSP的外部中断引脚XINT1上,当BUSY上升沿到来时,将触发DSP外部中断,中断的极性、优先级均可软件设定。EMP3032A是ALTERA公司推出的高性价比CPLD,在系统中用来控制ADC的引脚CS,配合引脚R//C来激活ADC,对CS的控制同时也将ADC映射在了DSP的I/O空间,因为使CS变为有效的控制逻辑来自于CPLD对DSP的4根地址线(A15到A12)及IS的译码。多路复用器的写使能由CPLD控制,即ADG726也被映射在DSP的I/O空间,这样设计的优点是对映射地址执行一个读操作就能得到需要的时序,虽然利用DSP的数字I/O引脚也能实现,但是需要在软件中模拟信号的时序,实现由高到低、延时并上跳变的过程,相对较复杂[2-4]

3 软件设计

    首先编写CPLD程序对ADG726及ADS7805进行地址译码,然后对CPLD在线编程生成译码电路。

/*--adc mux--*/

assign mux_wr=~((addr==4'h3)&(~is)&(~dsp_wr));//ADG726映射到I/O空间的地址0x3000~0x3FFF,得到写使能信号

assign mux_en=0;//ADG726的使能引脚始终有效

/*--adc--*/

assign buffer_cs=(~(addr==4'h0))|is;//ADC映射到I/O空间的地址0x0000~0x0FFF,得到缓冲器的片选信号

assign adc_cs=~((addr==4'h0)&(~is)&dsp_rdwr);//得到ADC的片选信号

    在DSP程序中,对0x3000~0x3FFF的任意地址执行一个读操作,由DSP选择的通道就被选通,信号由ADG726输出到运放AD620,差分转单端后输出到ADC。通过写数字I/O的控制寄存器,先将R//C拉低,再对I/O空间的0x0000~0x0FFF执行一个读操作,然后将R//C拉高,就启动了ADC。读0x0000~0x0FFF 其中任一个地址产生低电平的CS信号,该信号保持的时间由访问I/O空间的等待时间决定,通过设置等待状态寄存器来保证获得有效的延时时间。

/*--设置等待状态寄存器--*/

WSGR = 0x01C0;//bit8-6=111,访问I/O空间时插入7个等待状态

    ADC转换完成置BUSY为高电平,向DSP申请中断,相应中断被使能之后DSP开始处理中断服务程序,完成数据的读取与其他处理。

/*--初始化ADC字程序--*/

*MCRA &= 0xFC3F;//配置4个I/O引脚bit9-6为通用功能用于ADG726通道选择

*MCRB &= 0xFF7F;//bit7对应的I/O引脚控制R//C  

*PADATDIR |= 0xC000;//bit7-6配置为输出,对应通道选择的两个引脚

*PBDATDIR |= 0x0300;//bit1-0配置为输出,对应通道选择的另两个引脚

*PCDATDIR |= 0xC000;//bit6配置为输出,对应R//C

*XINT1CR |= 0x7;//上升沿有效,低优先级,使能外部中断

*IMR |= 0x20;//使能内核对应的中断  

/*--声明ADG726,ADC映射到的存储单元--*/

#define     AD_Output   port0000

volatile    ioport      unsigned int    port0000;

#define     mux_ad      port3000

volatile    ioport      unsigned int    port3000;

/*--ADG726通道选择函数--*/

*PADATDIR &= 0xFF3F;//bit7,bit6清0

*PBDATDIR &= 0xFFFC;//bit1,bit0 清0

*PADATDIR |= ( nChlNum & 0x3 ) << 6;//设置bit7,bit6

*PBDATDIR |= ( nChlNum & 0xC ) >> 2;//设置bit1,bit0

mux_ad = 0;//产生写使能信号

/*--主程序--*/

int temp;

……
AD_Init();//初始化

ADC_MUX(13);//选择通道13

/*--启动ADC--*/

*PCDATDIR &= 0xFF7F;//使AD_R/C*变低

temp=AD_Output;//产生有效的AD_CS*

*PCDATDIR |= 0x80;// 使AD_R/C*变高 

for(;;);//等待ADC中断

......

/*--中断服务程序--*/
int     AD_result;

*IFR = 0x20; //清除中断标志位,以响应后续中断

AD_result = AD_Output;//读转换结果

asm(“  clrc INTM”);//重新使能中断,因为一进服务程序中断就被禁止了

4 结束语

    本文设计了基于TMS320LF2407A与EPM3032A的ADS7805多通道采集系统,介绍了系统的工作原理,详细描述了ADS7805、DSP及CPLD之间接口的硬件与软件设计,该方案已在笔者参与研制的嵌入式实时控制系统中得到了成功应用。

参考文献

[1] 王文武,曹治国,张贵清等.基于FPGA和DSP的并行数据采集系统的设计[J].微计算机信息,2004-11,21-23
[2] TMS320LF2407A DIGITAL SIGNAL PROCESSOR, Texas Instruments Incorporated
[3] 夏宇闻著.Verilog数字系统设计教程[M]. 北京航空航天大学出版社,2004
[4] 刘和平,王维俊,江渝等著.TMS320LF240x DSP C语言开发与应用[M]. 北京航空航天大学出版社, 2002

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭