当前位置:首页 > 工业控制 > 工业控制
[导读]现在很多测控系统为了提高抗干扰的能力,传感器输出信号多为3线制的差分信号 ,而且电压范围也不同,通常采用的方法是把差分信号通过复杂电路进行处理后再进行数据采集,这样不仅增加了硬件成本,还使系统的精度降低。为了解决此问题,设计了基于DSP和 LTC1859的16位高精度数据采集系统,详细介绍了软硬件设计,提供了实用的原理图和源代码。此系统不仅可以实现多路的单端输入 ,还可以实现多路差分信号的输入,成本低,精度高,抗干扰性好。

0引言
现在很多测控制系统为了提高抗干扰的能力,传感器输出信号多为 3线制的差分信号,如航空舵机的控制系统 ,通常采用的方法是把差分信号通过复杂电路处理再进行数据采集 ,这样不仅增加了硬件成本,还降低系统精度。本系统设计的基于 DSPLTC1859的 16位高精度数据采集系统 ,不仅可以实现多路的单信号输入 ,还可以实现多路差分信号的输入 ,对输入的信号的范围可以通过软件满足不同的要求,真正实现差分输入抑制共模噪声。
 LTC1859是凌力尔特公司最新推出的一款高性能的 8通道、 16位、100ksps的 AD转换器,每个通道可通过软件实现 0~5V,0~10V,0~±5V,0~±10V的不同范围的输入电压,同时还可以实现单输入和差分信号输入的选择,可承受至 ±25V的故障保护。LTC1859的多路复用器可以配置为接受 4个差分输入、 8个单端输入、或差分与单端输入的组合。该器件提供了卓越的 DC性能,具有在整个温度范围内的 15位无漏失码和±3 LSBMAX INL。LTC1859具有较好的失调、满标度增益和通道至通道匹配。适用于多通道高分辨率应用,如仪表、数据采集系统和工业过程控制。它与 CPU之间采用的 SPI总线通信。LTC1859用单 5V电源工作,同时仅消耗 40mW功率。LTC1859还具有温度系数为 ±10ppm/oC的 2.5V内部基准,如果需要较高的准确度,还可以从外部驱动。对于那些对功耗敏感的应用, LTC1859提供了两种断电模式,在基准仍保持运行状态时功耗降至 27.5mW(打盹模式),或基准完全断电时功耗降至 40uW(休眠模式)。LTC1857和 LTC1858分别是引脚兼容的 12位和 14位器件。本系统的 CPU为 TI公司的 TMS320C2407A,主频可达 40MHZ,它有标准的 SPI总线,丰富的外设,非常适合与 LTC1859构成高精度的数据采集系统和控制系统的。

1 硬件系统设计
系统设计了由 2块 LTC1859构成 8通道的差分信号输入,也可以实现 16通道的单路信号输入,或者它们之间的组合,详细电路如图 1。本电路具有通用性,在实际应用中性能稳定,效果很好。下面针对 LTC1859芯片引脚对对电路进行详细分析。
CH0~CH7是8路模拟输入通道,在本系统中构成了4路差分输入信号,每路差分输入信号接3000P的滤波电容去干扰。 MUXOUT+、MUXOUT-为模拟复用器的正负输出,把它们连在ADC+、ADC-上进行正常操作。 Vref为2.5V的基准电压输出。 ODD为数字输出缓冲器的电源,这样使SPI总线上的数字信号的电压等于 ODD的接入电压,本系统采用的 DSP2407,它对输入的数字信号要求为3.3V,所以这里接的 3.3V电压,就不需要另加电平转换电路。 BUSY为输出转换器的状态,当正在转换中为低,转换结束变高,连在 DSP的I/O口上, SDO为SPI总线的串行数据输出,接在 DSP的SPISOMI引脚上,SDI为SPI总线的串行数据输如,接在DSP的SPISIMO引脚上 ,SCK为SPI总线的时钟,接在DSP的SPICLK上。RD为引脚SDO数字输出的能使信号,当 RD为低能使输出,当 RD为高SDO为高阻抗,该引脚接在 DSP的I/O口上,由于 LTC1859没有片选信号,为了让多片 LTC1859在总线上不发生冲突,把要工作的 LTC1859的RD置为低,把要没工作的LTC1859的RD置为高。CONVST为启动转换引脚。其它引脚分别接电源、数字地、模拟地,就不再详细介绍。

