基于EMIF接口的数据采集系统的设计
扫描二维码
随时随地手机看文章
近年来,随着微控制器的发展,各类工业控制产品对现代数字控制器的需求也越来越大。这又反过来推动了现代大规模集成电路和微控制器的不断发展,同时各类数字处理器的工作频率也越来越快,例如TI公司的控制器TMS320C6000可达到200 MHz。而为了支持与各种外部存储器之间的无缝对接,TMS320C6000系列处理芯片加入了外部存储器接口(The External Memory Interface,EMIF)。本次设计主要是以TI公司的浮点核芯片TMS320C6713为主要控制器。
1 浮点DSP TMS320C6713简介
TMS320C6713是一款高性能浮点DSP,其工作主频可达200 MHz,其单指令执行周期仅5 ns,具有强大的定点浮点运算能力,运算速度高达1 600MIPS/1 200MFLOPS。
TMS320C6713处理器由3个主要部分组成:CPU内核、存储器和外设。
CPU中包含8个功能单元,可以并行操作;有两组寄存器,每组寄存器由16个32位寄存器组成。片内程序存储器的总线宽度为256 bit,每个周期可取8条32位指令。外设包括扩展的直接存储器访问(EDMA)、低功耗、外部存储器接口(EMIF),串口、McBSP接口、IIC接口和定时器等。TMS320C6713功能框图如图1所示。
从总体上归纳一下,TMS320C6713具有以下特点:
1)高性能浮点DSP,主频高达200 MHz,运算速度最高可达1600 MIPS;
2)超长指令字(VLIW)DSP核:8个独立功能单元(6个累加器和2个乘法器),32个32 bit的通用寄存器的存储装载结构,可以大大缩减代码的指令包;
3)L1/L2存储器结构:4 KB L1P程序缓存,4 KB L1D数据缓存:256 KB L2内存:其中64 K字节可配置成缓存或存储器,192 K字节统一映像内存,可以灵活地定位为程序/数据空间;
4)32位外部存储器接口(EMIF):可配置异步存储器接口,扩展SRAM和E2PROM;可配置同步存储器接口,可扩展SDRAM和SBSRAM;可寻址512 MB外存空间;
5)16位的HPI接口,可访问CPU的任意可寻址空间;
6)2个多通道缓存串口(McBSP);
7)2个I2C总线主/从模式接口;
8)内置灵活的PLL锁相时钟电路;
9)支持1EEE-1149.1(JTAG)边界扫描接口;10)16路GPIO接口。
与其他DSP相比较而言,TMS320C6713的主要优点是运行速度快、存储配置方便、资源丰富,这些都给微控制器的设计带来了很大的便利。
2 EMIF简介
TMS320C6000的EMIF接口,即外部存储器接口(The External Memory Interface),支持各种外部器件的无缝接口,包括:流水线式同步猝发SRAM(SBSRAM);异步DRAM(SDRAM);异步器件,包括SIAM、ROM和FIFO等;外部共享存储器。
简单来说,EMIF接口就相当于一个可配置的总线接口,其接口上面的信号线基本囊括了各种存储器(SRAM、Flash RAM、DDR-RAM等)的读写接口信号。通过软件配置相应的寄存器,可以使EMIF接口工作于和设计中使用的外部存储器相匹配的固定的接口形式。但是与其他固定接口不同的是,EMIF接口读写时序中的高低电平的保持时间是可以通过寄存器设置的。
下面就本次设计使用的TMS320C6713为例详细介绍一下EMIF。TMS320C6713的EMIF可以通过下面两种请求器处理外部总线请求:片内加强型直接存储器存取EDMA控制器;外部共享存储器的设备控制器。
图2是TMS320C6713的EMIF接口信号示意图。
图2中,ECLKIN信号是系统提供的一个外部时钟源。ECLKOUT信号是由内部产生(基于ECLKIN),所有与本控制器EMIF接口对接的存储器必须工作在ECLKOUT下。SBSRAM接口、SDRAM接口和异步接口的信号合并复用。这里的CE1片选空间支持所有的3种存储器接口。
表1列出TMS320C6713的EMIF存储器映射寄存器。通过设置这些寄存器,既可以将EMIF配置成为不同类型、不同位宽的总线接口,又可以配置总线读写时序的速度。由于EMIF接口的这一优势,设计者使用集成EMIF接口的控制芯片时,无论是扩展外部存储设备,还是利用EMIF接口进行外部设备的读取,其难度都大大降低。这在一定程度上也使得具有EMIF接口的高速控制核心(TMS320C6000系列的DSP)在将来能够得到更加广泛的应用。
[!--empirenews.page--]
3 硬件电路设计与实现
3.1 需求分析
本设计硬件任务主要是完成对主电路的电压、电流的采集,具体的要求如表2所示。
3.2 硬件设计
图3所示是TMS320C6713外围的主要的功能框图。
如图3所示,本设计的外围器件主要包括:双口RAM,用于与定点核DSP芯片(如TMS320F2812)交换数据;Boot Flash,当程序的大小大于192 KB,用于存储启动程序;SDRAM,用作运行部分程序的存储介质;CPLD,用于逻辑扩展;AD7865,用于采集电压电流的实时数据。
AD7865是一种高速、低功耗、四通道同步采样的14位A/D转换芯片,该芯片内部有1个2.4μs的逐次逼近型A/D转换器,4个跟踪/保持放大器,内部2.5V参考电压,同时片上还集成有时钟振荡器和1个高速并行接口。AD7865可大大简化硬件电路设计。AD574转换时间为25μs,而AD7865完成四通道信号的同时转换,则只需要100 μs。 AD7865内部4个采样通道的输入信号是同步采样的,只需发送1个脉冲的采样启动信号,芯片将自动完成采样、逼近和存储数据到片内特定寄存器等工作,单路采样速率350 KSPS,四路同时采集时100 kHz。
根据设计需求可设定调理电路放大倍数为2倍(反相放大),则实际值与A/D的采样值之间的关系可由式(1)表示。
实际值=采样值/213x10/(-2)×传感器系数 (1)
若采样值为正数时可用式(1),否则需先进行求补处理。
AD7865的前端调理电路如图4所示。
AD7865的外围连接电路如图5所示。
TMS320C6713的EMIF接口各信号线可以根据EMIF接口的示意图(图2)连接。在这里需要注意的是各信号线的上拉、下拉和信号线上的限流等措施。可按照如下原则设计:1)地址线和数据线以及控制线出口处可以串联33 Ω的电阻,以达到限流的效果;2)对于某些敏感信号(如片选/CEx信号,保有信号/HOLD等等)在默认状态下的电平,应该通过上拉和下拉进行确定。一般情况下,上拉电阻用10 kΩ的电阻,下拉电阻用1 kΩ的电阻。
CPLD的主要功能主要是实现逻辑扩展,在本设计中,CPLD的主要工作是在DSP6713和多片AD7865芯片之间进行信号的解析和传递。选用的CPLD芯片是ALTERA公司的EPM570,该芯片相较于其他同类型的CPLD而言,配置简单、存储容量大而价格较低廉。其外围电路比较简单,可以参考ALTERA公司关于该芯片的引脚功能表,在此不做赘述。[!--empirenews.page--]
4 软件实现与部分流程图
4.1 EMIF接口的配置实现
TMS320C6713要实现EMIF接口数据读取的首要条件是正确配置EMIF接口的寄存器,以达到设计的要求。
本设计将CE3作为外部AD的寻址空间,因此在这里主要需要配置的EMIF寄存器主要是全局控制寄存器GBLCTL和CE3空间控制寄存器。当然,要正确地配置EMIF接口,必须要正确配置TMS320C6713的锁相环(PLL)寄存器,在此处不具体说明。配置TMS320C6713的锁相环(PLL)寄存器以后,就可以配置EMIF总线的几个控制寄存器了。本设计中具体主要寄存器配置的几个参数如下:
本设计中采用的EMIF接口方式为32位异步接口(MTYPE=0010b)。虽然AD7865是14位MD转换器,配置为16位宽的接口方式也可以了,但是实际上,由于内部数据处理时为了计算方便而采用了32位的数据,数据位宽通常为32位,在进行外部读取时,如果采用16位宽度,那么一次读
取总线为了匹配数据长度,将要发送连续读取两次的读信号,这在一定程度上虽然加快了A/D读取的速度,但在后续数据处理方面则需要更多的操作和更多的时间,所以权衡各因素,采用32位宽异步接口方式。
4.2 实现A/D转换和读取数据
实际使用中,AD7865启动转换只需要给出片选和ADCONV信号。而它的读取方式有两种:
1)转换过程中读取数据,即转换一路读取一路;
2)所有通道的信号均转换完成后再顺序读取各通道数据。
两种读取方式的主要区别是:第1种读取速度较快,但是时序要求较高,硬件连接复杂,增加软硬件设计的难度;而第2种读取速度相对较慢,但是时序要求不高,软硬件设计也相对简单。考虑到系统的可靠性,同时CPLD完成时序的能力较差,故本设计采用了第2种读取方式。
实际采用的A/D转换和读取的主要流程如图6所示。
5 测量结果
本文完成辅助控制器的设计后,对软硬件进行测试。
主要采用直流电源进行测试,测试分为正向电压、反向电压(即认为传感器系数为1)。测试结果见表3。由表可知测试结果的误差小于1%,完全符合设计要求。
6 结束语
由测量数据和控制器的计算结果可知,本设计完成了基于EMIF接口的数据采集系统的设计任务。由系统采集得到的数据误差较小,可以满足各类工程的需求。通过在线调试。可看到在实际采样过程中,采样数据是在一个值附近波动,在某些对于数据的实时度需求不是很高,而对数据的精确度需求较高的场合,可通过求取某一段较短时间内的采样平均值的方法来提高数据的精度。而且,由于控制器选用性能较高的TMS320C6000系列DSP,其性能和资源还有很大的可利用率。系统在采集数据完成以后,可以高速高精度的进行电力系统的参数计算,比如三相电压/电流和相位、有功功率和无功功率、功率因素以及谐波分析等计算。