CN102629911A - 一种基于pci接口的pc机can报文实时采集方法 - Google Patents

一种基于pci接口的pc机can报文实时采集方法 Download PDF

Info

Publication number
CN102629911A
CN102629911A CN2012100590866A CN201210059086A CN102629911A CN 102629911 A CN102629911 A CN 102629911A CN 2012100590866 A CN2012100590866 A CN 2012100590866A CN 201210059086 A CN201210059086 A CN 201210059086A CN 102629911 A CN102629911 A CN 102629911A
Authority
CN
China
Prior art keywords
message
pci
pci interface
circuit board
integrated circuit
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
Application number
CN2012100590866A
Other languages
English (en)
Inventor
管明华
蔡志伟
孙宗琳
韩树明
李昭宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRRC Dalian Co Ltd
Original Assignee
CNR Dalian Locomotive and Rolling Stock Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CNR Dalian Locomotive and Rolling Stock Co Ltd filed Critical CNR Dalian Locomotive and Rolling Stock Co Ltd
Priority to CN2012100590866A priority Critical patent/CN102629911A/zh
Publication of CN102629911A publication Critical patent/CN102629911A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明的基于PCI接口的PC机CAN报文实时采集方法,包括:CAN-PCI板卡接收CAN报文的步骤;CAN-PCI板卡接受PCI访问、报文读取的访问中断步骤;扫描PCI接口、触发低速定时中断的高速定时中断步骤;通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,按CAN报文的先后顺序更新PC工作站的显示窗口、更新数据报表,并写入数据库的低速定时中断步骤。将单片机系统高速、实时性强的优点,与PC工作站批量数据处理能力强的特点结合起来,搭建的采集、记录系统通用性强,适合在恶劣应用环境下对CAN报文实施长时间、高速、海量的采集、记录。

Description

