一种基于状态机的数字集成电路总线系统的制作方法

文档序号:10569867阅读:543来源:国知局
一种基于状态机的数字集成电路总线系统的制作方法
【专利摘要】本发明涉及一种基于状态机的数字集成电路总线系统,由处理器、串行时钟总线、串行数据总线以及若干从属设备组成,所述处理器设置两个引脚端,这两个引脚端分别连接串行时钟总线、串行数据总线,所述串行时钟总线、串行数据总线各自分别依次接入从属设备Ⅰ、从属设备Ⅱ、从属设备Ⅲ、从属设备Ⅳ。本发明有益效果为:该系统使用IIC时,可避免大量CPU时间浪费于IIC时序等待的问题,提高了整个系统效率;使用定时器中断推动状态机来模拟IIC总线的操作,采用中断方式实现,此设计极大提高了系统效率;有利于满足高、低速的IIC互连。
【专利说明】
一种基于状态机的数字集成电路总线系统
技术领域
[0001]本发明涉及IIC总线技术,尤其涉及一种基于状态机的数字集成电路总线系统。
【背景技术】
[0002]IIC总线技术即Inter-1ntegrated Circuit(集成电路总线),是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS),IIC是一种多向控制总线,也就是说多个芯片可连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源,这种方式简化了信号传输总线接口。其次,Iic总线是各种总线中使用信号线最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。因此,使用Iic总线设计计算机系统十分方便灵活,体积也小,在各类实际应用中得到广泛应用。
[0003]本案需要重点指出的是,在现有的无人机飞行器系统设计过程中也使用了较多的Iic器件,所以整个系统的IIC设计也突显重要,但是,综合目前IIC技术的特点及实际场景的使用限制,需要根据以下几点原因,进行创新设计:
第一,目前,市面上所使用的大部分IIC器件的速率目前一般只支持到400Kbit/s,相对于MCU速率属于慢速连接,当在一个快速系统中使用IIC时,容易导致大量CPU时间浪费于Iic的时序等待,从而拖慢整个系统效率。
[0004]第二,在飞行器系统设计中,存在多个IIC器件,且各器件响应速度快慢不一致,有些器件可以支持400Kbit/s,有些器件只能支持到100Kbit/s甚至50Kbit/s时,要使系统效率达到最优化,此时就需要针对不同速率的器件作特殊处理;在飞行器系统设计中采用的方法是将器件分为快速与慢速响应组分别处理,采用此方法需要使用到多个IIC接口,同时飞行器系统设计比较密集,所采用MCU的外围资源有限,从而使用GP1模拟的方式来实现多IIC接口是使系统最优化的选择。
[0005]第三,目前绝大部分GP1模拟IIC总线的程序都是查询方式,浪费大量CPU周期用于循环等待。本案中使用定时器中断推动状态机来模拟IIC总线的操作,采用中断方式实现,通过自定义的回调函数可在读写完成或出错时自动调用回调函数,此设计极大提高了系统效率,当然,此设计也可通过查询方式读写IIC总线,仅需查询IIC_BUSY即可。
[0006]第四,在设计时,若选用STM32的MCU,ST公司推出的CPAL库在中断方式工作下仅支持无子地址的器件,无法做到中断方式完成读写大部分I2C器件。同时,CPAL库在多个IIC同时使用时,经测试也有存在问题,实际产品中使用不稳定,因而,最终放弃了使用ST公司的CPAL库以及标准外设库访问IIC器件,使用基于状态机的GP1模拟IIC总线,同时也是支持中断方式完成IIC读写。
[0007]因此,针对以上方面,需要对现有技术进行有效创新。

【发明内容】

