System Generator实现串口通信(一行HDL代码都不用写)

FPGA/ASIC技术

190人已加入

描述

一直都在System Generator下做图像处理相关的算法,感觉SysGen挺强大的,前几天突发奇想,能否直接用SysGen实现数据的通信呢,毕竟一句HDL代码都不写对于做FPGA的人来说却是很有吸引力的。

串口通信协议比较简单,发送的时候,8位数据的前面加上1位起始位0,在8位数据后加上停止位1,这样8位数字扩展成10位的数字,再将并行转化为串行就可以从GPIO送出。

搭建模型如下:

HDL

模型因为暂时只是包含发送部分,所以不是很复杂,另外加上一个按键,每次按下按键式就发送数据。

选择板子型号:

HDL

设置时钟:

HDL

点击Generate,转化为HDL Netlist,这是会在文件夹下多出一个文件夹,里面有一个ISE工程,使用ISE打开,修改UCF文件。

HDL

//UCF文件:

 

NET "clk" LOC = Y9 | IOSTANDARD=LVCMOS33; # "GCLK"
NET "ce" LOC = P16 | IOSTANDARD=LVCMOS18; # "BTNC"

//NET "rxd" LOC = Y11 | IOSTANDARD=LVCMOS33; # "JA1"
NET "gateway_out[0]" LOC = AA11 | IOSTANDARD=LVCMOS33; # "JA2"
NET "gateway_in[0]" LOC = T18 | IOSTANDARD=LVCMOS18; # "BTNU"

综合布线生成bitstream文件之后,直接下载。按下BTNU就会有数据发出。我在初始化的时候写入的是0->255,在串口助手中也能看到连续的数字。

HDL

目前只是实现了串口的发送,毕竟这个相对于接收还是比较简单的,还没想好接收怎么写,先跟大家分享下吧~~

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分