OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6076|回复: 11

[ALTERA] 用开拓者FPGA开发板做一个FSK信号发生器的问题

[复制链接]

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
发表于 2020-6-21 20:55:49 | 显示全部楼层 |阅读模式
6金钱



      这几天写了个fsk的程序,在做发送控制时出了些问题。这部分我写了两个模块,一个储存了12bytes的预发送数据,另一个每次接受1byte的数据,
并按bit一个一个发送给调制模块,产生相应频率的载波。目前载波生成模块已经通过调试,但是byte发送和bit发送模块上电复位后就卡住了。



      byte发送的具体思路是存好12bytes的数据表,当bit发送模块发送完成8bits的数据后输出一个高脉冲byte_send_flag,byte发送模块检测到这个信
号的上升沿后数据指向下一个byte并发送给bit发送模块,这个过程中也输出一个高脉冲byte_send_en,同样bit发送模块检测到byte_send_en的上
升沿后开始将输入信号移位并按bit发送个载波生成模块生成相应频率的载波。
      自己在流程上实在找不出问题了,望各位前辈大神赐教!

signaltap抓取的波形

signaltap抓取的波形

dds_psk_fsk _copy.zip

9.28 MB, 下载次数: 9

完整工程

最佳答案

查看完整内容[请看2#楼]

上升沿检测这里有问题 应该是对第二拍的信号取反相与 还有你这种上下游有信号交互的尽量用组合逻辑
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
发表于 2020-6-21 20:55:50 | 显示全部楼层
PhinexZhang 发表于 2020-6-22 17:10
assign byte_send_en_upedge = (~byte_send_en_sync1) & byte_send_en_sync2;  // always@(posedge clk or  ...

上升沿检测这里有问题
应该是对第二拍的信号取反相与
还有你这种上下游有信号交互的尽量用组合逻辑
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-21 20:56:16 | 显示全部楼层
顶~~~~~~~
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-21 20:56:55 | 显示全部楼层
顶~~~~~~~~
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-21 21:06:44 | 显示全部楼层
顶~~~~~~~~~~~
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-22 08:42:21 | 显示全部楼层
顶~~~~~~~~
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-22 16:53:43 | 显示全部楼层
顶~~~~~~~~~~~~
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
发表于 2020-6-22 17:10:31 | 显示全部楼层
assign byte_send_en_upedge = (~byte_send_en_sync1) & byte_send_en_sync2;  // always@(posedge clk or negedge rst_n)begin     if(!rst_n) begin         byte_send_en_sync1 <= 1'b0;         byte_send_en_sync2 <= 1'b0;     end     else begin         byte_send_en_sync1 <= byte_send_en;         byte_send_en_sync2 <= byte_send_en_sync1;     end end
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
发表于 2020-6-22 17:14:51 | 显示全部楼层
其中的判断条件应该是用逻辑与'&&',您都用的按位于‘&’
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-22 20:19:33 | 显示全部楼层
PhinexZhang 发表于 2020-6-22 17:14
其中的判断条件应该是用逻辑与'&&',您都用的按位于‘&’

好的,我修改一下
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-22 20:20:07 | 显示全部楼层
PhinexZhang 发表于 2020-6-22 17:12
上升沿检测这里有问题
应该是对第二拍的信号取反相与
还有你这种上下游有信号交互的尽量用组合逻辑

您说的“上下游有交互”具体是指代什么呢?
回复

使用道具 举报

21

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
490
金钱
490
注册时间
2019-1-18
在线时间
101 小时
 楼主| 发表于 2020-6-23 09:45:31 | 显示全部楼层
后来自己改成功了,时序有点问题有几个reg位数也不对,还是谢谢您。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 16:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表