微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 用于车速传感器测试平台的串行口-以太网桥设计

用于车速传感器测试平台的串行口-以太网桥设计

时间:06-22 来源:互联网 点击:
3.2.2 精简TCP/IP协议栈模块设计

此模块负责TCP/IP协议的处理。由于以太网协议只规定了物理层和数据链路层,所以要想实现进程间通信还必须实现上层的TCP/IP协议。但此协议非常复杂,而且很多功能都是针对PC平台的应用,在嵌入式系统中根本用不上;另外,8位微控制器的处理能力和内存空间也使得在其上实现完整的TCP/IP协议根本不可能。因此,在8位机上用软件实现TCP/IP协议时首先必须根据应用需求对整个协议栈进行裁剪。在本应用中,由于只需要在串行口和以太网间进行简单的测试数据和测试命令传输,所以在应用层采用了自定义协议,在传输层选择了能保证可靠性的TCP协议并进行了有针对性的TCP协议机制裁剪,而在网络层只实现了不提供分片和路由功能的IP协议、测试网络连通性所需的ICMP协议(仅支持Ping应答)以及提供IP地址到以太网地址(MAC地址)映射的ARP协议。这样,就得到了一个能在低档8位机上实现和运行的精简TCP/IP协议栈。此协议栈从物理层到应用层的完整结构如图5所示。


3.2.3 应用程序模块设计

应用程序模块直接面向用户需求提供相应服务。本设计中,根据整个软件模块的功能划分,应用程序需要完成串行口通信处理及串行帧和IP分组的格式转换。由于嵌入式串行口-以太网桥的TCP/IP协议栈传输层选择了保证数据传输可靠性的TCP协议(向应用层提供流式套接字接口),所以应用程序无需再进行超时重发和回传确认处理,仅需要完成串行口的数据收发操作以及串行数据帧和IP分组的格式转换。进行串行数据帧和IP分组的格式转换时使用了共享数据缓冲区和指针技术以避免协议分层间的数据拷贝,不仅节省了内存空间,而且大大提高了打包和拆包的处理速度;另外,由于串行口设备每次需传输的数据量很小,所以四个串行口缓冲区的数据采用集中打包、一次发送的方法减少了网络访问次数,既提高了通信效率又避免了因频繁短帧传输造成的网络拥堵;最后应用程序模块还提供了嵌入式串行口-以太网桥的串行门属性配置功能,用户可根据各测试设备串行口的具体属性,在管控计算机上通过以太网对网桥的各串行口收发数据缓冲区以及波特率进行远程动态设置,从而极大地提高了网桥的适应性。

实验证明,本文提出的嵌入式串行口-以太网桥应用于车速传感器性能测试平台,不但能完全满足测试平台的通信要求,还具有成本低、体积小、可靠性高等优点。同时在此网桥的硬件平台上,只要针对具体应用需求对应用程序模块稍作修改就可应用于其他汽车传感器性能测试平台(如轮速传感器性能测试平台)以及温室、环保、气象等需要远程监测的场合。因而该串行口-以太网桥具有很强的适应性和很高的推广应用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top