一种用于处理多个总线设备数据的总线系统技术方案

技术编号:16172010 阅读:56 留言:0更新日期:2017-09-09 00:28
一种用于处理多个总线设备数据的总线系统,其特征在于;包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备,本实用新型专利技术通过MCU主控芯片以轮询的方式处理总线上设备的返回数据,并且主控模块连接多条总线,每条总线连接多个设备,MCU主控芯片能够访问所有总线的所有设备,无需切换,接线简单,占用资源少,并以中断方式接收设备返回的数据,不仅减少了设备成本,而且进一步提高了MCU主控芯片的处理效率。

A bus system for processing data of a plurality of bus devices

A bus system for processing a plurality of data bus device, which is characterized in that a plurality of bus; including the main control module, main control module and the communication connection, the communication on each bus is connected with a plurality of devices, the utility model through the MCU main control chip to polling processing equipment on the bus returns the data, and the main control module is connected with a plurality of buses, a plurality of devices connected each bus, all equipment MCU main control chip to access all of the bus, without switching, simple wiring, less resource, data and to interrupt receiving equipment return, not only reduces the cost of equipment, and further improve the treatment the efficiency of the main control chip MCU.

【技术实现步骤摘要】
一种用于处理多个总线设备数据的总线系统
技术涉及一种总线系统,尤其是一种用于处理多个总线设备数据的总线系统。
技术介绍
随着数据通信技术的发展,多机通信、多总线、多通道数据处理的应用也越来越广。所谓多通道数据处理是指多个入通道接收报文,然后通过出通道将报文发送出去。在数据通信中,经常需要对中断及各通道数据的发送等事件进行处理。在多总线通信系统中,经常需要对总线仲裁、总线切换等处理。随着VR技术的发展,对数据的实时性和可靠性以及速率都有更高的要求,现有技术存在成本高、接线复杂、数据处理效率低等缺点。
技术实现思路
针对现有技术的不足,技术提供一种用于处理多个总线设备数据的总线系统。技术的技术方案为:一种用于处理多个总线设备数据的总线系统,其特征在于;包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备。所述主控模块包括用于轮询所有总线的MCU主控芯片,用于与总线通讯连接的总线接口(BUS_PROT),用于存储MCU主控芯片访问相对应总线上的设备的访问命令的总线命令缓存区(CMD_QUEUE_BUF),用于存储总线上设备返回数据的返回数据存储区(BACK_TEMP_BUF),用于存储MCU主控芯片处理返回数据存储区(BACK_TEMP_BUF)内的数据后提取的有效数据的从机设备有效数据存储区(SLAVE_DAT_BUF),用于存储所有从机设备有效数据存储区(SLAVE_DAT_BUF)内存储的有效数据的上传数据缓存区(SEND_QUEUE_BUF),以及用于与上位机通讯连接的上位机通讯接口(SEND_PROT),所述MCU主控芯片分别与总线命令缓存区(CMD_QUEUE_BUF)、返回数据存储区(BACK_TEMP_BUF)、从机设备有效数据存储区(SLAVE_DAT_BUF)、上传数据缓存区(SEND_QUEUE_BUF)通讯连接。所述总线接口、总线命令缓冲区(CMD_QUEUE_BUF)、返回数据存储区(BACK_TEMP_BUF)、从机设备有效数据存储区(SLAVE_DAT_BUF)的数量与总线数量相对应。当主控模块接收到上位机发送的访问总线上设备的通讯命令时,主控模块将访问命令存储到需要访问设备所对应总线的总线命令缓存区(CMD_QUEUE_BUF);MCU主控芯片根据访问命令的先后顺序以轮询的方式将访问命令依次发送至需要访问的总线上,并对与访问命令上的地址对应的设备进行访问,并将该命令的状态标记为正在运行状态(STAT_RUNNING),然后退出对该总线上设备的操作,此状态则表明还在等待该总线上设备的响应或者还在处理从设备返回的数据;MCU主控芯片以中断的方式接收总线上设备返回的数据并将该返回的数据存储于该总线对应的返回数据存储区(BACK_TEMP_BUF),等待MCU主控芯片空闲时来解析该返回的数据;MCU主控芯片利用发送访问命令到等待设备响应的这个空闲时间去访问另外一条总线上的设备或者处理另外一条总线返回的数据;当MCU主控芯片完成所有需要访问总线上第一轮访问命令的发送后,MCU主控芯片根据各个总线访问命令的发送的先后顺序依次查看各个总线对应的返回数据存储区(BACK_TEMP_BUF)内是否有返回数据;如果有数据返回则解析该返回的数据并提取有效数据存储于该总线对应的从机设备有效数据存储区(SLAVE_DAT_BUF)内,并将该命令的状态机标记为完成状态(STAT_OK);如果超过预定时间内总线上设备还没有将数据返回,则将这条命令的状态机标记为超时状态(STAT_TIMEOUT),如果在预订时间内总线上设备没有数据返回,则退出对该总线的访问;然后查看该总线的命令缓存区(CMD_QUEUE_BUF)当前处理命令的状态值,如果该状态值还是正在运行状态(STAT_RUNNING),退出对该总线的操作,继续处理下一条总线;如果该状态值已经为完成状态(STAT_OK)或者超时状态(STAT_TIMEOUT),则继续处理该总线的命令缓存区(CMD_QUEUE_BUF)的下个命令,即MCU主控芯片继续发送访问命令至该总线上的下一台需要访问的设备,并将该设备的状态标记为正在运行状态(STAT_RUNNING),然后继续处理下一条总线;直至轮询完所有总线上所有需要访问的设备,并将每条总线的从机设备有效数据存储区(SLAVE_DAT_BUF)的有效数据汇总到上传数据缓存区(SEND_QUEUE_BUF);主控模块的上位机通讯接口(SEND_PROT)以DMA方式将上传数据缓存区(SEND_QUEUE_BUF)内的数据传输至上位机。MCU主控芯片发送访问命令前,MCU主控芯片以轮询的方式先检查各个总线的事件就绪列表中是否具有最高优先级的事件;如果有最高优先级事件,则优先处理该事件,当处理完该事件则将其状态标志为完成,当事件就绪列表中的所有事件处理完,则清除所有事件的状态。当一个最高优先级有多个事件时,则按照一个单位时间轮询处理该最高优先级的多个事件,如果一个单位时间内该多个事件还没处理完,就将这个事件运行的相关寄存器的值保存到堆栈中;然后处理下一总线的同优先级的事件;轮完所有总线的同优先级的事件后,再从堆栈中取出未处理完的事件的寄存器的值继续处理。技术的有益效果为:通过MCU主控芯片以轮询的方式处理总线上设备的返回数据,并且主控模块连接多条总线,每条总线连接多个设备,MCU主控芯片能够访问所有总线的所有设备,无需切换,接线简单,占用资源少,并以中断方式接收设备返回的数据,不仅减少了设备成本,而且进一步提高了MCU主控芯片的处理效率。附图说明图1为技术的结构框架图;具体实施方式下面结合附图对技术的具体实施方式作进一步说明:如图1所示,一种用于处理多个总线设备数据的总线系统,其特征在于;包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线与多个设备通讯连接。所述主控模块包括MCU主控芯片,用于控制整个系统的运行;任务的调度,所有总线的轮询,根据每个命令的处理状态(STAT_MACHINE)判断是否要继续处理该总线的数据,以及控制上传数据接口DMA的启动和关闭;总线接口(BUS_PROT),用于与总线通讯连接,总线接口与总线数量相对应;总线命令缓存区(CMD_QUEUE_BUF),每条总线接口对应一个总线命令缓冲区(CMD_QUEUE_BUF),用于存储MCU主控芯片访问相对应总线上的设备的命令;返回数据存储区(BACK_TEMP_BUF),每条总线分别对应相应的返回数据存储区(BACK_TEMP_BUF),用于存储当MCU主控芯片访问该总线上的设备时,设备对应返回的数据,MCU主控芯片通过中断方式接收从设备返回的数据;从机设备有效数据存储区(SLAVE_DAT_BUF),每条总线分别对应相应的从机设备有效数据存储区,用于存储MCU主控芯片处理返回数据存储区内的数据后提取的有效数据;上传数据缓存区(SEND_QUEUE_BUF),用于存储所有从机设备有效数据存储区(SLAVE_DAT_BUF)内存储的有效数据;上位机通讯接口(SEND_PROT),用于与上位机通讯连接,将上传数据缓存区(SEND_QUEUE_BUF)内存储的所有总线的有效数据发送至上位本文档来自技高网...
一种用于处理多个总线设备数据的总线系统

