当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]随着电子技术的应用和发展,数字信号处理内容日益复杂,同时,很多情况下要求整个系统具有低功耗的特点。为满足这种要求,DSP芯片设计技术也在向低功耗、高性能的方向发展。

引言

随着电子技术的应用和发展,数字信号处理内容日益复杂,同时,很多情况下要求整个系统具有低功耗的特点。为满足这种要求,DSP芯片设计技术也在向低功耗、高性能的方向发展。从处理速度来看,TMS320VC5502的运算能力已经达到了600MMACS,即每秒钟可以完成6亿次乘加运算。从功耗来看,TMS320VC5502内核电压只有1.26V,整个芯片的功耗也大大降低了。本文介绍了基于TMS320VC5502和CPLD XC95144的低功耗多路数据处理系统。

模拟信号的输入经过50Hz陷波电路(滤除工频干扰)和信号预选频电路。经过预处理的模拟信号作为ADC的模拟输入进行A/D变换,最后由DSP实现对数字信号的滤波处理。将CPLD和DSP技术相结合,利用CPLD编程的灵活性,来控制6路ADC的启动和停止,简化了整个硬件电路的设计,达到动态地选择采样通道的目的。同时将DSP处理后的数据发送到PC ,在PC上利用MATLAB和VC等工具对处理后的数据进行后端分析。本文主要介绍基于低功耗TMS320VC5502和CPLD的前端数据采集和处理系统。

ADS7805简介

ADS7805是一款具有16位量化精度的A/D转换芯片。它的基本组成结构包括16位精度的基于电容网络的逐次逼近型ADC、采样保持电路、时钟、对微处理器的接口和三态输出。ADS7805的最高采样速率为100kHz,模拟信号输入范围为-10V~+10V,5V单电源供电,最大耗散功率为100mW。

ADS7805为5V单电源供电,输出的数据位为‘1’时,电平值为5V,而DSP芯片的I/O电压采用的是3.3V逻辑电平,因此,还需要在ADS7805的数据输出端加上电平转换芯片,设计时选用了74ALVC164245,它可以将5V电平转换为3.3V,也可以将3.3V转换为5V。

硬件接口电路设计

从硬件角度来看,DSP完成滤波运算的核心工作,而整个系统的控制核心是CPLD,DSP对6路A/D采样的操作是由CPLD产生控制信号,控制着ADS7805的采样触发信号、6个ADC的复用和解复用,以及5V转3.3V电压转换芯片74ALVC164245的选通等。CPLD和DSP的时钟输入采用30MHz有源晶振。CPLD、DSP、ADC和电平转换芯片之间的接口电路如图1所示。


图1 DSP、CPLD与ADC接口电路图

DSP利用片选信号、地址信号、读写使能信号向CPLD发出指令,CPLD根据DSP的指令向6个ADS7805发出控制信号,启动芯片进行采样并控制DSP完成对数据的读取。由于ADS7805输出的数据要通过电平转换芯片,CPLD还需要控制74ALVC164245芯片的选通和转换,就是图1中的OE[1:0]信号。因此,DSP必须向CPLD提供的控制信号包括CE2片选信号、ARE读使能信号和AWE写使能信号,当DSP读取A/D转换数据的时候,选通74ALVC164245进行电平转换,当ADC对模拟信号进行A/D转换时,不使能164245芯片,以免造成多路数据引起的数据总线冲突。由于有6个ADS7805,所以至少需要分配3根地址线信号(一般选为最低3位地址线引脚)区分这6个ADS7805,但3根地址线信号实际上可以用来表示8个地址,剩余的2个地址也可以利用起来,例如,对剩余的2个地址中的一个进行读操作可以视为DSP发出命令,用以启动ADS7805,这样就可以省去DSP和CPLD之间AWE信号的连接了。CPLD需要提供给ADS7805的信号包括片选信号CS[5:0]和数据读取/启动转换信号RC[5:0],此外,CPLD还要提供电平转换芯片的片选信号,并且需要接入一个时钟信号,用来给CPLD提供时序逻辑的同步时钟信号。

