AD73360与TMS320F206的接口设计
扫描二维码
随时随地手机看文章
摘要:AD73360是一主要适用于工业电表和多路输入系统的可编程三相电量测量IC器件。本文简单介绍了它的功能特点,详细说明了通过其同步串行口与 TMS320F206定点DSP的软硬件接口设计方法。
关键词:AD73360 A/D转换 DSP TMS320F206
0 引言
电力系统本身的特点决定了在对其数据采集时各路要保持严格的同步性。普通的AD 转换器件由于内部共用一个转换电路或没有保持电路,不能保证各路数据同步,通常只能通过增加外部电路的方法达到各路数据的同步性,这样难免使整个系统电路变的复杂,增加了开销。AD73360 由于各路自带转换电路,路与路之间的联系只是共用一个串行口,所以保证了各路采样转换的同步性,极适合电力系统的数据采集。就微处理器而言,51系列和96系列是电力系统设备中最常用的。目前,由于电力系统对设备实时性、计算能力及大数据量等各方面要求的不断提高,这些器件在计算能力和实时性上,已不能很好的适应系统要求。于是DSP处理器以其ns级指令系统和哈佛结构显著的计算能力和实时性逐渐渗透到电力系统中来。本文就AD73360和TMS320F206定点DSP的接口设计作了详细的介绍,实现了基于TMS320F206的电力系统数据采集。
1 AD73360简介
AD73360是ADI公司新近推出的可编程通用6通路16位精度的串行模拟输入前端处理器,是一主要适用于工业电表或多路输入系统的三相电量测量IC器件。它的主要特点是:
(1) 6通路间相互隔离且各含一信号调理电路和片上输入增益放大器,由0到38dB之间设8级,可编程控制选择,容许低电平幅度模拟信号的输入,几乎不存在时间(对三相电来说是相位)延迟。各通道在音频范围内可提供77分贝的信噪比。
(2) 采用同步串行端口传输,且端口前端采样速率和后端传输速率可编程控制(最高采样可支持64KHz),使其与快速DSP 或其他慢速微控制器连接非常方便。工作模式可以选择数据模式,程序模式和程序/数据混合模式,很适合各种测量场合。
(3)带片内基准电压允许其单电源工作。参考电压则可经编程控制来配合3伏或5伏的操作。两种封装,分别为28脚的小巧外型集成电路SOIC和44引脚的纤薄四方扁平封装TQFP。极适合用作便携式设备器件。
2 TMS320F206简介
TMS320F206是TI公司近年来推出的一种性价比较高的定点DSP芯片,内含丰富的片内外设,多用于测量控制领域。其主要特点如下:
(1) 采用改进型哈佛结构,使程序区和数据区相互独立,设置了程序总线和数据总线,允许在同一时间对数据和指令的读取,使系统的数据吞吐量提高了一倍,同时也节约了指令周期提高了速度;指令系统功能强大且高度专业化;内含32K闪速存储器。
(2) 采用4级流水线操作使取指、译码、取操作数、执行各处于独立的操作阶段可交叠进行操作,从而减少了指令执行时间;专用的16x16硬件乘法器可在一个指令周期内完成乘法操作,把乘法时间从通用微处理器的us级提高到了ns级。
(3) 可寻址4个独立空间:64K程序 存储器,64K字数据存储器,64K字I/O空间,32K字全局数据存储器。
(4) 含用于仿真和测试的片内扫描逻辑电路(IEEE标准1149.1),可做完全硬件仿真,不占用硬件资源,通过该口可察看寄存器和存储器的存储情况,调试很方便。
3 AD73360与TMS320F206的接口设计
3.1 工作时序分析:
本设计中AD73360 与TMS320F206的同步串行口相连构成电力系统的采集数据。该同步串行口具有4个字深FIFO缓存,可设置寄存器SSPCR控制产生合适的接收/发送中断,且工作速率适应范围宽,可使用内部或外部时钟工作,有突发和连续两种工作模式。考虑到AD73360的时序(图1),本设计采用突发模式工作,其发送与接收时序如图2所示。
图1 AD73360串行口发送和接收时序
分析AD73360串行口的发送/接收时序和TMS320F206同步串行口的发送/接收时序,不难发现两者的时序关系存在一致性: AD73360采样数据的发送发生在其发送帧同步信号SDOFS 由低变为高电平后的下一个SCLK的上升沿,且发送过程中SDOFS一直保持为低电平直到下一个数据字发送。TMS320F206同步串行口在接收帧信号FSR变为高电平后的接收时钟CLKR的下一个上升沿处开始数据的接收,且接收过程中FSR始终保持低电平,直到下一个数据接收开始。而AD73360的控制字接收发生在接收帧同步信号SDIFS变为高电平后的下一个SCLK的上升沿处,接收过程中SDIFS一直保持为低电平,直到下一个数据字接收开始。在TMS320F206同步串行口发送帧同步信号FSX变为高电平后的发送时钟CLKX的下一个上升沿处,同步串行口开始发送数据字,最高位(MSB)在前。且发送过程中FSX一直保持为低电平,直到下一个数据字传送开始。
a.发送时序图
b.接收时序图
图2 TMS320F206的同步串行口发送与接收时序
通过以上分析得出结论:TMS320F206同步串行口的帧同步信号与AD73360的帧同步时钟信号实际上是一致性的关系,所以将TMS320F206的帧同步信号直接与AD73360的帧同步信号相连接。 将AD73360的输出时钟SCLK作为TMS320F206同步串行口的发送和接收时钟。
3.2 硬件接口示意图
图3给出了AD73360T与MS320F206的接口示意图。
设计中TMS320F206工作于20MHz时钟下,其系统时钟输出CLKOUT1作为AD73360的主时钟输入,通用输出口XF使能AD73360。
3.3 接口程序设计
在开始接收AD73360采集的数据之前按照设计要求进行初始化。对TMS320F206的设置:关闭可屏蔽中断,设置中断屏蔽寄存器,允许同步串行口发送中断,由于在启动AD转换之前,AD所传数据为无效,所以在发送完控制字之前没有必要允许接受中断。按照需要设置SSPCR寄存器,本设计中使FSM=1, MCM=0,TXM=0,确定其工作模式为外部帧同步源,外部时钟源,突发模式字缓冲发送与接收;设置FT1=0,FT0=0,FR1=0,FR0=0,使同步串行口工作于1字缓冲发送与1字缓冲接收;置输出引脚XF为高使能AD73360.对于AD73360: 按需要设置好控制字,存放在存储器中以便发送。
开发送中断,检查是否发送完控制字,若发送完则开接收中断,接收采集的数据。若将AD73360设置在混合模式工作则在接收AD所传数据的同时还可发控制字按需要更改AD的设置。程序流程如图4所示。
部分程序如下:
初始化:
setc intm;关中断
setc xf;使能AD73360
splk #0010h,imr;设置中断屏蔽寄存器
splk #0ffffh,ifr;清除中断标志位
splk #0000h,60h
out 60h,wsgr;设置软件等待为0
splk #0ce02h,60h
out 60h,sspcr;复位同步串行口
splk #0ce32h,60h
out 60h,sspcr;设置同步串行口
clrc intm;开中断
发送中断:
ssptx: setc intm
mar *,ar3
out *+,sdtr,ar1;ar3中放AD控制字地址
;ar1中为控制字个数-1
banz skip
splk #1,flag;置发送完标志
splk #0018h,imr;开接收中断
skip: splk #0010h,ifr;清除发送中断标志位
clrc intm
ret
接收中断:
ssprx: setc intm
mar *,ar2;ar2中存放AD数据的目的地址
in *+,sdtr;收数据
splk #0008h,ifr;清除接收中断标志位
clrc intm
ret
在选择AD73360的采样速率和数据传送速率时,应注意的是确保在采样间隔中能将所有转换数据传给DSP以免数据丢失。如将AD73360设置为混合工作模式,则在选择采样速率和数据传送速率时,还要考虑发送转换结果之后AD73360是否有足够的时间接收TMS320F206传来的控制字。接收中断中可以加入适当的处理,如将各路分开存放、滤波等操作,但是应特别注意的是不能使中断程序过长,严格计算好AD73360发送数据的时间间隔和中断程序的执行时间保证在下一个数据到来之前完成中断程序的执行,避免因TMS320F206来不及接收引起数据丢失。
按照上述接口设计方法和思想,我们实现了TMS320F206和AD73360之间的接口设计,且传输可靠,说明这种连接和设置方法是可行的。
4结束语
分析各个信号之间的时序关系在成功地设计DSP与外围的接口电路中是十分关键的,正确的分析能在接口设计中起到事半功倍的效果。本文通过分析AD73360收发数据工作时序与TMS320F206同步串行口收发时序完成了两个器件之间的接口设计,并成功应用于电量参数测试系统中,实现了基于TMS320F206的电力系统数据采集。
参考文献
[1] 张雄伟,曹铁勇.DSP芯片的原理与开发应用[M].北京:电子工业出版社,2000
[2] 张兰芳.TMS320C2XX用户指南[M].北京:电子工业出版社,1999
[3] TMS320C2XX User’s Guide[M]. USA:TEXAS INSTRUMENTS, 1997
[4] 彭启宗,李玉柏.DSP技术[M].成都:电子科技大学出版社,1997