CN101447904B - 一种基于单个can卡的多地址接收、发送方法 - Google Patents

一种基于单个can卡的多地址接收、发送方法 Download PDF

Info

Publication number
CN101447904B
CN101447904B CN2008102254524A CN200810225452A CN101447904B CN 101447904 B CN101447904 B CN 101447904B CN 2008102254524 A CN2008102254524 A CN 2008102254524A CN 200810225452 A CN200810225452 A CN 200810225452A CN 101447904 B CN101447904 B CN 101447904B
Authority
CN
China
Prior art keywords
card
buffering area
data
agreement
address
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.)
Active
Application number
CN2008102254524A
Other languages
English (en)
Other versions
CN101447904A (zh
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.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
China Electric Power Research Institute Co Ltd CEPRI
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 China Electric Power Research Institute Co Ltd CEPRI filed Critical China Electric Power Research Institute Co Ltd CEPRI
Priority to CN2008102254524A priority Critical patent/CN101447904B/zh
Publication of CN101447904A publication Critical patent/CN101447904A/zh
Application granted granted Critical
Publication of CN101447904B publication Critical patent/CN101447904B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Communication Control (AREA)

Abstract

一种基于单个CAN卡的多地址接收、发送的协议及软件实现。在CAN卡广泛应用于工业控制的今天,对于工控机的功能要求也越来越高,很多时候,基本的CAN协议只提供单地址接收,一台工控机要想实现多任务、多地址接收,就必须安装、连接多个CAN卡,一则增加了工业成本,二则不利于灵活扩展应用,三则连接的CAN卡总数有限。因此,通过软件的方法,采用新的协议,可以很好的解决以上问题。多任务协议在原协议的基础上增加了源地址标识位,这样,不同的任务就可以通过该标识位区别读取自己的信息,也加强了各任务之间的独立性。

Description

一种基于单个CAN卡的多地址接收、发送方法
技术领域
本发明涉及计算机多任务处理领域,尤其是一种基于单个CAN卡的多地址接收、发送方法。
背景技术
目前的CAN卡收发协议,只提供单地址接收,一台工控机要想实现多任务、多地址接收,就必须安装、连接多个CAN卡,一则增加了工业成本,二则不利于灵活扩展应用,三则连接的CAN卡总数有限。
发明内容
本发明提出了一种基于单个CAN卡的多地址接收、发送方法,其特征在于:采用缓冲区存储,先进先出的处理方式,使用单个CAN卡实现多地址、多任务收发的实现功能,其特征在于包括以下步骤:
(1)地址组的初始化
采用图形化界面或配置文件的方式,协议获得用户所需的接收地址组参数,首先,采用软件对参数进行合理化判别,返回错误信息,提高协议的可靠性,根据用户提供的接收地址组,为每个地址开辟一个缓冲区,缓冲区的大小可由协议根据系统开销缺省配置,也可根据合理的用户参数设定大小,为了保证数据的可靠性和防止数值的二意性,协议采取对每一个缓冲区进行初始化的方式,彻底的杜绝系统随机数值的干扰;
(2)CAN卡的底层接收,存入缓冲区
通过设置内部定时器,采用CAN卡最高频率的两倍为定时器的步长,每响应一次定时器事件,调用一次CAN卡驱动程序提供的底层函数,将所接收的数据根据不同的地址码,存入不同的缓冲区,同时让读写标志加一,缓冲区存储采用循环使用原则,充分发挥最大的利用效率;
(3)上层接收函数调用,通过地址码获取对应的缓冲区数据
用户根据其需要设置适当频率的定时器,如果用户频率低于CAN卡的频率,则协议返回告警信息,提示用户采用此频率可能造成丢包,并且每响应一次定时器事件,调用一次上层接收函数接口,按照不同的地址码去取得对应缓冲区的数据,而后将该缓冲区清空,再将读写标志减一,如果读取速度快于写入速度,则缓冲区将被清空,此时返回数据标志FALSE,表示此次CAN卡没有数据返回,反之,如果写入速度快于读取速度,那么缓冲区将不能及时读取的数据保存起来,如果在某一段时间内,写入速度一直快于读取速度,那么,缓冲区将被写满,软件将从时间轴上最远的数据开始覆盖,确保最新的数据能最及时的读取。
并且本发明具有以下优点:提供了一种中层协议的方法,连接CAN卡和上层监控系统的多个任务,从而实现多地址、多任务同时通信的功能。其上层模块具有实时性强、独立性好、结构简单易于实现等优点。
附图说明
图1是依据本发明的基于单个CAN卡的多地址接收、发送方法的多任务协议系统框图;
图2是依据本发明的基于单个CAN卡的多地址接收、发送方法的实现方案;
图3是实验室的PM1000模块监控系统结构采用CAN初始协议的结构示意图;
图4是实验室的PM1000模块监控系统结构采用CAN卡的多任务协议的结构示意图。
具体实施方式
为实现本发明的基于单个CAN卡的多地址接收、发送方法,其可分为三部分:
1、址组的初始化
根据用户提供的接收地址组,为每个地址开辟一个缓冲区,并对每一个缓冲区进行初始化。
2、CAN卡的底层接收,存入缓冲区
通过设置内部定时器,按适当的频率调用CAN卡驱动程序提供的底层函数,将所接收的数据根据不同的地址码,存入不同的缓冲区,同时让写入标志加一,如果缓冲区已满,则循环使用。
3、层接收函数调用,通过地址码获取对应的缓冲区数据
用户根据其需要设置适当频率的定时器,调用上层接收函数接口,按照不同的地址码去取得对应缓冲区的数据,而后将该缓冲区清空,再将读写标志减一,如果缓冲区已读空,则返回数据标志FALSE。
CAN卡多任务协议系统实现方案说明书参见附图2所示。
以下是本发明方法的一个实施例,以某实验室的PM1000模块监控系统作实施例,进一步说明如下:
一实验室的PM1000模块监控系统结构,如果采用CAN初始协议,则结构如图3所示。
如果采用CAN卡的多任务协议,则结构如图4所示
对于已经固化的充电机工控模块来说,修改发往其监控上层的CAN目的地址是很困难的,所以,对于多台采用CAN协议的充电机,如果采用初始的CAN协议,那么监控系统将必须采用三个CAN卡,一则增加了工业成本,二则不利于灵活扩展应用,三则连接的CAN卡总数有限。通过直观的对比,显然采用CAN卡的多任务协议的系统(图B)更具有工业成本优势和系统灵活性。
已经根据优选的实施例描述了本发明。显然,在阅读和理解了上述详细说明书后能做出多种修正和替换。本发明意欲的是本申请构建成包括了落入附属的权利要求书或其等同物的范围之内的所有这些修正和替换。

Claims (1)

1.一种基于单个CAN卡的多地址接收、发送方法,其特征在于:采用缓冲区存储,先进先出的处理方式,使用单个CAN卡实现多地址、多任务收发的实现功能,其特征在于包括以下步骤:
(1)地址组的初始化
采用图形化界面或配置文件的方式,基于单个CAN卡的多地址接收、发送方法的多任务协议获得用户所需的接收地址组参数,首先,采用软件对参数进行合理化判别,返回错误信息,提高协议的可靠性,根据用户提供的接收地址组,为每个地址开辟一个缓冲区,缓冲区的大小可由协议根据系统开销缺省配置,也可根据合理的用户参数设定大小,为了保证数据的可靠性和防止数值的二意性,协议采取对每一个缓冲区进行初始化的方式,彻底的杜绝系统随机数值的干扰;
(2)CAN卡的底层接收,存入缓冲区
通过设置内部定时器,采用CAN卡最高频率的两倍为定时器的步长,每响应一次定时器事件,调用一次CAN卡驱动程序提供的底层函数,将所接收的数据根据不同的地址码,存入不同的缓冲区,同时让读写标志加一,缓冲区存储采用循环使用原则,充分发挥最大的利用效率;
(3)上层接收函数调用,通过地址码获取对应的缓冲区数据
用户根据其需要设置适当频率的定时器,如果用户频率低于CAN卡的频率,则协议返回告警信息,提示用户采用此频率可能造成丢包,并且每响应一次定时器事件,调用一次上层接收函数接口,按照不同的地址码去取得对应缓冲区的数据,而后将该缓冲区清空,再将读写标志减一,如果读取速度快于写入速度,则缓冲区将被清空,此时返回数据标志FALSE,表示此次CAN卡没有数据返回,反之,如果写入速度快于读取速度,那么缓冲区将不能及时读取的数据保存起来,如果在某一段时间内,写入速度一直快于读取速度,那么,缓冲区将被写满,软件将从时间轴上最远的数据开始覆盖,确保最新的数据能最及时的读取。
CN2008102254524A 2008-10-31 2008-10-31 一种基于单个can卡的多地址接收、发送方法 Active CN101447904B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102254524A CN101447904B (zh) 2008-10-31 2008-10-31 一种基于单个can卡的多地址接收、发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102254524A CN101447904B (zh) 2008-10-31 2008-10-31 一种基于单个can卡的多地址接收、发送方法

Publications (2)

Publication Number Publication Date
CN101447904A CN101447904A (zh) 2009-06-03
CN101447904B true CN101447904B (zh) 2011-06-22

Family

ID=40743323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102254524A Active CN101447904B (zh) 2008-10-31 2008-10-31 一种基于单个can卡的多地址接收、发送方法

Country Status (1)

Country Link
CN (1) CN101447904B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113884895A (zh) * 2021-11-15 2022-01-04 武汉长海高新技术有限公司 一种电池测试用can总线-以太网数据转换装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434609A (zh) * 2003-01-21 2003-08-06 武汉理工大学 嵌入式现场总线网关
CN1441578A (zh) * 2003-04-15 2003-09-10 北京四方继保自动化有限公司 一种基于现场可编程门阵列实现的本地网通信的方法
CN1758622A (zh) * 2005-11-11 2006-04-12 哈尔滨工业大学 信息处理装置之间的异构多总线数据传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434609A (zh) * 2003-01-21 2003-08-06 武汉理工大学 嵌入式现场总线网关
CN1441578A (zh) * 2003-04-15 2003-09-10 北京四方继保自动化有限公司 一种基于现场可编程门阵列实现的本地网通信的方法
CN1758622A (zh) * 2005-11-11 2006-04-12 哈尔滨工业大学 信息处理装置之间的异构多总线数据传输方法

Also Published As

Publication number Publication date
CN101447904A (zh) 2009-06-03

Similar Documents

Publication Publication Date Title
KR101057452B1 (ko) 스마트카드 임베디드 조작 시스템 및 작업처리 방법
TWI249106B (en) System and method for transferring data between virtual machines or other computer entities
EP1600878B1 (en) A radio frequency identification (RFID) controller
CN1685326B (zh) 总线连接系统
CN100382065C (zh) 基于usb接口的智能卡读写器及其控制方法
CN101980149B (zh) 主处理器与协处理器通信系统及通信方法
US8738953B2 (en) Power-saving device for universal serial bus modem apparatus and method thereof
CN101707564B (zh) 用于零拷贝缓冲区队列网络数据发送和接收的处理方法和装置
CN101833989A (zh) 多接口固态硬盘及其处理方法和系统
US7295113B2 (en) Controller for accessing multiple radio frequency identification (RFID) readers
CN104965700A (zh) VxWorks操作系统下实现驱动SPI设备的方法和系统
CN103377070A (zh) 一种现场总线接口抽象方法
CN101221550A (zh) 一种串行通讯的方法及芯片
CN205302255U (zh) 蓝牙打印机及蓝牙打印系统
CN101447904B (zh) 一种基于单个can卡的多地址接收、发送方法
CN118069555A (zh) 数据传输方法、装置、电子设备及存储介质
WO2010016332A1 (ja) 通信装置、通信方法、及びプログラム
CN109857553A (zh) 内存管理方法及装置
CN114567445B (zh) 一种验签数据传输方法、装置、设备及介质
CN114095303B (zh) 通信设备、数据传输方法及电子设备
CN102301354A (zh) 从具有处理能力的可移除媒体管理无线设备的系统和方法
JPH0196750A (ja) データ処理システム
CN102117261A (zh) 一种芯片内部处理器之间的通信方法
CN115658590A (zh) 处理器通信方法和装置、电子设备、计算机可读存储介质
CN100541466C (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: STATE ELECTRIC NET CROP.

Effective date: 20130130

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130130

Address after: Study on China Electrical Power Research Institute 100192 Beijing City Road No. 15 the Haidian District Qinghe small camp

Patentee after: China Electric Power Research Institute

Patentee after: State Grid Corporation of China

Address before: Study on China Electrical Power Research Institute 100192 Beijing City Road No. 15 the Haidian District Qinghe small camp

Patentee before: China Electric Power Research Institute