月经量多是什么原因| 吃丝瓜有什么好处| 流鼻血不止是什么原因| 借您吉言什么意思| 吃什么长肌肉| 直肠癌是什么原因引起的| gc是什么激素| 吃什么补脑最快| 代谢是什么意思| 滴水观音叶子发黄是什么原因| 兽性大发是什么生肖| 13太保是什么意思| 电轴左偏是什么意思| 甘油三酯高是指什么| 酒不能和什么一起吃| 养乌龟有什么好处| 少尉是什么级别| 菊花什么时候扦插最好| 五个月宝宝可以吃什么水果| 中性粒细胞比率偏低是什么意思| 静脉血栓有什么症状| 你说什么| 东北有什么好玩的景点| 题词是什么意思| progress什么意思| 娃娃鱼吃什么食物| 胆囊炎属于什么科| 窦性心动过速是什么原因| 鸡肉和什么不能一起吃| 什么叫cp| 柱镜度数是什么意思| 脾虚湿气重喝什么茶| 感冒了吃什么水果好| 记仇的人是什么性格| 利是什么生肖| 司空见惯的惯是什么意思| 霉菌性阴道炎是什么症状| 装孙子是什么意思| 88年的龙是什么命| 白带是什么意思| 腹腔积水是什么原因造成的| ana医学上是什么意思| 唇炎吃什么药| 小确幸是什么意思| 什么照镜子里外不是人| 牙龈长期出血是什么原因| 什么是高血脂| 10.5是什么星座| 脂蛋白a高吃什么药| 睡觉爱做梦是什么原因| 五行中金代表什么| 鸭肉和什么一起炖好吃| 舌苔腻是什么意思| 面藕是什么| 腋窝淹了用什么药| 同字五行属什么| 彩超挂什么科| 什么的勇气| 嗜酸性粒细胞偏高是什么原因| 性疾病都有什么症状| 信球什么意思| 不慎是什么意思| 治疗梅毒用什么药最好| 性病都有什么| 面部神经吃什么药| 痛风什么感觉| 雾化对小孩有什么影响或者副作用| 吃毓婷有什么副作用| 肚脐眼痒是什么原因| 鼻子红是什么原因| 一什么三什么的成语| 属鸡与什么属相最配| 温存是什么意思| 霉菌性阴道炎用什么洗液好| 办理生育津贴需要什么资料| 嘴巴起水泡是什么原因| 什锦是什么水果| 血管检查是做什么检查| 竣字五行属什么| 诸葛亮是一个什么样的人| ast什么意思| 缺钾是什么症状| 信息是什么意思| 米粉用什么做的| 金是什么生肖| 梦见皮带断了什么预兆| 爱到什么时候| 太阳是什么颜色的| hazzys是什么牌子价格| 黄瓜什么时候种| 急性胃炎吃什么药| 一进大门看见什么最好| 钝是什么意思| 阿司匹林肠溶片什么时候吃| 胃为什么会疼| 什么是血浆| 肚子左边疼是什么原因| 小儿流清鼻涕吃什么药效果好| 小黄鱼是什么鱼| 女人吃什么最补子宫| 女人没有白带说明什么| 喝什么降血糖| 肠道易激惹综合症是什么症状| 为什么微信运动总是显示步数为0| 疱疹不能吃什么| 手机壳什么材质的好| 肝脏多发囊肿什么意思| ur是什么| 包含是什么意思| 鱼非念什么| 脑脊液白细胞高是什么原因| 心电图hr是什么意思| 14岁属什么| 过期葡萄酒有什么用途| 肿气肿用什么药比较好| 西安和咸阳什么关系| 鼻子干燥吃什么中成药| 汉尼拔什么意思| 左边偏头痛什么原因| 什么叫肌酸激酶| 211大学什么意思| 香蕉补什么| lhc是什么意思| 红色加绿色是什么颜色| 肺纹理增粗是什么意思| 什么叫腱鞘炎| 正月十九是什么日子| 葛根泡水有什么功效| 三撇读什么| 焦虑症有什么症状| 柠檬什么时候成熟| 味淋是什么东西| 人为什么要睡觉| 做梦掉牙齿是什么预兆| 戌是什么意思| 一声什么| 兵不血刃的意思是什么| 妊娠什么意思| 结婚36年是什么婚| 心悸心慌吃什么药最好| 安乐片是什么药| 腋下是什么经络| 同舟共济是什么意思| 闭经是什么意思| 隐形眼镜没有护理液用什么代替| tags是什么意思| 无咎是什么意思| cr是什么金属| 黏膜是什么意思| led灯是什么灯| 天铁是什么| 阴茎不硬是什么原因| 鼻衄是什么意思| 补铁的水果有什么| 排骨用什么炖好吃| zw是什么意思| 六味地黄丸什么牌子的好| 黄瓜为什么不叫绿瓜| c1和c2有什么区别| 鱼刺卡喉咙挂什么科| 知识渊博是什么意思| 绝膑而亡是什么意思| 陨石有什么作用和功效| 不孕不育做什么检查| 右腹部是什么器官| 水床是什么| 连铁是什么器官| 女真族现在是什么族| mpa是什么单位| 火彩是什么| 上梁山是什么意思| 步履匆匆的意思是什么| 阳历7月7日是什么日子| 大炮是什么| 耸肩是什么意思| penis是什么意思| 肝功能谷丙转氨酶偏高是什么原因| 鱼休子是什么| 老爹是什么意思| 去香港自由行要办什么手续| 素手是什么意思| 兰花代表什么象征意义| 密度是什么意思| 胸闷气短看什么科| 晕车喝什么| 咳嗽不能吃什么| 阴毛变白什么原因| 吃了小龙虾不能吃什么| 牙龈一直肿不消什么原因| 三级士官是什么级别| 不小心怀孕了吃什么药可以流掉| 脂蛋白a高吃什么药| 四大才子中状元是什么生肖| 2 26是什么意思| 腺肌症吃什么食物好| 红粉是什么意思| 宝姿是什么档次的牌子| 骨髓是什么| 电压不稳定是什么原因| 舌头有裂痕是什么原因| 彩超跟b超有什么区别| 外向孤独症是什么意思| 牛肉不能和什么一起吃| 减肥挂什么科| 农历六月是什么星座| 晚上喝牛奶有什么好处| 虎毒不食子是什么意思| 黄体酮吃多了有什么副作用| 血氯高是什么原因| 霉菌性阴道炎是什么原因引起的| 梦见鞋子是什么意思| 阴道炎用什么药效果好| 阴道有异味买什么药| 咽炎是什么原因引起的| 四个月是什么字| 五味是什么| 吃豆腐是什么意思| 对宫星座是什么意思| 桦树茸什么功效| 沣字五行属什么| 裸婚是什么意思| 单绒双羊是什么意思| 卵生是什么意思| 静脉曲张吃什么中成药| 猫五行属什么| 蚊子吃什么| 布朗尼是什么| 尿酸高吃什么| 清宫和无痛人流有什么区别| 有点想吐是什么原因| 急性肠胃炎有什么症状| 剑走偏锋是什么意思| 见风使舵是什么生肖| 蛇舌草有什么功效| 鼻窦炎有什么特效药| 炖鸭汤放什么食材最好| 氮质血症是什么意思| 手黄是什么原因| peaches是什么意思| 三花五罗都是什么鱼| 尿急是什么意思| 秦始皇为什么焚书坑儒| 眼袋浮肿是什么原因| 2026年是什么命| 食禄是什么意思| 晕车药吃多了有什么副作用| wy是什么牌子| 牛角尖是什么意思| 梦见已故的父母是什么兆头| cfa是什么证书| 靥什么意思| 什么叫肠化| 冬眠是什么意思| 先心病是什么病| 女生喝什么茶对身体好| 蟋蟀长什么样| 心力衰竭是什么症状| 4月20号是什么星座| 小孩喜欢趴着睡觉是什么原因| 先自度其足的度是什么意思| 金牛座与什么星座最配| 出阁是什么意思| 大兴什么| 脚气是什么菌| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于FPGA LPM多功能信号发生器设计

