The invention discloses a general I2C bus controller supporting user protocol, which includes a microcontroller interface module (1), a working register array module (2), a dual-port data memory module (3), a synchronous sequential signal generator module (4) and an I2C bus interface sequential generator module (5). The invention can integrate X80 series microcontrollers and various digital integrated circuits with I2C bus interface. Devices are seamlessly connected to form the I2C bus communication link between devices. After the user system is powered on and reset to work normally, the user system can configure the general I2C bus controller as the main device by configuring the parameters of the working mode. The user system can actively initiate and control the data communication process on the I2C bus, and also can configure the general I2C bus controller as the slave device to passively accept the I2C bus. With the control of other main controllers, the data communication process on I2C bus can be completed with the main controller.
【技术实现步骤摘要】
一种支持用户协议的通用I2C总线控制器
本专利技术涉及一种通用I2C总线控制器,特别是一种支持用户协议的通用I2C总线控制器。
技术介绍
I2C即Inter-IntegratedCircuit,亦称集成电路内连接总线,是一种简单有效的两线式双向串行数据通讯总线,主要用于微处理器与各种外围数字集成电路器件之间的通讯。上世纪八十年代,I2C总线首先由荷兰飞利浦半导体公司即NXP公司开发,并于世纪在九十年代初期发布了I2C总线技术规范1.0版本,由此取得了I2C总线的专利权。上世纪九十年代末,随着数字集成电路及其应用技术的发展,飞利浦公司又发布了I2C总线技术规范2.0版,对I2C总线的功能和性能进行了提升,满足了数字电路使用少量端口引脚即可实现高速数据传输和低功耗的需求。本世纪初,该I2C总线技术规范2.1版又公开发布,使I2C总线的功能和性能得到了进一步完善和扩展。尽管I2C总线技术规范的版本不断升级,但技术上还是全面保持了对以前版本的兼容性。I2C总线提供了较完善的总线协议和最简单的串行连接方式,为各种应用系统设计提供了一种完善的集成电路间的串行总线扩展技术,大大简化了应用系统的硬件设计,为实现应用系统的模块化设计提供了极为有利的条件。I2C总线由两根信号线组成,多个器件可同时挂接在同一个I2C总线上,不同器件之间由不同的地址来区分的,这既节省了集成电路芯片的I/O管脚,也节省了用户系统PCB板的面积。I2C总线电气兼容性好,各器件之间以开漏的I/O管脚相互联接,这样只要选取适当的上拉电阻就能轻易实现3V/5V逻辑电平之间的兼容。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总线上的命令,或 ...
【技术特征摘要】
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)输入配置参数、通讯数据或控制命令,同时监视...
【专利技术属性】
技术研发人员:罗长洲,李荣乐,杨伟光,李泽超,朱予辰,
申请(专利权)人:北京控制与电子技术研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。