基于stm32的以太网与串口/can协议转换装置的制造方法

文档序号:10615878阅读:712来源:国知局
基于stm32的以太网与串口/can协议转换装置的制造方法
【专利摘要】本发明提供一种基于STM32的以太网与串口/CAN协议转换装置,包括STM32嵌入式处理器、以太网接口模块、A/D、D/A模块、CAN收发器、RS232接口模块、RS485接口模块、存储模块、电源模块、晶振模块、JTAG接口模块、复位模块、74LVX4245芯片逻辑电平转换模块,以太网接口模块、CAN收发器以及RS232接口模块、RS485接口模块均与STM32嵌入式处理器连接。本发明的基于STM32的以太网与串口/CAN协议转换装置,可实现多种通信融合技术相互转换的功能。
【专利说明】
基于STM32的以太网与串口/CAN协议转换装置
技术领域
[0001 ]本发明涉及通信技术领域,具体而言涉及一种基于STM32的以太网与串口 /CAN协议转换装置。【背景技术】
[0002]现有的RS232及RS485串行总线通信,存在着通信速率低,通信距离短(RS232传输最大距离约为15m,RS485—般100m长双绞线最高传输速率仅为IMb/s),并且节点间不能自由通信,安装较困难等缺点。低通信速率将带来系统定位跟踪误差,且现有的多通道定位控制系统,不具备组网能力,或者是具备RS232、USB或RS485接口,前两者电缆连接距离有限, 不能远距离控制,后者传输速率有限,数据通信能力差。因此如何设计一种能够在CAN、以太网以及串行接口之间实现协议转换的技术是当前所急需的。
【发明内容】