航运行业:干散货运价大幅下挫 集运延续弱势

作者: 时间:2025-08-06 来源:网络 收藏
摘要: 以 芯片为载体, 通过QuartusII 的LPM_ROM 模块和VHDL 语言为核心设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波、递减锯齿波、三角波、阶梯波和方波等5 种信号,通过QuartusII 软件进行波形仿真、定时分析,仿真正确后,利用实验板提供的资源,下载到芯片中实现预定功能。百度   祝他们好运。

  信号发生器又称为波形发生器, 是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。它是科研及工程实践中最重要的仪器之一, 以往多用硬件组成,系统结构比较复杂,可维护性和可操作性不佳。随着计算机技术的发展,信号发生器的设计制作越来越多的是用计算机技术,种类繁多,价格、性能差异很大。用 或C 来实现,它的优点是可以进行功能仿真,而且 和C 的片内资源丰富,设计的流程简单。用FPGA 所构成的系统来产生波形信号,这个系统既能和主机系统相连,用相应的上层软件展示波形信号, 又方便程序的编写, 而且还有A/D0809接口可以产生模拟信号的输出和外面的示波器相连。

  1 正弦信号发生器的LPM 定制

  正弦信号发生器由计数器或地址发生器(6 位)、正弦信号数据ROM (6 位地址线,8 位数据线, 含有64 个8 位数据, 一个周期)、原理图顶层设计和8 位D/A ( 实验中用DAC0832 代替)。

  其框图如图1 所示。其中信号产生模块将产生所需的各种信号,这些信号的产生可以有多种方式,如用计数器直接产生信号输出,或者用计数器产生存储器的地址,在存储器中存放信号输出的数据。信号发生器的控制模块可以用数据选择器实现, 用8 选1 数据选择器实现对5 种信号的选择。