CPLD程序设计

根据ADS7805的工作原理和DSP读写特性,对CPLD进行编程来实现DSP对6个ADS7805的分时读取操作以及启动ADS7805的转换。

整个程序采用Verilog HDL语言设计。为了便于测试,增加了一个FLAG标志信号,当FLAG为低的时候,说明DSP正在读取ADS7805转换过的数据。当FLAG为高的时候,说明ADS7805正在进行新一轮的转换。程序设计的重点在于启动ADS7805的新一轮采样,而ADS7805启动采样需要CS和RC同时为低且保持40ns。当DSP读完6个ADC的数据后就要启动新一轮采样。当对第6个ADS7805的读取操作完成后,FLAG标志位被拉高并利用计数器进行记时,输入的时钟频率是30MHz。因此需要让RC[5:0]和CS[5:0]输出信号至少保持2个时钟周期的低电平才能成功地启动下一次A/D转换。根据系统的要求,CPLD程序主要分3个always块。

第一个模块利用DSP的CE2地址空间选择信号、地址线A[4:2]、ARE读信号以及定义的3位计数器cnt[2:0]作为触发信号。当CE2和ARE都为低时,根据DSP的A[4:2]选择6个中的一个进行读取,其他5个都被禁止,这时,RC[5:0]应该均为高。如果A[4:2]=000,那么CS[5:0]=111110,开始读第一个ADS7805的数据到DSP。为了防止数据丢失,在读数据的时候,RC[5:0]应该始终保持为高,因为如果CS[5:0]和RC[5:0]信号中同一位均保持为低超过40ns,就会启动一次新的采样,这样会造成没有被读的ADS7805产生一次新的采样而丢掉之前转换的数据,对整个系统的结果造成很大的影响。读完第6个ADC以后,在ARE的上升沿将FLAG标志拉高,这时计数器开始记数,根据记数器的数值,当2<cnt[2:0]<6的时候,将RC[5:0]和CS[5:0]同时拉低,这样有3个时钟周期的长度大概有100ns,保证了同时为低的时间不小于40ns,启动新一轮的采样。第二个always模块主要实现对FLAG标志位的判断和设定。当A[4:2]=000时,说明DSP开始读A/D采样数据,这时FLAG=0。当A[4:2]=101时,说明6个ADS7805数据已经被读完,需要进行新的采样,这时FALG=1。第三个always模块主要实现计数器的设计。记数时钟频率为30MHz。当FLAG为高且cnt[2:0]<7时,开始记数。当FALG为低时,对计数器进行复位。

根据以上设计思路,成功地做到了对6路信号的采样和读取控制,达到了预期的效果。仿真波形如图2所示。

 
图2 CPLD仿真波形图

DSP软件设计

在进行DSP程序设计之前,先利用MATLAB的FDATOOL工具设计数字滤波器,将滤波器系数以.h文件形式导出MATLAB,在CCS中定义一个数组存放滤波器系数,就可以成功地将滤波器系数导入CCS。

本文主要介绍DSP对多路信号读取并处理的软件设计方案。图3是整个程序的流程图。首先应该对DSP芯片进行初始化,主要包括对TMS320VC5502的PLL寄存器进行初始化、初始化系统中断向量表、EMIF的初始化和定时器的初始化。DSP通过EMIF接口对外围ADC的转换数据进行读取。整个数据读取和数字滤波工作是在定时器中断程序中进行的。定时器模块主要用来确定采样周期,即每来一个定时器中断就对信号进行一次采样并完成对信号的实时处理运算。因此,定时器的中断周期也就是采样周期,同时,也规定了DSP做一次信号处理运算所耗时间的上限,即必须在相邻两次的时钟中断之间完成一次处理所需要的运算和操作。然后初始化EMIF模块,这一部分比较重要,因为ADC转换好的数据是通过EMIF接口送进DSP芯片的。ADC芯片在本系统中被内存化了,也就是说,从DSP芯片的角度看,读写ADC芯片和读写异步SRAM没有差别,因此,要将ADC芯片也分配到片外存储空间里,本系统采用的方法是将ADC芯片分配到CE2空间0x400000~0x400005连续的6个地址,使用异步16位SRAM的配置方式来配置CE2空间的控制寄存器。当有中断请求时,DSP就进入频率为40KHz的定时器中断,进行读取和滤波工作。

 
图3 DSP程序流程图

