ST75MM电力线通信片上系统使用指南
在电力线通信领域,ST75MM电力线通信片上系统是一款备受关注的产品。本文将依据其用户手册,为电子工程师详细介绍ST75MM的使用方法,包括主机接口、命令、管理信息库(MIB)以及配置等方面的内容。
文件下载:ST75MM.pdf
一、主机接口
1.1 接口设置
主机接口用于将ST75MM与主机控制器连接,实现数据、配置和控制消息的交换。主机控制器通过半双工异步串行端口(UART)加上额外的同步信号TREQ来管理该接口。具体配置如下:
- 2线UART端口设置为(57600, 1, N, 1),无流控制。
- 单线路推挽输出(TREQ线)。
1.2 操作方式
通信链路为半双工串行链路,采用主从通信模式,ST75MM作为通信的主设备。当ST75MM内部触发事件(如接收到PLC帧、完成请求活动或出现错误/警告事件)时,会自动立即通过串行链路将信息发送给主机控制器。主机控制器需持续监控UART端口,解码检测到的帧并向ST75MM发送确认消息。当主机控制器需要向ST75MM发送命令时,需将TREQ信号拉低,等待ST75MM发送“状态消息”(SM),检测到SM后再发送消息请求。ST75MM会立即以确认字节响应,若命令需要进一步通信,会在操作完成后作为内部触发事件发送结果。
1.3 确认机制
为提高串行链路的健壮性,除SM外的每个帧都必须在给定的TACK时间内得到接收方的确认,否则发送方会重复发送一次相同消息。若第二次发送后仍未收到确认,发送方将丢弃该消息,不再重复发送。确认字节仅与帧的格式相关,不反馈命令的有效性或执行情况,有0x06(ACK,表示接收命令格式正确)和0x15(NAK,表示接收命令有错误,如长度或CRC错误)两种值。
1.4 命令帧格式
| 命令帧格式如下: | Starting Byte | Field | Size | Value | Description |
|---|---|---|---|---|---|
| 0 | Frame start | 1 | 0x02/ 0x03 | 标记命令开始,重复消息用0x03,主机控制器收到以0x03开头的消息需验证是否已接收过 | |
| 1 | Length | 1 | Any | 第一个字节后的有效负载字节数 | |
| 2 | Command code | 1 | Any | 标识要执行的命令 | |
| 3 | Payload | 1...256 | Any | 包含与命令相关的参数 | |
| Length + 4 | Checksum | 2 | Any | 长度、命令代码和有效负载字段的和,以16位值表示,MSB优先发送 |
1.5 状态消息帧格式(SM)
| SM的格式如下: | Starting Byte | Field | Size | Value | Description |
|---|---|---|---|---|---|
| 0 | SM start | 1 | 0x3F | 标记SM的开始 | |
| 1 | Modem status | 1 | Any | 位掩码显示ST75MM调制解调器的状态 | |
| 2 | MIB status | 2 | Any | 位掩码显示哪些MIB对象已被主机控制器重新配置 |
1.6 TREQ管理
主机控制器要向ST75MM发送命令时,先将TREQ线拉低,等待SM帧。SM帧开始后,主机控制器将TREQ线拉高,收到完整SM后,验证PLC Busy标志是否禁用。若禁用,主机控制器在TSR时间内发送命令,并在TACK时间内等待ST75MM的确认字节。若未收到确认字节,主机控制器可发起新事务,以0x03作为帧起始字节重新发送命令。
1.7 操作示例
文档中给出了DL_DATA_SLAVE.indication、MIB_Write.request和MIB_Read.request等操作的示例,展示了不同情况下主机控制器与ST75MM之间的通信流程。
二、主机接口命令
2.1 可用命令
| Command | .request (positive) | .confirm | .indication (negative) | .confirm | Description |
|---|---|---|---|---|---|
| MIB_Write | 0x08 | 0x09 | 0x0A | 0x0B | 修改特定MIB对象的值 |
| MIB_Read | 0x0C | 0x0D | 0x0F | 读取特定MIB对象的当前值 | |
| DL_DATA_SLAVE | 0x26 | 通知通过电力线接收到的数据 | |||
| HI_Ping | 0x2C | 0x2D | 用于监测串行链路和调制解调器的健康状态 | ||
| HI_Error | 0x36 | 通知接收到未知命令 | |||
| BIO_Reset | 0x3C | 0x3D | 0x3E | 0x3F | 触发软件复位或通知内部触发的复位事件 |
2.2 错误代码
| Value | Error | Description |
|---|---|---|
| 0x02 | WPL | 错误的参数长度 |
| 0x03 | WPV | 错误的参数值 |
| 0x04 | BUSY | 执行操作的子系统繁忙 |
| 0x06 | NOT_PRESENT | 执行操作的子系统不存在或未连接 |
| 0x07 | DISABLED | 执行操作的子系统被禁用 |
| 0x08 | TIMEOUT | 操作未在规定时间内完成 |
| 0xFF | ERROR | 通用错误 |
2.3 MIB_Write命令
由主机控制器发起,请求修改特定MIB对象的值。请求消息的有效负载包含MIB对象索引和预期的新值,确认消息携带操作成功信息。ST75MM调制解调器在特定MIB对象因内部状态、事件或PLC请求改变值时会发出指示消息。
- MIB_Write request:由主机控制器发出,命令代码0x08,有效负载大小可变,包含MIB对象索引和MIB内容。
- MIB_Write positive confirm:由ST75MM发出,命令代码0x09,有效负载大小1字节,包含MIB对象索引。
- MIB_Write negative confirm:由ST75MM发出,命令代码0x0B,有效负载大小1字节,包含错误代码。
- MIB_Write indication:由ST75MM发出,命令代码0x0A,有效负载大小可变,包含MIB对象索引和MIB值。
2.4 MIB_Read命令
由主机控制器发起,请求读取特定MIB对象的当前值。请求消息的有效负载指定MIB对象索引,确认消息包含MIB对象索引和当前值。
- MIB_Read request:由主机控制器发出,命令代码0x0C,有效负载大小1字节,包含MIB对象索引。
- MIB_Read positive confirm:由ST75MM发出,命令代码0x0D,有效负载大小可变,包含MIB当前值。
- MIB_Read negative confirm:由ST75MM发出,命令代码0x0F,有效负载大小1字节,包含错误代码。
2.5 BIO_Reset命令
用于主机控制器强制对ST75MM调制解调器进行软件复位,或在开机、硬件复位后,以及ST75MM调制解调器达到不稳定状态并内部触发软件复位时进行通知。
- BIO_Reset request:由主机控制器发出,命令代码0x3C,有效负载大小1字节,保留位设置为0。
- BIO_Reset positive confirm:由ST75MM发出,命令代码0x3D,有效负载大小1字节,保留位。
- BIO_Reset negative confirm:由ST75MM发出,命令代码0x3F,有效负载大小1字节,包含错误代码。
- BIO_Reset indication:由ST75MM发出,命令代码0x3E,有效负载大小1字节,包含复位原因。
2.6 DL_DATA_SLAVE命令
提供作为从节点的数据通信功能,如电表到集中器通信中的电表或电表到家庭通信中的客户设备。只有协议类型等于0的命令才会被处理,其他协议类型的命令将被丢弃。
- DL_DATA_SLAVE indication:由ST75MM发出,命令代码0x26,有效负载大小可变,包含协议类型、请求ID和应用有效负载。
2.7 HI_Ping命令
可定期测试主机控制器与ST75MM调制解调器之间的串行链路以及调制解调器本身的健康状态。若HI_Ping失败,需进行硬件复位以恢复ST75MM的功能。
- HI_PING request:由主机控制器发出,命令代码0x2C,有效负载大小可变,包含测试序列。
- HI_PING positive confirm:由ST75MM发出,命令代码0x2D,有效负载大小可变,包含与请求命令中相同的测试序列。
2.8 HI_Error命令
当ST75MM接收到格式正确但命令代码未被识别的命令帧时发出。
- HI_ERROR indication:由ST75MM发出,命令代码0x36,有效负载大小1字节,包含接收到的命令代码。
三、管理信息库(MIB)
3.1 MIB对象
| ST75MM调制解调器中的MIB对象如下: | Index (1) | Name | Size | Rights (2) | Description |
|---|---|---|---|---|---|
| 1 | MAC data | 12 | RW | 与MAC层相关的统计信息 | |
| 2 | PHY configuration | 6 | RWCS | PHY层配置 | |
| 3 | MAC configuration | 2 | RWCS | MAC层配置 | |
| 6 | Manufacturer data | 22 | RWCS | 节点标识参数 | |
| 14 | HI timings | 3 | RW | 主机接口(UART)时序 | |
| 18 | ZC alarm | 1 | RWI | 市电无过零检测报警 | |
| 23 | PHY custom frequency | 17 | RWC | 自定义频率设置 | |
| 24 | PHY statistics | 9 | RW | PHY层统计信息 |
注:未列出的索引范围在(0, 34)的对象为保留对象,主机控制器应避免更改其值并忽略相关的MIB_Write指示。R = 读,W = 写,C = 启动时自动重新配置,S = 影响SM中的MIB状态,I = 可生成自发的MIB_Write.indication。
四、ST75MM配置
4.1 PHY配置(MIB索引2)
要将ST75MM调制解调器配置为CENELEC 132.5 kHz频段的单通道接收器,需将MIB对象2编程为{0x31, 0x95, 0x0A, 0x3B, 0x58, 0x9B}。
4.2 MAC配置(MIB索引3)
要使ST75MM调制解调器工作在正常MAC模式,需将MIB对象3编程为{0x01, 0x00}。
4.3 制造商数据(MIB索引6)
调制解调器标识符和地址选择需由制造商、网络管理员或相关机构分配,主机控制器将这些值写入MIB对象6。在此之前,调制解调器只能接收广播帧。
4.4 自定义频率(MIB索引23)
要将ST75MM调制解调器配置为CENELEC 132.5 kHz频段的单通道接收器,需将MIB对象23编程为{0x08, 0x7A, 0xE1, 0x07, 0x0A, 0x3D, 0x07, 0xC2, 0x8F, 0x09, 0x5C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00},设置通道对为(132.5 kHz, 110 kHz)。
五、总结
ST75MM电力线通信片上系统为电子工程师提供了强大的电力线通信解决方案。通过合理配置主机接口、使用各种命令以及管理MIB对象,工程师可以实现高效、稳定的电力线通信。在实际应用中,工程师需要根据具体需求进行适当的配置和调整,以确保系统的正常运行。大家在使用ST75MM的过程中,有没有遇到过什么特别的问题呢?欢迎在评论区分享交流。
-
电力线通信
+关注
关注
4文章
98浏览量
27377 -
使用指南
+关注
关注
1文章
51浏览量
7363 -
ST75MM
+关注
关注
0文章
2浏览量
8301
发布评论请先 登录
STEVAL - ISA175V1:智能电表和电力线系统的理想电源解决方案
ST2100宽带电力线通信SoC:高性能与多功能的完美结合
力合微电子参加《能源领域低压电力线载波双模通信标准》工作组会议
深入解析Atmel ATPL00B:电力线通信的理想选择
ATPL230A电力线通信设备:特性、应用与设计要点
深入解析Atmel ATPL250A:电力线通信的高效解决方案
探索Atmel ATPL210A:PRIME合规的电力线通信SoC
Echelon电力线智能收发器:创新技术引领智能家居新时代
PL 3120 和 PL 3150 电力线智能收发器:设计与应用全解析
探索MAX2991:电力线通信的卓越解决方案
MAX2980:高性能电力线通信模拟前端收发器
探索CY8CPLC10:电力线通信的强大解决方案
THVD8010 RS - 485收发器:电力线通信的理想之选
THVD8000 RS - 485收发器:电力线通信的理想之选
AFE031 适用于驱动低阻抗线路的 1500mA、集成电力线通信 (PLC) 模拟前端技术手册
ST75MM电力线通信片上系统使用指南
评论