[0008]针对以上缺陷,本发明提供一种可极大提高系统效率的基于状态机的数字集成电路总线系统,以解决现有技术的诸多不足。
[0009]为实现上述目的,本发明采用以下技术方案:
一种基于状态机的数字集成电路总线系统,由处理器、串行时钟总线、串行数据总线以及若干从属设备组成,所述处理器设置两个引脚端,这两个引脚端分别连接串行时钟总线、串行数据总线,所述串行时钟总线、串行数据总线各自分别依次接入从属设备1、从属设备Π、从属设备m、从属设备IV;所述串行时钟总线、串行数据总线基于定时器推动整个Iic状态机的运作,通过调整定时器的定时步调,满足高、低速的IIC互连。
[0010]所述串行时钟总线、串行数据总线分别带有上拉电阻。
[0011]总线系统实现时,包括IIC写入操作流程,该流程支持I至4字节IIC从器件地址,支持多字节数据发送;
总线系统实现时,包括Iic读取操作流程,该流程支持I至4字节IIC从器件地址,支持多字节数据读取。
[0012]本发明所述的基于状态机的数字集成电路总线系统的有益效果为:
⑴该系统使用Iic时,可避免大量CRJ时间浪费于IIC时序等待的问题,提高了整个系统效率;
⑵使用定时器中断推动状态机来模拟Iic总线的操作,采用中断方式实现,此设计极大提尚了系统效率;
(3)有利于满足高、低速的IIC互连。
【附图说明】
[0013]下面根据附图对本发明作进一步详细说明。
[0014]图1是本发明实施例所述基于状态机的数字集成电路总线系统连接示意图;
图2是本发明实施例所述基于状态机的数字集成电路总线系统的定时器推动状态机入口流程示意图;
图3是本发明实施例所述基于状态机的数字集成电路总线系统的IIC写入操作流程示意图;
图4是本发明实施例所述基于状态机的数字集成电路总线系统的IIC读取操作流程示意图。
[0015]图中:
1、处理器;2、从属设备I; 3、从属设备Π ; 4、从属设备ΙΠ ; 5、从属设备IV; 6、电源脚;7、串行时钟总线;8、串行数据总线。
【具体实施方式】
[0016]如图1所示,本发明实施例所述的基于状态机的数字集成电路总线系统,由处理器
1、串行时钟总线7、串行数据总线8以及若干从属设备组成,所述处理器I设置两个引脚端,这两个引脚端分别连接串行时钟总线7、串行数据总线8,所述串行时钟总线7、串行数据总线8各自均依次接入从属设备12、从属设备Π 3、从属设备ΙΠ4、从属设备IV5,同时,所述处理器I内部若带有上拉电阻以满足电路时序要求,则不需外接上拉电阻。另外,该数字集成电路总线系统带有电源模块。
[0017]如图2-4所示,本发明实施例所述的基于状态机的数字集成电路总线系统,基于定时器推动整个IIC状态机的运作,通过调整定时器的定时步调,可满足高、低速的IIC互连;该总线系统工作流程主要包括定时器推动状态机入口流程、IIC写入操作、IIC读取操作,其中的IIC写入操作支持I至4字节IIC从器件地址,支持多字节数据发送;其中的IIC读取操作支持I至4字节IIC从器件地址,支持多字节数据读取。
[0018]以上本发明实施例所述的基于状态机的数字集成电路总线系统,本案采用定时器中断推动状态机来模拟IIC总线的操作,采用中断方式实现,通过自定义的回调函数可在读写完成或出错时自动调用回调函数,此设计极大提高了系统效率,此设计也可通过查询方式读写IIC总线,仅需查询IIC_BUSY即可;若选用STM32的MCU,ST公司推出的CPAL库在中断方式工作下仅支持无子地址的器件,无法做到中断方式完成读写大部分I2C器件。同时,CPAL库在多个IIC同时使用时,经测试也有存在问题,实际产品中使用不稳定,因而,最终放弃了使用ST公司的CPAL库以及标准外设库访问IIC器件,使用基于状态机的GP1模拟IIC总线,同时也是支持中断方式完成IIC读写。
[0019]上述对实施例的描述是为了便于该技术领域的普通技术人员能够理解和应用本案技术,熟悉本领域技术的人员显然可轻易对这些实例做出各种修改,并把在此说明的一般原理应用到其它实施例中而不必经过创造性的劳动。因此,本案不限于以上实施例,本领域的技术人员根据本案的揭示,对于本案做出的改进和修改都应该在本案的保护范围内。
【主权项】
1.一种基于状态机的数字集成电路总线系统,其特征在于,由处理器、串行时钟总线、串行数据总线以及若干从属设备组成,所述处理器设置两个引脚端,这两个引脚端分别连接串行时钟总线、串行数据总线,所述串行时钟总线、串行数据总线各自分别依次接入从属设备1、从属设备Π、从属设备m、从属设备IV;所述串行时钟总线、串行数据总线基于定时器推动IIC状态机运作,通过调整定时器的定时步调,满足高、低速的IIC互连。2.根据权利要求1所述的基于状态机的数字集成电路总线系统,其特征在于:所述串行时钟总线、串行数据总线分别带有上拉电阻。3.根据权利要求1所述的基于状态机的数字集成电路总线系统,其特征在于:总线系统实现时,包括IIC写入操作流程,该流程支持I至4字节IIC从器件地址,支持多字节数据发送。4.根据权利要求1所述的基于状态机的数字集成电路总线系统,其特征在于:总线系统实现时,包括IIC读取操作流程,该流程支持I至4字节IIC从器件地址,支持多字节数据读取。
【文档编号】G06F13/40GK105930294SQ201610470849
【公开日】2016年9月7日
【申请日】2016年6月25日
【发明人】张宏彬
【申请人】张宏彬
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1