大家好,又见面了,我是你们的朋友全栈君。
QI通信数据格式编码:
协议规定时钟信号的频率应该是Fclk = 2(4%)KHZ,所以每一位的传输时间约500us,如图所示
数据 0:500us的高电平,或者500us的低电平
数据 1:250us高电平+250us低电平,或者250us低电平+250us高电平
电源接收端(移动设备端)采用 11 位异步串行格式传输数据字节
数据编码格式为:起始位0、 8 位数据位、一个奇偶校验位(如果数据字节包含偶数个 1 位,则奇偶校验位为 1。否则为零)和一个停止位1组成。——以值0x35为例:
数据包结构:数据包格式由四部分组成:序言(序言最小为11位,最大为25位,序言全部为1),报头,消息和校验和。
说明:序言使功率发射器同步输入数据并准确检测报头的起始位。报头、消息和校验和由三个或更多字节组成的序列组成。
上图为数据包格式
功率发射端在下列情况可视为正确接收到了数据包
1、功率发射器检测到至少 4 个前导位,后面跟着一个起始位。
2、功率发射器没有在组成数据包的任何字节中检测到奇偶校验错误(这包括头字节、消息字节和校验和字节)。
3、功率发射器检测到校验和字节的停止位。
4、功率发射器确定校验和字节是一致的。
说明:如果功率发射机没有正确接收到数据包,功率发射机应丢弃包,不使用其中包含的任何信息,(在 ping 阶段以及标识和配置阶段,这通常会导致超时,它使功率发射机消除功率信号)。
报头的组成:报头应该由一个表示包类型的字节组成。此外,报头是隐式的提供包中包含的消息的大小。
消息的大小
数据包类型:
消息的组成:消息的第一个字节 B0,直接跟在报头后面。
校验和的组成:校验和由一个字节组成,可使功率发送端能够检查传输数据
错误。
功率变送器的校验和计算如下:
说明:其中 C 表示计算的校验和,H 表示报头,B0, B1,…,Blast 表示消息。如果计算的校验和。
信号强度包(0x01)的组成:
该字段中的无符号整数值应该用于表示发射端和接收端的耦合程度,功率接收端应该在Ping期间监视适当变量的值,如整流电压,开路电压(在输出断开开关处测量),接收到的电源(如果在数字 Ping 过程中,整流电压被主动或被动箝位),该值应该随着耦合程度的增加而增加。信号强度值表示为:信号强度值=U/U(max)·256 在Ping 期间 U 是被监控的变量并且 max 是电源
接收器期望的最大值。
注:当 U≥最大值时,应将信号强度值设置为 255。
功率传输包(0x02)的组成:
接收端功率传递值:
0x00———–请求发送端终止功率传递
0x01———–指示接收端电池充满电
0x02———–内部错误,软件或逻辑错误
0x03———–接收端设备内部温度过高
0x04———–接收端设备接收电压过高
0x05———–接收端设备电流过高
0x06———–接收端内部电池故障
0x07———–接收端请求重新配置
0x08———–数据错误
0x0A———–协商功率级别
0x0B———–异物检测
控制错误包(0x03)
只接收8位功率包 (0x04)
移动接收端接收到功率配置包。功率计算如下:接收功率=(接收功率值/128)X(最大功率值/2)x10(电源类型次方)W
这里,最大功率值和电源类型是配置包中包含的值
注:如果接收端没有收到配置包则将发送其自己的配置包。
充电状态包(0x05)
该字段中包含的整数表示该储能设备的充电水平,其百分比为充满电的能级。为清晰起见,值 0 表示一个空的能量存储设备,值 100 指充满电的储能装置。如果移动设备不包含可充电能源存储设备或如果电源接收器不能提供充电状态信息,此字段应包含 0 xff 价值。所有其他值均已保留,不应出现在充电状态包中。
电源控制保持包(0x06)
电源控制暂停时间。此字段中包含的无符号整数包含时间量在收到控制错误包后的几毫秒内,功率发送器应在此之前等待调整初级电池电流。
注:充电状态包是可选的,这意味着电源接收器可以选择不发送电荷状态数据包。
配置包 (0x51)
Power Class该字段应设置为“00”。
Maximum Power Value该字段中包含的无符号整数值指示电源接收器期望在输出端提供的最大功率,此最大功率计算如下:
Prop:如果该位设置为零,则电源发射机应避免发送响应。如果这个位是设置为 1 时,电源发射器应在配置结束后发送 ACK 响应
数据包向电源接收器表明它正在进入协商阶段。
Reserved:保留的这些位应该设置为零。
Count :这个字段包含一个无符号整数值,表示可选配置的数量电源接收器在识别和配置阶段传输的数据包。
8 位接收功率包(0x04)和 24 位接收功率包(0x31)
该字段中包含的整数值为接收到的功率值,即功率接收器
在接收到的功率包中报告的功率值
标识包(0x71)
此字段由主要版本和次要版本组成,用于确定要修改的版本电源接收器符合本规格
Manufacture Code:该字段中包含的位串标识电源的制造商接收器
Ext:
如果这个位设置为0,则位串制造商代码||基本设备标识符识别电源接收器。
如果这个位设置为 1,那么这个位串就是 1 制造商代码||基本设备标识符||扩
展设备标识符(扩展标识包(0x81))
无线电源ID包 (0x54和0x55)
CRC:此字段应包含 WPID 字段的循环冗余检查
WPID: 表示其中包含的 24 位字符串无线电源ID 包
扩展标识包(0x81)
用于延长设备标识符,该字段中包含的位串有助于标识电力接收器。
24位接收功率包(0x31)
Reserved:这些位应设为零.
Mode:该字段中的位串提供有关接收电源的附加信息。
Received Power Value:此字段中包含的无符号整数表示在时间窗口中,功率接收器通过其界面接收到的功率在配置包中指出。它表示为= (接收电源值/32768)×最大电源。在此计算中,功率发射器使用功率中包含的最大功率转让合同。接收到的结果是以瓦特为单位的。
只适用于一般请求包 (0x07)
此无符号整数值指示所请求的信息的类型。请求一个特定包,将请求字段
设置为该包的头。例如,请求电源发送器标识包,将请求字段设置为 0x30。
只特定请求包 (0x20)
该字段中的无符号整数包含请求和请求参数,具体如下图
结束协商(0x00)
此字段中包含的无符号整数值提供在协商阶段修改的传输参数
保证功率(0x01)
此字段包含所需的保证功率(单位为)0.5 W。例如,值 10 用于查询功率发射器是否支持保证功率值 30 查询,保证功率为 15 W。
接收到的数据包类型 (0x02)
接收到的数据包报头。如这个字段应该设置为 0x31,表示电源接收器打算在功率
传输阶段使用 24 位接收的功率包。
FSK 参数 (0x03)
Reserved:保留。这些位应设为零。
Polarity:该位为0指示功率发射机使用正的 FSK 极性。
Depth:该字段中包含的无符号整数选择 FSK 调制深度。
最大功率(0x04)
Maximum Power Value:此字段中包含的整数值为功率接收器在接收到的功率包中报告的接收功率值,电源接收器应将此值设置为最大电量的两倍作为它期望在输出端提供的功率值。
FOD 状态包 (0x22)
Mode:该字段表示功率接收器的工作模式,具体值如下表
重新协商包 (0x09)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150227.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...