碧波液压网 欢迎你,游客。 登录 注册

基于CPLD芯片控制的日历时钟显示系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。
液压导航网

  传统的DS12887日历时钟芯片成熟的控制电路均采用单片机〔1〕.但由于单片机的I/O资源较少(例如51系列只有P1口完全为用户开放),在一些场合下,如使用键盘及LED数码管显示时,就必须外扩接口电路才能满足系统要求.在本例中,若只使用单片机进行控制,需10根以上的端口与DS12887进行通信,驱动四个数码管采用静态方式需要四个74LS165,增进了设计成本.CPLD在系统编程及丰富的I/O资源(如EPM7128SLC84-15有59根I/O线)在上述场合下就显示出极大的优势,作为一种尝试,我们仅用一片EPM7128SLC84-15芯片没有附加任何扩展芯片,实现了键盘、4位LED数码管及DS12887的控制显示.取得较好效果.

  1 硬件结构

  1.1 结构框图及功能

  图1中,键盘模块实现了日历时钟的校对功能.共阳极4位LED数码管采用静态显示方式,在CPLD内部用VHDL编程完成并串转换,形成32位串行移位寄存器结构,由于EPM7128SLC84-15芯片高电平拉电流为4 mA,低电平灌电流为12 mA,因此可以直接驱动LED数码管静态显示〔2〕.日历时钟模块电路如图3所示.

  1.2 CPLD与DS12887电路结构及功能

  DS12887为24脚双列直插式芯片,引脚如图2所示.内部有128个非易失性RAM,四个控制寄存器.其中0至13的14个字节为系统RAM,其余114个字节供用户使用.该芯片的主要特点是:断电情况下十年以上不丢失数据,计秒、分、时、天、星期、日、月、年,并有润年补偿功能,可以用二进制数码或BCD码表示时间、日历和警报.

  图3中CPLD的2脚外接1 MHz的有源晶振作为系统工作时钟,在CPLD内4分频后得到250kHz频率作为32位移位寄存器的发送时钟.

  2 VHDL编程及仿真

  该系统的电路设计参考单片机DS12887的电路结构〔1〕,并用VHDL实现了INTEL8051系列的总线时序〔3〕(图4),限于篇幅,本文仅给出软件流程图和总线时序部分的详细VHDL源程序.

  2.1 软件流程

  在CPLD内部完成数据存储,移位等功能,充分体现了CPLD的优点.与DS12887的通信时序请参见图5.

  library ieee;

  use ieee.std ilogic 1164.all;

  use ieee.std logic unsigned.all;

  entity cpld c1 is

  port(clk,reset:in std logic;

  rw,ds,as:out std logic;

  ad:out std logic vector(7 downto

  0));

  end cpld c1;

  architecture behav of cpld c1 is

  signal ount:std logic vector(3 downto

  0);

  signal ad latch:std logic vector(7 down-

  to 0);

  begin

  process (clk,reset)

  begin

  if rest:` 1` then

  ount<="0000";

  elsif clk` event and clk=` 0` then

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码: 看不清?点击更换

最新评论