论文部分内容阅读
随着半导体加工工艺的发展,单片集成电路的集成度越来越高,性能大大增强。工业控制的集成度、控制精度以及控制的复杂程度也越来越大。与此同时计算机网络迅猛发展,与之配套的计算机软件也与硬件相互依托,软件系统的体量越来越大。为了满足各行各业的发展,行业往往提出适应行业本身需求的通讯总线,如RS485、CAN、LVDS、以及USB等。这些总线个性分明,有各自的特点。无论是RS485、CAN、LVDS还是USB通讯协议,他们虽然可以在特定的领域中发挥着各自的特点,但是随着总线设备的多元化以及互联化,不同总线之间的数据交换需求越来越强烈。各种工业总线下到拓扑结构,电气连接;上到协议处理,应用设计之间存在着巨大的结构差异,总线之间连最基本的逻辑都无法兼容,更不用说进行数据交换。工业总线的另一个特点是通常为嵌入式系统服务,总线的稳定性较高,但较为封闭,调试复杂,总线架设时需要付出更多的时间与费用调试总线直至能够自行运行。为了解决上述问题,许多科研院所也进行了相关的研究,设计了许多功能各异的协议转换设备,来调试底层嵌入式总线系统。如USB-CAN、PCI-CAN、USB-RS485、PCIE-LVDS等等诸如此类的协议转换模块,虽然在一定程度上解决单一嵌入式总线的调试问题,但却无法解决工业总线扩展的问题。为了解决工业总线的扩展能力,进一步将不同总线之间的设备进行互联进行数据共享,单一功能的协议转换模块是远远不够的。为解决以上问题本文提出了一种基于FPGA为主控制器,通过SJA1000以及PCA82C250实现CAN总线接口,以CY7C68013作为USB总线控制器实现USB从机接口,以SP485EE作为RS485总线驱动器配合FPGA进行数据解析实现RS485接口,以DS90LV032作为LVDS接收器配合FPGA进行数据解析实现LVDS接口。设计了一款支持多种协议的数据转换模块。该协议转换模块分别将RS485与LVDS上的数据进行采集,通过FPGA进行串并转换解析数据后转发至USB接口并上传至计算机,同时CAN总线的报文也可以通过其进行独立的接收或发送,进而完成了传统USB-CAN以及USB-LVDS-RS485的协议转换功能。在此基础上通过上位机软件将数据解析与重封装转发至不同接口上,间接的实现了USB-CAN-LVDS-RS485总线的数据传输功能。本文通过深入的研究USB总线、CAN总线以及RS485、LVDS之间的联系与差异,详细的阐述了设备的硬件以及软件设计包含硬件上的电源设计到各总线接口的设计到处理器各个接口的软件匹配。并在总线扩展上留有接口,方便了后期的扩展。最后又设计了测试平台,验证整个设计所实现的功能,所设计的协议转换模块可以完成各个总线的数据转发,并可以完成一定的数据包解析工作。通过测试平台进行了长时间的数据测试,确保了整个设计的稳定性。实现了通过计算机监视底层总线数据的目的,同时也弥补了当前协议模块转换协议单一的弊病,更进一步扩展了现有系统。