CN103440218A - 基于usb-hid协议的can总线监控方法 - Google Patents
基于usb-hid协议的can总线监控方法 Download PDFInfo
- Publication number
- CN103440218A CN103440218A CN201310355104XA CN201310355104A CN103440218A CN 103440218 A CN103440218 A CN 103440218A CN 201310355104X A CN201310355104X A CN 201310355104XA CN 201310355104 A CN201310355104 A CN 201310355104A CN 103440218 A CN103440218 A CN 103440218A
- Authority
- CN
- China
- Prior art keywords
- usb
- hid
- bus
- monitoring
- data
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种CAN总线监控系统,它包括微控制器、至少两个CAN控制器、一个USB模块,其特点是,所述的CAN总线监控系统可以同时与至少两个CAN总线相连,在任何一根CAN总线上监听到CAN报文或是错误帧时,系统能将监听的数据存入本地内存,并将内存中的数据发送至USB模块,USB模块通过USB线连接至PC机,在PC机上采用HID设备类的方式打开USB设备,并通过应用程序调用HID设备类相关的读写API函数与下位机进行数据交互,从而实现CAN总线的监控,包括信号的显示和报文的收发等等。
Description
技术领域
本发明涉及通信领域,特别涉及一种针对CAN总线与USB总线之间的一个数据传输的系统。
背景技术
CAN总线作为各个微控制器之间的通信接口,在汽车和工业中有着广泛的应用;在应用中一个重要的需求就是通过特定的硬件电路从CAN总线采集各个微控制器之间传递的信号,并传输到PC机,并在其上显示,从而实现对CAN总线通信过程中的监控。
将从CAN总线采集到的信号传输到PC机,最常见的做法是使用USB总线,并在运行Windows操作系统的PC端,针对特定的设备编写USB设备驱动程序,设备驱动程序负责接收下位机的数据,并将其传输给PC端的应用程序。
针对特定的设备编写USB设备驱动程序存在以下不足:1、设备驱动程序制作复杂,需要考虑到USB电源管理,枚举,数据通信等一系列问题;2、设备驱动程序调试困难;3、设备驱动程序的微小故障将导致操作系统崩溃;4、低版本的设备驱动程序无法兼容高版本的操作系统,不适合PC机的升级
发明内容
本发明的目的,就是为了克服USB专用的设备驱动程序编制的缺陷,提供一种无需自行编写驱动程序的,基于USB-HID协议的CAN总线监控的解决方案和装置。
本发明提供的具体技术方案如下:
基于USB-HID协议的CAN总线监控系统,所述系统使用微控制器与至少两个CAN控制器连接,所属装置在任何一根CAN总线上监听到CAN报文或是错误帧后,将监听的数据读入本地内存,并将此内存中的数据发送到USB模块,USB模块通过USB线连接至PC机,在PC机采用HID设备类的方式打开USB设备,并通过应用程序调用HID设备类相关的读写API函数与下位机进行数据交互,从而实现CAN总线的监控,包括信号的显示和报文的收发等等。
基于USB-HID协议的CAN总线监控系统,包括硬件电路,下位机程序和上位机程序。
基于USB-HID协议的CAN总线监控系统中设计的硬件电路,由微控制器、至少两个CAN控制器、USB模块组成;微控制器与至少两个CAN控制器连接,所属装置在任何一根CAN总线上监听到CAN报文或是错误帧后,将监听的数据读入本地内存,并将此内存中的数据发送到USB模块。
基于USB-HID协议的CAN总线监控系统中的USB模块通过USB线连接至PC机,在PC机采用HID设备类的方式打开USB设备,并通过应用程序调用HID设备类相关的读写API函数与下位机进行数据交互。
本发明实施例中,在硬件的USB模块中以HID设备类的方式进行设备枚举,枚举成功后设备即可被PC机识别并自动在Windows端由HID设备驱动接管通信,只要打开上位机软件即可正常访问下位机,通信效率高,通信质量可靠,从而有效地提高了设备开发效率,同时此系统使得在任何安装有Windows并带有USB接口的电脑上均可使用此设备,而不需要对此设计任何驱动程序。
附图说明
图1为本发明实施例中CAN总线监控总体架构图
图2为本发明实施系统中下位机的流程图
图3为本发明实施系统中上位机检测HID设备流程图
图4为本发明实施系统中上位机的数据通信流程图
图1中,微控制器(101),CAN控制器(102),CAN收发器(103),CAN总线CANH(104),CAN总线CANL(105),USB模块(106),USB HID驱动程序(107),上位机监控程序(108),PC机(109),下位机硬件电路(110),USB线(111)
具体实施方式
在图1中,微控制器(101)连接至少两个CAN控制器(102),每个CAN控制器的TX引脚与RX引脚分别连接CAN收发器(103)的TX引脚和RX引脚,CAN收发器的CANH连接至CAN总线CANH(104),CAN收发器的CANL连接至CAN总线的CANL(105)。
在图1中,PC机(109)内部包括Windows自带的HID设备驱动程序(107),监控程序(108)通过HID驱动程序连接至USB线(111),并连接至下位机硬件(110)的USB模块(106)。
微控制器(101),内部集成CPU和内存,与一个或多个独立的CAN控制器相连;或是内部集成一个或多个CAN控制器;图1显示的是微控制器内部集成两个CAN控制器(102)的情形。
CAN控制器(102),作为CAN总线的协议转换芯片,负责将CAN总线上的报文和错误帧等信息反馈给微控制器,每一个CAN控制器都有与CAN收发器相连的TX和RX引脚。
下面结合附图2-4对本发明的控制流程进行详细说明。
参阅图2所示,本发明实施中下位机监控详细流程如下:
步骤201:CAN控制器报文接收中断和错误中断。CAN控制器在监控到总线上的报文或是错误帧后,以中断形式通知微控制器,微控制器同时会进入中断处理程序。
步骤202:读取相应的CAN控制器的监控数据。微控制器在中断服务程序中读取相应的CAN控制器所获取的监控数据至内存。
步骤203:判断本地缓冲区是否已满。微控制器判断当前的CAN总线监控缓冲区是否已被填满,若被填满则转到步骤204,若没有填满则转到步骤205。
步骤204:错误处理。在当前CAN总线监控缓冲区满的情况下,内存中的数据不能写入缓冲区,当前的内存数据将被丢弃。
步骤205:数据保存至本地内存。微控制器将内存中的数据保存至本地的缓冲区内。
步骤206:将本地内存数据提交至USB模块。微控制器将缓冲区内的数据提交给与其相连的USB模块。
步骤207:USB模块上传数据。USB模块中的HID设备自动将其内的数据上传至PC端。
步骤208:完成一次HID数据传输。
参阅图3所示,本发明实施中上位机在打开HID设备的处理流程详述如下:
步骤301:遍历检测HID设备。上位机的监控程序启动后遍历检测电脑上所有的HID设备。
步骤302:判断是否检测到ID符合的设备。在检测到符合USB厂商编号和设备编号的设备后,跳转至步骤303,若未检测到符合的设备,则跳转到步骤304。
步骤303:打开此HID设备。上位机的监控程序尝试打开此HID设备。
步骤304:显示设备连接状态。显示HID设备的打开状态。
参阅图4所示,本发明实施中上位机通过HID设备类进行数据通信的流程详述如下:
步骤401:检测下位机是否有数据。若有需要上传的数据,则跳转到步骤402,否则返回。
步骤402:向下位机请求读取数据。向下位机发起读请求,取得下位机内部保存的数据。
步骤403:处理读取的数据。在获取下位机的数据后,提取CAN总线上监控的报文和错误帧。
步骤404:显示监控信息。在上位机的监控界面上,显示监控到的信息。
步骤405:完成一次数据显示。
Claims (5)
1.基于USB-HID协议的CAN总线监控系统,它包括微控制器,至少两个CAN控制器,一个USB模块,其特征在于,微控制器与至少两个CAN控制器连接,CAN控制器在与其连接的CAN总线上监听到CAN报文或是错误帧后,微控制器将监听的数据读入本地内存,并将此内存中的数据发送到USB模块,USB模块通过USB线连接至PC机,在PC机采用HID设备类的方式打开USB设备,并通过应用程序调用HID设备类相关的读写API函数与下位机进行数据交互,从而实现CAN总线的监控,包括监听数据的保存,信号的显示和报文的收发功能。
2.根据权利要求1所述的基于USB-HID协议的CAN总线监控系统,其特征在于,系统包括硬件电路,下位机程序和上位机程序。
3.根据权利要求2所述的基于USB-HID协议的CAN总线监控系统,其特征在于,系统的硬件电路,由微控制器、至少两个CAN控制器、USB模块组成;微控制器与至少两个CAN控制器连接,所属装置在任何一根CAN总线上监听到CAN报文或是错误帧后,将监听的数据读入本地内存,并将此内存中的数据发送到USB模块。
4.根据权利要求3所述的基于USB HID协议的CAN总线监控系统,其特征在于,系统的USB模块通过USB线连接至PC机,在PC机采用HID设备类的方式打开USB设备,并通过应用程序调用HID设备类相关的读写API函数与下位机进行数据交互。
5.根据权利要求2所述的基于USB-HID协议的CAN总线监控系统,其特征在于,下位机程序在硬件的USB模块中以HID设备类的方式进行设备枚举,枚举成功后设备即可被PC机识别并自动在Windows端由HID设备驱动接管通信;上位机程序通过打开相应的HID设备即可访问下位机,同时此系统使得在任何安装有Windows并带有USB接口的电脑上均可使用此设备,而不需要对此设计任何驱动程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310355104XA CN103440218A (zh) | 2013-08-15 | 2013-08-15 | 基于usb-hid协议的can总线监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310355104XA CN103440218A (zh) | 2013-08-15 | 2013-08-15 | 基于usb-hid协议的can总线监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103440218A true CN103440218A (zh) | 2013-12-11 |
Family
ID=49693909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310355104XA Pending CN103440218A (zh) | 2013-08-15 | 2013-08-15 | 基于usb-hid协议的can总线监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440218A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267331A (zh) * | 2014-09-16 | 2015-01-07 | 四川和芯微电子股份有限公司 | Usb芯片的测试方法 |
CN110096002A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种基于canfd总线的自动化测试系统及测试方法 |
CN111462353A (zh) * | 2020-03-30 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种基于网关的记录整车信息的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2638142Y (zh) * | 2003-08-29 | 2004-09-01 | 清华大学 | 基于usb接口的便携式can总线分析记录仪 |
CN101276488A (zh) * | 2008-03-26 | 2008-10-01 | 中国科学院电工研究所 | 一种可实现智能can总线通信的车载记录仪 |
CN202929617U (zh) * | 2012-11-30 | 2013-05-08 | 苏州坤宏电子有限公司 | 一种通过usb实现hid即插即用的通用串行接口装置 |
-
2013
- 2013-08-15 CN CN201310355104XA patent/CN103440218A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2638142Y (zh) * | 2003-08-29 | 2004-09-01 | 清华大学 | 基于usb接口的便携式can总线分析记录仪 |
CN101276488A (zh) * | 2008-03-26 | 2008-10-01 | 中国科学院电工研究所 | 一种可实现智能can总线通信的车载记录仪 |
CN202929617U (zh) * | 2012-11-30 | 2013-05-08 | 苏州坤宏电子有限公司 | 一种通过usb实现hid即插即用的通用串行接口装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267331A (zh) * | 2014-09-16 | 2015-01-07 | 四川和芯微电子股份有限公司 | Usb芯片的测试方法 |
CN110096002A (zh) * | 2018-01-30 | 2019-08-06 | 上海融聂电子科技有限公司 | 一种基于canfd总线的自动化测试系统及测试方法 |
CN111462353A (zh) * | 2020-03-30 | 2020-07-28 | 北京经纬恒润科技有限公司 | 一种基于网关的记录整车信息的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101725536B1 (ko) | Pcie 프로토콜 스택을 이용하는 저전력 phy의 동작을 위한 디바이스, 방법 및 시스템 | |
JP4886601B2 (ja) | Usbインタフェース設備に対して操作を行う装置及び方法 | |
CN111953387A (zh) | 近场通信和无线功率 | |
CN107301138B (zh) | 一种串行总线桥接方法及串行总线系统 | |
CN106169976A (zh) | 一种基于新型智能家庭网关的服务系统 | |
CN102576339A (zh) | 多协议存储设备桥 | |
CN112653738B (zh) | 一种物联网网络调试系统和调试方法 | |
CN104021054A (zh) | 服务器故障可视化侦测及处理方法、系统及可编程芯片 | |
CN108111382B (zh) | 基于i3c总线的通信装置及其通信方法 | |
CN104021102A (zh) | 基于状态机和片内总线的cpci串口板及其工作方法 | |
US9552279B2 (en) | Data bus network interface module and method therefor | |
CN107423180A (zh) | 一种固态硬盘及其诊断方法 | |
CN105068955A (zh) | 一种局部总线结构及数据交互方法 | |
CN103440218A (zh) | 基于usb-hid协议的can总线监控方法 | |
CN102680886A (zh) | 远程逻辑分析系统 | |
CN104484260B (zh) | 一种基于GJB289总线接口SoC的仿真监控电路 | |
CN104780123A (zh) | 一种网络包收发处理装置及其设计方法 | |
CN103914362A (zh) | 一种串口自检方法、电路及装置 | |
CN107391332A (zh) | 一种存储系统及调试系统 | |
CN103425123A (zh) | 一种基于软件脚本的can总线自动化测试方法 | |
CN103888375A (zh) | 基于arinc 429的通信方法、装置及扩展接口 | |
CN103441912A (zh) | 基于USB-HID协议的FlexRay总线监控方法 | |
CN117312067A (zh) | 网卡调试系统、方法、设备及存储介质 | |
WO2014027223A1 (en) | Data bus network interface module and method therefor | |
CN102236629B (zh) | 串口信号识别系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131211 |