所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

实时时钟实现使用I2C协议检查

NajibGhatte1Vinit佩雷拉,2,MadurDattaprasad3,TusharSurwadkar4
PG学生(电子),电子称,Fr Conceicao罗德里格斯Engg学院。班德拉,孟买,印度
相关文章Pubmed,谷歌学者

访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程

文摘

本文谈到了穷困的实时时钟(RTC)维持真正的时间限制为各种特定的应用程序。实时时钟广泛,一般用于各种电器,以便追踪痕迹变得多才多艺的和灵活的安全的目的。数码相机使用RTC的所以当它将捕获的图像的细节,哪一天和日期捕获备查。这样的清债信托公司是非常有用的对于安全的需要,令人信服的证据和调查。AT89C55单片机使用I2C程序协议与达拉斯RTC IC以这样一种方式,以保持真正的时机,在LCD上显示一样。参数可以通过矩阵键盘改变。

关键字

清债信托公司,我2C、LCD、键盘、89 c55。

介绍

整个设计给出了简短的想法接口实时时钟AT89C55单片机使用I2C协议在主从配置工作。实时时钟基本上是就像一个手表,它运行在一个电池和保持时间,即使有一个电源故障。使用RTC,可以长时间跟踪,即使单片机重组或断开串行总线或电源插头。大多数微控制器,包括Arduino,有一个内置的计时员calledmillis()和也有内置定时器芯片可以记录较长时间段的分钟或数天。最大的原因是,米尔斯()只跟踪时间由于Arduino上一次动力-。这意味着,当打开电源时,毫秒计时器设置为0。Arduino并不知道它是“周二”或“3月8日”,它只可以告诉这是自去年以来14000毫秒打开”。
就强制性计划的日期和时间,你从那一刻起,它将计数。但如果它失去权力,导致再次重置时间。就像很便宜的闹钟:每次他们失去权利眨眼12:00。而这种基本计时是好的对于一些项目,有些项目如数据记录器、时钟等需要一致的计时不重置Arduino电池死后或重组。因此,包括一个单独的清债信托公司。RTC芯片是一个专门的芯片,只是跟踪时间。它可以计算闰年,知道一个月有多少天,但它不照顾日光节约时间(因为它改变从一个地方到另一个地方)[1]

设计

DS1307串行实时时钟是一个低功耗;完整的二-十进制(BCD)时钟/日历+ 56字节的NV SRAM。地址和数据是通过一个2线串行传输,双向总线。时钟/日历提供秒,分,小时,天,日期,月和年的信息。月底日期自动调整数月少于31天,包括闰年的修正。时钟运行24小时或者12小时格式与AM / PM指标。DS1307内置功率检测电路,检测电源故障,并自动切换到电池供应[2]。
I2C协议只需要2信号:时钟和数据。时钟被称为sci或SCK(串行时钟),当数据被称为SDA(串行数据)。I2C与众不同的是使用特殊信号的组合条件和变化。从根本上说,只有两个:启动和停止。还有其他一些条件,来自这两个的存在与否,但它们使这辆公共汽车独特的核心。
一个I2C总线可以有多个大师和许多“奴隶”设备共享同一总线,虽然你很少看到多个大师在现实世界中。信号避免争用通过集电极开路的驱动方案,在没有设备会驱动信号高,它只驱动低;高,公共汽车是由一个电阻停。一个解决方案允许设备来确定它是被主查询。主人看到奴隶设备存在当奴隶对其地址发送一个确认点(驾驶SDA低);如果没有这样的解决设备存在,SDA是把高,这是被作为Not-Acknowledgement大师。
空闲总线状态被定义为在SDA和sci高。(这个条件可以存在于一个总线事务,但通常是暂时的)。“开始”产生的条件是主人,紧随其后的是7位地址,然后读写。如果一个奴隶设备检测到一个地址匹配,它将发送一个ACK驾驶SDA低在下一个时钟周期;如果没有奴隶识别地址然后SDA独处会停线高。成功的应答后,数据将被发送到从设备或从奴隶设备读取(取决于读/写一点)表示的是什么。因此,每个字节是9位:7地址+ 1 R / W +一个ACK /否定,或8数据加上一个ACK /否定。最后一个数据字节的事务一般应了NAK,表明它的目的是成为最后一个字节。在这之后,停止或重启应该发行的主。

