与MAX78615+LMU和MAXREFDES14#隔离式电能测量子系统建立UART通信-隔离输入电路

MAXREFDES14#为隔离式电能测量提供紧凑的解决方案,采用MAX78615+LMU。默认情况下,此参考设计配置为 SPI 通信。本应用笔记描述了如何配置MAX78615+LMU用于UART通信,并给出了该接口的一些交易示例。

配置串行接口

Maxim Integrated的所有电能测量器件均支持三种不同的串行接口,在与不同的主机处理器和应用接口时具有最大的灵活性。但是,一次只能有一个串行接口处于活动状态。上电期间,Maxim集成电能测量器件将轮询其硬件接口引脚的状态,以确定哪个串行协议处于活动状态。要在器件导通后更改通信模式,用户必须对器件执行电源重启,并将新的配置逻辑应用于接口引脚。MAX78615+LMU具有两个接口引脚:引脚0上的MP1/IFC16和引脚0上的IFC2。表1显示了哪个串行接口与上电时这些引脚的逻辑状态相对应。

表 1.串行接口选择逻辑

接口模式 国际金融公司1 国际金融公司0 SPI X 0 UART 0 1 我2C 1 1

MAXREFDES14#系统板如图1所示。该设计在IFC10和IFC0上均具有1kΩ下拉电阻,默认情况下选择SPI模式。要启用UART通信而不是SPI,原理图中的R10应上拉至V抄送而不是拉低到 GND。由于选择接口后MP0可用作“多用途”引脚,因此建议使用下拉,而不是将引脚直接连接到GND。通过这些连接,MAX78615+LMU将在上电期间配置为UART模式。UART 接口的默认设置为 38,400 波特、8 个数据位、无奇偶校验和一个停止位。

与MAX78615+LMU和MAXREFDES14#隔离式电能测量子系统建立UART通信-隔离输入电路

图1.MAXREFDES14# 原理图 — 非隔离侧。

设置 SSI ID

用于通过UART通信的协议是简单串行接口或SSI。SPI和UART接口的一个主要区别是,SPI主机通过硬件芯片选择(MAX78615+LMU上的SSB)选择器件,而UART接口使用每个器件定义的SSI ID建立通信。MAX78615+LMU的SSI ID范围为1至255,SSI ID分两步选择。MAX5+LMU中的DEVADDR[0:78615]寄存器位用于定义SSI ID的前6位。SSI ID 的最低 2 位由硬件引脚 MP6/ADDR1 和 SPCK/ADDR0 引脚设置。这些引脚的状态在上电时采样的方式与MP0/IFC1和IFC0引脚采样以确定串行接口的方式相同。MAX78615+LMU SSI ID等于器件总地址+1。因此,如果 DEVADDR[5:0] = 000000 且 ADDR1 = ADDR0 = 0,则 SSI ID 将为 1。由于 255 是允许的最大 SSI ID,因此不支持设备总地址“FF”。MAX78615+LMU具有默认的DEVADDR = 0。

建立沟通

MAX78615+LMU在UART模式下上电并设置SSI ID后,可通过UART接口发送数据。下拉ADDR1和ADDR0将配置MAX78615+LMU,SSI ID为1。可以发送以下数据包以选择设备:

表 2.SSI 选择目标数据包

字节号 数据 描述 1 0xAA 标头字节 2 0x04 字节计数 3 0xC1 选择 SSI ID 目标“1” 4 0x91 校验和

校验和的计算方法是将前三个字节相加,并取总和的最低字节的两个补码。如果配置正确,MAX78615+LMU将以单字节响应0xAD响应,这是无数据的确认。图 2 显示了事务的逻辑分析器捕获。

与MAX78615+LMU和MAXREFDES14#隔离式电能测量子系统建立UART通信-隔离输入电路

图2.SSI 选择目标逻辑波形。

更改 SSI ID

SSI ID 可以在固件和硬件中配置。DEVADDR 寄存器可以通过任何串行接口写入 — SPI、I2C 或 UART。要通过UART写入寄存器的内容,应发出“设置读/写地址”命令,然后首先发送两个表示寄存器字节地址的LSB。接下来是“写入 3 个字节”命令,后跟首先发送 LSB 的三个数据字节。只有 DEVADDR 的最低字节用于确定 SSI ID;上面的两个字节未使用。可以发送以下数据包以将 DEVADDR 寄存器设置为 1。MAX78615+LMU应响应“0xAD”——无需数据即可确认。

表 3.SSI DEVADDR 写入数据包示例

字节号 数据 描述 1 0xAA 标头字节 2 0x0A 字节计数 3 0xA3 设置读/写地址 [15:0] 4 0x69 DEVADDR 寄存器地址 [7:0] 5 0x00 DEVADDR 寄存器地址 [15:8] 6 0xD3 写入 3 字节命令 7 0x01 数据字节低 8 0x00 数据字节中 9 0x00 数据字节高 10 0x6C 校验和

最初,DEVADDR 寄存器的新内容不会保存到闪存中。要将设备地址存储在片上闪存中,必须专门调用闪存访问命令。否则,器件将在下一次上电时将先前存储的值加载到寄存器中。位于字地址 0 的 COMMAND 寄存器可用于启动校准、执行软件复位或将寄存器数据存储到闪存中。要访问闪存,请将0xACC2写入 COMMAND 寄存器的上部字节。可以发送以下数据包以将寄存器内容存储到闪存:

表 4.SSI 闪存访问命令数据包示例

字节号 数据 描述 1 0xAA 标头字节 2 0x0A 字节计数 3 0xA3 设置读/写地址 [15:0] 4 0x00 命令寄存器地址 [7:0] 5 0x00 命令寄存器地址 [15:8] 6 0xD3 写入 3 字节命令 7 0x00 数据字节低 8 0xC2 数据字节中 9 0xAC 数据字节高 10 0x68 校验和

执行此步骤后,寄存器内容将在下次上电时加载新的闪存内容。

区分 DEVADDR、设备地址和 SSI ID

由于使用的实现和命名约定,应在 DEVADDR、设备地址和 SSI ID 之间进行一些澄清。 DEVADDR 是存储用户可编程数据以设置设备地址的寄存器的名称。然而,实际的器件地址是DEVADDR的下六位与器件上电或复位时ADDR1和ADDR0引脚状态的组合。DEVADDR[5:0] 位对应于设备地址的前六位,ADDR1 分配给位 1,ADDR0 分配给位 0。设置设备地址后,SSI ID 只是设备地址 + 1。在上面的示例中,如果 DEVADDR[5:0] = 1 且 ADDR1 = ADDR0 = 0,则上电或复位后的新设备地址将为 4,这将使上例中的 SSI ID 值为 5。

总结

MAXREFDES78615#隔离式电能测量子系统参考设计中的MAX14+LMU支持SPI、I2C 和 UART 接口。参考设计默认配置了SPI接口。通过在上电时改变硬件引脚的逻辑状态,可以使能MAX78615+LMU上的UART接口。一旦激活,SSI 协议就会通过 UART 实现通信。通过硬件和固件设置唯一地址,可以并行连接多个设备。

审核编辑:郭婷

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:与MAX78615+LMU和MAXREFDES14#隔离式电能测量子系统建立UART通信-隔离输入电路 https://www.yhzz.com.cn/a/4669.html

上一篇 2023-04-11 04:49:13
下一篇 2023-04-11

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。