基于FPGA LPM多功能信号发生器设计

图1 信号发生器结构框图

  最后将波形数据送入D/A 转换器,将数字信号转换为模拟信号输出。用示波器测试D/A 转换器的输出,可以观测到5 种信号的输出。

  1.1 定制初始化数据文件

  QuartusII 能接受的LPM_ROM 模块中的初始化数据文件的格式有两种:。mif 格式文件和。hex 格式文件。实际应用中只要使用其中一种格式的文件即可。下面采用。mif 格式文件,调出产生ROM 数据文件大小的选择窗。根据64 点8 位正弦数据的情况,可选ROM 的数据数Number 为64,数据宽Word size 取8 位。单击OK 按钮,将出现图2 所示的空的。mif数据表格,表格中的数据格式可通过鼠标右键单击窗口边缘的地址数据弹出的窗口选择。

基于FPGA LPM多功能信号发生器设计

图2 .mif 数据表格

  将波形数据填入mif 文件表中也可以使用QuartusII 以外的编辑器设计MIF 文件,其格式如下:

  #include STdio.h>

  #include "math.h"

  main()

  {int i;float s;

  for (i=0;i1024; i++)

  { s = sin(atan(1)*8*i/1024);

  printf("%d : %d;n",i,(int)((s+1)*1023/2)); }}

  把上述程序编译成程序后, 可在DOS 命令行下执行命令:

  romgen > sin_ rom. mif;

  1.2 定制LPM 元件

  打开Mega Wizard Plug_In Manager 初始对话框, 选择Create a new custom… 项。单击Next 按钮后,选择Storage 项下的LPM_ROM, 再选择ACEX1K 器件和VHDL 语言方式;最后输入ROM 文件存放的路径和文件名:F:sing_gntdata_rom (定制的ROM 元件文件名),单击Next 按钮,选择ROM 控制线、地址线和数据线。这里选择地址线位宽和ROM 中数据数分别为6 和64; 选择地址锁存控制信号inclock。

  对于地址信号发生器的设计。方法一:用VHDL 语言设计6 位计数器,产生其元件符号;方法二:仍采用LPM 定制的方法。

1.3 完成顶层设计

  按图3 画出顶层原理图,然后进行编译,波形仿真如图4所示。

基于FPGA LPM多功能信号发生器设计

图3 简易正弦信号发生器顶层电路设计

基于FPGA LPM多功能信号发生器设计

图4 当前工程仿真波形输出

  对当前设计通过执行Quartus II 的命令Create ∠ Update/ Create Symbol Files for Current File,可以为设计电路建立一个元件符号,以便被顶层设计多功能信号发生器所调用。

  2 其他信号部分原程序

  其他各信号发生器可参照正弦信号发生器的设计方法设计或直接采用VHDL 硬件描述语言进行设计。

  LIBRARY IEEE;--递增锯齿波的设计

  USE IEEE.STD LOGIC 1164.ALL;

  USE IEEE.STD LOGIC UNSIGNED.ALL;

  ENTITY signal2 IS --递增锯齿波signal1

  PORT(clk,reset:IN std_logic;--复位信号reset, 时钟信号clk

  q:OUT std_logic_vector (7 DOWNTO 0));--输出信号q

  END signal2;

  ARCHITECTURE b OF signal2 IS

  BEGIN

  PROCESS(clk,reset)

  VARIABLE tmp:std_logic_vector(7 DOWNTO 0);

  BEGIN

  IF reset='0' THEN

  tmp:="00000000";

  ELSIT rising_ege(clk)THEN

  IF tmp="11111111"THEN

  tmp:="00000000";

  ELSE

  tmp:=tmp+1; --递增信号的变化

  END IF;

  END IF;

  q=tmp:

  END PROCESS

  END b;

