CN110990311B - 一种可配置的集成1553b总线控制器设计方法 - Google Patents
一种可配置的集成1553b总线控制器设计方法 Download PDFInfo
- Publication number
- CN110990311B CN110990311B CN201910980626.6A CN201910980626A CN110990311B CN 110990311 B CN110990311 B CN 110990311B CN 201910980626 A CN201910980626 A CN 201910980626A CN 110990311 B CN110990311 B CN 110990311B
- Authority
- CN
- China
- Prior art keywords
- bus
- queue
- task
- message
- sending
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种可配置的集成1553B总线控制器设计方法,总线控制器负责按照用户定义的通讯协议调度1553B总线上各个终端的数据传输,因而在设计总线控制器终端时通常需要独立的控制器,从而方便用户根据使用场景定制通讯协议软件从而提升通讯性能。本发明的总线控制器特征在于不需要独立的用于通讯协议的控制器,只使用单一的主处理器,并针对用户定制总线通讯协议的需求提供了配置功能。本发明的的总线控制器具有元器件数量少,降低产品的物料成本和开发成本的优点。
Description
技术领域
本发明属于集成1553B总线控制器技术领域,涉及一种可配置的集成1553B总线控制器设计方法。
背景技术
1553B总线是一种数字式时分制指令/响应型数据总线,总线上参与通讯的终端设备可以分为总线控制器(BC)和远程终端(RT)。总线控制器负责按照用户定义的通讯协议调度总线上各个终端的数据传输。针对总线应用中的业务特点优化通讯协议是提升通讯性能的有效手段,因而在设计总线控制器终端时通常需要独立的控制器,从而方便用户根据使用场景定制通讯协议软件,此时总线控制器分层结构如附图1.
随着处理器性能的提升和软件技术的发展,独立的用于通讯协议的控制器在一些场景下失去了必要性。一方面工业用处理器性能的提升使得主处理器冗余的处理能力能够覆盖通讯协议的要求,另一方面以VxWorks为代表的实时操作系统已可实现1ms以下的响应时间。在这种背景下,本发明的总线控制器接口不需要独立的用于通讯协议的控制器,只使用单一的主处理器,降低了产品的物料成本,另一方面针对用户定制总线通讯协议的需求提供了配置功能,降低了产品的开发成本。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种可配置的集成1553B总线控制器设计方法,在主处理器上实现了用户定制的总线通讯协议,一方面降低了使用独立控制器实现协议的物料成本,一方面提供了可配置的功能部件,简化通讯协议定制工作。
技术方案
一种可配置的集成1553B总线控制器设计方法,其特征在于步骤如下:
步骤1:在主处理器中部署实时操作系统,配置总线接口为总线控制器模式;
所述的实时操作系统能够实现1ms以下的响应时间;
步骤2、配置:
配置接收消息队列:全部的接收消息使用同一个全局队列;
配置发送数据队列:发送数据使用同一个全局队列;
步骤3:顺序启动总线发送任务,应用任务,总线接收任务,采用实时操作系统的信号量,控制三个任务以总线接收任务-应用任务-总线发送任务的次序进行循环执行;所述总线发送任务,应用任务,总线接收任务的优先级相同;
执行中:总线接收任务与应用任务之间使用接收消息队列传输数据,应用任务与总线发送任务之间使用发送数据队列传输数据;
所述接收消息队列:总线接收任务将接收的消息放入队列尾部,应用任务由队列头部取出消息;
所述发送数据队列:应用任务将待发送的数据放入队列尾部,总线发送任务由队列头部取出数据发送;
所述总线接收任务:发送矢量字消息轮流查询总线上各个已知的远程终端,并根据收到的矢量字消息传输对应的总线控制器接收消息,消息接收完成后入接收消息队列;
所述应用任务:按照业务要求处理接收消息队列中的数据,并把待发送的消息入发送消息队列;
所述总线发送任务:当发送数据队列非空时,把数据出队并完成总线控制器发送消息的传输。
所述步骤3每圈循环为无延时,当每圈循环为无延时时,事件消息的最大延时为每次循环的执行时间。
所述步骤2的接收消息队列的配置为:为不同的总线消息提供不同的队列,总线消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;则总线接受任务根据收到的矢量字消息,按照不同命令字的优先级传输对应的总线控制器接收消息功能。
所述步骤2的发送数据队列的配置为:不同的发送消息提供不同的队列,总线发送消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;对应于不同的优先级;则总线发送任务根据不同命令字的优先级,传输对应的总线发送消息。
有益效果
本发明提出的一种可配置的集成1553B总线控制器设计方法,总线控制器负责按照用户定义的通讯协议调度1553B总线上各个终端的数据传输,因而在设计总线控制器终端时通常需要独立的控制器,从而方便用户根据使用场景定制通讯协议软件从而提升通讯性能。本发明的总线控制器特征在于不需要独立的用于通讯协议的控制器,只使用单一的主处理器,并针对用户定制总线通讯协议的需求提供了配置功能。本发明的的总线控制器具有元器件数量少,降低产品的物料成本和开发成本的优点。
本发明的总线控制器分层结构如附图2,有益效果在于该方法降低成本且开发灵活,在主处理器裕度充足的情况下可以满足大多数的总线应用场景。
附图说明
图1:是使用独立控制器实现通讯协议时总线控制器的分层图
图2:是本发明的总线控制器分层图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明的基本技术方案的详细步骤如下:
步骤1:在主处理器中部署实时操作系统,总线接口初始化为总线控制器模式。
步骤2:顺序启动总线发送任务,应用任务,总线接收任务,三个任务的优先级相同,使用信号量控制任务的执行顺序为总线接收任务-应用任务-总线发送任务的循环,每圈循环无延时。
步骤3:总线接收任务与应用任务之间使用接收消息队列传输数据,总线接收任务入队,应用任务出队。应用任务与总线发送任务之间使用发送消息队列传输数据,应用任务入队,总线发送任务出队。
步骤4:总线接收任务的功能为使用发送矢量字消息轮询总线上各个已知的远程终端,并根据轮询结果传输对应的总线控制器接收消息,消息接收完成后入接收消息队列。
步骤5:应用任务的功能为按照业务要求处理接收消息队列中的数据,并把待发送的消息入发送消息队列。
步骤6:总线发送任务的功能为当发送消息队列非空时,把消息出队并完成总线控制器发送消息的传输。
步骤7:总线通讯协议可分解为周期消息和事件消息两类基本元素。步骤1到步骤6实现了以最小延时的方式接收和发送事件消息,对于周期消息处理成周期触发的事件消息,使用主处理器的定时器资源周期触发。
步骤1到步骤7在主处理器上实现了可配置的通讯协议元素,本发明还做如下优化限定。
步骤3中的接收消息队列提供两种配置:全部的消息使用同一个队列,以及为不同的总线消息提供不同的队列。发送消息队列同样提供类似的两种配置。
步骤4中根据轮询结果传输对应的总线控制器接收消息功能,可以为不同的总线消息配置不同的优先级,总线接收任务根据轮询结果按照优先级顺序传输对应的消息。步骤6中与步骤4类似,可以为不同的总线控制器发送消息配置不同的优先级,总线发送任务按照优先级发送。
具体实施步骤如下。
步骤1:在主处理器中部署实时操作系统,配置总线接口为总线控制器模式。
以VxWorks为代表的实时操作系统已可实现1ms以下的响应时间,现已有多型商业和开源产品;
步骤2:配置接收消息队列:全部的接收消息使用同一个全局队列;
配置发送数据队列:发送数据使用同一个全局队列;
两种队列可以实现不同的协议功能。全局队列实现了消息的序列化,便于开发消息日志,根据消息进行动作回放和应用任务状态回滚的功能。不同的总线消息提供不同的队列时,可以实现传统的消息覆盖功能。
步骤3:顺序启动总线发送任务,应用任务,总线接收任务,采用实时操作系统的信号量,控制三个任务以总线接收任务-应用任务-总线发送任务的次序进行循环执行;所述总线发送任务,应用任务,总线接收任务的优先级相同;
执行中:总线接收任务与应用任务之间使用接收消息队列传输数据,应用任务与总线发送任务之间使用发送数据队列传输数据;
所述接收消息队列:总线接收任务将接收的消息放入队列尾部,应用任务由队列头部取出消息;
所述发送数据队列:应用任务将待发送的数据放入队列尾部,总线发送任务由队列头部取出数据发送;
所述总线接收任务:发送矢量字消息轮流查询总线上各个已知的远程终端,并根据收到的矢量字消息传输对应的总线控制器接收消息,消息接收完成后入接收消息队列;
所述应用任务:按照业务要求处理接收消息队列中的数据,并把待发送的消息入发送消息队列;
所述总线发送任务:当发送数据队列非空时,把数据出队并完成总线控制器发送消息的传输;
步骤4中根据轮询结果传输对应的总线控制器接收消息功能,可以为不同的总线消息配置不同的优先级,总线接收任务根据轮询结果按照优先级顺序传输对应的消息。优先级功能便于实现不同消息在同一排传输的时序。
步骤5:应用任务的功能为按照业务要求处理接收消息队列中的数据,并把待发送的消息入发送消息队列。
步骤6:总线发送任务的功能为当发送消息队列非空时,把消息出队并完成总线控制器发送消息的传输。
步骤6中与步骤4类似,可以为不同的总线控制器发送消息配置不同的优先级,总线发送任务按照优先级发送。
所述步骤3每圈循环无延时,每圈循环无延时时,事件消息的最大延时就是每次循环的执行时间。
所述接收消息队列:为不同的总线消息提供不同的队列,总线消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;
所述发送数据队列:为不同的发送消息提供不同的队列,总线发送消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;对应于不同的优先级;
总线接受任务根据收到的矢量字消息,按照不同命令字的优先级传输对应的总线控制器接收消息功能,
总线发送任务根据不同命令字的优先级,传输对应的总线发送消息。
本发明中,产品部署实时操作系统,操作系统启动后顺序启动总线发送任务,应用任务,总线接收任务,三个任务的优先级相同,使用信号量控制任务的执行顺序为总线接收任务-应用任务-总线发送任务的循环,每圈循环无延时。
总线接收任务提供配置消息接收优先级和按照优先级接收消息功能,总线发送任务提供配置发送消息接收优先级和按照优先级发送消息功能。
总线接收任务与应用任务之间使用接收消息队列传输数据,总线接收任务接收消息后入队,应用任务出队。接收消息队列提供两种配置:全部的消息使用同一个队列,以及为不同的总线消息提供不同的队列。
应用任务与总线发送任务之间使用发送消息队列传输数据,应用任务把待发送的消息入队,总线发送任务出队发送,发送消息队列提供两种配置:全部的消息使用同一个队列,以及为不同的总线消息提供不同的队列。
对于周期消息处理成周期触发的消息,使用主处理器的定时器资源周期触发。
Claims (4)
1.一种可配置的集成1553B总线控制器设计方法,其特征在于步骤如下:
步骤1:在主处理器中部署实时操作系统,配置总线接口为总线控制器模式;
所述的实时操作系统能够实现1ms以下的响应时间;
步骤2、配置:
配置接收消息队列:全部的接收消息使用同一个全局队列;
配置发送数据队列:发送数据使用同一个全局队列;
步骤3:顺序启动总线发送任务,应用任务,总线接收任务,采用实时操作系统的信号量,控制三个任务以总线接收任务-应用任务-总线发送任务的次序进行循环执行;所述总线发送任务,应用任务,总线接收任务的优先级相同;
执行中:总线接收任务与应用任务之间使用接收消息队列传输数据,应用任务与总线发送任务之间使用发送数据队列传输数据;
所述接收消息队列:总线接收任务将接收的消息放入队列尾部,应用任务由队列头部取出消息;
所述发送数据队列:应用任务将待发送的数据放入队列尾部,总线发送任务由队列头部取出数据发送;
所述总线接收任务:发送矢量字消息轮流查询总线上各个已知的远程终端,并根据收到的矢量字消息传输对应的总线控制器接收消息,消息接收完成后入接收消息队列;
所述应用任务:按照业务要求处理接收消息队列中的数据,并把待发送的消息入发送消息队列;
所述总线发送任务:当发送数据队列非空时,把数据出队并完成总线控制器发送消息的传输。
2.根据权利要求1所述可配置的集成1553B总线控制器设计方法,其特征在于:所述步骤3每圈循环为无延时,当每圈循环为无延时时,事件消息的最大延时为每次循环的执行时间。
3.根据权利要求1所述可配置的集成1553B总线控制器设计方法,其特征在于:所述步骤2的接收消息队列的配置为:为不同的总线消息提供不同的队列,总线消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;则总线接受任务根据收到的矢量字消息,按照不同命令字的优先级传输对应的总线控制器接收消息功能。
4.根据权利要求1所述可配置的集成1553B总线控制器设计方法,其特征在于:所述步骤2的发送数据队列的配置为:不同的发送消息提供不同的队列,总线发送消息采用不同命令字进行区分,每一个命令字标记的消息使用一个队列;对应于不同的优先级;则总线发送任务根据不同命令字的优先级,传输对应的总线发送消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980626.6A CN110990311B (zh) | 2019-10-16 | 2019-10-16 | 一种可配置的集成1553b总线控制器设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980626.6A CN110990311B (zh) | 2019-10-16 | 2019-10-16 | 一种可配置的集成1553b总线控制器设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990311A CN110990311A (zh) | 2020-04-10 |
CN110990311B true CN110990311B (zh) | 2022-12-06 |
Family
ID=70082034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910980626.6A Active CN110990311B (zh) | 2019-10-16 | 2019-10-16 | 一种可配置的集成1553b总线控制器设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990311B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549951B1 (en) * | 1998-08-25 | 2003-04-15 | Stmicroelectronics, Inc. | Method and device for controlling communications with a serial bus |
WO2009026788A1 (fr) * | 2007-08-24 | 2009-03-05 | Jianzhong Zhang | Procédé, dispositif et système pour établir un protocole de communication |
CN201408357Y (zh) * | 2009-03-13 | 2010-02-17 | 江苏省机械研究设计院有限责任公司 | 基于1553b的数字式伺服机构控制器 |
CN102306013A (zh) * | 2011-04-02 | 2012-01-04 | 中国人民解放军海军航空工程学院 | 基于usb接口的便携式飞机1553b总线监测系统及控制方法 |
CN108462654A (zh) * | 2016-12-12 | 2018-08-28 | 中国航空工业集团公司西安航空计算技术研究所 | 增强型gjb289a总线通信管理和调度方法 |
CN109165184A (zh) * | 2018-09-29 | 2019-01-08 | 中国科学院国家空间科学中心 | 一种基于双总线收发器的1553b总线系统 |
CN109547312A (zh) * | 2018-11-27 | 2019-03-29 | 中国航空工业集团公司洛阳电光设备研究所 | 一种消息间隔敏感的1553b总线事件消息调度方法 |
CN109992554A (zh) * | 2019-03-12 | 2019-07-09 | 中国科学院国家空间科学中心 | 一种基于通用的Schema结构描述的1553B总线通信协议的实现方法 |
-
2019
- 2019-10-16 CN CN201910980626.6A patent/CN110990311B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549951B1 (en) * | 1998-08-25 | 2003-04-15 | Stmicroelectronics, Inc. | Method and device for controlling communications with a serial bus |
WO2009026788A1 (fr) * | 2007-08-24 | 2009-03-05 | Jianzhong Zhang | Procédé, dispositif et système pour établir un protocole de communication |
CN201408357Y (zh) * | 2009-03-13 | 2010-02-17 | 江苏省机械研究设计院有限责任公司 | 基于1553b的数字式伺服机构控制器 |
CN102306013A (zh) * | 2011-04-02 | 2012-01-04 | 中国人民解放军海军航空工程学院 | 基于usb接口的便携式飞机1553b总线监测系统及控制方法 |
CN108462654A (zh) * | 2016-12-12 | 2018-08-28 | 中国航空工业集团公司西安航空计算技术研究所 | 增强型gjb289a总线通信管理和调度方法 |
CN109165184A (zh) * | 2018-09-29 | 2019-01-08 | 中国科学院国家空间科学中心 | 一种基于双总线收发器的1553b总线系统 |
CN109547312A (zh) * | 2018-11-27 | 2019-03-29 | 中国航空工业集团公司洛阳电光设备研究所 | 一种消息间隔敏感的1553b总线事件消息调度方法 |
CN109992554A (zh) * | 2019-03-12 | 2019-07-09 | 中国科学院国家空间科学中心 | 一种基于通用的Schema结构描述的1553B总线通信协议的实现方法 |
Non-Patent Citations (2)
Title |
---|
基于SOPC的1553B IP核的设计;曲新春等;《计算机工程与设计》;20071008(第19期);全文 * |
基于SOPC的1553B总线通用接口设计;谢拴勤等;《计算机测量与控制》;20080525(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110990311A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5428781A (en) | Distributed mechanism for the fast scheduling of shared objects and apparatus | |
EP0852357A2 (en) | Method for handling interrupts in a high speed I/O controller | |
CA2245963C (en) | Distributed kernel operating system | |
CN113179227B (zh) | 基于队列的at指令控制方法 | |
CN111541595B (zh) | 1553b总线数据通信方法和系统 | |
CN112506624A (zh) | 定时任务调度系统、方法及相应计算机设备和存储介质 | |
CN110557321B (zh) | 一种信息传输方法、网络设备及终端 | |
US5381346A (en) | Virtual data source for a radio transceiver | |
CN110990311B (zh) | 一种可配置的集成1553b总线控制器设计方法 | |
CN112000446A (zh) | 一种数据传输的方法及机器人 | |
CN108462654A (zh) | 增强型gjb289a总线通信管理和调度方法 | |
CN113656164B (zh) | 任务执行方法、系统、电子设备及计算机存储介质 | |
CN114138506A (zh) | 消息队列调度方法及其装置、设备、介质、产品 | |
US5363315A (en) | Method of communications between and within virtual radio interface standard layers | |
Marau et al. | A middleware to support dynamic reconfiguration of real-time networks | |
WO2024060706A1 (zh) | 数据传输方法及装置、电子设备、计算机可读存储介质 | |
CN113778706B (zh) | 一种基于amp架构的操作系统核间通信方法 | |
CN112527532A (zh) | 一种基于消息的路径调度方法 | |
WO2023004801A1 (zh) | 一种任务处理方法及装置 | |
CN114510325A (zh) | 任务调度方法、装置及系统 | |
CN110572474A (zh) | 用于嵌入式终端长连接通讯的方法 | |
CN115277557B (zh) | 广播处理方法、装置、电子设备及存储介质 | |
CN113055832B (zh) | 一种多个相同北斗设备的统一管理发送北斗短报文的方法 | |
CN100493041C (zh) | 基于路由交换机的自适应可变时间片包转发调度方法 | |
US6915355B2 (en) | Automation equipment equipped with a USB link for monitoring and control in an automation application |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |