串行通信的采样问题!

2019-03-25 10:40发布

在RS232串行通信中,采样时钟频率是波特率的3倍,要求是在时钟上升沿和下降沿都要采样,所以在一个数据位采样得到的采样值有6个,要在这6个值中取3个相同的。目前采样的代码我都写好了,就是差这个。
请各位大侠帮帮我!
PS:刚刚工作,接手的第一个比较正式的活儿,希望能做好!谢谢各位! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
二十七划
1楼-- · 2019-03-26 10:01
是这样。采样就是判断每一帧中的各位电平,顺带在接收的时候完成串并行转换。
二十七划
2楼-- · 2019-03-26 11:34
我也是这样想的,但是老大说不行。我的想法是第一次采样和最后一次采样最有可能不准确,所以只需要提取中间四位的数值就可以了。但是老大说这样不行,他要求的做法是分组,查表,比较法,当时他也很忙,没怎么细说,我听得云里雾里,怎么想也想不出来。
PS:我刚工作,以前在学校里学过verilog,不是很精通。
仙猫
3楼-- · 2019-03-26 17:25
 设一数组s(0 to 5),用两个process分别在时钟的上升沿和下降沿填满s(0)、s(2)、s(4)和s(1)、s(3)、s(5),然后就可以判别了。
仙猫
4楼-- · 2019-03-26 17:26
 这个方案似乎应该是,在取的3位数据中按多数表决,而不是要连续同一值才承认。
二十七划
5楼-- · 2019-03-26 21:35
我差不多也是这样做的,但是我在一个always块里同时选择上升沿和下降沿作为触发条件,然后把每次得到的采样值依次放入一个6位的reg型变量的每一位,这样代码就比较简洁。但是我不知道这样做能不能综合,这样的触发条件我也不是很确定是不是正确。
二十七划
6楼-- · 2019-03-26 22:23
 精彩回答 2  元偷偷看……

一周热门 更多>