I2C通信系统及其控制设备、节点设备、地址管理方法技术方案

技术编号:19703468 阅读:41 留言:0更新日期:2018-12-08 14:33
本发明专利技术涉及了一种I2C通信系统及其控制设备、节点设备、地址管理方法,在该I2C通信系统的地址管理方法中,节点设备进行以下步骤:生成地址请求帧,并在主模式下通过I2C总线向控制设备发送地址请求帧;接收控制设备通过I2C总线发送的地址重置帧,其中,控制设备在收到地址请求帧后,从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,而且,根据节点分配地址生成地址重置帧,地址重置帧包括节点默认地址及节点分配地址;将自身的节点默认地址重置为节点分配地址。实施本发明专利技术的技术方案,只要保证同时使用的节点设备不超过I2C地址的限制,就可在少儿科创的STEAM教学中,引入多种多样的输入输出模块(节点设备),并应用I2C通信系统。

【技术实现步骤摘要】
I2C通信系统及其控制设备、节点设备、地址管理方法
本专利技术涉及串行通信领域,尤其涉及一种I2C通信系统及其控制设备、节点设备、地址管理方法。
技术介绍
现有集成电路(IC)之间通讯接口中,I2C(Inter-IntegratedCircuit)是一种应用极为广泛的总线方式,I2C总线是PHLIPS公司推出的一种串行总线,I2C总线只有两根双向信号线:一根是SDA数据线,另一根是SCL时钟线。由于只占用两个IO脚,时序简单,使用非常广泛。在实际应用中,常采用一主多从的架构,I2C总线的地址位只有7个BIT,所以最多支持127个设备。对于相同类型的设备,通常的解决办法是由硬件厂家预留几个IO引脚,通过接不同的上下拉电阻来配置。但是,对于一些特殊的应用场合,比如,在少儿科创的STEAM教育中,需要用到各种可拆卸拼接的节点设备,种类多,例如,温度传感器根据原理的不同有很多种类。而且,可能会同时用到几个同类型的节点设备,例如,把多个LED矩阵模块拼接成一块大屏,或,多个按键模块分别映射不同的功能。虽然在实际的一节课程教学中,使用到的节点设备的数量并不多,但它可选的节点设备会超出I2C地址的最大范围,因此,在少儿科创的STEAM教育中应用I2C通信系统,其节点设备的设计/选择会很受限。另外,若节点设备有数据需要上报控制设备,它要么等待控制设备的轮询读取,要么采用其它的机制,例如使用其它的IO脚触发控制设备的中断。但是,如果采用轮询的方式,一是数据有延迟,二是对低功耗设计不利,会定时轮询,而且每次轮询都会唤醒所有的节点设备;如果采用其它机制主动通知的方式,则会增加系统的复杂度,而且不具备通用性。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述因可选的节点设备会超出I2C地址的限制而导致I2C通信系统无法正常工作的缺陷,提供一种I2C通信系统及其控制设备、节点设备、地址管理方法。本专利技术解决其技术问题所采用的技术方案是:构造一种I2C通信系统的地址管理方法,节点设备进行以下步骤:步骤S11.在复位时,生成地址请求帧,并在主模式下通过I2C总线向控制设备发送地址请求帧,其中,所述地址请求帧包括节点默认地址;步骤S12.接收控制设备通过I2C总线发送的地址重置帧,其中,控制设备在收到所述地址请求帧后,从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,而且,根据所述节点分配地址生成地址重置帧,所述地址重置帧包括所述节点默认地址及所述节点分配地址;步骤S13.将自身的所述节点默认地址重置为所述节点分配地址。优选地,所述地址请求帧及所述地址重置帧中均还包括MAC地址,而且,在所述步骤S12和所述步骤S13之间,还包括:步骤S14.比较自身的MAC地址是否与所述地址重置帧中的MAC地址相一致,若一致,则执行步骤S13。优选地,在所述步骤S11中,在主模式下通过I2C总线向控制设备发送的地址请求帧,包括:步骤S111.检测I2C总线是否空闲,若是,则执行步骤S112;若否,则执行步骤S113;步骤S112.在主模式下通过I2C总线向控制设备发送的地址请求帧;步骤S113.延时一随机时段,然后执行步骤S111。优选地,所述步骤S11还包括:在发送所述地址请求帧时,还检测I2C总线上的电平是否与自身发送的电平相一致;若电平不一致,则停止发送所述地址请求帧,并延时一随机时段,重新通过I2C总线向控制设备发送所述地址请求帧。本专利技术还构造一种I2C通信系统的地址管理方法,控制设备进行以下步骤:步骤S21.接收节点设备在复位时通过I2C总线发送的地址请求帧,所述地址请求帧包括节点默认地址;步骤S22.从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,而且,根据所述节点分配地址生成地址重置帧,所述地址重置帧包括所述节点默认地址及所述节点分配地址;步骤S23.将所述地址重置帧通过I2C总线发送至所述节点设备,以使所述节点设备将自身的所述节点默认地址重置为所述节点分配地址。优选地,在所述步骤S23中,将所述地址重置帧通过I2C总线发送至所述节点设备,包括:步骤S231.检测I2C总线是否空闲,若是,则执行步骤S232;若否,则执行步骤S233;步骤S232.将所述地址重置帧通过I2C总线发送至所述节点设备;步骤S233.延时一随机时段,然后执行步骤S231。优选地,在所述步骤S22中,从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,包括:步骤S221.判断所述地址请求帧中的节点默认地址是否被使用,若是,则执行步骤S222;若否,则执行步骤S223;步骤S222.从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址;步骤S223.将所述节点默认地址确定为节点分配地址。本专利技术还构造一种I2C通信系统的节点设备,通过I2C总线连接控制设备及其它节点设备,其特征在于,包括第一处理器和第一存储器,所述第一处理器用于执行所述第一存储器中存储的计算机程序时实现如以上所述地址管理方法的步骤。本专利技术还构造一种I2C通信系统的控制设备,通过I2C总线连接多个节点设备,其特征在于,包括第二处理器和第二存储器,所述第二处理器用于执行所述第二存储器中存储的计算机程序时实现如以上所述地址管理方法的步骤。本专利技术还构造一种I2C通信系统,其特征在于,包括以上所述的控制设备及多个以上所述的节点设备。实施本专利技术的技术方案,在I2C通信系统中,每个节点设备在复位时,都会向控制设备发送地址重置请求,控制设备会从地址表中查找出一未被使用的地址,并分配给节点设备,节点设备在收到分配地址后,会将自身的默认地址重置为分配地址。因此,本专利技术的技术方案具有以下有益效果:1.在少儿科创的STEAM教育中,即使可选的节点设备的数量超过了I2C地址的最大范围,只要保证同时使用的节点设备不超过I2C地址的最大范围即可,因此可在少儿科创的STEAM教学中,引入多种多样的输入输出模块(节点设备),并应用I2C通信系统;2.即使同时使用到了相同类型的多个节点设备,由于每个节点设备所分配的节点地址都不同,所以不再需要通过预留IO脚来区分不同的节点设备,降低了系统复杂度;3.不管是控制设备,还是节点设备,都具有主模式与从模式两种工作模式,当节点设备有数据发送需求时,可直接在主模式下发送数据,无需等待控制设备的轮询读取,也无需使用其它的IO脚触发控制设备的中断,因此,可降低功耗及系统复杂度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:图1是本专利技术I2C通信系统的地址管理方法实施例一的流程图;图2是本专利技术I2C通信系统的地址管理方法实施例二的流程图;图3是本专利技术I2C通信系统实施例一的结构图。具体实施方式图1是本专利技术I2C通信系统的地址管理方法实施例一的流程图,首先说明的是,I2C通信系统包括控制设备及多个节点设备,且控制设备与多个节点设备通过I2C总线连接,I2C总线包括SDA数据线及SCL时钟线。而且,I2C通本文档来自技高网
...

