通过串口调试的iic总线实验装置制造方法

文档序号:6637101阅读:154来源:国知局
通过串口调试的iic总线实验装置制造方法
【专利摘要】本发明涉及通信总线实验装置,为解决目前IIC总线在数据传输时调试复杂且不能保证安全性和准确性的缺点,本发明提出一种通过串口调试的IIC总线实验装置,实现可视化的通过上位机的命令编辑窗口查看或修改外设中某个寄存器的数据,得到的返回值可以直观的显示在PC端。其在保证了IIC原有的优点之外,使操作人员可以更加便捷、清楚的利用IIC协议调试测试芯片。为此,本发明采取的技术方案是,通过串口调试的IIC总线实验装置,包括上位机UART接口控制器,协议转换单元,IIC总线接口控制器和时钟管理单元。本发明主要应用于总线实验。
【专利说明】通过串口调试的MC总线实验装置

【技术领域】
[0001] 本发明涉及通信总线实验装置,具体来说是一种通过串口调试的Iic总线实验装 置。 技术背景
[0002] IIC(Inter_Integrated Circuit,集成电路总线)总线是 PHILIPS 公司开发的一 种简单、双向、二线制、同步串行总线,其可以解决各个串行设备间的通行。目前已被广泛应 用于各种电子系统中,该总线物理上只需两条信号线,分别是串行数据(SDA,serial data) 线进行IIC总线上的数据信号的传输和串行时钟(SCL,serial clock)线进行IIC总线的 时钟信号传输用以发送和接收数据。由于IIC总线只需要两根线,减少了电路板的空间,减 低了芯片管脚的数量,节省了互联成本。因此IIC总线是一种廉价、优质的总线,其适用于 消费电子、通讯电子、工业电子等领域的低速器件。
[0003] IIC总线的主要功能是实现硬件设备或模块间数据的传输,可以在设备主控器与 被控IIC设备之间、IIC设备和IIC设备之间进行双向传送。同时生产厂家在生产设备时, 每个设备都有一个唯一的地址识别,包括微控制器、LCD (Liquid Crystal Display,液晶显 示器)驱动器、存储器或键盘接口等,因此当系统主控制器和IIC从设备均并联在IIC总线 上时,主控制器可以通过相应地址对该总线上的任意设备进行信号传递,如图1所示。对于 集成在芯片内部的IIC总线接口来说,主控制器通常是高速的微处理器,而外设通常是一 些带IIC接口的外部低速设备。
[0004] IIC总线虽然应用广泛,成本低廉,但是由于大部分CPU没有IIC总线接口,对于 一些其他芯片有时候需采用GPIO脚来做模拟IIC通信,其软硬件联合调试工作十分繁琐 复杂。同时,目前PC机一般有两个串口 COMl和COM2,但是,大部分低速设备并不支持串口 UART协议通信,因此对于PC机来说直接通过串口与芯片通信也无法实现。


【发明内容】

[0005] 为克服现有技术的不足,解决目前IIC总线在数据传输时调试复杂且不能保证安 全性和准确性的缺点,本发明提出一种通过串口调试的IIC总线实验装置,实现可视化的 通过上位机的命令编辑窗口查看或修改外设中某个寄存器的数据,得到的返回值可以直观 的显示在PC端。其在保证了 IIC原有的优点之外,使操作人员可以更加便捷、清楚的利用 IIC协议调试测试芯片。为此,本发明采取的技术方案是,通过串口调试的IIC总线实验装 置,包括上位机UART接口控制器,协议转换单元,IIC总线接口控制器和时钟管理单元;
[0006] 其中上位机UART接口控制器用来与上位机通信,负责接收上位机通过UART协议 传入的串行数据并将其转换为并行数据,同时还能够将并行数据通过UART协议串行发到 上位机;协议转换单元负责UART接口控制器和IIC总线接口控制器的通信、协调以及系统 状态机的转移控制;IIC总线接口控制器负责接收指令、外设地址、寄存器地址和数据,若 指令为写,则通过IIC协议将数据写入指定外设的寄存器中,若指令为读,则通过IIC协议 读出指定外设的寄存器的值并发给协议转换单元;时钟管理单元用来为Iic总线接口控制 器和UART接口控制器提供标准的时钟频率。
[0007] 协议转换单元包括:主控模块,负责整个协议转换单元的主控、状态转移判断工 作;8位的UART数据接收寄存器,用来暂存上位机UART接口控制器发送的8位数据;48位 的指令存储寄存器;比较电路,用于判断48位的指令存储寄存器接收数据的校验和;8位的 UART数据发送寄存器,用来暂存若指令为读时通过IIC协议读出的8位数据或表示IIC写 操作结束发送的标识数据FF,随后下一个周期可以将其通过上位机UART接口控制器模块 发到上位机的串口;32位的IIC指令数据发送寄存器,将指令以及寄存器地址暂存,下一个 周期将其发送给IIC总线接口控制器模块,并通过IIC协议对具体外设进行操作,读或写。
[0008] 与已有技术相比,本发明的技术特点与效果:
[0009] 传统的IIC总线调试过程不仅繁琐而且还容易出错,本发明的IIC总线接口控制 器在发送和接收数据时,可以通过上位机串口调试软件直接发出指令,操作指令简单易懂, 并且利用了 PC机通用的串口设备而非特定的IIC接口,节省了硬件资源,可以使非专业技 术人员的应用更加简单、便捷。

