《Linux设备驱动开发详解 A》一一2.6 硬件时序分析

简介:

本节书摘来华章计算机出版社《Linux设备驱动开发详解 A》一书中的第2章,第2.6节,作者:宋宝华 更多章节内容可以访问云栖社区“华章计算机”公众号查看。1

2.6 硬件时序分析

2.6.1 时序分析的概念
驱动工程师一般不需要分析硬件的时序,但是鉴于许多企业内驱动工程师还需要承担电路板调试的任务,因此,掌握时序分析的方法也就比较必要了。
对驱动工程师或硬件工程师而言,时序分析的意思是让芯片之间的访问满足芯片数据手册中时序图信号有效的先后顺序、采样建立时间(Setup Time)和保持时间(Hold Time)的要求,在电路板工作不正常的时候,准确地定位时序方面的问题。
建立时间是指在触发器的时钟信号边沿到来以前,数据已经保持稳定不变的时间,如果建立时间不够,数据将不能在这个时钟边沿被打入触发器;保持时间是指在触发器的时钟信号边沿到来以后,数据还需稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。如图2.25所示,数据稳定传输必须满足建立时间和保持时间的要求,当然,在一些情况下,建立时间和保持时间的值可以为零。
image

2.6.2 典型的硬件时序
最典型的硬件时序是SRAM的读写时序,在读/写过程中涉及的信号包括地址、数据、片选、读/写、字节使能和就绪/忙。对于一个16位、32位(甚至64位)的SRAM,字节使能表明哪些字节被读写。
图2.26给出了SRAM的读时序,写时序与此相似。首先,地址总线上输出要读(写)的地址,然后发出SRAM片选信号,接着输出读(写)信号,之后读(写)信号要经历数个等待周期。当SRAM读(写)速度比较慢时,等待周期可以由MCU的相应寄存器设置,也可以通过设备就绪/忙(如图2.27中的nWait)向CPU报告,这样,读写过程中会自动添加等待周期。
image

图2.26 SRAM读时序图
NOR Flash和许多外设控制芯片都使用了类似SRAM的访问时序,因此,牢固掌握这个时序意义重大。一般,在芯片数据手册给出的时序图中,会给出图中各段时间的含义和要求,真实的电路板必须满足芯片数据手册中描述的建立时间和保持时间的最小要求。

相关文章
|
3月前
|
Linux 调度
Linux 内核源代码情景分析(一)(下)
Linux 内核源代码情景分析(一)
57 1
|
23天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
73 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
存储 IDE Unix
Linux 内核源代码情景分析(四)(上)
Linux 内核源代码情景分析(四)
30 1
Linux 内核源代码情景分析(四)(上)
|
2月前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
3月前
|
Java Linux API
Linux设备驱动开发详解2
Linux设备驱动开发详解
43 6
|
3月前
|
消息中间件 算法 Unix
Linux设备驱动开发详解1
Linux设备驱动开发详解
47 5
|
3月前
|
存储 Linux 块存储
Linux 内核源代码情景分析(三)(下)
Linux 内核源代码情景分析(三)
33 4
|
3月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
27 2
|
3月前
|
存储 Unix Linux
Linux 内核源代码情景分析(四)(下)
Linux 内核源代码情景分析(四)
23 2
|
3月前
|
Linux 人机交互 调度
Linux 内核源代码情景分析(二)(下)
Linux 内核源代码情景分析(二)
36 2
下一篇
无影云桌面