凔海笔记之FPGA(十):玩一玩DS1302

现在这日子过得,一周四节课,没有考试没有作业更没有实验课,真不知道说什么好,还是来说说DS1302吧。(~ ̄▽ ̄)~    
       它生有八脚,电源分主备,晶振有要求,时序有讲究,可记年月日,可分闰是非,可显时分秒还有周。                     
DS1302,资料漫天飞舞,多得就像现在的杨花柳絮,所以学起来到不怎么费劲,
但是为了学习,嗯,为了好好学习,我还是要认认真真干下面这些事、
1、了解DS1302时序
2、写Verilog代码
number one:

看上图    
X1、X2:晶振要求32.768kHz=2^15。只是选择晶振时,不同的晶振,误差也较大,估计32.768Khz晶振,分频后,能精确的分出秒信号脉冲吧。
    CE:输入信号,在读、写数据期间,必须为高。
    SCLK:控制数据的输入与输出,上升沿写,下降沿读。
    I/O:双向数据线
就这些应该没了吧。其实,DS1302的操作,就是要整明白如何访问DS1302的寄存器,如何向DS1302写入数据和读出数据。
下面就整吧。
先看, DS1302单字节写操作的时序图

第一个字节是“访问寄存器的地址”,第二字节是“要写入的数据”。在写操作的时候,都是“上升沿有效”,即不管是“地址字节”还是“数据字节”,都是在SCLK的上升沿被采集的。(数据都是从最低位开始发送至最高位结束)
    接下来是读操作时序图

读操作基本上和写操作的时序图差不多,区别的地方就是在第二个字节时 “读的数据” 的动作。 第二字节读数据开始时, SCLK 信号都是 “下降沿有效” 。
    并且CE信号都是处于高电平状态的,所以在对DS1302进行读写操作前都要拉高CE信号开始,操作结束后拉低CE信号结束。
这是访问寄存器地址的格式表:

读和写操作,都是先发送一个字节的“访问寄存器的地址”。这些寄存器地址格式如上图所示:
Bit 7   固定,为“1”
Bit 6   表示是访问寄存器本身,还是访问 RAM 空间。
注:为“1”表示访问RAM,为“0”表示访问寄存器本身
Bit 5-1 表示是寄存器或者RAM 空间的地址。
注:表示具体的寄存器或者RAM地址,跟bit6相关
Bit 0   表示是访问寄存器本身是写操作,还是读操作,1读0写。
日历、时钟寄存器与控制字对照表如图:

