首页 > 其他分享 >smbus协议分析

smbus协议分析

时间:2023-08-13 20:01:59浏览次数:28  
标签:分析 协议 写入 偏移量 地址 base address bit smbus

1 SMBus简介

smbus是i2c的一个子协议。它大部分基于I2C总线规范。

系统管理总线(SMBus)是一个双线接口,通过它,各种系统组件芯片和设备可以相互通信,也可以与系统的其余部分进行通信。它基于I2C总线的工作原理。SMBUS有两条信号线,分别为SMBCLK与SMBDAT,即一条时钟线一条数据线,并且这两条信号线都是双向的,当总线空闲时,这两条信号线都是高电平。SMBus为系统和电源管理相关任务提供控制总线。系统可以使用SMBus将消息传递到设备和设备之间,而不使用单独的控制线。可减少引脚数。

2 读取smbus数据的几种方法

read byte:

1:写入slave+1,写入地址为base address+0x04 ,bit 0 置一表示读操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入操作方式0x48,写入地址为base address+0x02

4:读出数据,读数据的地址为base address +0x05


read Word:

1:写入slave+1,写入地址为base address+0x04,bit 0 置一表示读操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入操作方式0x4C,写入地址为base address+0x02

4:读出数据,读数据的地址为base address +0x05,base address +0x06


write byte:

1:写入slave,写入地址为base address+0x04,bit 0 置零表示写操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入需要的数据:一个byte,写数据的地址为base address +0x05

4:设置byte的工作方式0x48,写入地址为base address +0x02


write Word:

1:写入slave,写入地址为base address+0x04,bit 0 置零表示写操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入需要的数据:一个word,写数据的地址为base address +0x05,base address +0x06

4:设置word的工作方式0x4C,写入地址为base address +0x02


read block:

1:写入slave+1,写入地址为base address+0x04,bit 0 置一表示读操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入block的工作方式0x54,写入地址为base address + 0x02

4:读出count地址为 base address + 0x05,读出数据,地址为 base address + 0x07

5:清标志位,写0x80到base address + 0x00,执行前一步,如此反复,直到读出count个byte


write block:

1:写入slave+1,写入地址为base address+0x04,bit 0 置一表示写操作

2:选择需要的寄存器,设置其偏移量,地址为base address+0x03

3:写入count地址为 base address + 0x05,写入数据,地址为 base address + 0x07

4:设置block工作方式0x54,地址为base address + 0x02

5:清标志位,写0x80到base address + 0x00,执行第三步,再跳到此步,直到写入count个byte。

3 编程示例

smbus协议分析_数据

标签:分析,协议,写入,偏移量,地址,base,address,bit,smbus
From: https://blog.51cto.com/u_16204156/7069342

相关文章

  • Django Form钩子方法源码分析
    1.用法 在Form类中定义名称为 clean_+form字段名称的方法校验成功返回self.clean_data["字段名"]校验失败会raise报错 2.源码分析先从is_valid方法开始分析 当self._is_bound=True,self.errors为False时校验成功1. self._is_bound 当django项目......
  • 元宇宙时代超高清视音频技术白皮书关于流媒体协议和媒体传输解读
    流媒体协议元宇宙业务场景对流媒体传输的实时性和互动性提出了更高的要求,这就需要在传统的RTMP、SRT、HLS等基础上增加实时互动的支持。实时互动,指在远程条件下沟通、协作,可随时随地接入、实时地传递虚实融合的多维信息,身临其境的交互体验。实时互动作为下一代互联网基础设施,实......
  • 导入商品浏览功能代码_需求分析和设计
          ......
  • DNS_PROBE_FINISHED_BAD_CONFIG 错误分析
    常见错误电脑上能够正常使用微信电脑版访问网络,但在Chrome浏览器里无法打开任何网页,出现了DNS_PROBE_FINISHED_BAD_CONFIG的提示。这种错误通常是由于DNS(DomainNameSystem,域名系统)配置错误引起的。在本文中,我将详细解释DNS_PROBE_FINISHED_BAD_CONFIG错误的含义,并提供......
  • DNS_PROBE_STARTED 错误分析
    这种错误通常是由于DNS(DomainNameSystem,域名系统)解析问题引起的。在本文中,我将详细解释DNS_PROBE_STARTED错误的含义,并提供一些可能的原因和解决方法。一、DNS_PROBE_STARTED错误的含义当您在Chrome浏览器中访问网页时,浏览器会首先尝试将网站域名(如www.example.com)解析为对应......
  • 因为 SAP UI5 版本升级引起的问题又一例 - 如何分析问题根源
    本教程之前的文章,我们介绍了SAPUI5库文件版本相关的知识:SAPUI5应用开发教程之八十四-如何指定SAPUI5应用程序基于某个特定的版本运行同样一份源代码,使用不同的SAPUI5版本加载,行为可能会有所差异:SAPUI5应用开发教程之一百一十八-如何分析因为SAPUI5版本......
  • SAM-U升级SAM | 带你分析SAM的弱点并重新优化设计填补空缺
    前言 最近,SAM向通用人工智能迈出了重要的一步。同时,它的可靠性和公平性也引起了人们的极大关注,尤其是在医疗保健领域。在这项研究中,作者提出了SAM线索的Multi-box即时触发不确定性估计,以证明分割病变或组织的可靠性。作者使用具有先验分布参数的蒙特卡罗来估计SAM预测的分布,使......
  • 拓端tecdat|R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人
    最近我们被客户要求撰写关于k-means聚类的研究报告,包括一些图形和统计输出。简介假设我们需要设计一个抽样调查,有一个完整的框架,包含目标人群的信息(识别信息和辅助信息)。如果我们的样本设计是分层的,我们需要选择如何在总体中形成分层,以便从现有的辅助信息中获得最大的优势。换句话......
  • 图加速数据湖分析-GeaFlow和Apache Hudi集成
    表模型现状与问题关系模型自1970年由埃德加·科德提出来以后被广泛应用于数据库和数仓等数据处理系统的数据建模。关系模型以表作为基本的数据结构来定义数据模型,表为二维数据结构,本身缺乏关系的表达能力,关系的运算通过Join关联运算来处理。表模型简单且易于理解,在关系模型中被广......
  • oracle归档日志暴增原因分析,Oracle归档日志满导致数据库性能异常慢 转发 https://b
    ============= oracle数据库archivelog暴增分析====================前言归档量突然增长到981G/天,导致归档目录使用率告警归档日志量异常暴增会导致磁盘空间爆满,数据库异常1、归档日志量统计SELECTTRUNC(FIRST_TIME)"TIME",SUM(BLOCK_SIZE*BLOCKS)/1024/1024/102......