基于DM642的实时多协议转换器设计

时间:2012-04-05来源:网络

f.JPG


在接收数据所遵从的传输协议未知时,先触发软件中断识别协议类型,在传输协议已知时,直接触发总线管理线程。任务可以被阻塞和挂起,支持动态内存分配等API函数,对以太网及RS 232等总线建立线程分别建立总线管理线程。各总线管理线程的流程如图7所示,根据触发的消息类型,建立和释放缓冲区,编解码协议,触发数据发送总线,监控总线状态,协调总线发送通道的使用。在识别出传输协议为高优先级协议时,总线管理线程会调用API函数提高自身优先级,以达到抢占CPU的目的,处理完协议后会再次恢复以前的优先级。软件中断优先级低于硬件中断,对堆栈要求小,用于低优先级协议的帧头识别。采用触发跳转至相应处理程序的方法可以加快数据处理,保证高优先级协议的实时性。各级线程都会尽量在等待数据或资源时跳转至阻塞状态,以便释放CPU。

4 结语
本设计采用以下几个方法保证多协议转换实时性:采用高速DSP加快数据处理速度;将协议分为高低优先级,采用FPGA实时识别高优先级协议,大大提高了高优先级协议匹配速度;按地址将协议的帧描述表、数据元素描述表、数据位描述表等信息存储与FLAsH,提高了协议信息的查找效率;使用了DSP/BIOS提供的不同类型线程,并采用触发不同消息的方法跳转线程,提高了数据处理效率,并保证了高优先级协议优先编解码。FPGA识别协议、DM642编解码、线程转换所产生的延时均为微秒级至几十微秒级,因此本设计在一定程度上可以保证对高优先级协议单个数据元素的编解码延时小于1 ms,但在支持协议的通用性上可以进一步研究。

1 2 3 4

关键词: 642 DM 多协议 转换器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版