【技术保护点】
一种用于处理多个总线设备数据的总线系统,包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备,其特征在于;所述的主控模块包括用于轮询所有总线的MCU主控芯片,用于与总线通讯连接的总线接口(BUS_PROT),用于存储总线上的设备的访问命令的总线命令缓存区(CMD_QUEUE_BUF),用于存储总线上设备的返回数据的返回数据存储区(BACK_TEMP_BUF),用于存储MCU主控芯片处理返回数据存储区(BACK_TEMP_BUF)内的数据后提取的有效数据的从机设备有效数据存储区(SLAVE_DAT_BUF),用于存储所有从机设备有效数据存储区(SLAVE_DAT_BUF)内存储的有效数据的上传数据缓存区(SEND_QUEUE_BUF),以及用于与上位机通讯连接的上位机通讯接口(SEND_PROT),所述MCU主控芯片分别与总线命令缓存区(CMD_QUEUE_BUF)、返回数据存储区(BACK_TEMP_BUF)、从机设备有效数据存储区(SLAVE_DAT_BUF)、上传数据缓存区(SEND_QUEUE_BUF)通讯连接。

【技术特征摘要】
1.一种用于处理多个总线设备数据的总线系统,包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备,其特征在于;所述的主控模块包括用于轮询所有总线的MCU主控芯片,用于与总线通讯连接的总线接口(BUS_PROT),用于存储总线上的设备的访问命令的总线命令缓存区(CMD_QUEUE_BUF),用于存储总线上设备的返回数据的返回数据存储区(BACK_TEMP_BUF),用于存储MCU主控芯片处理返回数据存储区(BACK_TEMP_BUF)内的数据后提取的有效数据的从机设备有效数据存储区(SLAVE_DAT_BUF),用于存储所有从机设备有效数据存储区(SLAVE_DAT_BUF)内存...

【专利技术属性】
技术研发人员:黄昌正林正才周言明唐继祖韦伟
申请(专利权)人:广州幻境科技有限公司
类型:新型
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1