【专利附图】

【附图说明】
[0010] 图1是Iic总线的应用环境示意图。
[0011] 图2是带串口调试功能的IIC总线接口控制系统总体架构图。
[0012] 图3是本发明提供的协议转换部分架构图。
[0013] 图4是本发明协议转换模块主控模块的状态转移图。
[0014] 图5是本发明结合CH7301芯片提供的一个应用实例示意图。

【具体实施方式】
[0015] 一种通过串口调试的IIC总线实验装置的结构主要包括四部分:上位机UART接口 控制器,协议转换单元,IIC总线接口控制器和时钟管理单元,如图2所示。
[0016] 其中上位机UART接口控制器用来与上位机通信,负责接收上位机通过UART协议 传入的串行数据并将其转换为并行数据,同时还能够将并行数据通过UART协议串行发到 上位机;协议转换单元负责UART接口控制器和IIC总线接口控制器的通信、协调以及系统 状态机的转移控制;IIC总线接口控制器负责接收指令、外设地址、寄存器地址和数据,若 指令为写,则通过IIC协议将数据写入指定外设的寄存器中,若指令为读,则通过IIC协议 读出指定外设的寄存器的值并发给协议转换单元;时钟管理单元用来为IIC总线接口控制 器和UART接口控制器提供标准的时钟频率。
[0017] 在本发明中,协议转换单元包括:主控模块,负责整个协议转换单元的主控、状态 转移判断工作;8位的UART数据接收寄存器,用来暂存上位机UART接口控制器发送的8位 数据;48位的指令存储寄存器,通过判断48位数据中的最后8位校验位用以判断发送指令 是否正确;8位的UART数据发送寄存器,用来暂存若指令为读时通过IIC协议读出的8位 数据或表示IIC写操作结束发送的标识数据FF,随后下一个周期可以将其通过上位机UART 接口控制器模块发到上位机的串口;32位的IIC指令数据发送寄存器,将指令以及寄存器 地址暂存,下一个周期可以将其发送给IIC总线接口控制器模块,并通过IIC协议对具体外 设进行操作(读或写)。如图3所示。
[0018] 工作时,各部分首先初始化,UART接口控制器模块开始接收上位机发送的数据; 协议转换单元初始化,状态机状态保持为IDLE状态;IIC接口控制模块未收到开始信号, SCL和SDA两根信号线为高电平,总线处于空闲状态。
[0019] 当上位机开始通过UART协议发送信号后,UART接口控制器将收到的数据串转并 存入协议转换单元中的UART数据接收寄存器,直到寄存器中数据值为EF,则将其存入指令 存储寄存器的最后8位,同时主控模块状态机进入下一个工作状态ready,否则状态机状态 保持IDLE不变。IIC接口控制模块未收到开始信号,SCL和SDA两根信号线为高电平,总线 处于空闲状态。
[0020] 状态机状态为ready后,表示上位机开始发送正确的指令及数据,首先8位为指令 位,其次8位为需要操作的外设地址,再次8位为外设中寄存器的地址,还有8位为需要写 入外设中某寄存器的数据,最后8位为校验位,其中校验位的值为之前4个8位数据之和的 后8位。此时根据上位机串口发送数据的波特率设置对UART数据接收寄存器的采样频率, 并将采集到的数据接收寄存器中的数据移位存入指令存储寄存器中,每次左移8位,一共 循环5次,最后指令存储寄存器中共存储48位数据。随后暂时关闭UART数据接收寄存器 接收数据功能并判断最后8位校验位的值是否正确,即通过比较电路,判断后8位校验位的 值与前4个8位数据之和的后8位是否相等,若相等则表示校验位正确。若校验位不正确 则重新回到IDLE状态且清空所有寄存器值,同时开启UART数据接收寄存器重新接收数据; 若校验位结果正确则状态机进入下一个工作状态trans且UART数据接收寄存器继续保持 关闭状态。
[0021] 状态机状态为trans后,将指令存储寄存器的第8位到第39位数据通过IIC指令 数据发送寄存器发送到IIC接口控制器,同时进入状态机下一个状态work。
[0022] 状态机为work状态后,IIC接口控制器开始工作,即首先控制SCL,SDA线发送开始 信号,之后根据接收到的32位数据中前8位确定指令为读或写,若指令为写,则SDA线发送 数据次序为首先发送7位设备地址(8位设备地址数据中的前7位),之后R/W位为0,在接 收到应答信号后,发送8位的寄存器地址,再次接收到应答信号后发送8位需写入数据,最 后发送结束信号即可,同时向协议转换单元反馈写完成信号;若指令为读,则SDA线发送数 据次序为首先发送7位设备地址(8位设备地址数据中的前7位),之后R/W位为0,在接收 到应答信号后,发送8位的读出寄存器地址,再收到应答信号后发送重新开始信号并发送7 位设备地址,之后R/W位为1,在接收到应答信号后即可接收8位读出数据并将其发给协议 转换单元的UART数据发送寄存器,最后发送应答及结束信号即可,同时向协议转换单元反 馈读完成信号。当协议转换单元接收到写完成信号后,向UART数据发送寄存器存入FF并 且状态机进入下一个状态done ;当协议转换单元接收到读完成信号后,状态机进入下一个 状态done。
[0023] 状态机状态为done后,UART接口控制器串行的将协议转换单元中UART数据发送 寄存器中的数据发给上位机的串口,持续一定时间后停止发送,并开始接收上位机数据同 时将其存入协议转换单元的UART数据接收寄存器中,若判断其值为EF,则进入状态ready 重新工作;若一定时间内其值未改为EF,则重新发送之前UART数据发送寄存器中的数据, 持续一定时间后再次停止发送,开始接收数据,如此循环。状态机状态转移图如图4所示
[0024] 表1是本发明提供的指令格式规范要求
[0025] 表 1
[0026]

