CN206479978U - 一种用于处理多个总线设备数据的总线系统 - Google Patents
一种用于处理多个总线设备数据的总线系统 Download PDFInfo
- Publication number
- CN206479978U CN206479978U CN201621487896.1U CN201621487896U CN206479978U CN 206479978 U CN206479978 U CN 206479978U CN 201621487896 U CN201621487896 U CN 201621487896U CN 206479978 U CN206479978 U CN 206479978U
- Authority
- CN
- China
- Prior art keywords
- bus
- buf
- main control
- data
- memory block
- 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
Landscapes
- Small-Scale Networks (AREA)
Abstract
一种用于处理多个总线设备数据的总线系统,其特征在于;包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备,本实用新型通过MCU主控芯片以轮询的方式处理总线上设备的返回数据,并且主控模块连接多条总线,每条总线连接多个设备,MCU主控芯片能够访问所有总线的所有设备,无需切换,接线简单,占用资源少,并以中断方式接收设备返回的数据,不仅减少了设备成本,而且进一步提高了MCU主控芯片的处理效率。
Description
技术领域
实用新型涉及一种总线系统,尤其是一种用于处理多个总线设备数据的总线系统。
背景技术
随着数据通信技术的发展,多机通信、多总线、多通道数据处理的应用也越来越广。所谓多通道数据处理是指多个入通道接收报文,然后通过出通道将报文发送出去。在数据通信中,经常需要对中断及各通道数据的发送等事件进行处理。在多总线通信系统中,经常需要对总线仲裁、总线切换等处理。随着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主控芯片分别与总线命令缓存区(CMD_QUEUE_BUF)、返回数据存储区(BACK_TEMP_BUF)、从机设备有效数据存储区(SLAVE_DAT_BUF)、上传数据缓存区(SEND_QUEUE_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主控芯片以轮询的方式先检查各个总线的事件就绪列表中是否具有最高优先级的事件;如果有最高优先级事件,则优先处理该事件,当处理完该事件则将其状态标志为完成,当事件就绪列表中的所有事件处理完,则清除所有事件的状态。
当一个最高优先级有多个事件时,则按照一个单位时间轮询处理该最高优先级的多个事件,如果一个单位时间内该多个事件还没处理完,就将这个事件运行的相关寄存器的值保存到堆栈中;然后处理下一总线的同优先级的事件;轮完所有总线的同优先级的事件后,再从堆栈中取出未处理完的事件的寄存器的值继续处理。
上述实施例和说明书中描述的只是说明实用新型的原理和最佳实施例,在不脱离实用新型精神和范围的前提下,实用新型还会有各种变化和改进,这些变化和改进都落入要求保护的实用新型范围内。
Claims (2)
1.一种用于处理多个总线设备数据的总线系统,包括主控模块、与主控模块通讯连接的多条总线,每条所述的总线上通讯连接有多个设备,其特征在于;所述的主控模块包括用于轮询所有总线的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)通讯连接。
2.根据权利要求1所述的一种用于处理多个总线设备数据的总线系统,其特征在于:所述总线接口、总线命令缓冲区(CMD_QUEUE_BUF)、返回数据存储区(BACK_TEMP_BUF)、从机设备有效数据存储区(SLAVE_DAT_BUF)的数量与总线数量相对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201621487896.1U CN206479978U (zh) | 2016-12-30 | 2016-12-30 | 一种用于处理多个总线设备数据的总线系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201621487896.1U CN206479978U (zh) | 2016-12-30 | 2016-12-30 | 一种用于处理多个总线设备数据的总线系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN206479978U true CN206479978U (zh) | 2017-09-08 |
Family
ID=59750423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201621487896.1U Active CN206479978U (zh) | 2016-12-30 | 2016-12-30 | 一种用于处理多个总线设备数据的总线系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN206479978U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900390A (zh) * | 2022-03-28 | 2022-08-12 | 深圳市元征科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
-
2016
- 2016-12-30 CN CN201621487896.1U patent/CN206479978U/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900390A (zh) * | 2022-03-28 | 2022-08-12 | 深圳市元征科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN114900390B (zh) * | 2022-03-28 | 2024-05-14 | 深圳市元征科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6925512B2 (en) | Communication between two embedded processors | |
KR102427550B1 (ko) | 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리 | |
US20090259786A1 (en) | Data transfer system and method for host-slave interface with automatic status report | |
KR20120087980A (ko) | 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 | |
CN107066413A (zh) | 一种用于处理多个总线设备数据的方法、及其总线系统 | |
US8386908B2 (en) | Data transmission methods and universal serial bus host controllers utilizing the same | |
CN103218329A (zh) | 数字信号处理数据传输 | |
US7603488B1 (en) | Systems and methods for efficient memory management | |
US6944730B2 (en) | Read/write scheduling apparatus of controller chip and method for the same | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
WO2002047355A1 (en) | Intercommunication preprocessor | |
US10552052B2 (en) | Memory interface circuitry with distributed data reordering capabilities | |
US20080183921A1 (en) | Serial advanced technology attachment (SATA) frame information structure (FIS) processing | |
CN100504824C (zh) | 用于处理读取请求的方法、设备和系统 | |
CN206479978U (zh) | 一种用于处理多个总线设备数据的总线系统 | |
CN105718396B (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
US8078771B2 (en) | Sending large command descriptor block (CDB) structures in serial attached SCSI (SAS) controller | |
JPH0818567A (ja) | データの交換処理方法及び装置 | |
KR20180116717A (ko) | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 | |
CN105988955B (zh) | Sdio设备及其应用的电子装置和数据传输方法 | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
US8886844B2 (en) | Efficient scheduling of read and write transactions in dynamic memory controllers | |
EP1895429B1 (en) | Transmission control device and transmission control method | |
US20040230717A1 (en) | Processing device | |
CN115981893A (zh) | 消息队列任务处理方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |