CN206302426U - 一种基于stm32的串口与can总线协议转换器 - Google Patents
一种基于stm32的串口与can总线协议转换器 Download PDFInfo
- Publication number
- CN206302426U CN206302426U CN201621394214.2U CN201621394214U CN206302426U CN 206302426 U CN206302426 U CN 206302426U CN 201621394214 U CN201621394214 U CN 201621394214U CN 206302426 U CN206302426 U CN 206302426U
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- serial
- stm32
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本实用新型涉及一种基于STM32的串口与CAN总线协议转换器,CAN协议转换器凭借CAN总线通信的优点而具有较广泛的应用,CAN总线通信克服了串行通信距离短,仅能点到点的通信,不能组建多点通信网络的不足,尤其随着控制网络规模的扩大,数据通信量的增多,串行通信的短距离通信已远远不能满足通信实时性、可靠性的要求,为了进一步提高通信实时性、可靠性的要求,组成多点通信网络,延长通信距离,采用CAN总线局域网络,因此研究设计了一款基于STM32的串口与CAN的总线协议转换器,既可以弥补串口通信的不足,又可以充分利用CAN的优点。
Description
技术领域
本实用新型涉及工业现场总线控制网络通信协议转换技术领域,具体涉及一种基于STM32的串口与CAN总线协议转换器。
背景技术
CAN控制器局域网络,是国际上应用最为广泛的现场总线之一,应用范围从汽车行业面向工业领域逐步发展,控制局域网络(Control Area Network,CAN)最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的通信,属于总线式串行通信网络,具有高可靠性、高性能、灵活等优点,应用比较广泛,但是在实际应用中不可避免的与串行RS232或者RS485之间通信,RS232通信距离短,可进行点到点的通信,但是不能组建多点通信网络,随着控制网络规模的扩大数据通信量的增多,RS232的短距离通信已远远不能满足通信实时性、可靠性的要求,为了进一步提高通信实时性、可靠性的要求,组成多点通信网络,延长通信距离,采用CAN控制器局域网络,因此研究设计了一款基于STM32的串口与CAN的总线协议转换器,既可以弥补串口通信的不足,又可以充分利用CAN的优点。
实用新型内容
本实用新型的主要目的是设计了一款一种基于STM32的串口与CAN总线协议转换器弥补串口通信的不足,充分利用了CAN的优点,设计电路简单且非常实用,主控芯片采用32位的ARM STM32F107为内核的CPU处理单元,电路由STM32F107主控芯片且内部带有CAN控制器、CAN接口收发电路A1050C、串行通信接口电平转换电路SP3232和RS485通信电路组成,可方便的应用于工业现场集中控制网络中,在电动汽车充电桩联网监控系统现场CAN总线数据采集传输显示中起到关键的作用。
基于STM32的串口与CAN总线协议转换器主要内容包括:支持数据的双向转换功能、支持CAN2.0A和CAN2.0B协议接口转换类型、支持三线式RS232和两线式RS485通信接口类型。转换模式包括二种:第一种为将某一种格式的总线数据转换成另一种总线的数据格式,不附加数据和对数据进行修改,既实现了数据格式的相互交换又没有改变数据内容,这种方式下不但不会增加终端通信设置,而能够实时的将数据原样转换,能承担较大流量的数据传输;第二种为将串行帧中的地址转换到CAN报文的标识域中,其中串行帧地址在串行帧中的起始位置和长度均可配置。
第一种数据转换包括两种转换方式,分别为串行帧转CAN报文和CAN报文转串行帧,转换的过程分别为:串行帧转CAN报文方式就是将串行帧的全部数据依序填充到CAN报文帧的数据帧中,基于STM32的串口与CAN总线协议转换器一旦检测到串行总线上有数据就立即接收并转换,在转换过程中帧类型和帧ID一直保持不变其转换数据对应关系如图1所示;CAN报文转串行帧就是将CAN报文数据帧中的数据依序全部转换到串行帧中,可以将基于STM32的基于STM32的串口与CAN总线协议转换器CAN报文的帧信息字节直接填充至串行帧中,也可以将CAN报文的帧ID字节全部填充至串行帧中,数据转换对应关系如图2所示。
第二种数据转换主要把串行帧中的地址信息自动转换成CAN总线的帧ID,这种方式方便终端通过基于STM32的串口与CAN总线协议转换器组建网络,使用自定义的协议。基于STM32的串口与CAN总线协议转换器在数据转换过程中记录需要转换的串行数据的的起始位置和长度,同时将此地址信息记录在CAN报文的帧ID域里,将此地址信息作为转换后CAN报文的ID;同理将CAN报文转换成串行帧时也是将CAN报文的ID信息作为转换后的串行帧的特征信息。
附图说明
图1为转换器串行帧转CAN报文转换数据对应关系图
图2为转换器CAN报文转串行帧转换数据对应关系图
图3基于STM32的串口与CAN总线协议转换器总体框图
具体实施方式
基于STM32的串口与CAN总线协议转换器电路主要有STM32F107主控芯片且内部带有CAN控制器、CAN接口收发电路A1050C、串行口接口电平转换电路SP3232和RS485通信电路组成,主要内容包括:数据的双向转换功能、支持CAN2.0A和CAN2.0B协议接口转换类型、支持三线式RS232和两线式RS485通信接口类型。转换模式包括二种:第一种为将某一种格式的总线数据转换成另一种总线的数据格式,不附加数据和对数据进行修改,既实现了数据格式的交换又没有改变数据内容,这种方式下不但不会增加用户通讯负担,而却能够实时的将数据原样转换,能承担较大流量的数据的传输;第二种为将串行帧中的地址转换到CAN报文的标识域中,其中串行帧地址在串行帧中的起始位置和长度均可配置。
第一种数据转换包括两种转换方式,分别为串行帧转CAN报文和CAN报文转串行帧,转换的过程分别为:串行帧转CAN报文方式就是将串行帧的全部数据依序填充到CAN报文帧的数据帧中,基于STM32的串口与CAN总线协议转换器一旦检测到串行总线上有数据就立即接收并转换,在转换过程中帧类型和帧ID一直保持不变其转换数据对应关系如图1所示;CAN报文转串行帧就是将CAN报文数据帧中的数据依序全部转换到串行帧中,可以将基于STM32的串口与CAN总线协议转换器CAN报文的帧信息字节直接填充至串行帧中,也可以将CAN报文的帧ID字节全部填充至串行帧中,数据转换对应关系如图2所示。
第二种数据转换主要把串行帧中的地址信息自动转换成CAN总线的帧ID,这种方式方便终端通过基于STM32的串口与CAN总线协议转换器组建网络,使用自定义的协议。基于STM32的串口与CAN总线协议转换器在数据转换过程中记录需要转换的串行数据的的起始位置和长度,同时将此地址信息记录在CAN报文的帧ID域里,将此地址信息作为转换后CAN报文的ID;同理将CAN报文转换成串行帧时也是将CAN报文的ID信息作为转换后的串行帧的特征信息。
在第二种数据转换中必须要有完整的串行数据帧,基于STM32的串口与CAN总线协议转换器以两帧间的时间间隔作为帧的划分,并且该间隔可由终端设置。串行帧最大长度为缓冲区的长度为255字节,基于STM32的串口与CAN总线协议转换器在串行总线空闲状态下检测到的首个数据,那么这个数据将作为接收帧的首个字符,传输过程中该帧内字符间的传输时间间隔必须小于或等于传输N个字符的时间,基于STM32的串口与CAN总线协议转换器传输一个字符的时间是用该字符包含的位数来除以相应的波特率,那么N个字符的时间就可以计算得出。在基于STM32的串口与CAN总线协议转换器在数据转换过程中接收到一个字符后小于等于N个字符的传输时间内没有字符再被接收,那么就认为此帧传输结束,将该字符作为此帧的最后一个字符;因此,N个字符时间之后的字符就不属于该帧,而应该计入下一帧的内容。
以上显示和描述了本发明的基本工作原理和主要功能。本行业的技术人员应该有所了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的基本实现功能,在不脱离本发明精神和范围的前期下,本发明还会有各种变化和改进,这种变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.一种基于STM32的串口与CAN总线协议转换器,其特征在于:主控芯片采用32位的ARMSTM32F107为内核的CPU处理单元,电路由STM32F107主控芯片且内部带有CAN控制器、CAN接口收发电路A1050C、串行通信接口电平转换电路SP3232和RS485通信电路组成。
2.如权利要求1所述的一种基于STM32的串口与CAN总线协议转换器,其特征在于:转换模式包括二种:第一种为将某一种格式的总线数据转换成另一种总线的数据格式,不附加数据和对数据进行修改,既实现了数据格式的相互交换又没有改变数据内容,这种方式下不但不会增加终端通信设置,而能够实时的将数据原样转换,能承担较大流量的数据传输;第二种为将串行帧中的地址转换至CAN报文的标识域中,其中串行帧地址在串行帧中的起始位置和长度均可配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201621394214.2U CN206302426U (zh) | 2016-12-19 | 2016-12-19 | 一种基于stm32的串口与can总线协议转换器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201621394214.2U CN206302426U (zh) | 2016-12-19 | 2016-12-19 | 一种基于stm32的串口与can总线协议转换器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN206302426U true CN206302426U (zh) | 2017-07-04 |
Family
ID=59214033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201621394214.2U Expired - Fee Related CN206302426U (zh) | 2016-12-19 | 2016-12-19 | 一种基于stm32的串口与can总线协议转换器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN206302426U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636127A (zh) * | 2019-09-20 | 2019-12-31 | 大唐融合通信股份有限公司 | 一种各信息数据间的通信处理方法及系统 |
CN111628920A (zh) * | 2020-05-28 | 2020-09-04 | 上海辰瞻医疗科技有限公司 | 多个串行接口设备间的相互通信方法 |
CN113938347A (zh) * | 2021-09-30 | 2022-01-14 | 蜂巢能源科技有限公司 | 数据交互方法、装置以及车辆 |
-
2016
- 2016-12-19 CN CN201621394214.2U patent/CN206302426U/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636127A (zh) * | 2019-09-20 | 2019-12-31 | 大唐融合通信股份有限公司 | 一种各信息数据间的通信处理方法及系统 |
CN110636127B (zh) * | 2019-09-20 | 2022-07-01 | 大唐融合通信股份有限公司 | 一种各信息数据间的通信处理方法及系统 |
CN111628920A (zh) * | 2020-05-28 | 2020-09-04 | 上海辰瞻医疗科技有限公司 | 多个串行接口设备间的相互通信方法 |
CN113938347A (zh) * | 2021-09-30 | 2022-01-14 | 蜂巢能源科技有限公司 | 数据交互方法、装置以及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN206302426U (zh) | 一种基于stm32的串口与can总线协议转换器 | |
CN102385351B (zh) | 可配置远程io控制器主机 | |
CN108931269A (zh) | 一种无线温湿度采集系统 | |
CN105472782B (zh) | 一种无线通讯终端 | |
CN103972909A (zh) | Tsc系统及其基于fpga的rs485通信方法 | |
CN204101967U (zh) | 一种网络化多功能数据采集装置 | |
CN103226531B (zh) | 一种双端口外设配置接口电路 | |
CN203397201U (zh) | 一种基于cpld或fpga的高速同步串行通信电路 | |
CN113839903A (zh) | 一种基于hart技术的协议转换装置 | |
CN208128284U (zh) | 一种基于s698pm的以太网转多路同步串口接口通讯设备 | |
CN206332694U (zh) | 以太网信号和串口信号与spi信号的转换装置 | |
CN203901673U (zh) | 注塑设备温度监控系统 | |
CN201936300U (zh) | 一种usb扩展多路串口装置 | |
CN110321304A (zh) | 车载环境下fpga和stm32之间的总线通信系统 | |
CN202916008U (zh) | 一种多通道光功率计 | |
CN107508737A (zh) | 基于EtherCAT的无线通信装置及其通信方法 | |
CN205193628U (zh) | 一种主从控制模式的大棚温度控制系统 | |
CN207503220U (zh) | 一种扩展单片机串口和Modbus总线的电路 | |
CN203053406U (zh) | 一种基于rs-485总线的激光位移传感器 | |
CN201274486Y (zh) | 基于CANopen协议的模拟量输入模块 | |
CN103425616B (zh) | Spi-rs232接口转换芯片及其通信方法 | |
CN203241752U (zh) | 多路传感器接入的数模转换can总线控制收发系统 | |
CN106773907A (zh) | 一种远程io控制系统及其控制器和io模块 | |
CN201813396U (zh) | 一种CANopen-CAN网关 | |
CN203933026U (zh) | 基于fpga和rs485通信的tsc系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170704 Termination date: 20171219 |