实现

设计是通过变形模拟伊希斯v7.6 sp4 Labcenter提供的电子产品。设计使用原理图捕获和创建相同的模拟。

答:矩阵键盘

这是一个矩阵响应特定的行和列的键。的矩阵键盘开关的两端都是连接到端口销。需求设计一个4×4矩阵键盘即四行四列,共16个键,十键用于数字输入和剩下的六个用于实时调整参数。因此,八线用于函数16键。图1显示了图的矩阵键盘及其接口控制器。
图像

b .达拉斯DS1307清债信托公司

DS1307是低功率时钟/日历56字节的依靠电池SRAM。时钟/日历提供秒,分,小时,天,日期,月和年的信息。月底的日期自动调整几个月少于31天,包括闰年的修正。DS1307运作作为奴隶I2C总线设备。访问是通过实现一个启动条件和提供一个设备识别码,后跟一个寄存器地址。随后的寄存器可以按顺序访问,直到停止条件执行。当VCC低于1.25×VBAT,设备终止访问在进步和重置设备地址计数器。输入设备将不承认这个时候防止错误数据写入设备从一个超差系统。当VCC低于VBAT,设备转换成电流的batterybackup模式。在升高,设备从电池切换到VCC当VCC大于VBAT + 0.2 v和识别输入当VCC大于1.25×VBAT。 Fig. 2 shows the interfacing of the DS1307 with the microcontroller.
图像
时间和日历信息通过阅读获得适当的寄存器的字节。表我显示了RTC寄存器。时间和日历设置或者通过编写相应的寄存器初始化字节。时间和日历寄存器的内容在BCD格式。一周中的第几天登记在午夜的增量。值对应的星期是用户定义的,但必须顺序(即。,如果周日1 = 2 =周一,等等。)不合逻辑的时间和日期条目导致未定义的操作。位注册的7 0是时钟停止(CH)。这个位设置为1时,振荡器是禁用的。清除为0时,启用了振荡器。 On first application of power to the device the time and date registers are typically reset to 01/01/00 01 00:00:00 (MM/DD/YY DOW HH:MM:SS). The CH bit in the seconds register will be set to a 1. The clock can be halted whenever the timekeeping functions are not required, which minimizes current (IBATDR).
图像
DS1307可以在12小时或24小时运行模式。位6小时的寄存器定义为12小时或24小时的方式选择。高时,12小时模式被选中。在12小时模式下,一点一点5 AM / PM与逻辑点高。在24小时模式下,一点一点5是第二个10小时(20到23小时)。小时的价值必须重新每当12/24-hour模式改变。当阅读或者写作时间和日期寄存器,二级(用户)缓冲区用来防止错误当内部寄存器更新。阅读时间和日期寄存器时,用户缓冲区同步任何I2C的内部寄存器的开始。时间信息从这些次要的寄存器读取而时钟继续运行。这消除了需要重读寄存器的内部寄存器更新在阅读。 The divider chain is reset whenever the seconds register is written. Write transfers occur on the I2C acknowledge from the DS1307. Once the divider chain is reset, to avoid rollover issues, the remaining time and date registers must be written within one second.
DS1307支持I2C协议。一个设备发送数据到总线被定义为一个发射器和一个接收器设备接收数据。控制消息的设备称为大师。由主人控制的设备被称为奴隶。总线必须由主设备控制产生串行时钟(sci),控制总线访问,并生成启动和停止条件。I2C总线上的DS1307是一个奴隶。
数据传输可以开始只有当公共汽车不是忙。
在数据传输过程中,数据行必须保持稳定每当时钟线很高。数据线的变化而时钟线高将被解释为控制信号。
因此,总线条件已定义如下:
1)总线不忙:数据和时钟线依然居高不下。
2)开始数据传输:数据的状态的改变,从高到低,而时钟高,定义了一个开始状态。
3)停止数据传输:数据的状态的改变,从低到高,而时钟线高,定义了停止条件。
4)数据有效:数据的状态线代表有效数据时,启动条件后,数据行期间是稳定的高段时钟信号。行上的数据必须改变低期间的时钟信号。有一个时钟脉冲/数据。每个数据传输启动的启动和终止条件停止条件。传输的数据字节数之间的启动和停止条件并不局限,并由主设备。信息在传输和每个接收者承认九分之一。在I2C总线规范标准模式(100千赫时钟频率)和快速模式定义(400千赫时钟频率)。DS1307运作的标准模式(100赫兹)。
5)承认:每个接收设备,当解决,必须生成一个承认后每个字节的接收。主设备必须生成一个额外的时钟脉冲与这个承认。设备,承认必须拆掉SDA线在时钟脉冲的方式承认SDA是稳定低高期间承认相关的时钟脉冲。当然,设置和保存时间必须考虑。掌握必须的数据信号结束奴隶不生成一个承认最后一个字节,时钟的奴隶。在这种情况下,奴隶必须离开数据行高,使主产生停止条件。图3显示了计时图表示数据传输使用I2C协议SDA和sci。[1]
图像

