[发明专利]一种多模块与主机通信的方法及系统在审
申请号: | 202010930117.5 | 申请日: | 2020-09-07 |
公开(公告)号: | CN112069103A | 公开(公告)日: | 2020-12-11 |
发明(设计)人: | 梁宝超 | 申请(专利权)人: | 歌尔科技有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F15/78 |
代理公司: | 青岛联智专利商标事务所有限公司 37101 | 代理人: | 王笑 |
地址: | 266104 山东省青岛*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模块 主机 通信 方法 系统 | ||
本发明公开了一种多模块与主机通信的方法及系统,包括主机和至少两部从模块,每部从模块的通知端口均与主机的同一个GPIO口连接;配置每部从模块的通知端口的初始属性为输入,当任一部从模块通知主机读取数据时,读取其自身通知端口的电平状态,在电平状态为第一状态时,向主机发送请求信号,在电平状态为第二状态时,重复等待设定时长后读取自身通知端口的电平状态的步骤直至电平状态为第一状态;主机基于请求信号确定目标从模块后从目标从模块读取数据,第二状态至少包含请求信号的信号特征;本发明中所有的从模块只需通过一个GPIO口与主机通信,节约了主机端GPIO口的使用数量,解决了多模块与主机通信时占用过多GPIO口的问题。
技术领域
本发明属于通信技术领域,具体地说,是涉及一种多模块与主机通信的方法。
背景技术
电子产品的功能越来越丰富也越来越智能,这也导致电子产品集成的功能模块或智能模块越来越多。
各模块与主机的主控SOC(系统级芯片)均需通信,目前实现通信的方式为:基于SPI(串行外设接口)通信协议,各模块均与主控SOC的一个GPIO口连接,当一个模块需要与主控SOC通信时,通过GPIO口向主控SOC发起通信请求,例如将电平拉高,主控SOC在接收到高电平的通信请求后去该模块读取数据。
可见上述的现有通信方式中,受限于SPI通信协议的规定,只能由主控SOC发起通信,各模块不具备发起通话的能力,每个模块与主控SOC通过SPI通信时,都需要一路GPIO来让模块主动通知主控SOC来读取数据,这在存在多个模块时,需要主控SOC拿出多个GIPO口,极为浪费GPIO资源。
发明内容
本发明的目的在于提供一种多模块与主机通信的方法及系统,解决现有多模块与主机通信时存在占用GPIO口过多的技术问题。
为解决上述技术问题,本发明采用以下技术方案予以实现:
提出一种多模块与主机通信的方法,应用于多模块与主机通信系统中,所述系统包括:主机;至少两部从模块,每部从模块的通知端口均与所述主机的同一个GPIO口连接;所述方法包括:配置每部从模块的通知端口的初始属性为输入;当任一部从模块通知所述主机读取数据时,读取其自身通知端口的电平状态;在所述电平状态为第一状态时,向所述主机发送请求信号,在所述电平状态为第二状态时,重复等待设定时长后读取自身通知端口的电平状态的步骤直至所述电平状态为第一状态;其中,所述第二状态至少包含所述请求信号的信号特征;所述主机基于所述请求信号确定目标从模块,并从目标从模块读取数据。
进一步的,设定所述第一状态为低电平状态,所述第二状态为高电平状态,所述请求信号为设定时长的高电平脉冲;其中,各从模块的请求信号的设定时长不相同。
进一步的,设定所述第一状态为高电平状态,所述第二状态为低电平状态,所述请求信号为设定时长的低电平脉冲;其中,各从模块的请求信号的设定时长不相同。
进一步的,设定所述第一状态为低/高电平脉冲,所述第二状态为具有脉宽的脉冲信号,所述请求信号为具有第一设定脉宽的脉冲信号;其中,各从模块的请求信号的第一设定脉宽不相同。
进一步的,在任一从模块读取其自身通知端口的电平状态为第一状态时,所述方法还包括:将其自身通知端口的属性设置为输出后向所述主机发送请求信号;以及,在向所述主机发送完请求信号后,将其自身通知端口的属性恢复为初始属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于歌尔科技有限公司,未经歌尔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010930117.5/2.html,转载请声明来源钻瓜专利网。