CN108183845A - 一种基于比特仲裁的总线竞争方法 - Google Patents
一种基于比特仲裁的总线竞争方法 Download PDFInfo
- Publication number
- CN108183845A CN108183845A CN201711275233.2A CN201711275233A CN108183845A CN 108183845 A CN108183845 A CN 108183845A CN 201711275233 A CN201711275233 A CN 201711275233A CN 108183845 A CN108183845 A CN 108183845A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- states
- frame
- bus
- send
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40084—Bus arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40039—Details regarding the setting of the power status of a node according to activity on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种基于比特仲裁的总线竞争方法,是一种基于优先级的随机退让总线竞争建模方法。包括如下步骤:CAN总线上节点建立有限状态机,当前节点上进程按照有限状态机中状态序列执行。有限状态机中状态序列包括:初始化INIT状态;空闲IDLE状态;PREPARE_TO_SEND状态,从CAN_MAC帧队列中取出一个选定的CAN_MAC帧,建立仲裁帧,并设置仲裁帧的优先值。将仲裁帧发向CAN总线,进程跳转到ARBITRATION状态;ARBITRATION状态,等待仲裁窗口时间,并接收其他节点的仲裁帧,若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则跳转到BACKOFF状态,否则跳转到SEND状态;BACKOFF状态,进程等待随机时间后返回PREPARE_TO_SEND状态;SEND状态,进程发送选定的CAN_MAC帧,之后返回IDLE状态。
Description
技术领域
本发明涉及星载CAN总线建模技术领域。
背景技术
新型的星载电子系统设计是以网络和总线技术为核心,以高性能信息处理单元为主体,以标准接口单元为代理,通过分层和标准接口以实现开放性,通过系列化模块实现标准和通用性。
针对星载CAN总线,连接在星载CAN总线上各节点均需获取总线的控制权以进行数据帧的发送,CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设备要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输。
由于目前CAN总线的总线竞争模式一般是通过硬件实现的,为了能够实现对星载CAN总线的竞争模式研究,现有的仿真验证手段,只能靠工程样机,其验证周期长、成本高,不能满足星载总线竞争机制快速研制的需要。
目前尚未有针对CAN总线的总线竞争模式的建模出现。
发明内容
有鉴于此,本发明提供了一种基于比特仲裁的总线竞争方法,是一种基于优先级的随机退让总线竞争建模方法。
本发明的技术方案为一种基于比特仲裁的总线竞争方法包括如下步骤:
CAN总线上节点建立有限状态机,当前节点上进程按照有限状态机中状态序列执行。
有限状态机中状态序列包括:
初始化INIT状态,当前节点运行进程时进入INIT状态。
空闲IDLE状态,当进程中待发送数据帧CAN_MAC队列为空时,进程处于IDLE状态;当进程中待发送数据帧CAN_MAC帧队列不为空时,进入发送准备PREPARE_TO_SEND状态。
发送准备PREPARE_TO_SEND状态,当进程处于PREPARE_TO_SEND状态时,判断距离上一次发送CAN_MAC帧的时间间隔是否达到了设定的帧间空隙,若未达到,则等待直至达到设定的帧间空隙;若达到设定的帧间空隙,则从CAN_MAC帧队列中取出一个选定的CAN_MAC帧,取选定的CAN_MAC帧中的帧开始SOF字段和仲裁域ARBITRATION字段,将SOF字段和ARBITRATION字段组装成一个无格式的仲裁帧。
将仲裁帧发向CAN总线,进程跳转到仲裁ARBITRATION状态,在预先设置的仲裁时间窗口内,CAN总线上其他节点均不向CAN总线发送数据帧。
仲裁ARBITRATION状态,进程处于ARBITRATION状态时,等待仲裁窗口时间,并接收来自CAN总线的其他节点的仲裁帧,解析获取其中的ARBITRATION字段;仲裁窗口时间到达之后,判断若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则进程跳转到后退BACKOFF状态,否则进程跳转到发送SEND状态。
后退BACKOFF状态,进程等待随机时间后返回PREPARE_TO_SEND状态。
发送SEND状态,进程发送选定的CAN_MAC帧,之后进程返回IDLE状态。
进一步地,ARBITRATION字段设置为:
MY_ARBITRATION_VALUE=APP_PRI_field*512+APP_ADDR_field*8+APP_TYPE_field;其中APP_PRI_field为控制域中的优先级位段;APP_ADDR_field为控制域中的地址位段;APP_TYPE_field为控制域中的类型位段。
进一步地,设定的帧间空隙为6微秒。
进一步地,预先设置的仲裁时间窗口为27微秒。
有益效果:
1、本发明提供了一种基于比特仲裁的总线竞争方法,其采用有限状态机的形式进行总线竞争机制的建模,可迅速构建基于优先级的随机退让总线竞争模型,实现了以网络建模仿真的手段来对总线竞争方法进行仿真验证,其验证周期短、成本低,能够满足星载总线竞争机制快速研制的需要。
2、本发明提出了一种设置CAN_MAC帧中ARBITRATION字段的方法,与现有的方法不能,其计算出来的ARBITRATION字段的值不仅考虑到控制域中的优先级位段,更添加了对控制域中地址位段和类型位段的综合考量,通过设置不同的系数获得最终的ARBITRATION字段的数值,其更能够代表CAN_MAC帧的优先程度。
具体实施方式
下面结合实施例,对本发明进行详细描述。
本发明提供了一种基于比特仲裁的总线竞争方法,该方法包括如下步骤:
CAN总线上节点建立有限状态机,当前节点上进程按照有限状态机中状态序列执行。
在进程执行的过程中需要发送数据帧,本发明中数据帧由发送单元使用,用来发送信息给接收单元,这是用户操作的基本帧。
数据帧有7个域组成。包括:
(1)帧开始(SOF):表示数据帧的开始,用于指示一帧的开始,由1bit的显性位组成。
(2)仲裁域:表示一个帧的优先级。
(3)控制域:表示保留位和数据字节数,包括优先级位段APP_PRI_field、地址位段APP_ADDR_field、类型位段APP_TYPE_field等。
(4)数据域:数据内容,0-8个字节的数据能被发送。
(5)CRC域:用于检查帧的传输错误。
(6)ACK域:对帧已经被正常接收的一个证实。
(7)帧结束:指示数据帧结束。
有限状态机中状态序列包括如下状态:
初始化INIT状态,当前节点运行进程时进入INIT状态。
空闲IDLE状态,当进程中待发送数据帧CAN_MAC队列为空时,进程处于IDLE状态;当进程中待发送数据帧CAN_MAC帧队列不为空时,进入发送准备PREPARE_TO_SEND状态。
发送准备PREPARE_TO_SEND状态,当进程处于PREPARE_TO_SEND状态时,判断距离上一次发送CAN_MAC帧的时间间隔是否达到了设定的帧间空隙,若未达到,则等待直至达到设定的帧间空隙,本发明中设定帧间空隙为6微秒;若达到设定的帧间空隙,则从CAN_MAC帧队列中取出一个选定的CAN_MAC帧,取选定的CAN_MAC帧中的帧开始SOF字段和仲裁域ARBITRATION字段,将SOF字段和ARBITRATION字段组装成一个无格式的仲裁帧。
本发明实施例中ARBITRATION字段设置为:
MY_ARBITRATION_VALUE=APP_PRI_field*512+APP_ADDR_field*8+APP_TYPE_field;
其中APP_PRI_field为控制域中的优先级位段;APP_ADDR_field为控制域中的地址位段;APP_TYPE_field为控制域中的类型位段。
该ARBITRATION字段的计算方法与现有的方法不能,其计算出来的ARBITRATION字段的值不仅考虑到控制域中的优先级位段,更添加了对控制域中地址位段和类型位段的综合考量,通过设置不同的系数获得最终的ARBITRATION字段的数值,其更能够代表CAN_MAC帧的优先程度。
将仲裁帧发向CAN总线,进程跳转到仲裁ARBITRATION状态,在预先设置的仲裁时间窗口内,CAN总线上其他节点均不向CAN总线发送数据帧;本发明中(SOF和ARBITRATION字段共13bit,需要占用26微秒的发射时间。此外,为了总线上所有CAN设备来得及接收这个仲裁帧,需要额外的1微秒传播延时,因此预先设置的仲裁时间窗口为27微秒。
仲裁ARBITRATION状态,进程处于ARBITRATION状态时,等待仲裁窗口时间,并接收来自CAN总线的其他节点的仲裁帧,解析获取其中的ARBITRATION字段;仲裁窗口时间到达之后,判断若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则仲裁失败,进程跳转到后退BACKOFF状态;否则仲裁胜利,进程跳转到发送SEND状态。
后退BACKOFF状态,进程等待随机时间后进程返回PREPARE_TO_SEND状态。
发送SEND状态,进程发送选定的CAN_MAC帧,之后进程返回IDLE状态。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于比特仲裁的总线竞争方法,其特征在于,该方法包括如下步骤:
CAN总线上节点建立有限状态机,当前节点上进程按照所述有限状态机中状态序列执行;
所述有限状态机中状态序列包括:
初始化INIT状态,所述当前节点运行进程时进入INIT状态
空闲IDLE状态,当所述进程中待发送数据帧CAN_MAC队列为空时,所述进程处于IDLE状态;当所述进程中待发送数据帧CAN_MAC帧队列不为空时,进入发送准备PREPARE_TO_SEND状态
发送准备PREPARE_TO_SEND状态,当所述进程处于PREPARE_TO_SEND状态时,判断距离上一次发送CAN_MAC帧的时间间隔是否达到了设定的帧间空隙,若未达到,则等待直至达到设定的帧间空隙;若达到所述设定的帧间空隙,则从所述CAN_MAC帧队列中取出一个选定的CAN_MAC帧,取所述选定的CAN_MAC帧中的帧开始SOF字段和仲裁域ARBITRATION字段,将SOF字段和ARBITRATION字段组装成一个无格式的仲裁帧;
将所述仲裁帧发向所述CAN总线,所述进程跳转到仲裁ARBITRATION状态,在预先设置的仲裁时间窗口内,所述CAN总线上其他节点均不向所述CAN总线发送数据帧;
仲裁ARBITRATION状态,所述进程处于ARBITRATION状态时,等待所述仲裁窗口时间,并接收来自所述CAN总线的其他节点的仲裁帧,解析获取其中的ARBITRATION字段;所述仲裁窗口时间到达之后,判断若其他节点仲裁帧的ARBITRATION字段小于自身仲裁帧的ARBITRATION字段,则进程跳转到后退BACKOFF状态,否则进程跳转到发送SEND状态;
后退BACKOFF状态,所述进程等待随机时间后进程返回所述PREPARE_TO_SEND状态;
发送SEND状态,所述进程发送所述选定的CAN_MAC帧,之后进程返回所述IDLE状态。
2.如权利要求1所述的总线竞争方法,其特征在于,所述ARBITRATION字段设置为:
MY_ARBITRATION_VALUE=APP_PRI_field*512+APP_ADDR_field*8+APP_TYPE_field;
其中APP_PRI_field为控制域中的优先级位段;APP_ADDR_field为控制域中的地址位段;APP_TYPE_field为控制域中的类型位段。
3.如权利要求1所述的总线竞争方法,其特征在于,所述设定的帧间空隙为6微秒。
4.如权利要求1所述的总线竞争方法,其特征在于,所述预先设置的仲裁时间窗口为27微秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711275233.2A CN108183845A (zh) | 2017-12-06 | 2017-12-06 | 一种基于比特仲裁的总线竞争方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711275233.2A CN108183845A (zh) | 2017-12-06 | 2017-12-06 | 一种基于比特仲裁的总线竞争方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108183845A true CN108183845A (zh) | 2018-06-19 |
Family
ID=62545683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711275233.2A Pending CN108183845A (zh) | 2017-12-06 | 2017-12-06 | 一种基于比特仲裁的总线竞争方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108183845A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765072A (zh) * | 2021-01-28 | 2021-05-07 | 北京方天长久科技股份有限公司 | 一种串行互联总线数据帧格式及传输方法 |
EP4387176A1 (en) * | 2022-12-12 | 2024-06-19 | Nxp B.V. | Can device and method for the can device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
US20060143363A1 (en) * | 2004-12-23 | 2006-06-29 | Peter Steffan | Module interface handler for controller area network (CAN) communication module |
CN101046788A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
CN101771590A (zh) * | 2008-12-31 | 2010-07-07 | 中国科学院空间科学与应用研究中心 | 嵌入式处理器与1394a总线的接口芯片 |
CN103095607A (zh) * | 2013-02-21 | 2013-05-08 | 南京磐能电力科技股份有限公司 | 一种实时优先级以太网控制器实现方法 |
-
2017
- 2017-12-06 CN CN201711275233.2A patent/CN108183845A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
US20060143363A1 (en) * | 2004-12-23 | 2006-06-29 | Peter Steffan | Module interface handler for controller area network (CAN) communication module |
CN101046788A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
CN101771590A (zh) * | 2008-12-31 | 2010-07-07 | 中国科学院空间科学与应用研究中心 | 嵌入式处理器与1394a总线的接口芯片 |
CN103095607A (zh) * | 2013-02-21 | 2013-05-08 | 南京磐能电力科技股份有限公司 | 一种实时优先级以太网控制器实现方法 |
Non-Patent Citations (2)
Title |
---|
刘宴涛: "一种基于OPNET的CAN总线仿真系统", 《系统仿真学报》 * |
夏桂阳: "基于OPNET的CAN总线网络仿真研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765072A (zh) * | 2021-01-28 | 2021-05-07 | 北京方天长久科技股份有限公司 | 一种串行互联总线数据帧格式及传输方法 |
EP4387176A1 (en) * | 2022-12-12 | 2024-06-19 | Nxp B.V. | Can device and method for the can device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2596582C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
CN105324960B (zh) | 控制器局域网络灵活的数据率 | |
KR101885935B1 (ko) | 전환 가능한 데이터 전송 속도에서의 직렬 데이터 전송을 위한 방법 및 그 장치 | |
US10153825B2 (en) | Vehicle-mounted control device | |
RU2014111963A (ru) | Способ и устройство для проверки правильности функционирования последовательной передачи данных | |
EP2684321A1 (en) | Data blocking systems for non-arbitrary networks | |
CN107257311B (zh) | 一种基于虚拟链路的时间触发通信混合数据发送调度方法 | |
CN101977094A (zh) | 一种适于多主通信的星载can总线通信方法 | |
CN103856578B (zh) | Modbus RTU从站自动获取站地址方法及从站 | |
WO1988007296A1 (en) | Random multiple-access communication system | |
CN109495215B (zh) | 一种半双工总线的通信方法、系统、装置及可读存储介质 | |
CN107113198A (zh) | 以太网接口模块 | |
Hao et al. | Modeling and simulation of CAN network based on OPNET | |
CN108183845A (zh) | 一种基于比特仲裁的总线竞争方法 | |
US20050270977A1 (en) | Combined queue WME quality of service management | |
CN111800226A (zh) | 一种基于硬件仲裁的边带管理电路及方法 | |
CN101507193B (zh) | 基于can通信控制器及提高数据吞吐量的通信系统的建立方法及设备 | |
CN103746878A (zh) | 一种测定SpaceWire数据包的传输时间的仿真系统 | |
CN115657646B (zh) | 一种can控制器的测试方法及装置 | |
CN107733812A (zh) | 一种数据包调度方法、装置及设备 | |
US9258139B2 (en) | Method for regulating data transmission over a communication channel, corresponding device and computer program product | |
US20130223455A1 (en) | Electronic device, communication control method, and recording medium | |
US20060248249A1 (en) | Systems and methods for multiple input instrumentation buses | |
US6894603B2 (en) | Packet communication method of powerline communication system | |
Acevedo et al. | Towards optimal design of avionics networking infrastructures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180619 |
|
RJ01 | Rejection of invention patent application after publication |