【权利要求】
1. 一种通过串口调试的lie总线实验装置,其特征是,包括上位机UART接口控制器,协 议转换单元,IIC总线接口控制器和时钟管理单元; 其中上位机UART接口控制器用来与上位机通信,负责接收上位机通过UART协议传入 的串行数据并将其转换为并行数据,同时还能够将并行数据通过UART协议串行发到上位 机;协议转换单元负责UART接口控制器和IIC总线接口控制器的通信、协调以及系统状态 机的转移控制;IIC总线接口控制器负责接收指令、外设地址、寄存器地址和数据,若指令 为写,则通过IIC协议将数据写入指定外设的寄存器中,若指令为读,则通过IIC协议读出 指定外设的寄存器的值并发给协议转换单元;时钟管理单元用来为IIC总线接口控制器和 UART接口控制器提供标准的时钟频率。
2. 如权利要求1所述的通过串口调试的IIC总线实验装置,其特征是,协议转换单元包 括:主控模块,负责整个协议转换单元的主控、状态转移判断工作;8位的UART数据接收寄 存器,用来暂存上位机UART接口控制器发送的8位数据;48位的指令存储寄存器;比较电 路,用于判断48位的指令存储寄存器接收数据的校验和;8位的UART数据发送寄存器,用 来暂存若指令为读时通过IIC协议读出的8位数据或表示IIC写操作结束发送的标识数据 FF,随后下一个周期可以将其通过上位机UART接口控制器模块发到上位机的串口;32位的 IIC指令数据发送寄存器,将指令以及寄存器地址暂存,下一个周期将其发送给IIC总线接 口控制器模块,并通过IIC协议对具体外设进行操作,读或写。
【文档编号】G06F11/267GK104407956SQ201410726854
【公开日】2015年3月11日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】史再峰, 满晨龙, 庞科, 王晶波, 邓林, 许泽昊 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1