d_trigger实体实现门控信号和被测信号TCLK同步控制功能,内部有一个受被测信号TCLK上升沿同步的D触发器和预置门控信号CL共同作用产生实际的门控信号。counter32b1和counter32b2分别对标准频率BCLK和被测频率TCLK计数,内部为带异步复位的32位二进制计数器的时序进程。mux64_8是数据选择器,根据地址信号se1不同取值,64位数据依次从data_out[7:0]端输出。
即当CLR为1,D触发器及两个计数器清零。当预置门控信号CL为1时,及经放大整形后的被测信号TCLK上升沿到来时,同步电路输出dout=1,带使能端的2个计数器开始计数;当预置门控信号CL为0时,被测信号TCLK下一个上升沿到来时,同步电路输出dout=0,即ena1=ena2=0,2个计数器停止计数。然后根据地址信号se1不同取值,64位数据依次从data_out[7:0]端输出送入后端的乘法器和除法器模块,按公式计算出被测频率的值。
(3)嵌入式微处理器读取测频结果
本系统采用东南大学国家集成电路工程中心自主研发的嵌入式微处理器SEP 3203,并通过JTAG仿真器连接到PC机上的集成调试环境(IDE)软件平台,在IDE中统一完成C语言的编辑、编译、连接。IDE选择了ARM公司的开发软件ADS 1.2,利用处理机的Embedded-ICE性能,通过JTAG接口实现实时的仿真调试。整个系统具有高性能、低功耗、低成本的特点。本系统的平台结构如图5所示:
FPGA与嵌入式微处理器SEP 3203之间采用总线的方式进行数据交换,也就是将FPGA看作总线上的一个并行外部设备。FPGA通过一个SRAM接口与嵌入式微处理器SEP 3203相通信。即从嵌入式微处理器SEF'3203的角度来看,FPGA与嵌入式微处理器SEP3203之间的通信就相当于SEP 3203与一个SRAM之间的通信。在程序中读写指定区域的地址,可以实现对FPGA的读写操作。嵌入式微处理器的软件流程图如图6所示:
处理器SEP 3203的外部存储器接口(EMI)提供了6个可配置的片选信号:CSA,CSB,CSC,CSD,CSE,CSF,用来实现对ROM,SRAM,NOR FLASH的片选。其中CSE,CSF、可以配置成SDRAM片选信号。FPGA模块使用的是CSB片选信号。CSB片选的默认地址范围为0x24000000~0x27FFFFFF,即FPGA组成的外设映射在SEP3203的地址空间为0x24000000~0x27FFFFFF,所以SEP3203在访问FPGA时只需读写该地址空间中的任何一个地址,SEP3203能自动产生相应的总线操作,从而读取到FPGA的测频结果。
5 仿真及验证
取fs=1 MHz为例,实际仿真的结果如图7,图8所示,由此验证了等精度测频的高精确度。
例1:标准频率Fs为1 MHz;待测频率Fχ为1 kHz。
由图7看出Ns=0x7DOH=2 000;Nχ=0x2H=2,故测得频率Fχ=(N=/Ns)*Fχ=1 kHz。
例2:标准频率Fs为1 MHz;待测频率Fχ为7.288 kHz。
由图8看出Ns=0x80AH=2 058;Nχ=0xFH=15,故测得频率Fχ=(Nχ/Ns)*Fs=7 288.630 Hz。
采用等精度频率测量方法测量精度保持恒定,不随所测信号的变化而变化,再结合FPGA集成度高、高速和高可靠性的特点,使频率的测频范围可达到0.1~1×10 8Hz,测频全域的相对误差恒定。
6 结 语
本测频系统将嵌入式微处理器灵活的控制功能与FPGA器件的结合,突破了传统电子系统的设计模式,使系统开发速度快、成本低、系统性能大幅度提高。因此,在目前的电子设计中,充分利用嵌入式微处理器+FPGA结构将起到事半功倍的效果。