对于写指令,黑金告诉我可以这样来表示这八位地址指令:
{ 2'b10 , 5'd Addr, 1'b RD/W }说是可以提高些解读性。
例如:{ 2'b10, 5'd0, 1'b0 }写秒、{ 2'b10, 5'd1, 1'b1 }读分。

下图为DS1302各个寄存器的地址组成:

这个表述了每一个寄存器的字节配置,我们可以初始化时钟开始时的时间。
如果笔者要初始化分为33,那我就先写指令{ 2'b10, 5'd1, 1'b0 } ,接着写数据{ 4'h3, 4'h3 }。就这样
不过有三个寄存器值得一说,
1、“秒”最到位为0启动,1关闭
2、“时”最高位置一则十二进制,0为24.
3、WP写0关闭写保护,写1打开写保护,所以重新设置时钟时间时需要将此关闭。
那么,因为就6位数码管,所以我们要初始化DS1302位23时59分50秒怎么做?
1、关闭写保护。
2、改变时寄存器
2、改变分寄存器
3、改变秒寄存器
4、不断读取时分秒寄存器。
用Verilog怎么来描述呢?
number two
    其实和IIC单字节的读写是差不多的,也是三个模块,
数码管显示模块:Smg_module
DS1302功能模块:DS1302_function_module
控制模块:DS1302
数码管显示模块就不说了,和IIC一样。
DS1302功能模块:DS1302_function_module就是讲读写时序图描述出来,让我郁闷的是,读DS1302的读写时钟是多少呢?百度没找到,然后就参考人家的了。

写到这,我发现我真是闲得蛋疼,这表格画的,啧啧

识浅薄出拙文,如察错误望赐教,小弟在此感涕零

(0)

相关推荐

  • SPI

    折叠 编辑本段 基本协议 折叠 SPI协议概括 SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时).也是所有基于SPI ...

  • 智能座舱之存储篇第三篇---NAND Flash 一眼就看明白了

    作者 / 阿宝 编辑 / 阿宝 出品 / 阿宝1990(微信ID woabao1990) 上期内容我们重点说了NAND FLASH本身的一些特殊性,比如写之前要进行擦除,而且存在坏块的可能性性,所以很 ...

  • 【精选博文】SDRAM理论基础讲解

    每日学习时间到了,由于本人上周出差,未能及时更新,望海涵! 01 SDRAM常识性知识普及 关于SDRAM的基本概念,在这先引用<终极内存指南>这篇文章中的一段话,     "S ...

  • 单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)

    在无线通信中,NORDIC公司生产的NRF24L01无线收发模块是许多玩家的选择,它是2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片,具有功能较强而控制较方便并且价格便宜的优点.一块NR ...

  • NRF24L01模块使用(老干妈笔记)

    NRF24L01模块使用(老干妈笔记)

  • 凔海笔记之FPGA(十一):SDRAM

    对于SDRAM,就以以下四个方面来写下自己的笔记吧 1.初探存储器 2.对SDRAM的认识 3.Verilog综合的SDRAM单字节读写时序 4.多字节读写和页读写 嗯,就这样 下图这个,学过数电的都 ...

  • 凔海笔记之FPGA(九):Verilog描述IIC单字节读写协议

    一.简介AT24C04 AT24C04是小容量(4KB)IIC总线EPROM存储元件.这句话说得很有内容呀.首先,AT24c04是存储元件,还是EPROM即可擦写可编程只读存储器,而且断电可保存.其次 ...

  • 凔海笔记之FPGA(八):Verilog描述RS232 UART

    在我看来,有些代码会用,但未必理解,有些代码理解,但未必会写,有些代码会写,但未必能用自己的话说出来.当能够以自己的想法深入浅出的讲解所学知识,那也就可以说自己掌握了,所以,我还是来发帖吧. 记得刚用 ...

  • 凔海笔记之FPGA(七):触发器和锁存器

    大多数数字系统中,除了需要具有逻辑运算和算数功能的组合逻辑电路外,还需要具有存储功能的电路,组合逻辑与时序逻辑可构成时序逻辑电路,简称时序电路.现在讨论实现存储功能的两种逻辑单元电路,即锁存器和触发器 ...

  • 凔海笔记之FPGA(五):(基本|| 组合)逻辑

    与门电路:有0则为0 与门(英语:AND gate)又称"与电路".逻辑"积".逻辑"与"电路.是执行"与"运算的基本逻 ...

  • 凔海笔记之FPGA(四):Verilog HDL语法简单述

    在百度百科中,是这样介绍Verilog HDL的,它是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表 ...

  • 凔海笔记之FPGA(一):我和我的FPGA

    "老师,单片机那个试验箱都弄完了,接下来我想学学arm" "噢,那挺好的,要不你先学学FPGA吧,学好了FPGA再接触arm会学得更好些" "FPGA ...

  • 凔海笔记之单片机(五):给按键编个码

    按键通常是一种长常开型按钮开关,例如下图,如果不按动得话它就是断开状态的. 它作为单片机的附属小鬼,主要就是为了让单片机检测出它的状态,然后单片机根据这个状态来干一些事.例如,当按键按下灯亮,当按键按 ...

  • 贾海忠金匮要略笔记(二十)藏府经络先后病脉证治第一外邪致病

    第十三节.外邪致病 [原文]清邪居上,浊邪居下:大邪中表,小邪中里:馨饪之邪从口入者宿食也.五邪中人,各有法度.风中于前,寒中于暮:湿伤于下,雾伤于上:风令脉浮,寒令脉急:雾伤皮腠,湿流关节,食伤牌胃 ...