IIC总线控制系统及其实现方法技术方案

技术编号:2865969 阅读:216 留言:0更新日期:2012-04-11 18:40
一种IIC总线控制系统,其包括至少两个单片机及与各单片机相连接的两根线,两根线中一根与单片机端口位相连的为总线的数据线,与单片机的外部中断源相连的为总线的时钟线,其特征在于:所述IIC总线控制系统进一步包括与多个单片机通过一个接口相连接的同一时钟源电路。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术有关单片机间多机串行扩展技术,尤其是指一种多单片机间共用一时钟源的IIC总线控制系统及其实现方法
技术介绍
在现代电子系统中,有为数众多的IC需要进行相互之间以及与外界的通信。每个器件都有一个唯一的地址,而且可以是单接收的器件(例如LCD驱动器)或者可以接收也可以发送的器件(例如存储器)。发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。为了提供硬件的效率和简化电路的设计,PHILIPS开发了一种用于内部IC控制的简单的双向两线串行总线IIC。IIC总线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的IIC兼容芯片。作为一个专利的控制总线,I2C已经成为世界性的工业标准。IIC总线是一种简单、双向、二线制、同步串行总线。它只需两根线(串行时钟线SCL和串行数据线SDA)即可在连接于总线上的器件之间传递信息。该总路线是高性能串行总线,具备多主机系统所需求的I2C是一个多主总线,即它可以由多个连接的器件控制。IIC总线主从机之间的一次数据传送称为一帧,由启动信号、地址码、若干数据字节、应答位以及停止信号等组成。通讯启动时,主动发送一个启动信号(当SCL线上是高电平时,SDA线上产生一个下降沿)、从机的地址码(8位)和读写信号;通讯停止时,主机发送一个停止信号(当SCL线上是高电平时,SDA线上产生一个上升沿)。在数据传送过程中,当SCL线上是高电平时,必须保证SDA线上的数据稳定;传送一个字节的数据,必须由接收机发一个应答信号。目前市场上虽然有专用IIC总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据IIC总线的电气特性及其通讯协议,采用ALTERA公司的FLEX10K系列ISP器件EPF10K10LC84-3可以方便地实现IIC总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。IIC总线连接方式由于其优越的性能,灵活的配置方式在市场获得了极为广泛的应用,它以两根线实现了全双工同步数据传输,可以极方便地构成多机系统和外围器件扩展系统,它最显著的特点是最大限度的硬件电路,节约了单片机系统有限的硬件资源。中国专利申请第99816805.X即揭示了一种采用IIC总线连接的系统。然而,目前正在普遍使用的单片机并没有集成IIC总线接口,而且各器件的物理以及工作时钟的不同步决定了IIC总线的时序必须最大程度地满足一定的延时时间,这样必然会降低传输速度。
技术实现思路
本专利技术就是为了克服现有技术之不足,提供一种IIC总线控制系统,从而实现单片机间的时序同步。本专利技术的目的是这样实现的IIC总线控制系统包括至少两个单片机及与各单片机相连接的两根线,两根线中一根与单片机端口位相连的为总线的数据线,与单片机的外部中断源相连的为总线的时钟线,其特征在于所述IIC总线控制系统进一步包括与多个单片机通过一个接口相连接的同一时钟源电路。一种IIC总线控制系统的实现方法,其包括至少两个单片机及与各单片机相连接的两根线,两根线中一根与单片机端口位相连的为总线的数据线,与单片机的外部中断源相连的为总线的时钟线,还包括通过一个接口与各单片机连接的时钟源电路,其实现步骤为第一步,在总线备用时将时钟线及数据线设置为高电平;第二步,要发送数据的单片机在发送数据时置低时钟线,同时,接收单片机立刻发生中断;第三步,要接收单片机取反一次数据线作为接受准备就绪应答信号,传至要发送数据的单片机;第四步,要发送数据的单片机在数据线上向接收单片机发送串行数据。由于本专利技术多单片机间共用同一时钟源电路,所以时序是同步的,即两单片机的端口线的跳变同步。因而提高了通讯速率,充分利用了时钟同步的优势以及中断的快速反应,在整个通讯过程中不用考虑不确定的延时操作,从而单片机宝贵的接口资源又最大限度的提高了串行速率,使得双MCU系统能够高度协调地一致工作,成为一个有机的整体。结合下面的附图及实施例后可以更清楚地理解本专利技术的本质。图式简单说明附图说明图1是本专利技术IIC总线控制系统结构方框图。图2是本专利技术IIC总线控制系统的接收中断流程图。较佳实施例如图1所示,IIC总线控制系统包括两个单片机,均为MCS-51,其中一个为甲单片机,一个为乙单片机,两个单片机间连接有两根线,其中一根与单片机的端口位(P1.0)相连,定义为总线的数据线(SDA),一个与单片机的外部中断源(INT0)相连接,定义为时钟线(SCL),两个单片机均通过一个接口与同一时钟源的一个接口连接。参阅图1及图2所示,在两个单片机间进行数据传输时的步骤是第一步,在总线备用时总线必须保持高电平;第二步,当甲单片机要发送数据时先置低时钟线(SCL),乙方单片机会立刻发生中断;第三步,在中断子程序中取反一次数据线(SDA)作为接受准备就绪应答信号;第四步,甲方得到应答信号后立刻在数据线(SDA)上向乙单片机发送串行数据。因为双单片机公用同一时钟源,所以时序是同步的,即两单片机的端口线的跳变同步,在发送过程中每取反一次时钟线(SCL)发送1个bit,(例MOV P1.0,C)接收时时钟线(SCL)每跳变一次既读一次数据线(SDA)(例MOV C,P1.0),不用考虑延时问题,可见,时钟频率越高传输速率越快。权利要求1.一种IIC总线控制系统,其包括至少两个单片机及与各单片机相连接的两根线,两根线中一根与单片机端口位相连的为总线的数据线,与单片机的外部中断源相连的为总线的时钟线,其特征在于所述IIC总线控制系统进一步包括与多个单片机通过一个接口相连接的同一时钟源电路。2.一种IIC总线控制系统的实现方法,其包括至少两个单片机及与各单片机相连接的两根线,两根线中一根与单片机端口位相连的为总线的数据线,与单片机的外部中断源相连的为总线的时钟线,还包括通过一个接口与各单片机连接的时钟源电路,其实现步骤为第一步,在总线备用时将时钟线及数据线设置为高电平;第二步,要发送数据的单片机在发送数据时置低时钟线,同时,接收单片机立刻发生中断;第三步,要接收单片机取反一次数据线作为接受准备就绪应答信号,传至要发送数据的单片机;第四步,要发送数据的单片机在数据线上向接收单片机发送串行数据。3.如权利要求2所述的IIC总线控制系统的实现方法,其中在接收数据的单片机每取反一次数据线即发送1个bit作为应答信号。4.如权利要求3所述的IIC总线控制系统的实现方法,其中接收时时钟线(SCL)每跳变一次读一次数据线。全文摘要本专利技术有关一种IIC总线控制系统及其实现方法,其包括至少两个单片机及与各单片机相连接数据线、时钟线及通过一个接口相连接的同一时钟源电路。在总线备用时将时钟线及数据线设置为高电平,要发送数据的单片机在发送数据时置低时钟线,接收单片机立刻发生中断,接收单片机取反一次数据线作为接受准备就绪应答信号,传至要发发送数据的单片机,要发送数据的单片机在数据线上发送串行数据。由于采用同一时钟源,时序同步,所以不会产生时延问题。文档编号G06F13/20GK1581126SQ0314227公开日2005年2月16日 申请日期2003年8月15日 优先权日2003年8月15日专利技术者王世航, 房晏先本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王世航房晏先
申请(专利权)人:上海亦源智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1