低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片

上传人:F****n 文档编号:88139471 上传时间:2019-04-19 格式:PPT 页数:107 大小:993KB
返回 下载 相关 举报
低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第1页
第1页 / 共107页
低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第2页
第2页 / 共107页
低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第3页
第3页 / 共107页
低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第4页
第4页 / 共107页
低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片》由会员分享,可在线阅读,更多相关《低频数字相位测量仪的-eda技术综合应用实例与分析-谭会生-ppt-幻灯片(107页珍藏版)》请在金锄头文库上搜索。

1、第15章 低频数字相位测量仪的 设计与分析,15.1 系统设计要求 15.2 系统设计方案 15.3 主要VHDL源程序和汇编语言程序 15.4 系统仿真/硬件验证 15.5 设计技巧分析 15.6 系统扩展思路,15.1 系统设计要求,设计并制作一个低频数字相位测量仪,其设计要求如下: (1) 频率范围:20 Hz20 kHz。 (2) 相位测量仪的输入阻抗100 k。 (3) 允许两路输入正弦信号峰-峰值可分别在15 V范围内变化。 (4) 相位测量绝对误差2。,(5) 具有频率测量及数字显示功能。 (6) 相位差数字显示:相位读数为0359.9,分辨力为0.1。,15.2 系统设计方案,

2、15.2.1 总体设计方案 根据系统的设计要求,本系统可分为三大基本组成部分:数据采集电路、数据运算控制电路和数据显示电路。考虑到FPGA/CPLD具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统拟用FPGA/CPLD和单片机相结合,构成整个系统的测控主体。,图15.1 系统原理框图,15.2.2 信号整形电路的设计 最简单的信号整形电路就是一个单门限电压比较器(如图15.2所示),当输入信号每通过一次零时触发器的输出就要产生一次突然的变化。当输入正弦波时,每过一次零,比较器的输出端将产生一次电压跳变,它的正负向幅度均受到供电电源的

3、限制,因此输出电压波形是具有正负极性的方波,这样就完成了电压波形的整形工作。,图15.2 采用单门限触发器的整形电路,为了避免过零点多次触发的现象,我们使用施密特触发器组成的整形电路。施密特触发器在单门限电压比较器的基础上引入了正反馈网络。由于正反馈的作用,它的门限电压随着输出电压Uo的变化而改变,因此提高了抗干扰能力。本系统中我们使用两个施密特触发器对两路信号进行整形,电路图如图15.3所示。,图15.3 采用施密特触发器的整形电路,15.2.3 FPGA数据采集电路的设计 FPGA数据采集电路的功能就是实现将待测正弦信号的周期、相位差转变为19位的数字量。FPGA数据采集的硬件电路我们可采

4、用FPGA下载板来实现,该下载板包含FPGA芯片、下载电路和配置存储器,其电路结构可参见对应的FPGA下载板说明书。本电路主要是进行FPGA的硬件描述语言(HDL)程序设计。,根据系统的总体设计方案,FPGA数据采集电路的输入信号有:CLK系统工作用时钟信号输入端;CLKAA,CLKBB两路被测信号输入端;EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL=0时,FPGA向单片机传送被测信号频率数据,当RSEL=1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号有:DATA180FPGA到单片机

5、的数据输出口,由输出控制信号EN和RSEL控制。,本数字式相位测量仪的要求是测试并显示输入信号频率范围在20 Hz20 kHz,测试并显示信号a、b的相位差,相位差的变化范围为0359.9,相位差的显示分辨力为0.1,要求测量相位的绝对误差2。由此可知:,图15.4 FPGA数据采集电路系统组成框图,15.2.4 单片机数据运算控制电路的设计 单片机数据运算控制电路的功能就是负责读取FPGA/CPLD采集到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。,单片机数据运算控制电路的硬件可由单片机、晶振电路、按键及显示接

6、口电路等组成。我们在设计中考虑到,单片机具有较强的运算能力和控制能力的特点,因此使用单片机的P0口,P2口及P1.0、P1.1、P1.2、P1.3接收FPGA送来的对应于正弦信号的周期、相位差的19位数据信号,P1口的P1.7、P1.6接入两个轻触按键,完成功能选择与设置。该电路的工作原理是,单片机通过向FPGA发送数据传送指令,使FPGA按照单片机的要求发送数据,同时通过使用单片机的串口,将待显示的数据信息送给数据显示电路显示。其原理图如图15.5所示。,图15.5 单片机系统原理图,单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和a、b信号相位差所对应的时间差

7、,读取数据后进行有关计算,并通过转换后,送出给显示模块,实现频率和相位差的显示。单片机主程序流程图如图15.6所示。 单片机在获取FPGA的数据时,开始的是一般的读取指令MOV指令,分别从单片机的P0口、P2口、P1口的低3位读入数据,组合为一个19位的二进制数据,通过控制口线P1.3、P1.5控制FPGA释放数据。经过多次测试,采用这种方式获得了比较好的效果。单片机读取FPGA数据的程序流程图如图15.7所示。,图15.6 主程序流程图,图15.7 读FPGA数据程序流程图,单片机从FPGA读取信息后,对信息进行计算,算出信号a的频率,其流程图如图15.8所示。 由于a、b信号是两路频率相同

