原创 ISE14.7编写RS232串口接收程序

2014-11-24 21:07 792 1 1 分类: FPGA/CPLD

设计软件:ISE14.7

目标器件:Spartan-6(本人公司目前使用的一款)

设计思路:主要是使用状态机来编写RS232串口程序,之前看过特权同学的程序。这次做过项目以后,把自己的心得写出来与大家分享一下,不足之处还望各位码农、程序猿批评指正。

首先电脑串口波特率为38400,串码发送格式为:1位起始位0+8位数据+1位停止位1的格式。

FPGA的外部时钟为100MHz,内部通过Clock Wizard ip核来产生10MHz的内部使用时钟来处理数据。

首先利用Clock Wizard ip核产生10MHz时钟,如图

Project--New Source--IP(CORE Generator & Architecture Wizard)输入名称为clk_fre然后点击NEXT

20141105214644127.gif

 

 

 

 

 

 

 

选择View by Name---Clock Wizard--NEXT--Finish出现如图界面

20141105215218819.gif

保持默认设置,点击NEXT。我用的外部时钟是100MHz,所以这里没有改,直接NEXT,如图

20141105215732578.gif

这里产生2个时钟信号,一个为100MHz用来产生内部的复位信号rst_n;另一个为10MHz的时钟用来接收波特率为38400的RS232串码,点击NEXT,不要RESET和LOCKED信号。继续NEXT一直到最后Generate。

完成后,可以在左边的设计窗口里看见一个类似小灯泡形状的图形。这就是生成的IP核,待会原理图里会使用到。如图

20141117221435581.gif

IP核产生后,开始编写状态机的RS232串口接收程序,这部分放在附件里了,有兴趣的各位可以看一下,下面是原理图的截图

 

 

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条