SMBus协议(一):什么是SMBus协议?

       

目录

一.协议版本

二.设计目标

 三.协议特点

3.1 基于OSI模型的分层协议架构

3.2 关键协议机制

四.应用场景


        接触一个新协议,我们先从概念和背景开始认识。

        SMBus(System Management Bus,系统管理总线) 是一种基于 I2C 总线设计的双线制串行通信协议,专为系统管理任务优化而设计,例如电源管理、温度监控、电池通信等。它由 Intel 和 Duracell 于 1995 年提出,现由 SBS-IF(System Management Interface Forum) 维护。

一.协议版本

        SMBus协议版本经历了以下版本演进:

SMBus版本演进
版本 发布时间 主要更新
1.0 1995年 初始版本,支持 100 kHz 总线
2.0 2000年 引入 ARP 协议、PEC 校验
3.0 2014年

(1)引入400 kHz和1 MHz总线速度等级,扩展了SMBus在高速场景的应用

(2)新增支持32位(Write 32/Read 32)和64位(Write 64/Read 64)数据传输协议

3.1 2018年

(1)引入“Default Slave Address”概念,设备上电后从ROM加载只读地址,简化初始化配置

(2)强化Packet Error Checking(PEC)的实现细节,提升数据传输可靠性

3.2 2022年

(1)将“

### Verilog 中 `if` 语句嵌套的用法 在 Verilog 中,`if` 语句用于条件判断。当需要更复杂的逻辑控制时,可以在个 `if` 或者 `else if` 块内再定义另个 `if` 语句,形成所谓的嵌套结构。 #### 语法说明 基本形式如下: ```verilog if (condition_1) begin // Statements when condition_1 is true if (condition_2) begin // Statements when both conditions are true end else begin // Statements when only condition_1 is true but not condition_2 end end else begin // Statements when neither of the above conditions hold end ``` 这种结构允许设计人员实现多级分支逻辑处理,在硬件描述语言编程中非常有用。 #### 实际应用案例 下面给出段具体的例子来展示如何使用嵌套的 `if...else` 结构: 假设有个简单的状态机模块,它接收两个输入信号 `input_a` 和 `input_b` 并根据这些输入决定下个状态 `next_state` 的值[^1]。 ```verilog module state_machine ( input wire clk, input wire reset, input wire input_a, input wire input_b, output reg [1:0] next_state ); always @(posedge clk or posedge reset) begin if (reset) begin next_state <= 2'b00; end else begin case(next_state) 2'b00 : begin if(input_a && !input_b) begin next_state <= 2'b01; end else if (!input_a && input_b) begin next_state <= 2'b10; end else begin next_state <= 2'b00; end end 2'b01 : begin if(!input_a && !input_b) begin next_state <= 2'b11; end else begin next_state <= 2'b01; end end default : begin next_state <= 2'b00; end endcase end end endmodule ``` 在这个例子中可以看到多个层次上的 `if` 判断被用来精确地控制不同状态下应该采取的动作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈工程师修炼日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值