系统功耗估计

通过查阅芯片手册可以知道,TMS320VC5502需要的1.26V核心电压供电能力为250mA,3.3V的I/O电压和锁相环I/O电压的供电能力为50mA, DSP芯片的功耗为480mW。ADS7805芯片的功耗典型值为100mW,6个共计600mW。CPLD的3.3V电源消耗电流的典型值为100mA,即330mW。这样,整个系统功耗大概为1.5W。在使用电池供电的情况下,这个功耗大小也是可以接受的。例如,使用一个12V输出、50Ah的蓄电池,理想情况下可以对系统供电400小时。即使考虑电压转换过程中的能量损耗,用上述规格的蓄电池对系统供电40个小时也是可行的。

结语

本文介绍了一种基于DSP和CPLD的低功耗多路数据采集系统。 CPLD简化了硬件设计,可以很方便地对系统进行在线编程,具有很高的灵活性。本系统已应用于军事等具有低功耗、高性能要求的领域。

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

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

随着大数据时代的到来,数据处理成为了一项至关重要的任务。传统的数据处理方法往往面临着效率低下、准确性不高等问题,而机器学习技术的兴起为数据处理带来了全新的解决方案。本文将深入探讨机器学习在数据处理中的应用,并分析其优势和...

关键字: 数据处理 计算机 机器学习

随着信息技术的飞速发展和大数据时代的到来,数据挖掘和机器学习作为数据处理的两大核心技术,在各行各业中发挥着越来越重要的作用。然而,尽管数据挖掘和机器学习在很多方面存在交集,但它们各自具有独特的定义、方法和应用场景。本文旨...

关键字: 数据挖掘 机器学习 数据处理

随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐步改变着传统的数据处理和应用方式。云计算通过整合大量分布式计算资源,为用户提供高效、灵活、安全的数据存储和计算服务。在当前数字化、网络化、智能化的时代背景下,云...

关键字: 云计算 数据处理 智能化

随着信息技术的飞速发展,数据处理和传输速度的要求越来越高,从而催生了高速器件技术的迅速崛起。高速器件,也称为高频器件或高速集成电路,是指能够在高频或高速条件下工作的电子器件。它们在现代通信系统、计算机、雷达、电子对抗、高...

关键字: 数据处理 高速器件 通信系统

今天,小编将在这篇文章中为大家带来数字信号处理器DSP的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: DSP 数字信号处理器

随着信息技术的迅猛发展,服务器作为数据处理和存储的核心设备,在企业信息化建设中扮演着至关重要的角色。华为作为全球信息与通信技术解决方案的领先供应商,其服务器产品凭借卓越的性能、创新的技术和稳定的品质,在市场上赢得了广泛的...

关键字: 服务器 数据处理 华为

DSP的国产替代不会是一件很容易的事情,但受到当前国际竞争态势的影响,本土开发者亟需拥有降本优势、供应链安全保证,以及能协助打造极高竞争力产品的DSP芯片。也就是说,发展国产DSP是不二选择。

关键字: DSP

嵌入式处理器是一种特殊的计算机处理器,它被设计用于嵌入到各种设备和系统中,以实现特定的功能。由于其低功耗、高性能和可靠性等特点,嵌入式处理器在许多领域都有广泛的应用,如汽车电子、工业控制、医疗设备等。本文将对嵌入式处理器...

关键字: 嵌入式处理器 嵌入式系统

将DSP和单片机构成双CPU处理器平台,可以充分利用DSP对大容量数据和复杂算法的处理能力,以及单片机接口的控制能力。而DSP与单片机之间快速正确的通信是构建双CPU处理器的关键问题。

关键字: 单片机 spi通信 DSP
关闭
关闭