江苏大学dsp大报告-同步数据采集系统的设计 本文关键词:同步,采集系统,江苏大学,报告,数据
江苏大学dsp大报告-同步数据采集系统的设计 本文简介:江苏大学《DSP应用技术》论文题目:同步数据采集系统的设计专业班级:电气1031学生姓名:许爱文学生学号:3130501044完成日期:2016/11/5电气信息工程学院基于TMS320F2812同步数据采集系统的设计摘要为了实现高速同步数据采集,本文介绍了一种基于TMS320F2812DSP芯片与
江苏大学dsp大报告-同步数据采集系统的设计 本文内容:
江
苏
大
学
《DSP应用技术》
论文题目:
同步数据采集系统的设计
专业班级:电气1031
学生姓名:许爱文
学生学号:3130501044
完成日期:2016/11/5
电气信息工程学院
基于TMS320F2812同步数据采集系统的设计
摘要
为了实现高速同步数据采集,本文介绍了一种基于TMS320F2812
DSP芯片与AD转换芯片ADS8365构成的高速、并行高精度数据采集系统,主要内容包括两种芯片功能的介绍、硬件接口电路的设计及相关软件设计等。
关键词
TMS320F2812;数据采集;同步采样;ADS8365
1、
概述
电力拖动控制系统中的电压、电流及转速信号采样的准确性和实时性,对控制系统的精度有很大的影响。在“无刷双馈电机控制系统”课题的研究中,采用Tl
公司的TMS320F2812芯片作为控制器,该芯片的ADC模块只能同时对两路信号并行采样,而在“无刷双馈电机控制系统”中要控制能量的双向流动,即要对整流侧、逆变侧和中间直流环节的多路电压、电流及转速信号进行实时采样,显然直接用F2812芯片的ADC模块无法保证采样的同步性。为了实现同步采样功能,本文在硬件上采用了带同步信号发生电路的同步采样芯片,即使用美圉德州仪器公司推出的ADS8365芯片与TMS320F2812芯片构成采样控制系统。ADS8365有六路高速同步采样通道,用两片即可以满足本系统的要求。本文介绍ADS8365芯片和TMS320F2812芯片功能和特点的基础上,详细阐述了一片ADS8365和TMS320
F2812的硬件接口电路和软件编程方法,并对两片ADS8365扩展方法进行了简要的介绍。
2、
软硬件准备
1、TMS320F2812芯片介绍
TMS320F2812芯片足高性能32位定点DSP,采用1.8V的内核电压,3.3
v的外围接口电压,最高频率150
MHZ,指令周期为6.67ns,片内有18K的RAM和128K高速Flash,事件管理器EVA和EVB包括通用时钟、PWM信号发生器等。该芯片可广泛应用于电力系统控制、电力转换以及通信设备、工业自动化、电机控制以及工业现场控制等。性能如下表:
表1
F2812芯片说明
微处理器
最大时钟频率
时钟周期
指令周期
指令时间
F2812
150MHZ
6.67ns
1、2个时钟周期
6.67ns
2、ADS8365芯片介绍
ADS8365是一种高速、低功耗、同步采样转换器件,它足16位高速并行接口的模数转换芯片。每片ADS8365由3个转换速率为250ksps的ADC构成,每个ADC有2个模拟输入通道,每个通道都带有采样保持器,3个ADC可组成3对模拟输入,可对其中的输入信号同时采样保持。另外,该芯片采用+5V工作电压,最大采样吞吐率可高达5MHz,并带有80
dB共模抑制的全差分输入通道以及6个差分采样放大器。引脚内部还带有2.5V电压接口,可用以提供基准电压。由于6个通道可以同时采样,因此很适合用于需同时采集多种信号的应用场合。
ADS8365的6个模拟输入通道叮分为三组,分别为A、B和C组。每组都有一个保持信号(分别为HOLDA、HOLDB和HOLDC)
,用于启动各组的A/D转换。6个通道可以进行同步并行采样和转换。当ADS8365的HOLDX保持20ns的低电平后开始转换。当转换结果被存入输出寄存器后,引脚EOC的输出将保持半个时钟周期的低电平,以提示TMS320F2812处理器进行转换结果的接收,处理器通过置RD和CS为低电平使数据通过并行输出总线读出。
图1
ADS8365时序图
3、CCStudio调试一个项目的步骤
(1)
连接目标板debug——connect;
(2)
打开工程项目,调试代码project——open;
(3)
创建目标文件project——(re)build(F7);
(4)
加载目标代码File——load
program(Ctl+L);
(5)
运行程序Debug——run(F5)。
三、系统总体方案
在现代通信系统中,通信电源对于确保通信系统运行的稳定性和可靠性,显得尤为重要,对于电源的监测和控制是通信系统中一个重要的环节。
在通信电源的监测系统中不但要对线路中的电压量、电流量、供电频率以及开关量的状态进行监测,而且还要计算出线路的有功功率、无功功率、功率因数以及电网中的谐波分量。在数据采集时要保证对电压信号、电流信号同步进行采样,以保留接收到的各路信号之间的相位信息,从而在随后的处理中解算出各路信号之间的时延关系。
图2
系统总体构成
系统数据采集处理工作过程是:外部输入信号通过信号调理模块进入A/D转换模块,转换后的数据经同步串口MCBSP进入DSP,通过DSP片内集成的DMA通道,将数据读入缓存,当缓存内数据数量达到处理要求,DSP产生中断,对数据进行处理保存。通过DSP的DMA技术和中断技术实现数据边采集边运算。
开始
四、软件仿真设计
系统、GPIO、ADS8365、XINT1初始化
N
ADC-READY
进入主循环、启动采样、等待中断
中断使能、T1PWM输出
Y
图3
仿真流程图
TMS320F2812芯片提供了良好的C语言开发环境,使用C语言缩短了开发周期,降低了编程的复杂性。由流程图可以看出程序的执行顺序:首先,上电后由硬件复位ADS8365,初始化TMS320F2812,设置相应的系统主频及与采样有关的高速外设时钟频率;然后配置TMS320F2812与AD转换芯片工作用到的事件管理器的Gpio口;最后初始化中断向量表,将Adc_isr
(
)
采集中断服务程序的入口地址放在对应EOC输入引脚XINT的向量地址处,并且配置成由低电平触发进入中断,最后使能系统中断,等待EOC中断信号的到来。
1.首先利用setup
CCStudio进行配置
图4
配置图
2、Project
manager窗口建立新的工程
?
CCStudio以项目管理代码文件;
?
只需要加载后缀为pjt的项目文件,即可加载所有关联的代码文件、库文件、cmd文件。
图5
新建工程
图6
Project
manager窗口
3、数据采集系统软件设计
图7
TMS320F2812和ADS8365的接口设计图
TMS320F2812和ADS8365的接口设计ADS8365的数据读出可采用直接地址读方式、FIFO读方式、循环读方式,因此与TMS320F2812的接口至少有3种互连方案。本采集系统选择直接地址读方式,由XA[
2:0]作为变换结果寄存器低位地址,当ADS8
365的CS引脚为高电平时,其数据总线处于高阻状态,当CS引脚置低电平时并口数据总线上输出当I;其数据总线具体的连接电路如上图所示。
ADS8365可使用单独的外部晶振,或使用TMS320F2812
I/O口模拟晶振,本系统使用TMS320F2812
EVA的TIPWM来产生ADS8365的CLK时钟输入信号。为了实现六个通道的同步采样,把TMS320F2812的GPIOBl4引脚与ADS8365的HOLDA、HOLD
B、HOLDC信号相连,控制3个ADC采样,保持模块的同步。EOC连接到TMS320F2812的XINTl
。若要构成12/24等多通道数据采集,可以利用TMS320F2812的低位地址线进行ADS8365的CS扩展,其余信号如CLK和HOLDX町以与上述控制信号线接在一起。
在本系统中,由传感器输出的电压信号范围是±5
V,而ADS8365芯片的模拟输入端能接收的信号范同是±2.5
V,因此在ADS8365前端用功率运放电路实现信号的调理,本文采用OPA227芯片来实现,原理图如下图所示。
图8
芯片原理图
OPA227是TI公司生产的高精度、低噪卢运算放大器,具有8MHz的带宽,开环增益可达160dB,偏置电压75pV,可应用于信号采集和通信设备中。上图中下面的OPA
227是跟随电路,用来提供2.5
v的参考电压;上面的OPA227用来实现电平信号的运算,在实际应用中还应存输入端加一个OPA227用来提高输入阻抗,增强系统的抗十扰能力,图中Rl,R2分别选择2k和10k温漂较小的精密电刚。
4、ADS8365的初始化
触发ADS8365的复位引脚,可以确保读指针指向第一个数据位置。作为TMS
320F2812初始化的一部分,由TMS320F2812的GPI
OFI引脚提供复位信号给ADS
8365的引脚RESET,当系统时钟稳定后RESET被触发为低电平,从而确保了从ADC输出的数据对应丁,通道A0、AI、B0、B1、CO、C1的排列,下面为ADS8365的复位程序:
void
Reset
ADS8365(
void)
{
GpioDataRegs.
GPFCLEAR.
all
=0x0001;
Asm(“RPT#200||NOP”)
;
GpioDataRegs.
GPFSET.
all=0x0001;
}
5、TMS320F2812的初始化
TMS320F2812的初始化包括系统的初始化、GPI
O的初始化和外设中断的初始化,分别叙述如下:
(1)
TMS320F2812系统的初始化包括看门狗的配置、系统及外设时钟的配置、片内RAM使用的配置等。
(2)
GPIO的初始化,为了方便与ADS8365通信,TMS320F2812把GPIOA、G
PIOB和GPIOF的部分引脚配置成通用输入输出口。其中包括由EOC引脚触发的外部中断引脚和ADS8365需要的转换时钟引脚等。程序如下:
void
Init
Gpio(void)
{
EALLOW;
GpioMuxRegs.
GPAMUX.
all
=0x0003;
GpioMuxRegs.
GPADIR.
all
=0xFFFF;
GpioMuxRegs.
GPEMUX.
all
=0x0003;
GpioMuxRegs.
GPEDI
R.
all
=0x0003;
GpioMuxRegs.
GPEQUAL.
all
=0x0000;
GpioMuxRegs.
GPFMUX.
all=0x0000;
GpioMuxRegs.
GPFDI
R.
all=0x0005;
EDIS;
}
(3)外设和中断的初始化,配置可屏蔽及不可屏蔽中断,使系统的中断可以找到有效的地址。关键程序如下:
XlntruptRegs.XINTICR.all=0x0001:
PieCtrlRegs.PIEIER1.bit.INTx4=1:
PieCtr!Regs.PIEIER4.bit.INTx4=1:
IERI=0x0009;
EvbRegs.EVBIMRA.all
=
OxO080:
EvbRegs.EVBIFRA.all_OxO080;
EvbRegs.T3CON.all=0x1042;
6、信号采样程序和中断服务程序
在上述配置结束后,启动T1PWM输出信号给ADS8365的CLK引脚,在确认ADS8365芯片准备好的情况下启动采样信号,程序如下:
void
ToggleHOLDx(
int
channel)
{
GpioDataRegs.
GPACLEAR.
all=channel;
Asm(“RPT#25||
NOP”)
;
GpioDataRegs.
GPASET.
all
=channel;
}
在执行完上述程序后,ADS8365的6路通道同时开始采样,在完成采样后将EOC引脚置低,触发TMS320F2812的外部中断程序,在中断程序中依次读取ADS
8365的6个采样信号存储寄存器,并保存到预先指定的位置,等待主程序处理。该段程序如下:
void
read_ADD(
)
{
CHA0_Data[idx]=*ptrCHA0;
CHAl_Data[idx]=*ptrCHA1;
CHB0_Data[idx]=*ptrCHB0;
CHBl_Data[idx]=*ptrCHBl;
CHC0_Data[idx]=*ptrCHC0;
CHC1_Data[idx]=*ptrCHC1;
}
图9
中断嵌套流程图
图9中周期采样中断服务程序和XINT1中断服务程序分别如下:
interrupt
void
T3PINT_ISR(void)
{
EINT;
IER|=0x0001;
XlntruptRegs.XINT1CR.all=0x0001:
Start_AD(
);
EvbRegs.EVBIFRA.all=0x0080:
PieCtrlRegs.PIEACK.aIl=0x0008;
return
;
}
interrupt
void
XINT1_ISR(void)
{
XIntruptRegs.XINT
1CR.All=0x0000:
Read_ADD(
);
XIntruptRegs.XINT1CR.all=0x0001;
PieCtrlRegs.PIEACK.all=0x0001:
return
;
}
图10
软件延时程序流程图
图10中周期中断触发后进人T3PINT中断服务程序,其参考程序如下:
interrupt
void
T3PINT_ISR(void)
{
EvbRegs.EVBIFRA.all=0x0080;
start_AD(
);
asm
(“RPT
#89||NOP
“);
read_ADD
(
);
PieCtrlRegs.PIEACK.all=0x0008:
return
;
}
图11
查询标志位程序流程图
图11中周期中断触发后进入T3PINT
中断服务程序,其参考程序如下:
interrupt
void
T3P1NT_ISR(void)
{
int
flag;
flag=
PieCtrlRegs.PIEIFR1.bit.INTx4:
EvbRegs.EVBIFRA.all=0x0080;
start_AD();
while(flag!=
1);
read_ADD();
PieCtrlRegs.PIEACK.all=0x0008:
Return;
}
五、实验波形及结论
在ADS8365采样、转换结束后,该芯片的EOC引脚置低,同时使F2812的XINT引脚置低,这样进入中断处理程序,F2812发出指令依次从ADS8365的6个寄存器里读取数据。从图中我们可以清楚看到,从触发ADS8365开始采样到F2812读取数据的完整过程。
ADS8365初始化完成之后就可以打开串口的接收中断,在中断服务程序中接收A/D转换的数据。在该配置条件下,若输入时钟为8.192MHz,则ADS8365为六路模拟采样,采样率为8kHz。实践表明,构成的信号采集和处理系统具有设计简便、结构紧凑、工作稳定和可以方便地在几种采样率之间选择等优点。与并行接口相比,采用串行接口的硬件连接线大为减少,这样不仅可以减少印制电路板的面积,还可以减少电磁干扰,从而有利于系统更加稳定的工作。在不影响系统工作速度的条件下,在系统设计中利用串行接口代替并行接口不失为一种很好的设计方法。运行程序。可以观察收到的数据和显示的图像,数据保存在dataleft数组中,图像显示的即为dataleft
数组。如下图显示了采样频率为44K,采样长度(点)为1024
点时的采样结果:显示图像时请注意所显示数组的数据类型及长度。可以修改信号源,继续执行,观察输入不同信号源的执行结果。
图12
仿真结果图
参考文献
[1]
王晓明,王玲.电动机的DSP控制,北京航空航天大学出版社,2004.7.
[2]
张龙.基于TMS320F2812高速数据采集系统的设计与实现.光电与控制,2007,4(1):1671~1637.
[3]
阎石.数字电子技术基础.北京:高等教育出版社.1997.
[4]
李永东.交流电机数字控制系统.北京:机械工业出版社,2003.
[5]
张卫定.
Tms320C28x系列dsp的CPU与外设(上)
[M],北京:清华大学出版社,2004,9.
[6]
刘和平.
Tms320C28x系列dsp指令和编程手册[M],北京:清华大学出版社,2005,3.
[7]
李真芳等.DSP程序开发.西安:西安电子科技大学出版社,2003.
[8]
王潞刚等.DSPC2000程序员高手进阶.北京:机械工业出版社,2005.