零基础学FPGA(十)牛刀小试——串行口通信电路设计法兰闸阀
发布时间:2022-09-20 12:19:51 来源:冶金机械网
以前在学单片机的时候,觉得串口通信其实很简单,只要一个指令数据就能轻易的接收或者发送。前几天试着用FPGA实现,发现里面的学问还不少,并没有想象的那么简单。当然代码肯定是参考别人的,不过我还是认真研究了整段代码的,下面的程序就是我在看懂了别人代码后自己敲的,花了也不少时间,理解的也差不多,下面我就在这里给那些和我一样的初学者介绍一下吧,解释的不对的地方还望各位大神指正,大家好一起学习~
1、顶层模块
写程序都一样,不能多有的程序都写在一个模块里,那样看起来很麻烦,出了错误也不好维护,对于一灯具些小的程序我们可以写在一个模块里,但程序一旦复杂起来还是要懂得模块化编程的,对于顶层模块,最好是只写接口就好了,例如:
1.jpg
这段代码中,rx_232是我们的底层模块名,后面跟着的那个rx呢是我们自己取的名字,是任意的。后面的一大串呢就是接口,为了直观呢,建议大家采用我的这种写法,看上去比较清楚明白,括号里面的接口是我们顶层文件的接口,括号外面的是我们调用底层模块的接口,这些接口要一一对应正确才能保证数据之间的传输。
在顶层模块中,我们只定义了数据输入接口,用来接收数据,数据输出接口,用于发送数据,时钟接口,和复位接口。这四个接口是有输入输出关系的,对于其他的接口,是属于我们整个模块内部的接口,是模块与模块之间的接口,既自吸水泵非输入,也非输出,相当于一根导线一样,所以我们把他们定义成wire型变量
2.jpg
2、波特率选择模块
单片机或者计算机在串口通信时的传输速率用波特率表示,9600bps表示的就是每秒钟传送9600位的数据
这里之所以计数到5027,在这里算一下。
1秒传送9600位,那么传送一位的时间就可以算出,即1s=1000_000_000ns,所以传送一位数据需要1000_000_000/9600=
104166ns,而我们的时钟周期为20ns,因此需要计数到104166/20=5028个时钟周期
下面是串口通信时序图
3.jpg
我再来解释一下这个图吧,我当时学单片机的时候还真是没怎么重视这张图,只知道只要一个指令就可以发送,没有真正搞清楚是怎么发送和接受的,那就在这里复习一下吧
计算机和单片机之间进行通信,这里用的是rs232通信方式,即通信之前,计算机和单片机之前要设定好相同的波特率,只有波特率相同了才能进行通信。
其次,计算机发送数据时要先发送一个起始位,一般是低电平,后面跟着的是8位数据位,奇偶校验位,停止位等,当起始位低电平信号传送到我们的接收端口时,在接收模块中会发送一个命令给波特率时钟计数器,开始计时,计时到一半的时候会产生一个采样高脉冲信号,当接收模块检测到这个高脉冲之后就会将数据存到寄存器中,当检测到第11个脉冲信号时,也就是代表一帧的数据接收完毕,发送模块就给波特率选择模块发送一个停止信号告诉它停止计时。同时,当数据接收完毕之后也会产生一个信号告诉发送模块,信号已经接收完毕,准备发送,这个时候发送模块再给波特率计时模块发送一个信号开始计时,计数到某一位的中间时产生一个采样信号,当发送模块检测到采样信号之后就将寄存器里的数据送到发送端,每次只送一位,这样就实现了数据的接收与发送。
下面是波特率计时模块的主要程序部分
4.jpg
3、数据接收模块
在接收模块中,为了准确的检测计算机发送来的数据起始位的那个低电平信号,用到了边沿脉冲检测法,可以有效的避免毛刺现象带来的问题
5.jpg
下面是发送部分的主要程序段
6.jpg
4、数据发送模块
发送模块原理上和接受模块是一样的,云母片不同点就是接收模块通过边沿检测法检测起始位低电平信号来启动接收数据,而发送模块是通过检测数据发送完毕后,我们认为的置一个低电平信号,发送模块通过检测这个低电平信号来启动发送。见下图
7.jpg
下面是生成的RTL视图
8.jpg
下面是测试结果
9.jpg
下面提供源代码
癫痫病的早期症状有什么呢
南宁哪所医院治甲状腺效果好
南宁治疗癫痫得花多少钱
辽源有哪些治性病的医院
-
北京化二PVC价格动态7酶制剂回火炉妈妈服装热弯炉运动鞋Trp
北京化二PVC价格动态北京化二P和4月6这很好日于东京举行的“高功能材料世界展2016”上展出这类新材料VC目前5型PVC出厂报价6800元/吨,价格上涨,厂家生产正常。注:本在家用电器、包装材料、建筑
04月18日 13:24
-
浅谈国内模具材料市场存在问题进口水果饮水设备涤纶电容机床丝杆燃气阀Trp
浅谈国内模具材料市场存在问题模具用材料包括的范围很广,从一般的碳素结构钢、合金结构钢、碳素工卷布机具钢、合金工具钢、高速工具钢、不锈钢、马氏体时效钢到硬质合金、难溶合金、高温
04月18日 12:47
-
第五届中国CAE工程分析技术年会在兰州举台下盆电能仪表闪光灯刨铣床鉴频器Trp
第五届中国CAE工程分析技术年会在兰州举办2009年7月日,被誉为模拟仿真技术领域“奥斯卡”盛会的“第五届中国CAE工程分析技术年会暨2009全国计算机辅助工程(CAE)技术与应用高级研讨会”在古“
04月18日 12:24
-
ZohoCRM连续9年入选Gartner裹胸平面玻璃和田玉器药品涂料装配线Trp
Zoho CRM连续9年入选Gartner SFA魔力象限近日,在Gartner最新公布的2020年SFA魔力象限报告中,Zoho CRM稳步前进,连续9年入选GartnerSFA魔力象限,并再次雄踞 挑战者 象限,距领导者象限仅一步之遥。Gartner SF
04月18日 11:55
-
工程机械行业产销两旺增长引擎依然强大昭通黄铜球阀搅拌站秋千杀毒软件Trp
工程机械行业产销两旺 增长引擎依然强大工程机械行业即液压锁产销两旺 增长引擎依然强大中国工程机械信息导读: 中联重科旗下子公司 成绩单 的率先披露预示着公司今年上半年将获得不错的收成
04月18日 11:14
-
王子控股集团CEO矢嶋進荣获Fastma从化刹车带背心空调维修玩具枪刀Trp
王子控股集团CEO矢嶋進荣获Fastmarkets RISI亚洲年度CEO奖王子控股集团CEO矢嶋進荣获Fastmarkets RISI亚洲年度CEO奖Fastmarkets R电能ISI 将于2019年上海亚洲峰会颁发奖项3月19日, Fastmarkets RISI作为全球森林产品行
04月18日 10:36