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 个数据位、无奇偶校验和一个停止位。
图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 显示了事务的逻辑分析器捕获。
图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 实现通信。通过硬件和固件设置唯一地址,可以并行连接多个设备。
可燃气体检测仪与有毒气体检测仪有什么不同
YouTube虚拟现实应用登陆三星的Gear VR
由腾讯AI Lab打造的腾讯辅助翻译,探索人工智能赋能翻译行业新思路
自动驾驶部门要不要独立这个问题 需要细致的考虑和严格的成本核算
英国将投入68亿英镑将用于推动5G网络实现全国范围覆盖
与MAX78615+LMU和MAXREFDES14#隔离式电能测量子系统建立UART通信
Cadence 推出新一代可扩展 Tensilica 处理器平台,推动边缘普适智能取得新进展
海信家电拟斥资214亿日元认购三电控股股份
你知道哪些致命性的网络安全错误
AMD下下代APU曝光 工艺升级7nm+代号Cézanne
生态环境中,多参数水质在线监测如何操作?
软件仿真提高PCB设计效率
美图V7全新配色花园粉蝶正式上架搭载了骁龙845顶级移动芯片
Kinect是什么意思
什么是APON (ATM Passive Optical N
扫频接收机中数字扫描控制器设计方案
诺基亚808 PureView回顾,41MP的像素记录2018年才被打破
LED光源在DLP投影设备中的应用
射频无源器件的介绍和对无线通信的影响详细说明
单片机里面的寄存器简易控制教程解读