8、、相位不同的正弦波信号,因此经过整形电路后形成频率相同,时间上不重合的两路信号,这样,FPGA可以计数出两路信号的时间差从而可以计算出a、b信号的相位差,其程序流程图如图15.9所示。,图15.8 计算a的频率程序流程图,图15.9 计算a、b相位差的程序流程图,最后单片机需要将信号送到输出端显示出来,即单片机通过显示子程序将信息送到显示电路显示出来,程序流程图如图15.10所示。,图15.10 显示程序流程图,15.2.5 数据显示电路的设计 整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段

9、数码管和8片1位串入8位并出的74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出;这种连接方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也体现出较高的可靠性。数据显示电路如图15.11所示。,图15.11 数据显示电路,74LS164是一种8位高速串入/并出的移位寄存器,随着时钟信号的高低变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让寄存器的输出端变为低电平,并且采用肖特基钳位电路以达到高速运行的目的。并且还具有以下的特点: 典型的35 MHz移位频率; 异步主控复位

10、; 门控串行输入; 同步数据传输; 采用钳位二极管限制高速的终端; 静电放电值大于3500 V。,在本系统中,74LS164的连接方式为:74LS164的输出Q0Q7分别接LED数码管的dp、g、f、e、d、c、b、a,并且Q7连接下一个74LS164的A、B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。在这种状态下,数码管的编码如表15.1所示。,表15.1 数码管的编码表,15.3 主要VHDL源程序和汇编语言程序,15.3.1 FPGA的VHDL源程序清单 -SZXWYVHD LIBRARY IEEE; USE

11、IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SZXWY IS PORT(CLK:IN STD_LOGIC; CLKAA:IN STD_LOGIC;,CLKBB:IN STD_LOGIC; EN,RSEL:IN STD_LOGIC; CLKAC,CLKBC:OUT STD_LOGIC; -仿真观测输出点,调试好后应去掉,以下同 CLKFC:OUT STD_LOGIC; -仿真观测输出用 DATAAC:OUT STD_LOGIC_VECTOR(18 DOWNTO 0); -仿真观测输出用 DATABC:OUT S

12、TD_LOGIC_VECTOR(18 DOWNTO 0); -仿真观测输出用,CLAC,CLBC:OUT STD_LOGIC; -仿真观测输出用 DAC:OUT STD_LOGIC_VECTOR(18 DOWNTO 0); -仿真观测输出用 CLRAC:OUT STD_LOGIC;-仿真观测输出用 ENAC:OUT STD_LOGIC; -仿真观测输出用 LOADAC:OUT STD_LOGIC;-仿真观测输出用 DATA:OUT STD_LOGIC_VECTOR(18 DOWNTO 0);,END ENTITY SZXWY; ARCHITECTURE ART OF SZXWY IS SIGN

13、AL CLKF:STD_LOGIC; SIGNAL DATAA:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL DATAB:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL CLB:STD_LOGIC; SIGNAL DA:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL CLRA:STD_LOGIC; SIGNAL ENA:STD_LOGIC; SIGNAL LOADA:STD_LOGIC; BEGIN,-信号分频模块 FPQ:BLOCK IS BEGIN PROCESS(CLK) IS VARIABLE TEM

14、P:INTEGER RANGE 0 TO 4; VARIABLE CL:STD_LOGIC; BEGIN IF RISING_EDGE(CLK) THEN IF TEMP=3 THEN TEMP:=0;CL:=1; ELSE TEMP:=TEMP+1;,CL:=0; END IF; END IF; CLKF=CL; CLKFC=CLKF; -仿真观测输出用 END PROCESS; END BLOCK FPQ; -控制信号产生模块 KZXH:BLOCK IS SIGNAL CLKA,CLKB:STD_LOGIC; SIGNAL CLA:STD_LOGIC; BEGIN,CLKA=NOT CLK

15、AA; CLKB=NOT CLKBB; CLKAC=CLKA; -仿真观测输出用 CLKBC=CLKB; -仿真观测输出用 PROCESS(CLKA) IS BEGIN IF RISING_EDGE(CLKA) THEN CLA=NOT CLA; END IF; ENA=CLA;,LOADA=NOT CLA; CLAC=CLA; -仿真观测输出用 ENAC=ENA; -仿真观测输出用 LOADAC=LOADA; -仿真观测输出用 END PROCESS; PROCESS(CLKB) IS BEGIN IF RISING_EDGE(CLKB) THEN CLB=NOT CLB; END IF;

16、CLBC=CLB; -仿真观测输出用,END PROCESS; PROCESS(CLKA,CLA) IS BEGIN IF CLKA=0 AND CLA=0 THEN CLRA=1; ELSE CLRA=0; END IF; CLRAC=CLRA; -仿真观测输出用 END PROCESS; END BLOCK KZXH;,-时间检测模块 SJJC:BLOCK IS BEGIN PROCESS(ENA,CLRA,CLKF) IS BEGIN IF CLRA=1 THEN DA=“0000000000000000000“; ELSIF RISING_EDGE(CLKF) THEN IF ENA=1 THEN DA=DA+1; END IF; END IF;,DAC=DA; -仿真观测输出用 END PROCESS; END BLOCK SJJC; -数据锁存模块 SJSC:BLO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号