一种基于PCI接口的PC机CAN报文实时采集方法
技术领域
本发明属于工业控制领域,尤其涉及一种基于PCI接口的PC机CAN报文实时采集方法。
背景技术
控制器局域网络CAN因其具有的高可靠性、良好的错误检测能力、优良的抗干扰能力,已经其成为工业控制总线的首选。采用一定的技术手段,实时、完整采集、记录控制网络中的CAN总线通信报文,通过报文分析理解通信控制流程,成为工业控制领域中的一项重要任务。目前市面上已有的各种CAN总线分析专用集成设备,大多价格昂贵,模式固定,难于进行柔性二次开发,无法长时间、高速、海量记录CAN总线通信报文。也有利用PC工作站采集、记录CAN总线通信报文的。但是PC工作站没有CAN接口,一般采取两种办法解决接口问题。一种是采用转换模块将CAN报文转换为RS232报文,再通过RS232接口将报文发送给PC工作站。由于需要采用外接的CAN转RS232模块,现场应用受到很大程度的限制。同时通过转换的报文,其实时性受到了转换速度以及RS232接口速度的限制,无法实现高速、实时、海量CAN总线报文采集。另一种是采用CAN-PCI板卡将CANR报文送入PC工作站,但是由于板卡内存容量的限制,目前也只能用于CAN总线调试,测试总线是否正常联通以及查看少量报文的瞬时内容,长时间、高速、海量CAN总线报文实时采集的问题仍没有得解决。
发明内容
本发明的目的就是克服上述现有技术之不足,提供一种基于PCI接口的PC机CAN报文实时采集方法,可以在不同CAN总线速率、负荷下进行现有设备和方法无法实现的长时间、高速、海量记录CAN总线所有报文,用于进行总线分析、算法分析、逻辑过程分析等。
本发明的目的是这样现的,一种基于PCI接口的PC机CAN报文实时采集方法,包括:
用于CAN-PCI板卡接收CAN报文的步骤;
用于CAN-PCI板卡接受PCI访问、报文读取的访问中断步骤;
其特征在于还包括:
用于PC机扫描PCI接口、触发低速定时中断的高速定时中断步骤;
用于PC机通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,按CAN报文的先后顺序更新PC工作站的显示窗口、更新数据报表,并写入数据库的低速定时中断步骤。
为了更好地实现本发明的目的,所述高速定时中断步骤为下列步骤:
5.2,扫描PCI接口;
5.3如果CAN-PCI板卡的缓冲区未满,进入步骤5.5;否则,进入下一步骤;
5.4触发低速定时中断;
5.5退出本次高速定时中断。
为了更好地实现本发明的目的,所述低速定时中断步骤为下列步骤:
6.2访问PCI接口,确认需要从CAN-PCI板卡读取的CAN报文数量K;
6.3判断K是否等于0:是,进入步骤6.5;否,进入下一步骤;
6.4通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,返回步骤6.2;
6.5按CAN报文的先后顺序更新PC工作站的显示窗口;
6.6按CAN报文的先后顺序更新数据报表,并写入数据库;
6.7退出本次低速定时中断。
本发明的技术方案,将单片机系统高速、实时性强的优点,与PC工作站批量数据处理能力强的特点结合起来,搭建的采集、记录系统通用性强,适合在恶劣应用环境下对CAN报文实施长时间、高速、海量的采集、记录。具体来说,有以下特点:
1、使用了高速定时器、低速定时器配合实现报文采集和报文显示窗口更新,防止了更新速度过快、过慢引起的显示窗口停滞、刷屏现象。
2、使用高速定时器实时监控PCI板卡的缓冲区,有效防止缓冲区溢出,可灵活选择有利于系统协调工作的缓冲长度。缓冲过长,将导致系统处理该数量报文用时增加,影响报文显示效果和存储实时性;缓冲过短,将导致系统频繁更新报文显示窗口和数据库,加大系统负荷,降低系统可靠性。
3、在低速中断中读取缓冲区,可以有效提高存储效率,有利于发挥PC批量处理数据的特长,回避PC实时性较差的缺点。
4、在低速中断中读取缓冲区,依次存储报文,可以实现准确记录当前时间和编号,有利于理清总线报文的先后顺序关系,为后续的算法、逻辑分析提供便利条件。
附图说明
图1为本发明实施例的硬件原理框图。
图2为本发明实施例的启动流程框图。
图3本实施例CAN-PCI板卡接收CAN报文的流程框图;
图4为本实施例CAN-PCI板卡接受PCI访问、报文读取的访问中断流程框图。
图5为本发明实施例的PC机高速定时中断流程框图。
图6为本发明实施例的PC机低速定时中断流程框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,CAN报文实时采集硬件系统由市售CAN-PCI板卡和PC工作站组成,CAN-PCI板卡具有PCI接口直接插在PC工作站的PCI插槽上;外部CAN总线的CANH、CANL分别接入CAN-PCI板卡的对应CAN输入接口。采集系统作为一个CAN总线节点工作,不影响其他CAN节点正常工作。
参看图2,本实施例的启动流程在框4.1开始。进入框4.2,初始化显示界面,连接SQL数据库。进入框4.3,通过PCI接口设置CAN-PCI板卡的运行参数。进入框4.4,命令CAN-PCI板卡启动CAN通信。进入框4.5,开启系统的高速、低速定时器。进入框4.6,判断是否有退出命令:是,进入框4.8;否则,进入框4.7。进入框4.7,一直运行;返回框4.6。框4.8,退出。
参看图3所示CAN-PCI板卡接收CAN报文的流程。CAN总线上有CAN报文时,由CAN-PCI板卡硬件触发CAN接收中断,进入框2.1。进入框2.2,读取CAN报文邮箱内的本条CAN报文。进入框2.3,确认当前处于工作状态的CAN报文接收缓冲区序号,即当前是缓冲区1工作还是缓冲区2工作。进入框2.4,确认当前工作缓冲区内存储的CAN报文数量N。进入框2.5,判断N是否大于可缓冲CAN报文数量上限Nmax:是,进入框2.6,丢弃本条报文,并进入框2.9,通过PCI接口发出缓冲区满警告,请求PC工作站读取缓冲区;否,进入框2.7。框2.7,在当前工作缓冲区的N+1处存储该条CAN报文。进入框.28,判断是否再接收10条CAN报文,会引起当前缓冲区达到可缓冲CAN报文数量上限Nmax:是,进入框2.9;否,进入框2.10。框2.10,退出本次中断。
参看图4,PC工作站通过PCI接口访问CAN-PCI板卡时,由板卡硬件触发PCI访问中断,CAN-PCI板卡开始接受PCI访问、报文读取流程。访问中断流程从框3.1开始。进入框3.2,判断PCI访问类型:如果是控制类访问,进入框3.3,执行相关控制命令后进入框3.10,退出中断;如果是读取报文类访问,进入框3.4。进入框3.4,确认当前处于工作状态的缓冲区,即当前是缓冲区1工作还是缓冲区2工作。进入框3.5,将当前工作的缓冲区切换为另一缓冲区。进入框3.6,确认先前工作缓冲区内的报文数量M。进入框3.7,判断剩余报文数量是否为0条:是,进入框3.10;否,进入框3.8。进入框3.8,将缓冲区内的首条报文发送到PCI接口,并在缓冲区内清除该条报文。进入框3.9,缓冲区内报文数量-1,并返回框3.6。框3.10,退出本次中断。
参看图5,用于扫描PCI接口、触发低速定时中断的高速定时中断流程在框5.1开始。进入框5.2,扫描PCI接口。进入框5.3,判断是否接收到缓冲区满警告:否,进入框5.5,退出;是,进入框5.4,触发低速定时中断,后进入框5.5,退出本次中断。
参看图6,低速定时中断流程用于通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,按CAN报文的先后顺序更新PC工作站的显示窗口、更新数据报表,并写入数据库。低速定时中断触发后,从框6.1开始。进入框6.2,访问PCI接口,确认需要从CAN-PCI板卡读取的CAN报文数量K。进入框6.3,判断K是否等于0:是,进入框6.5;否,进入框6.4。进入框6.4,通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,返回框6.2。进入框6.5,按CAN报文的先后顺序更新PC工作站的显示窗口。进入框6.6,按CAN报文的先后顺序更新数据报表,并写入SQL数据库。进入框6.7,退出本次低速定时中断。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (3)