[0003]本发明目的在于提供一种基于STM32的以太网与串口/CAN协议转换装置,实现多种通信融合技术相互转换的功能。
[0004]本发明的上述目的通过独立权利要求的技术特征实现,从属权利要求以另选或有利的方式发展独立权利要求的技术特征。
[0005]为达成上述目的,本发明提出一种基于STM32的以太网与串口/CAN协议转换装置, 包括STM32嵌入式处理器、以太网接口模块、A/D、D/A模块、CAN收发器、RS232接口模块、 RS485接口模块、存储模块、电源模块、晶振模块、JTAG接口模块、复位模块、74LVX4245芯片逻辑电平转换模块,以太网接口模块、CAN收发器以及RS232接口模块、RS485接口模块均与 STM32嵌入式处理器连接,其中:
[0006]CAN收发器作为CAN通信接口模块,连接在所述STM32嵌入式处理器与CAN总线之间;
[0007]STM32嵌入式处理器通过以太网接口模块以及RJ45接口与以太网连接;[〇〇〇8] RS232接口模块以及RS485接口模块作为串口通信模块,连接在所述STM32嵌入式处理器与串行总线之间;
[0009]JTAG接口模块与所述STM32嵌入式处理器连接,用于提供测试信号的接入测试;
[0010]复位模块与所述STM32嵌入式处理器连接,用于使所述STM32嵌入式处理器进行复位处理;
[0011]A/D、D/A模块与所述STM32嵌入式处理器连接,用于实现数据包在与所述STM32嵌入式处理器内的模数转换和数模转换处理;[〇〇12] 存储模块采用I2C存储芯片,与所述STM32嵌入式处理器连接,用于对STM32嵌入式处理器接收和处理的数据进行缓存;[〇〇13]晶振模块分别与所述以太网接口模块以及STM32嵌入式处理器连接,用于提供其工作所需的本振频率信号。
[0014]进一步的实施例中,所述装置还包括隔离变压器,设置在以太网接口模块和RJ45 接口之间。[0〇15]进一步的实施例中,以太网接口模块为W5500芯片,STM32嵌入式处理器为 STM32F107VCT6 芯片。[〇〇16]本发明与现有技术相比,其显著优点:1)该转换卡分为上、下板两板,两板是上下插拔方式,并且引出了所有I/O引脚,以方便用户在不同的单片机系统中使用;2)使用的基于W5500芯片的进一步的实施例中,块,是一款性能出色、性价比高的模块,通过逻辑设计可以使以太网芯片与STM32F107VCT6芯片具有完全接口的能力,从而能提供高速的、可靠的数据传输;3)该以太网模块集成硬件化TCP/IP协议,支持100Mbps的网络传输速率,并且模块与单片机系统的通讯方式是简单、方便的SPI总线通信,高速CAN接口支持标准帧和扩展帧, 支持数据帧和远程帧;4)本转换卡使用高频电源模块[POWER],其集成了220V转5V、转正负 12V电路,体积小,效率高,可靠性、抗干扰适应性强,隔离耐压高等特性,降低了设计成本; 5)该转换卡下板将I/O引脚输出的3.3V电压通过74LVX4245芯片转换为5V电压,以便于该模块用于其他功能模块的使用;6)该转换卡嵌入了改进扩张态度观测器分数阶PID控制器,试验仿真证明该控制策略具有较强的鲁棒性。7)该转换卡移植了 uCOS-1I实时操作系统,为在微处理器上简单、高效、易于使用的实时多任务内核,具有多任务通信和同步能力。从而该转换卡可实现多个实时任务同步运行,且不产生数据交换冲突。[〇〇17]应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
[0018]结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的【具体实施方式】的实践中得知。【附图说明】
[0019]附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。 现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
[0020]图1是本发明的基于STM32的以太网与串口 /CAN协议转换装置的原理示意图。
[0021]图2是本发明的基于STM32的以太网与串口/CAN协议转换装置的协议转换流程示意图。[〇〇22]图3是本发明的基于STM32的以太网与串口/CAN协议转换装置的CAN通讯子程序流程图。
[0023]图4是本发明的基于STM32的以太网与串口/CAN协议转换装置的以太网和CAN数据包转换流程图。[〇〇24]图5是本发明的基于STM32的以太网与串口 /CAN协议转换装置的CAN-以太网协议转换模型示意图。
[0025]图6是本发明的基于STM32的以太网与串口/CAN协议转换装置的CAN帧向应用层协议转换示意图。
[0026]图7是本发明的基于STM3 2的以太网与串口 /CAN协议转换装置的以太网应用层协议向CAN帧转换示意图。【具体实施方式】
[0027]为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
[0028]在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。 本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。[〇〇29]结合图1 -图4所示,根据本发明的实施例,一种基于STM32的以太网与串口 /CAN协议转换装置,包括STM32嵌入式处理器、以太网接口模块、A/D、D/A模块、CAN收发器、RS232接口模块、RS485接口模块、存储模块、电源模块、晶振模块、JTAG接口模块、复位模块、 74LVX4245芯片逻辑电平转换模块,以太网接口模块、CAN收发器以及RS232接口模块、RS485 接口模块均与STM32嵌入式处理器连接。
[0030]CAN收发器作为CAN通信接口模块,连接在所述STM32嵌入式处理器与CAN总线之间。
[0031]STM32嵌入式处理器通过以太网接口模块以及RJ45接口与以太网连接。[〇〇32]RS232接口模块以及RS485接口模块作为串口通信模块,连接在所述STM32嵌入式处理器与串行总线之间。[〇〇33] JTAG接口模块与所述STM32嵌入式处理器连接,用于提供测试信号的接入测试。 [〇〇34] 复位模块与所述STM32嵌入式处理器连接,用于使所述STM32嵌入式处理器进行复位处理。[〇〇35] A/D、D/A模块与所述STM32嵌入式处理器连接,用于实现数据包在与所述STM32嵌入式处理器内的模数转换和数模转换处理。[〇〇36] 存储模块采用I2C存储芯片,与所述STM32嵌入式处理器连接,用于对STM32嵌入式处理器接收和处理的数据进行缓存。[〇〇37]晶振模块分别与所述以太网接口模块以及STM32嵌入式处理器连接,用于提供其工作所需的本振频率信号。
[0038]结合图1,本发明的协议转换装置还包括隔离变压器,设置在以太网接口模块和 RJ45接口之间。[〇〇39] 在一些优选的例子中,以太网接口模块为W5500芯片,STM32嵌入式处理器为 STM32F107VCT6 芯片。
[0040]结合图1,本发明的协议转换装置在接收到以太网接口模块传输的以太网数据包之后,首先解析接收到的数据,转换为相应的串行通信数据帧,再从串行通信接口发送到串行网络中;反之,如果接收到通过串行通信接口传输过来的串行通信数据帧后,首先保存在存储模块内部,然后按照转换协议将串行通信数据帧打包到以太网数据包中。从而,实现了多种通信融合技术。
[0041]结合图3、图4,如果接收到以太网数据包,取出包内数据存入存储模块中开辟的数据区,并对数据进行分析处理后发送至CAN总线。反之,将接收到的CAN数据包解析标识符后,取数据域中的内容按照TCP/IP协议进行封装发送到以太网。
[0042]本发明在实现协议转换过程中,底层软件驱动将以太网技术和串行通信协议无缝的结合起来进行过渡,其中包括:9位技术、分帧技术、主从机机制。CAN通讯程序流程图如图 3所示。当总线上有数据时,模块调用CAN_read()函数将数据读人缓冲区进行后续处理。当中央控制单元(即STM32嵌入式处理器)有数据要传输至总线时,程序则调用CAN_Write〇函数将待传输数据写人总线。数据包交换即转换装置对接收到的数据进行分层处理。接收到 TCP/IP数据包时,取出包内数据存入开辟的数据区,在对数据进行分析处理后发送至总线。 反之,将接收到的CAN数据包解析标识符后,取数据域中的内容按照TCP/IP协议进行封装发送。
[0043]本发明所设计的基于STM32的以太网串口 CAN协议转换装置,可以以板卡的形式实现,例如,上板主要是STM32F107VCT6微控制器的最小系统、存储模块、电源转换模块,以及三个2x17双排针将所有P0RTX口引出,三个双排针很好的避免了易插错的问题,内部电路如图3所示。下板主要功能是用RS232/RS485/CAN端口模块接收数据,以太网端口模块发送数据,下板的三个2x10双排针主要用于该转换卡驱动其他功能模块,该转换卡下板置了 220V 转5V电源模块,因此可以直接供给220V电压。
[0044]对于协议转换装置来说,它必须能够读取和发送以太网和CAN网上的数据。通过对以太网和CAN网络模型与0SI模型的对比与分析,可得到的基本模型结构如图5所示。应用层协议包括了以太网应用层和对CAN总线站点的管理。其中以太网总线的数据链路层由逻辑链路控制(LLC)和介质访问控制(MAC)2个子层组成。LLC的主要功能是对数据报的封装和拆装,MAC的主要功能是控制对传输介质的访问。
[0045]结合图6,当数据从CAN总线向以太网转换时,中央控制单元取出CAN总线数据,将仲裁字段中标识符由高到低转换为以太网应用层中的高8bit设备ID和低8bit设备ID。数据字段由高到低分别写入命令字、数据标识和数据。子系统标识是根据终端ID查询其属性,填入其优先级、终端标识、子系统标识,加上校验码,完成CAN数据帧向以太网应用层协议的转换。
[0046]结合图7,以太网应用层数据向CAN数据帧转换时,将设备的高8bit设备ID和低 8bit设备ID,写入CAN数据的前两个字节,这两个字节参加过滤,在CAN总线中用来识别设备。后面的8bit命令字、8bit数据标识和16bit数据写入数据后面的字节。[〇〇47]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
【主权项】
1.一种基于STM32的以太网与串口 /CAN协议转换装置,其特征在于,包括STM32嵌入式 处理器、以太网接口模块、A/D、D/A模块、CAN收发器、RS232接口模块、RS485接口模块、存储 模块、电源模块、晶振模块、JTAG接口模块、复位模块、74LVX4245芯片逻辑电平转换模块,以 太网接口模块、CAN收发器以及RS232接口模块、RS485接口模块均与STM32嵌入式处理器连 接,其中:CAN收发器作为CAN通信接口模块,连接在所述STM32嵌入式处理器与CAN总线之间;STM32嵌入式处理器通过以太网接口模块以及RJ45接口与以太网连接;RS232接口模块以及RS485接口模块作为串口通信模块,连接在所述STM32嵌入式处理 器与串行总线之间;JTAG接口模块与所述STM32嵌入式处理器连接,用于提供测试信号的接入测试;复位模块与所述STM32嵌入式处理器连接,用于使所述STM32嵌入式处理器进行复位处 理;A/D、D/A模块与所述STM32嵌入式处理器连接,用于实现数据包在与所述STM32嵌入式 处理器内的模数转换和数模转换处理;存储模块采用I2C存储芯片,与所述STM32嵌入式处理器连接,用于对STM32嵌入式处理 器接收和处理的数据进行缓存;晶振模块分别与所述以太网接口模块以及STM32嵌入式处理器连接,用于提供其工作 所需的本振频率信号。2.根据权利要求1所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 所述装置还包括隔离变压器,设置在以太网接口模块和RJ45接口之间。3.根据权利要求1所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 以太网接口模块为W5500芯片,STM32嵌入式处理器为STM32F107VCT6芯片。4.根据权利要求1所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 所述STM32嵌入式处理器在接收到以太网接口模块传输的以太网数据包之后,首先解析接 收到的数据,转换为相应的串行通信数据帧,再从串行通信接口发送到串行网络中;如果接 收到通过串行通信接口传输过来的串行通信数据帧后,首先保存在存储模块内部,然后按 照转换协议将串行通信数据帧打包到以太网数据包中,再发送到以太网。5.根据权利要求1所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 所述STM32嵌入式处理器在接收到以太网数据包时,取出包内数据存入存储模块中开辟的 数据区,并对数据进行分析处理后发送至CAN总线;并且在收到CAN数据包时,将接收到的 CAN数据包解析标识符后,取数据域中的内容按照TCP/IP协议进行封装发送到以太网。6.根据权利要求5所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 当数据从CAN总线向以太网转换时,STM32嵌入式处理器取出CAN总线数据,将仲裁字段中标 识符由高到低转换为以太网应用层中的高8bit设备ID和低8bit设备ID,数据字段由高到低 分别写入命令字、数据标识和数据,其中子系统标识是根据终端ID查询其属性,填入其优先 级、终端标识、子系统标识,加上校验码,完成CAN数据帧向以太网的转换。7.根据权利要求5所述的基于STM32的以太网与串口 /CAN协议转换装置,其特征在于, 档以太网数据向CAN数据帧转换时,将设备的高8b i t设备ID和低8bi t设备ID,写入CAN数据 的前两个字节,这两个字节参加过滤,在CAN总线中用来识别设备,后面的8bit命令字、8bit数据标识和16bit数据写入数据后面的字节。
【文档编号】H04L29/06GK105978778SQ201610514545
【公开日】2016年9月28日
【申请日】2016年7月1日
【发明人】高强, 汤巧戈, 侯远龙, 王超, 侯润民, 刘超, 孙浩
【申请人】南京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1