I2C 验证中需要注意的问题

news2024/11/17 19:40:35

I2C验证中需要注意的问题

  • 1.NACK出现的时刻
  • 2.Restart和Start区别
  • 3.保持时间(Thd)

1.NACK出现的时刻

通常,在Master访问到错误的Device ID时,Slave会返回Nack,表示访问失败。此外,在Master对Slave读访问时,在Slave返回最后一笔数据时,Master会响应Nack,表示接下来,Master将要发起Stop bit。

2.Restart和Start区别

Master在一次操作结束的最后,需要发起Stop Bit,以表示本次访问结束。然后,在下次访问开始时,仍然需要先发出Start bit,表示新一次访问的开始。
在这里插入图片描述
但是,如果Master在收到Ack后,没有发出Stop bit,而是又一次在SCL高电平时将SDA拉低,那么这就就是Restart bit,表示重新发起访问。刚开始接触I2C,容易被SCL、SDA的变化搞懵,所以弄懂Restart很重要。
在这里插入图片描述

3.保持时间(Thd)

无论是标准速度(Standard speed)、快速(Fast speed)、快速plus(Fast speed plus),总会发现Thd可以是0,你可能感到奇怪。但是,看过I2C时序图,也就不会这么想了。I2C的Thd指的是时钟下降沿和数据变化沿的间隔,所以Thd支持最小配置为0。这里需要注意的是,如果将Thd配置为0,在DUT打开虑毛刺功能,且外部有毛刺输入时,因为虑波会导致实际进入到逻辑里的SCL信号的下降沿滞后于SDA的变化沿,如果此时SDA信号恰好是发生了变化,DUT可能错误检测到一个Start bit 或者Stop bit,所以无论是设计还是验证,这一点需要注意。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1001877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JWT认证、drf-jwt安装和简单使用、实战之使用Django auth的User表自动签发、实战之自定义User表,手动签发

一 JWT认证 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。 我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。Json web token (JWT), 是为了在网络应用环境…

沙丁鱼优化算法(Sardine optimization algorithm,SOA)求解23个函数MATLAB

一、沙丁鱼优化算法 沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出,该算法模拟沙丁鱼的生存策略,具有搜索能力强,求解精度高等特点。 沙丁鱼主要以浮游生物为食,这些生物包括细菌、腔肠…

性能测试 —— Jmeter定时器

固定定时器 如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间 1、使用固定定时器位置在http请求中&#xf…

5.9.Webrtc线程事件处理

在前面的课程中呢,我已经向你介绍了事件处理的一些基础知识,那今天呢,我们再来看一下外边儿rtc下事件处理的基本逻辑是什么? 那首先呢,我们来看一下事件是如何协调线程工作的,那就如果这张图所展示的有两个…

一起学数据结构(6)——栈和队列

上篇文章中,对栈的概念及特点进行了解释,并且给出了栈实现的具体代码。本篇文章将给出队列的基本概念及特点。并给出相应的代码。 1. 队列的概念及结构: 在给出队列的概念之前,先给出上篇文章中提到的栈的概念:一种只…

JVM系列 运行时数据区

系列文章目录 第一章 运行区实验 文章目录 系列文章目录前言一、堆(Heap)1.1、新生代/Young区1.1.1、Eden区1.1.2、Survival区 1.2、年老代(old区) 二、虚拟机栈(Stack)2.1、栈顶缓存技术2.2、溢出2.3、栈…

约瑟夫环(循环列表实现)

约瑟夫(Joseph)问题的一种描述是:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈。每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个…

vscode c++解决包含头文件红色波浪线问题

安装c/c插件后,按ctrlshiftp, 点击打开了c_cpp_properties.json文件,对其中的IncludePath进行编辑,示例如下: "includePath": ["${workspaceFolder}/**","${workspaceFolder}/include/**&q…

FastChat

Fast Chat是一个用于训练/部署和评估基于大型语言模型的聊天机器人的开发平台。其核心功能包括: 最先进模型的权重/训练代码和评估代码(例如Vicuna/FastChat-T5)基于分布式多模型的服务系统,具有Web界面和与OpenAI兼容的RESTful API。 安装 pip instal…

Dajngo01_Django框架基础与环境搭建

Dajngo01_Django框架基础与环境搭建 在正式开始学习Django之前,我们先简单了解一下Web应用程序的本质: 接收并解析HTTP请求,获取具体的请求信息处理本次HTTP请求,即完成本次请求的业务逻辑处理构造并返回处理结果——HTTP响应 那么…

Redis 数据一致性方案的分析与研究

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 一般的业务场景都是读多写少的,当客户端的请求太多,对数据库的压力越来越大,引入缓存来降低数据库的压力是必然选择,目前业内…

【移动开发】最新uniapp开发的多端影视APP+后端对接的苹果CMS源码(可打包多端app)

介绍: 分享一款uniapp开发的多端影视APP源码,后端对接的是苹果10CMS。 这个APP有缓存、投屏、回放记录、收藏等功能,非常完善。 会员中心也使用苹果cms的数据。 可以打包到多个端的代码。 本APP前端用的UI框架是特漂亮的colorUI&#xff0…

当我们谈外包,我们在谈什么?

大家好,我是苍何,周末发小来找我玩耍,聊到了他当初在华为外包的经历,感触挺大的,给大家做下分享。 小 Z 大学专科材料专业毕业,毕业后报名了 IT 培训班,学习了一年,之后面试去了华为…

关于安卓grovvy开发(一)bugly混淆自动上报

背景 打包,mapping,上传,这些是不是都困扰了开发很多。苦于复制粘贴?反正我是。于是,有了这个 最终效果 最终的效果,就是点击项目的打包gradle,复制mapping文件且进行bugly混淆的自动上报。 …

基于单片机超声波测距语音播放

一、系统方案 本设计采用52单片机作为主控器,HC-SR04测距,液晶1602显示,按键设置报警阀值,语音报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uint dist; // 保存超声波模块测量到的结果…

基于SSM的网上医院预约挂号系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Linux 部分IO函数

open、close函数 标准C库IO函数的说明文档在 man 3 open Linux系统IO函数说明文档在man 2 open open()函数打开文件 && errno 例子:目录下没有a.txt那么运行的时候会报错 open创建新文件 本来没有 create.txt 运行完有了 ll可看文…

【LeetCode-中等题】209. 长度最小的子数组

文章目录 题目方法一:滑动窗口:方法二: 题目 方法一:滑动窗口: 参考图解动画:长度最小的子数组 class Solution { //方法一:滑动窗口public int minSubArrayLen(int target, int[] nums) {int n nums.l…

解决jsp/html界面跳转servlet出现404错误的方法

解决jsp/html界面跳转servlet出现404错误的方法 最近在学习黑马项目过程中遇到的问题 问题一: 检查页面的跳转路径和名称拼写是否正确 问题二: tomcat发布项目时所使用的路径名称与项目不同 在idea右上角点击如图圈住的按钮 在deployment中更改出现…

【SpringCloud微服务项目学习-mall4cloud项目(1)】——环境部署,构建与运行

环境部署,构建与运行 mall4cloud项目介绍源码地址 开发环境搭建pom搭建项目运行前端运行 mall4cloud项目介绍 mall4j商城系统 首先介绍一下mall4j,是一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布…