500)this.style.width=500;" border="0" />


图 1 硬件系统图 Fig1 Hardware system configuration
2软件设计
由于采用标准 SPI总线通信,软件的关键是 DSP和 LTC1859之间的时序匹配,首先介绍 LTC1859软件配置。
2.1  LTC1859不管是在发送系统中还是接收系统中,都是在 SCK的下降沿传输,上升沿被捕获,这就要求 DSP在进行 SPI初始化时采用上升沿无延时模式。8位的控制字通过 SDI输入,用于配置 LTC1859以进行下一个转换,同时前一个转换输出在 SDO上输出,在数据交换的末端在 CONVST上施加一个上升沿启动被请求的转换。转换完成后,转换结果将在将在下一个数据传送周期提供。LTC1859的 8位命令控制字在首 8个 SCK的上升沿按时间顺序记录到 SDI输入中,SDI随后的输入的位被忽略。控制字的 8位定义如表 1 
500)this.style.width=500;" border="0" />


 
其中复用器通道选择如表 2 
500)this.style.width=500;" border="0" />


 
其中输入范围选择如表 3
500)this.style.width=500;" border="0" />


2.2下面详细介绍软件编写,考虑到 SPI总线的时钟很快,采用查询方式,其软件流程如图 2,这里只介绍 LTC1859(1)的流程及源代码,其它原理都一样。

 500)this.style.width=500;" border="0" />


图 2流程图 Fig2 Flow chart
程序源代码及其详细注释:
void SPIAD_Init()
{   MCRB=MCRB | 0x001C; // SPISIMO,SPISOMI,SPICLK特殊功能方式  SPICCR=0x000F;  // 16bit数据, 上升沿无延时模式  SPICTL=0x0006; //禁止中断  SPIBRR=0x0004; // 8M波特率 ,40M/5=8M   SPICCR=SPICCR | 0x80;
}
void ADLTC()
{   PADATDIR=PADATDIR|0x1010;  //将 A4即 LTC2RD置高  PADATDIR=PADATDIR&0xFFFD;  //将 A1即 LTC1RD置低  PADATDIR=PADATDIR&0xFFFE;  //将 A0即 LTC1CON(CONVST)置低 PADATDIR=PADATDIR|0x0101; //将A0即LTC1CON(CONVST)拉高启动转换  asm(" NOP ");    while((PADATDIR&0x0004)!=0x0000); //等待 A2即 LTC1BUSY(BUSY)变低  PADATDIR=PADATDIR&0xFFFE; //A2即 LTC1BUSY(BUSY)变低后再将 A0即 LTC1CON(CONVST)拉低  while((PADATDIR&0x0004)!=0x0004); //等待 A2即 LTC1BUSY(BUSY)变高 SPITXBUF=(0x0004<<8);  // 输入通道 1控制字,当 LTC1BUSY变高说明转换完成 ,则可写入下次转换的命令字  while((SPISTS&0x0040)!=0x0040); //等待总线传输
  SPIRXBUF=SPIRXBUF;  PADATDIR=PADATDIR|0x0101;  asm(" NOP ");    while((PADATDIR&0x0004)!=0x0000);PADATDIR=PADATDIR&0xFFFE;         
  while((PADATDIR&0x0004)!=0x0004);  SPITXBUF=(0x0014<<8);
  while((SPISTS&0x0040)!=0x0040);
  /*虚读寄存器以清除中断标志*/  //将A0即LTC1CON(CONVST)拉高启动转换
 //等待 A2即 LTC1BUSY(BUSY)变低 //A2即 LTC1BUSY(BUSY)变低后再将 A0即 LTC1CON(CONVST)拉低 //等待 A2即 LTC1BUSY(BUSY)变高 //输入通道 2控制字,当 LTC1BUSY变高说明转换完成,则可写入下次转换的命令字 //等待总线传输
ADINRESULT[4]=(0x0FFF&SPIRXBUF);   /*保存转换结果 */   SPIRXBUF= SPIRXBUF; /*虚读寄存器以清除中断标志*/  PADATDIR=PADATDIR|0X0101; //将 A0即 LTC1CON(CONVST)拉高启动转换 asm(" NOP ");  while((PADATDIR&0x0004)!=0x0000); //等待 A2即 LTC1BUSY(BUSY)变低 PADATDIR=PADATDIR&0xFFFE;  //A2即 LTC1BUSY(BUSY)变低后再将
A0即 LTC1CON(CONVST)拉低  while((PADATDIR&0x0004)!=0x0004); //等待 A2即 LTC1BUSY(BUSY)变高  SPITXBUF=(0x0024<<8);  //输入通道3控制字当LTC1BUSY变高说明转换完成,
则可写入下次转换的命令字
  while((SPISTS&0x0040)!=0x0040); //等待总线传输
ADINRESULT[5]=SPIRXBUF; /*保存转换结果 */
  SPIRXBUF=SPIRXBUF;  /*虚读寄存器以清除中断标志*/
 ……………………………………………通道 3、4的转换程序原理一样 }