c字母数字液晶

液晶显示器与控制器的接口非常简单以及成本效益。提出了设计中使用的ALPHANUMERICdisplay是4×20(四行和20个字符每行),如图4所示。LCD需要3控制线路(R, R / W & EN) & 8(或4)数据行。数据行数取决于操作的模式。如果在8位模式下操作,那么8数据行+ 3控制线路即总11行是必需的。然后如果在4比特模式4即数据行+ 3控制行。7行是必需的。我们如何决定使用哪一个模式?很简单,如果你有足够的数据行可以为8位模式&如果有时间约束即显示应该会更快然后我们不得不使用8位模式因为基本上4比特模式需要两倍更多的时间比8位模式。
图像
当RS低(0),数据是被视为一个命令。当RS(1)高,数据发送是文本数据应该显示在屏幕上。当R / W是低(0),数据总线上的信息被写入液晶。当RW(1)高,从LCD程序有效地阅读。大多数时候没有必要读从液晶这行可以直接被连接到接地线从而节约一个控制器。使销用于锁针上的数据数据。高-低信号锁所需数据。液晶解释和执行命令的即时EN线带低。如果在没有实例化,教学永远不会被执行。[5]

d . AT89C55单片机

AT89C55WD是低功耗;高性能CMOS 8位单片机与20 k字节的Flash可编程序只读存储器和256字节的RAM。设备制造使用Atmel的高密度非易失存储器技术和兼容行业标准80 c51单片机和80 c52指令集和引出线。芯片上的Flash允许程序内存由传统的非易失性内存用户编程的程序员。通过结合一个多才多艺的8位单片芯片CPU使用Flash, Atmel AT89C55WD是一个功能强大的微型计算机,提供了一个高度灵活的和成本有效的解决许多嵌入式控制应用程序。单片机与嵌入式C语言编程使用凯尔交叉编译器生成Intel-hex文件和模拟results.Fig嵌入到控制器。5显示了嵌入式代码流程图。单片机嵌入式与生成的十六进制文件和设计模拟,得到最优的结果。
图像

结果

该设计是在仿真平台上模拟。字母数字液晶显示时间,日期,天清债信托公司的外包。参数可以改变通过矩阵键盘从而界面上的和最优结果。图6显示了按预期LCD的显示。
图像

结论

实时编程使用I2C协议RTC成功实现这有助于保持实时时钟所必需的各种实时运行系统,如移动电话、医院等等。它甚至满足军事应用的需要提供一些特性变化的时间和日期按必要性。

引用

  1. (2012)DS1307 RTC mini-breakout实时时钟。(在线)。可用:http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html。
  2. “DS1307 64 x 8串行实时时钟数据表,”达拉斯半导体。
  3. (2010)I2C协议,要注意什么(在线)。可用:http://www.i2cprotocol.com/。
  4. “AT89C55WD数据表”,Atmel公司。
  5. (2011)连接液晶8051。(在线)。可用:http://www.dnatechindia.com/tutorial/8051 - tutorial/interfacing lcd - 8051. - html。
  6. (2001)8051 -兼容单片机接口的DS1307[网络]。可用:http://www.maximintegrated.com/appnotes/ index.mvp / 95 / id。
  7. 穆罕默德•阿里Mazidi Janice GillispieMazidi Rolin d . Mcklinlay 8051单片机和嵌入式系统使用汇编和C,第二版,普伦蒂斯霍尔出版社,407 - 429年,2009页。