1.一种基于PCI接口的PC机CAN报文实时采集方法,包括:
用于CAN-PCI板卡接收CAN报文的步骤;
用于CAN-PCI板卡接受PCI访问、报文读取的访问中断步骤;
其特征在于还包括:
用于PC机扫描PCI接口、触发低速定时中断的高速定时中断步骤;
用于PC机通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,按CAN报文的先后顺序更新PC工作站的显示窗口、更新数据报表,并写入数据库的低速定时中断步骤。
2.根据权利要求1所述的一种基于PCI接口的PC机CAN报文实时采集方法,其特征在于所述高速定时中断步骤为下列步骤:
5.2扫描PCI接口;
5.3如果CAN-PCI板卡的缓冲区未满,进入步骤5.5;否则,进入下一步骤;
5.4触发低速定时中断;
5.5退出本次高速定时中断。
3.根据权利要求1所述的一种基于PCI接口的PC机CAN报文实时采集方法,其特征在于所述低速定时中断步骤为下列步骤:
6.2访问PCI接口,确认需要从CAN-PCI板卡读取的CAN报文数量K;
6.3判断K是否等于0:是,进入步骤6.5;否,进入下一步骤;
6.4通过PCI接口依次读取CAN-PCI板卡缓冲区内的CAN报文,存入PC工作站上的内存缓冲区,返回步骤6.2;
6.5按CAN报文的先后顺序更新PC工作站的显示窗口;
6.6按CAN报文的先后顺序更新数据报表,并写入数据库;
6.7退出本次低速定时中断。
CN2012100590866A 2012-03-07 2012-03-07 一种基于pci接口的pc机can报文实时采集方法 Pending CN102629911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100590866A CN102629911A (zh) 2012-03-07 2012-03-07 一种基于pci接口的pc机can报文实时采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100590866A CN102629911A (zh) 2012-03-07 2012-03-07 一种基于pci接口的pc机can报文实时采集方法

