基于CPLD的串口网关设计与应用
摘要:从开发的角度提出一种基于CPLD的串口网关设计。文章从系统结构、布局、调试等方面介绍了这种串口网关的硬软件设计。文中详细地描述了串口的接收和发送处理过程,以及利用VHDL语言编程实现多个串口数据的协议转换,不同波特率间的数据转发或协议转换。该系统可以实现各种复杂的控制功能,使系统具有最大的扩展性。最后通过计算机仿真实验给出了波形仿真和应用测试结果。实验表明,软件及硬件设计是合理的,完全达到了预想的结果。
关键词:CPLD;波特率;VHDL;串口软件
中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)33-7430-03
实现串口数据的协议以及波特率的转换,传统的实现方法是用单片机与串口扩展芯片直接相连,其缺点是实现需用较多芯片,容易死机;目前关注的实现方法是用一片CPLD芯片来接收串行数据,其优势是CPLD为逻辑电路,不会死机,效率高,基于CPLD的串口网关能高效的实现串口数据的协议以及波特率的转换[1]、[4]。这里简单介绍一种串口网关的简单设计及其测试应用。
1硬件结构
1.1串口网关的硬件设计
串口网关中的核心设备就是其选用的控制器,它的选用直接关系到目标的实现与否。根据设计要求,我们可以选用单片机和CPLD,在综合考虑两者的性能后,我们最终选用了EPM7128做主处理芯片,EPM7128SLC84-10内含128个宏单元(或2500个可用门),其引脚到引脚的最短传输延时为7ns,采用单+5V电源供电,可通过JTAG接口实现在线编程,并带有可供84个用户使用的I/O脚(其中4个为专用输入脚)。该器件采用PLCC-84封装。其中TDI、TDO、TMS、TCLK脚为编程脚;GCLK、GOE、GCLEAR、REDIN脚为专用输入脚;VCCINT、VCCIO脚接+5V电源;GND脚接地;I/O为用户可编程输入输出脚。在I/O脚作输出使用时,可由用户设定为0,1和Z三种状态,外围器件直接选用MAX232做电平转换芯片。其硬件结构如图1所示。
图1串口网关硬件结构框
在上面的结构框图有两个重要的部分:串口部分和CPLD主处理部分。串口部分主要完成的功能就是对串口数据流的电平转换,这里采用是通用的串行接口芯片:MAX232/MAX483。CPLD主处理部分主要就是处理的是来自串口的数据包,处理完后就可以直接发送出去。
1.2CPLD主处理部分
基于CPLD的串口网关中,CPLD主处理部分是整个硬件系统中的核心处理设备:同速率不同类型的串行数据的接收;实现各种速率串行数据的相互转换;实现不同长度串行数据的相互转换;用数字电路实现奇偶检验;实现各个串口间的相互转发。基于CPLD的串口网关,是利用CPLD实现多个串口数据的协议转换。并且能够实现不同波特率间的数据转发或协议转换。其工作原理是:RS-232经过电平处理转换成TTL电平,然后进入CPLD进行处理,最后将处理后的结果从其他的串口发送出去。
该部分设计主要涉及3个子环节,即:波特率发生器的设计,串行电路接收部分的设计,串行电路发送部分的设计。这三个部分全是通过VHDL语言实现。其主处理部分结构如图2所示。
图2CPLD主处理结构框图
1.3串口网关的工作流程
首先CPLD设置好分频电路,此分频电路给接收和发送部分提供采样频率,当有数据从串口传过来时,接收部分对数据的下降沿进行检测以判断数据的到来,主要就是下降沿的检测[2-3]。当检测到下降沿后便可以知道第一位是起始字节的起始位的到来,然后在3倍于采样频率对数据进行采样,将采样到的数据存放于字长为3的数组中,然后在采样频率的上升沿对数组中的数进行判断,即Q(Num)<=(N(0)andN(1))or(N(1)andN(2))or(N(0)andN(2));其中Q也是一数组,里面存放的是接收到的各个数据位。当接收完一个字节后便可以产生一使能信号来通知发送部分将数组中的数据一位一位的发出去。当使用同一种波特率来控制接收和发送部分时,此时收发便是处于同一波特率。当接收使用低波特率,发送处于高波特率时,此时收发便是处于不同波特率。在高波特率到低波特率的发收过程中,我们定义了数据帧是重复发几次的,以防止丢包。
在上面的接收和处理过程中只不过是同一种数据的波特率的转换或者是处于同一波特率的数据转发,另外通过此模块还可以实现协议的转换,其实现过程如下:A协议的数据通过串口发送后,CPLD接收到该协议的数据后,在发送部分进行处理,通过处理变成B协议要求的数据格式和内容。然后另一串口便可以接收到B协议数据,这样便可以实现两种协议不同数据的转换。
2系统软件结构
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《校园英语》旬刊 省级 教育类学术期刊
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《文教资料》 旬刊 省级
- 《科技风》半月刊 省级 科技类优秀期刊
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《中国实验方剂学杂志》 半月刊 北大核心
- 《电影评介》半月刊 14版北大核心
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《继续教育研究》月刊 北大核心期刊
- 《网络空间安全》(信息安全与技术)月刊 国
- 《新闻传播》月刊 省级 新闻类优秀期刊
- 《财会月刊》旬刊 14版北大核心
- 《体育文化导刊》月刊 体育类双核心期刊
- 《机械研究与应用》双月刊 省级 机械应用类
- 《公路交通科技》 月刊 北大核心
- 《教学与管理》旬刊 北大核心
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《中国医药指南》 旬刊 国家级
- 《高教论坛》 月刊 省级
- 《课程教育研究》 旬刊 国家级
- 《语文建设》 旬刊 14版北大核心
- 《教育发展研究》 半月刊 双核心
- 《学术界》 月刊 双核心


