在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3188|回复: 7

[求助] 通过上位机的UART控制我verilog程序

[复制链接]
发表于 2011-11-28 21:21:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
问题是这样的:我想在上位机界面上输入1到10的数字通过UART控制我输出不同的状态
比如:
      case(rx)
   32'h1:  state = 4'b0000;
   32'h2:   state = 4'b0001;
   .....

疑问是:FPGA程序定义rx是一位的,而我上位机输入的是32位数据,这里面是怎么个转换关系?
我如何通过rx判断输出我的状态?
有点乱,麻烦知道的人解答一下,谢谢了!
发表于 2011-11-28 22:42:41 | 显示全部楼层
去看下rs232的数据规则,在看看你的Uart怎么实现的,你就应该懂了。。
发表于 2011-11-28 23:19:39 | 显示全部楼层



不是很理解你说的“上位机输入的是32位数据”是啥意思...你上位机应该是PC上的软件程序吧..如果软件程序也是你写的,那就是接口位宽问题了...
从你的描述不能确定问题所在.....
从你的程序看,你rx不是就定义的32位么?那不是正好说明你上位机发出就是32位?
反正从上位机信号到电路信号,这个接口位宽都是你定义的....
 楼主| 发表于 2011-11-29 21:09:38 | 显示全部楼层
原先的串口程序定义了rx是一位的接收,但是发送的数据按32位,然后返回到我上位机界面也是32位,这个调试成功了
现在想通过串口控制我内部的状态,是不是要增加rx位宽比如:
  case(rx)
   32'h1:  state = 4'b0000;
   32'h2:   state = 4'b0001
但是串口传输是一位一位传输,我现在是如何判断我接收的数据(比如数据:2,3这些数字)?
发表于 2011-11-29 23:53:37 | 显示全部楼层
没有太理解你的问题
上位机是上位机,FPGA是FPGA,都是你设计的,这中间你加一个接口模块就可以了吧
上位机通过UART发来的数据经过接口模块编码成一个状态码,FGPA的模块再根据这个状态码对应输出一个状态就完了,至于前面上位机给多少位数据,什么格式这些,接口模块根据你自己的规则编码给一个状态码给rx就行了吧
发表于 2011-11-30 00:30:43 | 显示全部楼层


原先的串口程序定义了rx是一位的接收,但是发送的数据按32位,然后返回到我上位机界面也是32位,这个调试成 ...
飞的更高8 发表于 2011-11-29 21:09




   你现在是没有理解UART的时序问题.....你接收到的你所谓的“32位”是什么意思...既然你都知道串口是1bit 1bit的传的,那你还不能找到你想要的数据么?
你看看串口是多少针....比32大么?
如果不是,那不是说明你这个32不是一个周期传过来的?
.....
........
...........
你还是再理解一下UART吧.....
发表于 2011-11-30 10:02:05 | 显示全部楼层
楼主的注册日期跟问题不成正比
发表于 2011-11-30 11:56:07 | 显示全部楼层
呃…LZ这个rx不是已经定义为32bit了么…LZ你想问什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-24 23:00 , Processed in 0.043741 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表