Publications (1)

Publication Number Publication Date
CN102629911A true CN102629911A (zh) 2012-08-08

Family

ID=46588072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100590866A Pending CN102629911A (zh) 2012-03-07 2012-03-07 一种基于pci接口的pc机can报文实时采集方法

Country Status (1)

Country Link
CN (1) CN102629911A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553802A (zh) * 2015-12-10 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种异构航电网络和总线的数据实时接收方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101240767A (zh) * 2008-03-06 2008-08-13 武汉理工大学 一种基于信息集成的客车起动控制系统
CN201117091Y (zh) * 2007-11-08 2008-09-17 武汉理工大学 基于can总线的汽车车灯状态反馈装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201117091Y (zh) * 2007-11-08 2008-09-17 武汉理工大学 基于can总线的汽车车灯状态反馈装置
CN101240767A (zh) * 2008-03-06 2008-08-13 武汉理工大学 一种基于信息集成的客车起动控制系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许沛云: "智能PCI-CAN及485接口卡的设计及其应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553802A (zh) * 2015-12-10 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种异构航电网络和总线的数据实时接收方法
CN105553802B (zh) * 2015-12-10 2019-02-19 中国航空工业集团公司西安航空计算技术研究所 一种异构航电网络和总线的数据实时接收方法

Similar Documents

Publication Publication Date Title
CN101419579B (zh) 一种在动态随机存储器上提供服务质量的装置和方法
CN104111870B (zh) 一种中断处理装置及中断处理方法
CN103235760B (zh) 基于CLB总线的高利用率NorFLASH存储接口芯片
CN103116551B (zh) 应用于CLB总线的NorFLASH存储接口模块
CN103440216A (zh) 一种通过i2c从设备调试mcu的芯片及方法
CN101206614B (zh) 仿真特殊功能寄存器的仿真器
CN104765701B (zh) 数据访问方法及设备
CN102223452B (zh) 移动终端的tty测试方法及系统
CN101751327B (zh) 嵌入式处理器的跟踪调试方法
CN101539765B (zh) 一种工业过程数据高速采集的方法及系统
CN101668036A (zh) 分布式设备的模拟系统和模拟分布式设备处理业务的方法
CN102216909A (zh) 一种网络处理器和网络处理器所存程序的诊断方法
CN101594305B (zh) 一种报文处理方法及装置
CN102629911A (zh) 一种基于pci接口的pc机can报文实时采集方法
CN103077080A (zh) 基于高性能平台的并行程序性能数据采集方法及装置
JP2001147839A (ja) 情報収集装置、情報生成装置、情報収集プログラムを記録したコンピュータ読み取り可能な記録媒体および情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体
CN115549782B (zh) 一种光模块的信息查询方法及其相关组件
CN101206613A (zh) 高速基本输入/输出系统调试卡
CN101998135A (zh) 移动电视信号采集及播放系统、控制方法
CN100471175C (zh) 一种报文存储转发的方法及报文存储转发电路
CN101324863B (zh) 一种同步静态存储器的控制装置及方法
CN105677474A (zh) 一种基于fpga的中断聚合装置和方法
CN1088217C (zh) 学习反应信息实时测试分析系统及其实时测试分析方法
CN102033823A (zh) 一种保存数据的方法及装置
CN101005413A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120808