[发明专利]一种支持用户协议的通用I2C总线控制器在审
申请号: | 201811264099.0 | 申请日: | 2018-10-29 |
公开(公告)号: | CN109446144A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 罗长洲;李荣乐;杨伟光;李泽超;朱予辰 | 申请(专利权)人: | 北京控制与电子技术研究所 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 中国航天科工集团公司专利中心 11024 | 代理人: | 葛鹏 |
地址: | 100038 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种支持用户协议的通用I2C总线控制器,包括:微控制器接口模块(1)、工作寄存器阵列模块(2)、双端口数据存储器模块(3)、同步时序信号生成器模块(4)和I2C总线接口时序生成器模块(5),本发明能够将x80系列微控制器和各种具有I2C总线接口的数字集成电路器件无缝连接在一起,构成器件之间的I2C总线通讯链路,在用户系统上电复位正常工作后,通过工作模式配置参数,用户系统可将通用I2C总线控制器配置成主器件,主动发起并控制I2C总线上的数据通讯过程,也可将通用I2C总线控制器配置成从器件,被动接受I2C总线上其它主控制器的控制,从而配合主控制器完成I2C总线上的数据通讯过程。 | ||
搜索关键词: | 通用 数据通讯过程 用户系统 用户协议 主控制器 双端口数据存储器 工作模式配置 数字集成电路 同步时序信号 微控制器接口 工作寄存器 生成器模块 时序生成器 上电复位 通讯链路 微控制器 无缝连接 阵列模块 主动发起 主器件 配置 配合 | ||
【主权项】:
1.一种可支持用户协议的通用I2C总线控制器,其特征在于包括:微控制器接口模块(1)、工作寄存器模块(2)、双端口数据存储模块(3)、同步时序信号生成模块(4)和I2C总线接口时序生成模块(5);微控制器接口模块(1)经内部连线与工作寄存器阵列模块(2)和双端口数据存储模块(3)相连;工作寄存器阵列模块(2)经内部连线与同步时序信号生成模块(4)和I2C接口时序生成模块(5)相连;双端口数据存储模块(3)经内部连线与I2C总线接口时序生成模块(5)相连;同步时序信号生成模块(4)经内部连线与双端口数据存储模块(3)和I2C总线接口时序生成模块(5)相连;当用户系统将通用I2C总线控制器被配置为I2C总线主器件时,I2C总线接口时序生成模块(5)主动发起并控制I2C总线上的数据通讯过程,并根据用户系统的命令,或者将双端口数据存储模块(3)中的数据从I2C总线上传输出去,或者从I2C总线上接收数据,并存放到双端口数据存储模块(3)中;当用户系统将通用I2C总线控制器配置为I2C总线从器件时,I2C总线接口时序生成模块(5)被动接受I2C总线上其它主控制器的控制,并根据I2C总线上的命令,或者将双端口数据存储模块(3)中的数据从I2C总线上传输出去,或者从I2C总线上接收数据,并存放到双端口数据存储模块(3)中;当I2C总线接口时序生成模块(5)完成一次数据通讯操作后,自动生成“一次数据交换操作完毕”中断请求信号;当通过外部引脚电路,将通用I2C总线控制器设置为I2C总线主控制器时,用户系统上电复位后,通用I2C总线控制器按工作寄存器模块(2)缺省配置的工作参数开始工作,并处于空闲状态,等待用户系统通过微控制器接口模块(2)输入配置参数、通讯数据或控制命令;当接收到用户系统发来的“传送数据命令”时,通用I2C总线控制器按当前工作寄存器模块(2)配置的工作参数,由同步时序信号生成模块(4)产生通用I2C总线控制器正常工作所需要的同步时序信号,并传送给通用I2C总线接口时序生成模块(5),最后由I2C总线接口时序生成模块(5)自动产生I2C总线时序信号SDA和SCK,从而将双端口数据存储模块(3)中指定地址处开始和指定长度的信息数据,依次按位从I2C总线端口上传送出去,待全部指定数据传输完毕后,通用I2C总线控制器自动生成“一次数据交换操作完毕”中断请求信号,并再次进入空闲状态,等待用户系统发出新的指令;当接收到用户系统发来的“接收数据命令”时,通用I2C总线控制器按当前工作寄存器模块(2)配置的工作参数,由同步时序信号生成模块(4)产生通用I2C总线控制器正常工作所需要的同步时序信号,并传送给通用I2C总线接口时序生成模块(5),然后由I2C总线接口时序生成模块(5)监视I2C总线时序信号SDA和SCK,并按I2C总互协议,按位依次从I2C总线端口接收外部系统传送进来的数据,最后由双端口数据存储模块(4)将接收到的数据依次存放到指定地址处开始的连续存储单元中,待I2C总线上的数据全部接收完毕,或者是接收到指定长度的数据后,通用I2C总线控制器自动生成“一次数据交换操作完毕”中断请求信号,并再次进入空闲状态,等待用户系统发出新的指令;当通过外部引脚电路,将通用I2C总线控制器设置为I2C总线从控制器时,用户系统上电复位后,通用I2C总线控制器按工作寄存器模块(2)缺省配置的工作参数开始工作,并处于空闲状态,等待用户系统通过微控制器接口模块(1)输入配置参数、通讯数据或控制命令,同时监视I2C总线上信号的变化;当接收到外部主控制器发来的“启动一次数据传送操作”时,通用I2C总线控制器按当前工作寄存器模块(2)配置的工作参数,由I2C总线接口时序生成模块(5)自动监视I2C总线上时序信号SDA和SCK,并根据从I2C总线上接收到的总线通讯命令执行相应的数据传送操作;当总线通讯命令为“读存储单元数据命令”时,由同步时序信号生成模块(4)产生通用I2C总线控制器正常工作所需要的同步时序信号,并传送给双端口数据存储模块(3)和I2C总线接口时序生成模块5,当I2C总线接口时序生成模块(5)接收到有效的存储器数据地址后,控制双端口数据存储模块(3)将指定地址中的数据传送给I2C总线接口时序生成模块(5),最后由I2C总线接口时序生成模块(5)将双端口数据存储模块(3)中指定存储单元中的数据,依次按位从I2C总线端口上传送出去,待全部指定数据传输完毕后,通用I2C总线控制器自动生成“一次数据交换操作完毕”中断请求信号,并再次进入空闲状态,等待外部主控制器发出新的指令;当总线通讯命令为“写存储单元数据命令”时,由同步时序信号生成模块(4)产生通用I2C总线控制器正常工作所需要的同步时序信号,并传送给双端口数据存储模块(3)和I2C总线接口时序生成模块(5),当I2C总线接口时序生成模块(5)接收到有效的存储器数据地址和数据后,控制I2C总线接口时序生成模块(5)将接收到的地址和数据传送给双端口数据存储模块(3),最后由双端口数据存储模块(3)将接收的数据存放到指定地址处开始的连续存储单元中,待I2C总线上的数据全部接收完毕,通用I2C总线控制器自动生成“一次数据交换操作完毕”中断请求信号,并再次进入空闲状态,等待用户系统发出新的指令。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制与电子技术研究所,未经北京控制与电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811264099.0/,转载请声明来源钻瓜专利网。