当前位置:首页 > 多功能移相式信号发生器
湖南工业大学本科生毕业设计(论文)
第7章 软件设计
7.1 VHDL程序设计
系统软件的主要任务是:将单片机送入的频率、相位差控制字,控制输出波形种类进行处理得到三种不同的波型,频率和相位差。
首先是对DDS子程序进行设计,利用类属语句对输入频率字,相位字,累加器,正弦ROM表的地址位宽和数据位宽进行说明,本设计用到的位宽分别是32、8、32、8、8。软件的主要任务是在累加器中按输入的频率字进行循环累加,将截短后的数据与输入的相位字进行累加。因设计中用到的相位字是8位的故可直接输入到ROM中进行查表。正弦ROM表的设计只本设计的一个重点部分。首先可用C语言编制好正弦ROM程序,在DOS底下生成后缀为.mif的文件。然后在MAX+BLUS软件中定制一个数据位宽和地址位宽为8位的LMP_ROM。定制好后在DDS程序中进行说明,最后即可编译了。
然后是主程序的设计,为了将32位的频率字和8位的相位字送到FPGA中,以及能得到不同的波型。我们设置了A、B、C三个控制信号,分别对用如下:
表7.1 三个控制信号的传送数据
A 0 0 1 1 1 B 1 1 0 0 1 C 0 1 0 1 0 所送数据 频率字0-7位 频率字8-15位 频率字16-23 频率字24-31 相位字 在程序中对DDS子程序进行例化说明,调用DDS子程序,最终编译实现。
29
湖南工业大学本科生毕业设计(论文)
7.2 单片机源程序流程图
开始读显示缓冲区内容送串行口显示N是否送完Y清显示缓冲区现场恢复返回结束流程图(2) 显示子程序
开始 初始化 判断按键
0-9键A键B键 送0-9到显示显示数据送栓除上次送入缓冲区的
缓冲区显示缓冲区数据
调送数据显示子程序清显示缓冲区调显示子程序现场恢复返回结束流程图(1) 按键功能程序30
湖南工业大学本科生毕业设计(论文)
开始判断标志位波形代码频率字相位字取数据缓冲区内容取数据缓冲区内容取数据缓冲区内容经P2口,P0口送数据给FPGA经P2口,P0口送数据给FPGA经P2口,P0口送数据给FPGA清标志位返回结束流程图(3) 送数据子程序 31
湖南工业大学本科生毕业设计(论文)
第8章 波形仿真
8.1 DDS子程序波形图(输入频率字为00000001,相位字为0)。
8.2 主程序波形图1(输入频率字0000FFFF,相位字为0)。
32
共分享92篇相关文档