搜索
bottom↓
回复: 5

cpld,串口调试分享和疑问

[复制链接]

出0入0汤圆

发表于 2014-12-29 15:14:20 | 显示全部楼层 |阅读模式
本帖最后由 leicai05 于 2014-12-29 15:16 编辑

用epm240调试串口记录

用黑金开发板的串口调试程序,调试串口收发程序,过程就是用PC发送数据到cpld,然后cpld接收后保存到fifo,然后在回送给pc(通讯方式是9600波特率,1个起始位,8个数据位,一个校验位和一个停止位)。

黑金板的程序中fifo的深度设置的是16个字节,emp240没那么多资源,只使用了8个字节深度。我想,因为是边收边发,所有只要有一两个fifo也就足够正常收发了。因为收发的速度是一样的嘛。

但是在调节的过程中发现,pc调试助手发送少量的数据时(200个左右),没错误,但是发送超过400多个就会在后面部分出现乱码。但是如果把停止位改成两位,就收发正常了。我特意用示波器检查了我发送的波形,和pc下发来的波形,也是正确的。

后来分析cpld的发送时序
case(i)
       
        4'd0://起始位
        if(BPS_CLK)begin i<=i+1'b1; rTX <= 1'b0; end
       
        4'd1,4'd2,4'd3,4'd4,4'd5,4'd6,4'd7,4'd8://数据位
        if(BPS_CLK)begin i<=i+1'b1; rTX <= TX_Data[i-1]; end

        4'd9://校验
        if(BPS_CLK)begin i<=i+1'b1; rTX <= 1'b1; end
       
        4'd10://停止位
        if(BPS_CLK)begin i<=i+1'b1; rTX <= 1'b1; end
       
        4'd11:
        if(BPS_CLK)        begin i<=i+1'b1; isDone <= 1'b1; end                               
       
        4'd12:
        begin i<=4'd0; isDone <= 1'b0; end
       
endcase

我想在case11的时候不需要等待if(BPS_CLK)了,所有把这里改成了
4'd11:
        begin i<=i+1'b1; isDone <= 1'b1; end

修改完后确实好了(可以发送大量数据了)。我的结论是这里的时序写的不严谨,导致发送时间长了导致的,但是黑金开发板的程序不应该犯这样的错误吧,又分析了下时序,确实时序是没问题的,收发都是9600的时钟产生的,那是什么问题了?

幸好调试的时候我有一个led灯,当fifo数据保存满的时候就把led点亮。再测试回到之前有问题的程序,果然发送较多的数据的时候,发现led亮了。原来是数据保存满了,rxpin的数据丢失了。所有才发送有故障的。

可是为什么会数据满了,难道是fifo的保存速度要快于读取速度?我现在只有这个结论了,不知道各位大神是否认可?

菜鸟分析,不对的地方希望指出。

附带工程文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入22汤圆

发表于 2014-12-29 15:37:56 | 显示全部楼层
赶脚没那么头大,应该是程序部严谨导致的结果。

出0入0汤圆

发表于 2015-1-2 09:04:31 | 显示全部楼层
在在为这些事儿发愁呢,及时雨呀,非常感谢!

出0入0汤圆

发表于 2015-1-14 01:27:42 | 显示全部楼层
正学习呢,感谢。

出0入0汤圆

发表于 2015-1-14 07:05:53 来自手机 | 显示全部楼层
11应该在时钟下降沿

出0入0汤圆

发表于 2015-9-19 23:42:32 | 显示全部楼层
正学习,看看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-4 02:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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