【技术保护点】
1.一种I2C通信系统的地址管理方法,其特征在于,节点设备进行以下步骤:步骤S11.在复位时,生成地址请求帧,并在主模式下通过I2C总线向控制设备发送地址请求帧,其中,所述地址请求帧包括节点默认地址;步骤S12.接收控制设备通过I2C总线发送的地址重置帧,其中,控制设备在收到所述地址请求帧后,从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,而且,根据所述节点分配地址生成地址重置帧,所述地址重置帧包括所述节点默认地址及所述节点分配地址;步骤S13.将自身的所述节点默认地址重置为所述节点分配地址。

【技术特征摘要】
1.一种I2C通信系统的地址管理方法,其特征在于,节点设备进行以下步骤:步骤S11.在复位时,生成地址请求帧,并在主模式下通过I2C总线向控制设备发送地址请求帧,其中,所述地址请求帧包括节点默认地址;步骤S12.接收控制设备通过I2C总线发送的地址重置帧,其中,控制设备在收到所述地址请求帧后,从预先存储的地址表中确定一个未使用的地址,并将其作为节点分配地址,而且,根据所述节点分配地址生成地址重置帧,所述地址重置帧包括所述节点默认地址及所述节点分配地址;步骤S13.将自身的所述节点默认地址重置为所述节点分配地址。2.根据权利要求1所述的I2C通信系统的地址管理方法,其特征在于,所述地址请求帧及所述地址重置帧中均还包括MAC地址,而且,在所述步骤S12和所述步骤S13之间,还包括:步骤S14.比较自身的MAC地址是否与所述地址重置帧中的MAC地址相一致,若一致,则执行步骤S13。3.根据权利要求1所述的I2C通信系统的地址管理方法,其特征在于,在所述步骤S11中,在主模式下通过I2C总线向控制设备发送的地址请求帧,包括:步骤S111.检测I2C总线是否空闲,若是,则执行步骤S112;若否,则执行步骤S113;步骤S112.在主模式下通过I2C总线向控制设备发送的地址请求帧;步骤S113.延时一随机时段,然后执行步骤S111。4.根据权利要求1所述的I2C通信系统的地址管理方法,其特征在于,所述步骤S11还包括:在发送所述地址请求帧时,还检测I2C总线上的电平是否与自身发送的电平相一致;若电平不一致,则停止发送所述地址请求帧,并延时一随机时段,重新通过I2C总线向控制设备发送所述地址请求帧。5.一种I2C通信系统的地址管理方法,其特征在于,控制设备进行以下步骤:步骤S21.接收节点设备在复位时通过I2C总线发送的地址请求帧,所述地址请求帧包括节点默认地址;步...

【专利技术属性】
技术研发人员:宋政斌
申请(专利权)人:深圳柴火创客教育服务有限公司
类型:发明
国别省市:广东,44

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

1