3 结 论

本文作者创新点是成功实现了基于 DSP和 LTC1859的 16位高精度数据采集系统,给出了全新实用的硬件和软件设计,特别适合差分信号和电压范围变化较大的系统该设计,对与 LTC1859与其它的 CPU的设计也有很大的参考价值。该系统性价比高,具有一般通用性能,有一定的应用推广价值。

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

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

摘要:主要介绍了应用DSP的电能质量检测系统的硬件电路及软件开发工具,对采集来的某电铁电流信号进行了电能质量检测,并开展了实际实验尝试。实验结果显示,实际信号含有大量谐波,但通过应用DSP的电能质量检测系统成功检测到了它...

关键字: 电能质量检测 Matlab仿真 DSP

随着生活水平的提高,大家都想从生活压力中释放出来,越来越多的人向往户外运动、露营等,在大自然的拥抱中释放压力,解放自我,从而成为户外旅行火热的原因之一。因此,很多音箱厂商都开始推出针对户外的户外蓝牙音箱。但是市面上的蓝牙...

关键字: PD快充 I2S DSP IC

(全球TMT2022年8月30日讯)近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部件的最...

关键字: 系统设计 英特尔 数据中心 生态系统

北京2022年8月30日 /美通社/ -- 近日,在2022英特尔中国数据中心合作伙伴技术峰会上,英特尔与浪潮信息等产业生态伙伴联合发布了《绿色数据中心创新实践 -- 冷板液冷系统设计参考》白皮书,分享冷板液冷技术关键部...

关键字: 系统设计 英特尔 数据中心 电量

摘要:近年来,受人类活动的影响,各大水域的水质污染问题越来越严重,大部分水资源受到严重污染,水质处理问题亟需解决。分析水体污染情况对改进水质有着重要意义,目前水质监测主要采用人工或无人船的方式。人工监测方式工作量大,影响...

关键字: 水质监测 无人机 系统设计

摘要:根据饶平县高堂水闸重建工程建设实际需求,对高堂水闸运行管理进行实时在线式监控与监测,通过闸门控制、视频监控、水情测报、安全监测和网络通信等系统的设计,为高堂水闸的水工建筑物安全、防洪调度和自动化管理提供技术支持,以...

关键字: 管理信息系统 水利工程 系统设计

湖州2022年7月26日 /美通社/ -- 近日,浙江省科技创新大会在浙江省人民大会堂隆重举行。大会正式颁布2021年度浙江省科学技术进步奖,隆重表彰为浙江科技创新事业和经济社会发展做出突出贡献的科技工作者及团队。...

关键字: 电梯 检测技术 系统设计 零部件

摘要:数字信号处理器(DSP,digitalSignalproceSSor)是专门用于某些数字信号处理任务的微处理器,一般由集成电路芯片构成。当前,水声领域中声呐探测设备正逐渐向大运算量、强实时性及小型化等方向发展,对高...

关键字: 水声信号处理 DSP 声呐

摘要:简要介绍了柴油发电机组和重油发电机组的构成和主要特点,以某发电厂重柴油发电机组系统设计为例,重点分析了重油发电机组燃油系统、润滑油系统、循环冷却水系统、压缩空气系统的设计要点,以提高柴油、重油发电机组的运行效率和运...

关键字: 重油发电机组 特性 系统设计

工业控制

13500 篇文章

关注

发布文章

编辑精选

技术子站

关闭