LIBRARY IEEE;--方波的设计

  USE IEEE.STD_LOGIC_1164.ALL;

  USE IEEE.STD_LOGIC_UNSIGNED.ALL;

  entity signal5 is --方波signal5

  PORT(clk,reset:in std_logic; --复位信号reset,时钟信号clk

  q:out std_logic_vector (7 DOWNTO 0)); --输出信号q,8 位数字信号

  END signal5;

  ARCHITEECTURE a OF signal5 IS

  SIGNAL; a:std_logic;

  BEGIN

  PROCESS(clk,reset)

  YARIABLE tmp:std_logic_vector(7 downto 0);

  BEQIN

  IF reset='0' then

  a='0';

  elsif rising_edge(clk)THEN

  IF tmp="11111111" THEN

  tmp:="00000000";

  ELSE

  tmp:=tmp+1;

  END IF;

  if tmp="10000000" then

  a='1';

  else

  a='0';

  END IF;

  END IF;

  END PROCESS;

  PROCESS(clk,a)

  BEGIN

  IF rising_edge(clk)THEN

  IF a='1' THEN

  q="11111111";

  ELSE

  q="00000000";

  END IF;

  END IF;

  END PROCESS;

  END a;

  3 顶层电路的设计

  将上述6 个模块生成符号,供顶层电路调用。这些模块分别是:递减锯齿波信号产生模块signall、递增锯齿波信号产生模块signal2、三角波信号产生模块signal3、阶梯波信号产生模块signal4、方波信号产生模块signal5 和数据选择器mux51。顶层电路的连接如图5 所示。

基于FPGA LPM多功能信号发生器设计

图5 信号发生器顶层电路

4 D/A 转换器的连接

  选择一个D/A 转换器,将数据选择器的输出与D/A 转换器的输入端连接。D/A 转换器的可选范围很宽,这里以常用的DAC0832 为例。DAC0832 的连接电路如图6 所示。

基于FPGA LPM多功能信号发生器设计

图6 DAC0832 的连接电路

  5 实现与测试

  信号发生器顶层电路的仿真波形如图7 所示,这里只就输入选择信号等于5 时的情况进行仿真,此时输出波形是方波,输出的数字信号为周期性的全0 或全1。

基于FPGA LPM多功能信号发生器设计

图7 信号发生器顶层电路的仿真波形

  信号发生器的底层电路模块也可以分别进行仿真,例如对阶梯波信号产生模块signal4 进行仿真,仿真波形如图8 所示,输出的数字信号为阶梯状变化。

基于FPGA LPM多功能信号发生器设计

图8 阶梯波信号产生模块signal4 的仿真波形

  6 结束语

  硬件电路设计主要是设计相关模块的设计思想的可视化,是相关模块的电路图的汇总和其相关仿真波形的集锦,该部分条理清晰,思路明确,从中我们可以清晰地看到该设计方案的具体模块和整个设计的原理结构实图;程序设计这一部分主要阐述该设计的设计方法与设计思想,进一步从软件设计上揭示设计构思,主要包含了整个设计所用到的模块的硬件描述语言的设计, 本文设计思路清晰,通过QuartusII 软件进行波形仿真成功,特别是正弦信号发生器的LPM 定制对于编程不是特别强的人员提供另一种途径来实现,加深理解EDA 的层次设计思想,很好的把握住了教学的改革方向,更好的锻炼了学生理论联系实践的能力。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭
节育环是什么 田童念什么 hmg是什么药 大便次数多吃什么药 大闸蟹什么时候吃
东营有什么大学 纲目是什么意思 褪黑素是什么东西 儿童身份证需要什么材料 睡觉放屁是什么原因
为什么不建议女人上环 fl是胎儿的什么意思 什么叫口腔溃疡 奶粉什么时候喝最好 液体面包是什么
痣为什么会越来越多 肠胃炎可以吃什么食物 手腕发麻是什么原因 为什么眉毛越来越少 doki是什么意思
左顾右盼的顾是什么意思hcv7jop5ns3r.cn 晚上口渴是什么原因引起的wuhaiwuya.com 中书舍人是什么官职zhiyanzhang.com cdfl是什么意思hcv8jop2ns1r.cn 人流后需要注意什么hcv8jop8ns9r.cn
嘉靖为什么不杀严嵩hcv7jop6ns5r.cn 血压正常心跳快是什么原因hcv7jop6ns6r.cn 北京为什么叫四九城hcv8jop2ns3r.cn 吃什么长个子最快hcv8jop7ns5r.cn 子宫低回声结节是什么意思hcv7jop9ns1r.cn
女人什么眉毛最有福气hcv8jop8ns1r.cn 皮肤黄吃什么可以改善hcv8jop2ns7r.cn 乌龟能吃什么水果hcv9jop4ns3r.cn exo的e为什么不发音bjhyzcsm.com 滋阴降火吃什么药hcv8jop6ns4r.cn
男人下面流脓吃什么药hcv8jop4ns6r.cn 梦见蛇和老鼠是什么意思hcv9jop3ns3r.cn 甲状腺结节忌口什么bjhyzcsm.com 什么是穿刺hcv9jop3ns3r.cn 大便秘结是什么原因hcv8jop4ns6r.cn
百度