我们知道,时序图分为理想时序图和实际工作时序图。理想时序忽略了实际高低电平转换时间,而我们实际写程序过程中更希望看到的是实际工作时序图,更清晰明确。

图1 理想时序与实际时序
物理时序图只要保持操作顺序上的一致性即可。下面我们以8080总线和某spi、IIC总线为例来说明如何通过时序图写逻辑时序:
1.下面是某lcd基于8080总线的读写时序:

其实这个图主要就是区分WR写控制线和数据线的顺序问题了。根据操作顺序,先将NCE片选拉低,然后命令/数据控制线RS置响应位,WR先置低,然后D数据线输出,WR再拉高即可。查看>=0ns为WR置高后至少数据D保持之间,显然,单片机写完数据口是一直保持的,满足条件。因此写逻辑时序即:
{
NCE 拉低;
RS置响应位;
WR低;
D数据输出;
WR高;
}

8080读时序主要也是区分RD与数据D的操作先后顺序问题,前面一个<=1ns是指RD置低后在1ns内D数据口的数据就已经是有效数据了,也就是意味着只要RD指令与后面接着的读数据指令间隔大于1ns就能准备独缺数据!!(换种情况比如这里是<=20us,而我们32输入采样为13ns,那么你这就应当在RD与读取值之间加个延时来保证读到的是有效值了)这里的后面第二个<=1ns是指在RD为高电平期间,D口在1ns内之前必须读完。注意对于读时序来说D整个时间是表示数据口可读有效数据时间段(也就是输入数据维持时间),因此在这个时间段内任意时间读取数据都是正确的。这就是说RD置低后,接着我们数据口置为输入,只要在RD再置高后1ns之前的时间段内读取值均为有效的!因此读时序可以这样写:
{
NCE片选拉低;
RS根据需求置位;
RD置低;
D读取数据;
RD置高;
}

2.下面是某OLED 4线spi模式下时序图

这个也很简单,主要是看数据位SDIN与时钟SCLK的关系,即写时序为
{
SCLK置低;
SDIN 某bit位输出;
SCLK置高;
}
3.下图是IIC的时序图,这里只讲数据传输部分为例 ,我们看到是时钟先置低,数据传输

{
SCL置低;
SDA数据位传输;
SCL置高
}

对应时钟和数据的时序关系:
我们关心的是有效时间段内时序的变化,即导致数据锁存的上升沿或下降沿段与数据的关系。保证保持时间连续稳定且达到要求。

关于读懂时序图写时序相关推荐

  1. java时序图工具_快速学习时序图:时序图简介、画法及实例

    点击上方☝Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 一. 什么是时序图? 时序图(Sequence Di ...

  2. mysql火焰图_如何读懂火焰图?

    原标题:如何读懂火焰图? 文章作者:阮一峰http://www.ruanyifeng.com/原文链接:http://www.ruanyifeng.com/blog/2017/09/flame-gra ...

  3. 快速学习时序图:时序图简介、画法及实例

    一. 什么是时序图? 时序图(Sequence Diagram),亦称为序列图.循序图或顺序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 时序图是一个二维图 ...

  4. sip 时序图_时序图怎么看_教你如何看懂时序图 - 什么是时序图_时序图怎么看_教你如何看懂时序图...

    时序图怎么看_教你如何看懂时序图 操作时序永远使用是任何一片IC芯片的最主要的内容.一个芯片的所有使用细节都会在它的官方器件手册上包含.所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册上 ...

  5. 怎么用c语言写时序图,plc时序图怎么画_plc时序图编程方法

    时序图是描述设备工作过程的时间次序图,也是用于直观分析设备工作过程的一种图形.如电子技术中的触发器.定时器.计数器等均用时序图来描述其工作原理.在plc顺序控制设计法编制梯形图程序时往往是先画出时序图 ...

  6. 画时序图 visual_时序图的初步了解

    1.划清边界,识别交互的语境 所谓划清边界,就是要界定好自己所要画的时序图的范围,"学生在教务系统中查询其课程的成绩"就是所要绘制的时序图的交互内容,不用往上延伸到用户登录,也不要 ...

  7. sip 时序图_时序图学习(一)

    单片机是一种微控制器,本身内部集成了数种资源比如CPU.内存.内部和外部总线系统,目前大部分还会具有外存.他的主要任务是利用各种资源实现电平控制,可以以此控制与它相连的下级系统,广泛用于工业自动控制领 ...

  8. 汉若塔递归(读懂递归和写出递归)

    还记得大一的时候在两个学长的帮助下,琢磨了几天才把这个汉若塔递归的程序看懂,琢磨清白. 现在大二了,花了5,6个小时才把他写出来.真的没感觉到进步,特别是今天发现好多东西都忘了,当推出这个递归的时候z ...

  9. 程序员如何读懂火焰图

    1. 白话火焰图 让我们回想一下我们一般是如何调试程序的,通常是在没有数据的情况下依靠主观臆断来瞎蒙,而不是考虑问题到底是什么引起的!毫无疑问,调优程序性能问题的时候,同样需要对症下药.好消息是 Li ...

最新文章

  1. data pump工具
  2. Azure China (7) 使用WebMetrix将Web Site发布至Azure China
  3. 无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题
  4. VC6工程升级VS2013遇到的问题
  5. 云服务器镜像麻烦吗_云服务器的镜像功能有什么作用?
  6. linux下工具exfs用法
  7. [react] react中什么是受控组件?
  8. windows smb更改端口_SMB协议(使用说明+过程详解+抓包分析)
  9. linux 低功耗模式,stm32的低功耗模式:
  10. chrome谷歌插件
  11. 64位win10下usb转485驱动
  12. 安卓10自带录屏_荣耀v10怎么录屏?荣耀v10三种录屏方法
  13. Python-struct
  14. HashMap HashTable和CurrentHashMap的区别
  15. Bottom Sheet
  16. POJ 3626 Mud Puddles(超简单BFS)
  17. 网易有道 IP地址、邮编区号及城市查询、手机号码归属地和身份证 查询接口API
  18. CSS3 仿古墓丽影9菜单界面
  19. YDLidar开发-在win10下使用C++/python开发全过程-SDK配置
  20. 编程王 kingofcoders.com

热门文章

  1. 人群密度向:CMTL
  2. 阿里达摩盘:圈选人群、渠道沉淀人群、智能迭代人群...
  3. 线程池原理——高频面试题
  4. 4.1 简单题 - A PAT首页
  5. 网页查重算法Shingling和Simhash和bloom filter研究
  6. 趣玩算法--OpenCV华容道AI自动解题
  7. 成都产科生产日记(十五)(建档、入院生产、上户、少儿互助金、疫苗、儿保)全...
  8. Python写掷骰子的游戏
  9. 【论文复现】一步步详解用TD3算法通关BipedalWalkerHardcore-v2环境
  10. 解决windows插入耳机无法听到声音的问题