[发明专利]具有多路I2C总线的系统的控制方法有效
申请号: | 200910190456.8 | 申请日: | 2009-09-17 |
公开(公告)号: | CN102023953A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 王从毫;王玉章 | 申请(专利权)人: | 研祥智能科技股份有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 高占元 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 i2c 总线 系统 控制 方法 | ||
1.一种具有多路I2C总线的系统的控制方法,所述系统包括处理器和与所述处理器连接的可编程逻辑器件,其特征在于,所述可编程逻辑器件包括多个I2C总线控制器,每个I2C总线控制器通过所述可编程逻辑器件的I/O管脚连接到外部以形成一路I2C总线,从而形成多路I2C总线,每一路I2C总线用于挂接多个I2C设备;
所述处理器并行处理多路I2C总线的数据通信;针对每一路I2C总线,所述处理器具有两种工作状态:主工作状态和从工作状态;对于一路I2C总线,根据所述处理器的工作状态,控制该路I2C总线的I2C总线控制器的数据收发,其中,当所述处理器为主工作状态时,产生该路I2C总线的I2C总线控制器的通信时钟。
2.根据权利要求1所述的控制方法,其特征在于,根据所述处理器的工作状态,控制该路I2C总线的I2C总线控制器的数据收发包括以下步骤:
S1、系统上电,进入初始化状态;
S2、读取控制寄存器中的状态位,判断所述I2C总线控制器是否为主工作模式,如果是,进入步骤S3;否则,进入步骤S6;
S3、向外部I2C设备发送包头数据,并等待外部I2C设备发送的响应信号;
S4、判断是否收到响应信号及未存在仲裁丢失,如果是,进入步骤S5,否则,进入步骤S1;
S5、对外部I2C设备进行读写数据操作;进入步骤S9;
S6、接收外部I2C设备发送的包头数据;
S7、判断包头数据中的地址与地址寄存器中的地址是否匹配,如果是,进入步骤S8,否则,进入步骤S9;
S8、向外部I2C设备发送应答信号,以响应其为主设备,进行数据收发;
S9、结束。
3.根据权利要求1所述的控制方法,其特征在于,当所述处理器为主工作状态时,产生该路I2C总线的I2C总线控制器的通信时钟包括以下步骤:
A1、系统上电,进入初始化状态;
A2、读取控制寄存器中的状态位,判断所述I2C总线控制器是否为主工作模式,如果是,当收到开始信号后,进入步骤A3;否则,进入步骤A8;
A3、根据传输速度,产生一定时间的时钟低电平;
A4、判断是否存在仲裁丢失以及已经传输一预设时钟周期,如果是,进入步骤A1,否则,进入步骤A5;
A5、根据传输速度,产生一定时间的时钟高电平;
A6、判断是否传输完成,如果是,进入步骤A7,否则,进入步骤A3;
A7、保持时钟高电平状态,当收到结束标志信号时,进入步骤A8;
A8、时钟结束。
4.根据权利要求3所述的控制方法,其特征在于,所述步骤A3包括以下步骤:
A31、保持一定时间的高电平状态;
A32、产生时钟低电平,并保持一定时间的下降沿;
A33、根据传输速度,产生一定时间的时钟低电平。
5.根据权利要求1~4任一所述的控制方法,其特征在于,对于每路I2C总线,所述处理器通过一个寄存器组,控制该路I2C总线的I2C总线控制器的数据收发。
6.根据权利要求5所述的通信时钟控制方法,其特征在于,所述寄存器组包括:
数据寄存器,用于收发数据的缓冲;
地址寄存器,用于保存当前地址;
控制寄存器,用于控制相应的I2C总线的数据传输;
状态寄存器,用于标示当前I2C总线的状态。
7.根据权利要求1~4任一所述的控制方法,其特征在于,所述处理器是MPC8245处理器,其通过地址线、数据线、片选信号线及读写信号线与所述可编程逻辑器件连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于研祥智能科技股份有限公司,未经研祥智能科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910190456.8/1.html,转载请声明来源钻瓜专利网。