基于CPLD的串口网关设计与应用(2)
2.1串口网关的软件结构
在系统软件设计中,整个软件采用模块化设计,其软件结构组成模块如图3。软件的核心在于CPLD接收和发送这两个模块,通过实现这两个模块,就能通过串口网关实现串口数据的协议以及波特率的转换。
图3软件结构模块图
在上面模块图中,CPLD主处理部分的软件主要包括波特率产生部分、接收部分、发送部分。这里重点介绍一下接收部分的软件。其中最主要的两个进程如下:
process(clk1,clr)
variableNum:integerrange0to9:=0;
begin
ifclr='0'orValid='0'then
Enable<='1';Num:=0;-Q<="0000000000";elsif(rising_edge(clk1))then
Q(Num)<=(N(0)andN(1))or(N(1)andN(2))or(N(0)andN(2));
ifNum=9then
Num:=0;Enable<='0';Hold<='1';
else
Num:=Num+1;Enable<='1';Hold<='0';
endif;
endif;
endprocess;
process(clr,com)
begin
if(clr='0'orEnable='0')then
Valid<='0';
elsiffalling_edge(com)then
Valid<='1';
endif;
endprocess;
第一个进程是将接收数据的每一位存储在预先定义好的数组中,当接收完一个字节后便可以产生Hold信号的上升沿,此信号是直接接到发送模块中的EN端,如前图2所示。然后在发送模块中将数据直接一位一位地通过串口发出去。其接收仿真波形如图4所示,其输入是0111100001,接收后数组中的数是1E1。
图4数据接收仿真波形
接收完一个字节数据后,便可以通过发送部分将数据发送出去,其总体接收和发送波形如图5所示。
图5总体接收与发送仿真波形
2.2异协议和异波特率的转换
在这两个问题上,主要是对上面的软件里面做一些修改,主要体现于接收和发送控制模块的受外部频率控制的部分,其中让波特率发生器产生接收和发送模块需要的波特率就可以,这些波特率主要是通过CPLD的外部晶振进行分频产生所需要的波特率即可。协议转换方面主要改动体现于发送部分,发送过程中只要通过检测到使能信号和接收数组中的数据后,然后通过接收到的数据判断是属于哪一种协议后,按照预先的约定转换成要求发送数据的协议,此要发送的数据可以存储在一些常量数组中,然后一位一位的发出去。
3调试
串口网关的使用及其具体的测试硬件电路图6所示。图中的连接及其设置如下:
首先:将所有的设备线连好,将PC1机的COM1通过RS232连到串口网关的串口上,PC2也是同样如此,一一对应即可。其次:在两台PC机上装上串口调试助手软件,设置好里面的波特率。
经测试,发送和接收数据正常,在同一种波特率的情况下,可以看到两者的数据一样,无丢包;在不同波特率上,可以看到由低到高发送正常,而在高到低的情况下可以发现丢包,所以必须多发几帧同样的数据,以保证数据的正常接收和发送;在不同协议转换上能够按照自己的约定来发送和接收。
4结束语
基于CPLD的串口网关可以实现不同协议数据的转换和不同波特率数据的相互转换,此网关功能的实现便于那些使用不同协议的产品,另外还可以通过CPLD来分配引脚,使得任何一个串口可以给多串口发数据,串口之间互相发数据,这些便于实现各种复杂的控制功能,使系统具有最大的扩展性,并且尽可能的降低了系统的造价,具有经济性。
参考文献:
[1]赵曙.可编程逻辑器件原理、开发与应用[M].西安:西安电子科技大学出版社,2001.
[2]JamesR.ArmstrongF,GailGray.VHDL设计表示和综合[M].2版.北京:机械工业出版社,2002.
[3]王毅平,张振荣.VHDL编程与仿真[M].北京:人民邮电出版社,2000.
[4]徐志军.CPLD/FPGA的开发与运用[M].北京:电子工业出版社,2002.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《校园英语》旬刊 省级 教育类学术期刊
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《文教资料》 旬刊 省级
- 《科技风》半月刊 省级 科技类优秀期刊
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《中国实验方剂学杂志》 半月刊 北大核心
- 《电影评介》半月刊 14版北大核心
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《继续教育研究》月刊 北大核心期刊
- 《网络空间安全》(信息安全与技术)月刊 国
- 《新闻传播》月刊 省级 新闻类优秀期刊
- 《财会月刊》旬刊 14版北大核心
- 《体育文化导刊》月刊 体育类双核心期刊
- 《机械研究与应用》双月刊 省级 机械应用类
- 《公路交通科技》 月刊 北大核心
- 《教学与管理》旬刊 北大核心
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《中国医药指南》 旬刊 国家级
- 《高教论坛》 月刊 省级
- 《课程教育研究》 旬刊 国家级
- 《语文建设》 旬刊 14版北大核心
- 《教育发展研究》 半月刊 双核心
- 《学术界》 月刊 双核心


