·上一文章:FIR数字滤波器的FPGA实现研究
·下一文章:一种基于嵌入式系统的虚拟仪器的研究与设计
5 协议转换卡的通讯试验
本文的协议转换卡并不是通用意义上的协议转换卡,而是基于特定串口通讯协议的转换卡。该卡在规定的协议中,由网口接收到的数据可以分为两种,一种是控制命令,一种是查询命令。在软件中,串口任务和网口任务有两个共享的数据缓冲区,通过串口任务可检查缓冲区,如果缓冲区中有数据,则根据通讯协议判断这些数据是否是正确的指令,若是正确的指令,则判断是查询命令还是控制命令,若是控制命令,则将此控制命令发送出去,并清空缓冲区;若是查询命令,网口任务则会到另一个缓冲区中取出数据,并用协议栈将此数据发送出去,同时清空缓冲区。通过用TCP通讯客户端检测工具和串口调试助手调试可以发现,如果TCP通讯客户端发出的是查询命令,则网口任务自动到预定的缓冲区取出数据,并发送出来,同时在TCP通讯客户端上显示出来;如果TCP通讯客户端发出的是控制命令,则等待串口调试助手的返回数据。如果有返回,则在TCP通讯客户端上显示出来;如果串口助手没有返回,软件控制则一直发送控制命令,直到收到正确的回复。
6 结束语
本文所设计串口转网口的转换卡是具有串口通讯协议的转换卡。协议卡对收到的数据会进行分析和判断,进而决定数据的发送方式,从而实现FreeRTOS操作系统和uIP协议栈的结合。此外,由于FreeRTOS操作系统和uIP协议栈对用户而言是透明的,因此,该模块可以方便地随时修改串口通讯速率、串口通讯格式、IP地址、网关、子网掩码等功能.并充分利用FreeRTOS操作系统的稳定性与可靠性以及实时性好等特点,同时可发挥以太网通讯效率高的特点,来为实施数据转换提供方便。