Solution: Electronic Shelf Label¶
1 功能概述¶
此sample为pan107x
(40pin芯片)在电子价签板下的应用。
具体支持的feature如下:
外挂spi flash:外挂flash 存储价签图案数据,每隔45s通过dma方式从flash读取一个图案
epd墨水屏:外挂flash读取的数据通过3线spi传输给墨水屏,启动墨水屏刷屏
低功耗模式:刷图完成后芯片及epd均进入休眠模式,模块进入超低功耗模式(standby),定时15s唤醒
RF发送:芯片唤醒进入rf发送流程
每3次发送完成后,启动刷屏流程,1~4步骤重复
2 环境要求¶
board: `pan107x 40pin esl价签板
外挂flash、墨水屏
电流监测工具nrf ppk
4 演示说明¶
准备esl价签板,107/FM/EPD跳线帽短接
插入epd2266 墨水屏(SE2266JS0C5)
打开PPK并使用其供电3.3v
观测PPK电流变化及墨水屏刷屏过程(45s刷屏一次),电流每15s进入低功耗
5 主要数据结构说明¶
配置的结构体“pan_prf_config_t”,各成员介绍如下:
Type |
name |
Description |
---|---|---|
prf_mode_t |
work_mode |
工作模式配置,包括普通型和增强型 |
prf_chip_mode_sel_t |
chip_mode |
xn297通信协议和nordic通信协议配置 |
prf_trx_mode_t |
trx_mode |
收发模式配置 |
prf_phy_t |
phy |
通信速率配置,可配置为1M和2M |
prf_crc_sel_t |
crc |
数据包CRC配置,可配置为crc 16bit,crc 8bit,crc 24bit ,no crc |
prf_scramble_sel_t |
src |
数据包扰码的配置,可配置为使用扰码和不使用扰码 |
uint16_t |
rx_timeout |
接收超时时间配置,最大50000us |
uint16_t |
rf_channel |
2.4g频点配置,任意频点可设(2402Mhz~2480Mhz) |
uint8_t |
tx_no_ack |
配置增强型模式下tx是否需要ack |
prf_trf_t |
trf_type |
nordic的长包模式配置,最大payload的长度为255 |
uint8_t |
rx_length |
rx接收数据包长度配置,增强型模式下可不配置 |
uint8_t |
sync_length |
接入地址长度配置,可配置为3、4、5字节 |
uint8_t |
sync[5] |
接入地址的内容(xn297模式下可白化地址,防止出现长0和长1的地址) |
prf_dev_sel_t |
dev |
设置deviation,可以选择BLE模式(1M 250k;2M 500k),NRF模式(1M 160K;2M 320) |
int8_t |
tx_power |
设置发射功率,范围(-45dbm~7dbm) |
uint8_t |
pid_manual_flag |
pid手动配置的标志,使能后可以自定义pid |
uint8_t |
crc_include_sync |
crc计算包含地址 |
uint8_t |
src_include_sync |
白化包含地址 |
uint16_t |
tx_trans_time |
发送传输时间设置 |
uint16_t |
rx_trans_time |
接收传输时间设置 |
prf_pipe_t |
pipe |
管道配置,可配置为0~7 |
prf_mode_t:
Type |
Value |
Description |
---|---|---|
PRF_MODE_NORMAL |
0 |
普通型 |
PRF_MODE_ENHANCE |
1 |
增强型 |
PRF_MODE_NORMAL_M1 |
2 |
普通型M1模式 |
prf_chip_mode_sel_t:
Type |
Value |
Description |
---|---|---|
PRF_CHIP_MODE_SEL_BLE |
1 |
蓝牙模式 |
PRF_CHIP_MODE_SEL_XN297 |
2 |
XN297模式 |
PRF_CHIP_MODE_SEL_NORDIC |
3 |
NORCDIC模式 |
prf_trx_mode_t:
Type |
Value |
Description |
---|---|---|
PRF_TX_MODE |
0 |
2.4G发射 |
PRF_RX_MODE |
1 |
2.4G接收 |
prf_phy_t:
Type |
Value |
Description |
---|---|---|
PRF_PHY_1M |
1 |
1M通信速率 |
PRF_PHY_2M |
2 |
2M通信速率 |
PRF_PHY_CODED_S8 |
3 |
S8模式 |
PRF_PHY_CODED |
4 |
S2模式 |
PRF_PHY_250K |
5 |
250K模式 |
prf_crc_sel_t:
Type |
Value |
Description |
---|---|---|
PRF_CRC_SEL_NOCRC |
0 |
no crc |
PRF_CRC_SEL_CRC8 |
1 |
crc 8bit |
PRF_CRC_SEL_CRC16 |
2 |
crc 16bit |
PRF_CRC_SEL_CRC24 |
3 |
crc 24bit |
prf_scramble_sel_t:
Type |
Value |
Description |
---|---|---|
PRF_SRC_SEL_NOSRC |
0 |
不使能扰码 |
PRF_SRC_SEL_EN |
1 |
使能扰码 |
prf_dev_sel_t:
Type |
Value |
Description |
---|---|---|
PRF_DEV_NRF |
1 |
NRF模式deviation配置,1M 170k,2M 340K |
PRF_DEV_BLE |
2 |
NRF模式deviation配置,1M 250k,2M 500K |
prf_addr_length_sel_t:
Type |
Value |
Description |
---|---|---|
PRF_ADDR_LENGTH_SEL_3 |
3 |
3 BYTE地址长度 |
PRF_ADDR_LENGTH_SEL_4 |
4 |
4 BYTE地址长度 |
PRF_ADDR_LENGTH_SEL_5 |
5 |
5 BYTE地址长度 |
prf_pipe_t:
Type |
Value |
Description |
---|---|---|
PRF_PIPE0 |
1<<0 |
管道0 |
PRF_PIPE1 |
1<<1 |
管道1 |
PRF_PIPE2 |
1<<2 |
管道2 |
PRF_PIPE3 |
1<<3 |
管道3 |
PRF_PIPE4 |
1<<4 |
管道4 |
PRF_PIPE5 |
1<<5 |
管道5 |
PRF_PIPE6 |
1<<6 |
管道6 |
PRF_PIPE7 |
1<<7 |
管道7 |
prf_trf_t:
Type |
Value |
Description |
---|---|---|
PRF_TRF_NORMAL |
0 |
普通模式传输 |
PRF_TRF_NRF52 |
1 |
NRF模式传输 |
PRF_TRF_B250K |
2 |
B250K模式传输 |