更新日志¶
PAN262X DK v0.3.0¶
PAN262X Development Kit v0.3.0
(2023-06-30) 已发布:
1. SDK¶
基于mdk keil C51的软件集成开发环境
包括丰富的基础和扩展代码例程&演示文档
支持 PAN2628_EVB_V1.1开发板
外设驱动更新点¶
rcc驱动代码
新增RCC_PeriphReset外设复位接口,删除RCC_PerRst0/1外设复位接口
wdt驱动代码
删除一些冗余接口
adc驱动代码
删除ADC校准参数代码,更改至引导程序
lp驱动代码
增加gpio当前唤醒电平获取函数接口
增加低功耗定时器和外部唤醒中断的清中断标志函数
解决低功耗定时器和外部唤醒中断相互清中断标志的问题
usb驱动代码
优化FIFO读写函数代码,提升操作速率
新增FIFO状态获取及清空函数接口
重构枚举过程相关代码,通过USB IF相关功能测试
重构通配置用描述符头文件,结构清析化
rf驱动代码
删除/合并一些老旧函数接口
优化FIFO读写函数代码,提升操作速率
解决速率设置接口须有设置顺序的问题
增加FIFO的32、64长度切换函数接口
增加多PIPE模式时有接收数据的PIPE号获取函数接口
去除浮点相关运算代码,提升速度/优化代码空间
rf函数接口及相关参数命名标准化
rf源代码装成库,支持small和large两种编译模式自动切换
其它驱动代码
优化注释规范及代码格式
总中断与各外设中断开关接口剥离,改由用户自行开关
中间件更新点¶
增加基于51MCU的LOG开关代码开关接口,方便用户进行代码调试。
基础例程更新点¶
adc相关例程
增加通道电压采样函数接口
增加供电电源电压采样函数接口
usb相关例程
增加键盘代码例程
增加键盘加鼠标代码例程
重构例程私有配置描述符相关代码
所有usb相关例程通过USB IF相关功能测试
rf相关例程
增加多PIPE接收模式的代码例程
扩展例程更新点¶
rf_dongle例程
通过USB IF相关功能测试
重构例程私有配置描述符相关代码
rf_ble_beacon例程
修复每个通道发三包的问题
2. HDK¶
暂无更新
3. DOC¶
用户手册
PAN262X用户手册更新至V1.4
产品说明书
PAN262X产品说明书更新至V1.6
4. TOOLS¶
更新PAN2628-ISP-TOOL(在线烧录工具)
增加6~8字节长度的滚码烧写功能
增加固件大小超限判断
增加16K、32K芯片型号识别功能
解决一些系统兼容性问题
更新PAN2628_KEIL_IDE支持包
增加固件大小超限判断
增加16K、32K芯片型号识别功能
增加PAN2628T6EA、PAN2628U6EA、PAN2628M6BA、PAN2625M5BA四种芯片型号及相应的芯片描述
更新PANLINK固件
优化烧录稳定性
PAN2628 DK v0.2.0¶
PAN2628 Development Kit v0.2.0
(2023-03-31) 已发布:
1. SDK¶
基于mdk keil C51的软件集成开发环境
包括丰富的基础和扩展代码例程&演示文档
支持 PAN2628_EVB_V1.1开发板
外设驱动更新点¶
rcc驱动代码
增加对info参数区的标志判断,并做相应的时钟配置机制
时钟源统一由上一版本的DPLL切换至XTH,且RCH默认打开,适配软复位等问题
增加XTH异常打开函数接口,实现XTH启动同时也可以做其它任务,比如adc采样等
优化外设时钟开关函数,统一为一个函数接口RCC_PeriphClockCmd
wdt驱动代码
新增毫秒级的看门狗超时时间设置接口(适配RCH15M),适配低功耗的应用场景
adc驱动代码
增加adc采样的k和b参数校准机制
增加adc通道设置函数接口ADC_SetChannel
增加根据用户设定采样次数进行采样并取平均的函数接口ADC_GetAvrCode(u8 AverageTimes)
usb驱动代码
优化usb驱动代码的寄存器命名规范
新增usb各个中断开关配置函数接口
修改usb中断的默认配置(改成默认关掉sof中断)
rf驱动代码
针对RCH15M开启后优化RF两点式校准配置
增加rf接收状态退出接口,解决了多一个发射过程的bug
新增rf芯片协议模式设置接口,包括297L,24L01和BLE
新增rf工作模式设置接口,包括普通型和增强型
新增增强模式下的rf重传延时时间设置接口
新增增强模式下的rf重传最大次数设置接口
新增RF发送状态建立时间设置接口
新增增强模式下的rf应答等待超时时间设置接口
新增增强模式下的rf动态payload使能设置接口
规范rf各个中断开关配置函数接口
SPI驱动代码
规范spi初始化入参数定义命令,更符合主流规范
其它驱动代码
规范中断开关配置函数接口命名
规范函数命名入参数命令等
中间件更新点¶
增加基于汇编的delay延时软件层,例程共用
增加一个hex调试输出log软件层,例程共用
在rf和应用层之间增加rf_basis中间层,让用户容易编码实现功能
基础例程更新点¶
adc相关例程
通道采样时间更改为0x0020,提升采样速率
将原来单次采样过程更改为新增的多次采样取平均的接口,提升准确度
iic相关例程
例程的默认分频更改为60,优化因iic速度慢引脚的问题
usb相关例程
重构设备、配置、接口和端点的描述符的表达方式
重构usb hid和mouse例程代码主流程
解决上一版本usbhid在电脑端不能识别为hid设备的问题
代码命名注释等规范上的优化
rf相关例程
重构rf_tx和rf_rx代码例程,依赖rf_basis,结构清晰化
增加rf_tx_rx和rf_rx_tx例程,依赖rf_basis,实现pingpong功能演示
增加rf_tx_irq和rf_rx_irq例程,实现rf发送和接收中断功能演示
扩展例程¶
atcmd例程
增加获取ADC通道电压采样命令接口(AT+GETVIN) 增加获取电源电压采样命令接口(AT+GETVDD) 增加热敏电阻采样命令接口(AT+GETRT)
rf_dongle例程
重构代码例程主流程
usb应用中断机制优化,提升整体运行效率
重构鼠标hid的设备、配置、接口和端点的描述符的表达方式
增加rf与usb之间的fifo机制,解决转发过程中的丢包问题
rf_mouse例程
重构代码例程主流程
按键长按实现发送上下左右鼠标移动包至dongle端
rf_24l01_tag例程(新增)
演示功能:本例程主要演示pan2628每1秒醒来一次,发送一包数据给24L01芯片,再开接收窗口5000us等待24L01芯片回复。
deepsleep_adc例程(新增)
演示功能:本例程主要演示如何在MCU的低功耗应用场景下,同时进行ADC采样和XTH启动过程,实现低功耗且高效率的应用。
deepsleep_wdt例程(新增)
演示功能:本例程主要演示wdt如何在低功耗应用场景下进行配置使用,以规避wdt当前存在的一些问题。
rf_ble_beacon例程(新增)
演示功能:本例程展示了如何使用BLE模块实现一个BLE beacon,每1秒醒来一次,向37、38、39通道各发送一包的蓝牙广播数据包。用户可以使用手机上的BLE调试工具来查看相应的广播数据包。该例程可用于实现基于BLE技术的定位、导航和室内定位等应用场景。
2. HDK¶
暂无更新
3. DOC¶
暂无更新
4. TOOLS¶
更新PAN2628-ISP-TOOL(在线烧录工具)
新增ForceIO时间设置窗口,用户可根据场景进行调整烧写前的断电时间
更新PAN2628_KEIL_IDE支持包
新增ForceIO时间设置窗口,用户可根据场景进行调整烧写前的断电时间
更新PAN2628_SDK_TOOL
解决在win11系统下闪退的问题
PANLINK离线烧写工具(目前还在测试中)
更新PANLINK固件
解决烧录稳定性问题
PAN2628 DK v0.1.0¶
PAN2628 Development Kit v0.1.0
(2023-01-08) 已发布:
1. SDK¶
基于mdk keil C51的软件集成开发环境
包括丰富的基础和扩展代码例程&演示文档
支持 PAN2628_EVB_V1.1开发板
基础例程¶
adc_sw_trigger
: 演示ADC外设的软件触发ADC采样的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。adc_hw_trigger
: 演示ADC外设的硬件触发ADC采样的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。adc_compare
: 演示ADC外设的比较功能,采样结果可以与比较寄存器进行比较,条件匹配时产生比较中断,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。clk_peripheral
: 演示外设时钟源使能的示例,实现gpio、uart时钟源的使能配置,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。clk_source
: 演示MCU时钟源的切换方法,实现RCH、XTH、DPLL16M时钟源的切换,更新时钟配置,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。fmc_base
: 演示fmc外设的读写操作,擦写读程序区未使用的区域和系统参数区,并将操作过程通过串口打印出来,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。gpio_irq
: 演示 EVB P3_2/P3_4下降沿中断功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。gpio_in_out
: 演示 EVB GPIO输入输出功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。gpio_lp_wakeup
: 演示 EVB GPIO唤醒MCU功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。i2c_master
: 演示i2c外设的主机双向通信功能,以采集温湿度传感器SHT30为实例,并将操作过程通过串口打印出来,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。 -lp_sleep
: 本例程主要演示 EVB gpio/uart 唤醒处于sleep状态MCU的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。lp_deepsleep
: 演示 EVB GPIO/WakeupCounter 唤醒处于deepsleep状态MCU的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,增加了MCU睡眠前后时钟转换配置。pwm_single
: 演示pwm独立模式输出的简单例程,通过PWM通道2、3、4控制RBG三色灯亮度的过程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。pwm_comp
: 演示pwm组互补模式输出的简单例程,通过配置PWM_GROUP1驱动PWM_CH2&PWM_CH3来控制蓝色&红色led,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。spi_master
: 演示spi外设的主机双向通信功能,以写入和读取W25Q32为实例,并将操作过程通过串口打印出来,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。spi_slave
: 演示spi外设的从机双向通信功能,需要配合spi主机,并将操作过程通过串口打印出来,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。timer_base
: 演示 EVB timer基础定时功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。timer_capture
: 演示 EVB timer2 捕捉模式0的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。timer_compare
: 演示 EVB timer2 比较模式0的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。uart_irq
: 演示 EVB uart 接收中断功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。uart_printf
: 演示uart外设的printf功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。uart_scanf
: 演示 EVB uart scanf功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。wdt_feed
: 演示 EVB uart scanf功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。usb_hid
: 演示USB HID基本功能的简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。usb_mouse
:演示USB鼠标功能和简单例程,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。rf_tx
:rf_tx演示了RF在EVB开发板上发射数据的使用方法,主要包括:297普通型发射/297增强型发射/蓝牙BLE发射/24L01普通型发射/24L01增强型发射,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,增加了常用的参数配置代码方便用户参考。rf_rx
:演示了RF在EVB开发板上接收数据的使用方法,主要包括:297普通型接收/297增强型接收/蓝牙BLE白名单接收/24L01普通型接收/24L01增强型接收,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,增加了常用的参数配置代码方便用户参考。rf_rx&tx
:演示了RF在EVB开发板上RF收发切换的使用方法,主要包括:297普通型收发切换/297增强型收发切换/蓝牙BLE收发切换/24L01普通型收发切换/24L01增强型收发切换,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,优化了数据发送周期时间参数,增加了常用的参数配置代码方便用户参考。rf_rxwindow
:演示了RF在EVB开发板上配合rx窗口的接收的使用方法,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,增加了常用的参数配置代码方便用户参考。
扩展例程¶
atcmd
: 演示了在EVB开发板上使用atcmd进行命令交互的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。oled12864
: 演示了在EVB开发板上驱动oled128*64显示汉字和英文字符串的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板,oled驱动由SPI接口更改为I2C接口。rf_dongle
:演示了在EVB开发板上模拟usb dongle的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。rf_mouse
: 演示了在EVB开发板上模拟无线鼠标的功能,本次更新了例程的时钟配置,适配了EVB_V1.1开发板。
注:rf_dongle和rf_mouse要配合使用才能完成完整功能演示。
2. HDK¶
HDK更新状态如下:
更新PAN2628 EVB 参考原理图,适配EVB_V1.1
3. DOC¶
文档更新状态如下:
更新SDK快速入门文档
更新SDK开发环境介绍文档
更新EVB使用说明文档,适配EVB_V1.1
更新各例程readme文档,适配EVB_V1.1
新增ADC应用开发指南
新增GPIO应用开发指南
新增RF应用开发指南(持续更新)
新增PAN2628工作模式说明文档
更新PAN2628产品说明书(中文)
更新FAQs常见问题文档(持续更新)
用户手册(暂缺,准备好再更新上)
其它外设应用开发指南(暂缺,准备好再更新上)
4. TOOLS¶
目前版本提供了如下工具:
更新PAN2628-ISP-TOOL(在线烧录工具)
将原来多个文件封包成一个执行程序
新增对多个在线panlink设备选择功能
新增对烧写速率调节的支持
新增ForceIO功能项,支持芯片恢复
更新PAN2628_KEIL_IDE支持包
新增自动检测KEIL安装路径的功能,无需用户手动选择KEIL安装目录
新增不同例程分别绑定不同EVB板的功能,方便用户调试
新增烧写速率手动调节功能
新增ForceIO功能项,支持低功耗等状态的芯片恢复功能
PANLINK离线烧写工具(暂缺,准备好再更新上)
5. 已知问题¶
部分芯片以1M+速度烧写时,会出现错误问题,500K速率烧写则正常。
WDT例程以DPLL16M为时钟源时,RCH关闭后,WDT复位失效死机。RCH开启后,WDT复位正常。
当前EVB板载芯片内没有校准参数,ADC、RCH、BANDGAP等依赖校准参数的模块暂没有校准。
297模式发现有在发送转接收后收不到第一包的问题,BLE模式和24L01模式无此问题。
PAN2628 DK v0.0.1¶
PAN2628 Development Kit v0.0.1
(2022-11-8) 已发布:
1. SDK¶
基于mdk keil C51的软件集成开发环境
包括丰富的基础和扩展代码例程&演示文档
支持 PAN2628_MOD 测试板
基础例程¶
adc_sw_trigger
: 演示ADC外设的软件触发ADC采样的功能。adc_hw_trigger
: 演示ADC外设的硬件触发ADC采样的功能。adc_compare
: 演示ADC外设的比较功能,采样结果可以与比较寄存器进行比较,条件匹配时产生比较中断。clk_peripheral
: 演示外设时钟源使能的示例,实现gpio、uart时钟源的使能配置。clk_source
: 演示MCU时钟源的切换方法,实现RCH、XTH、DPLL16M时钟源的切换。fmc_base
: 演示fmc外设的读写操作,擦写读程序区未使用的区域和系统参数区,并将操作过程通过串口打印出来。gpio_irq
: 演示 EVB P3_2/P3_4下降沿中断功能的简单例程,通过将 EVB P3_2/P3_4引脚配置为 GPIO 检测中断输入&上拉模式,实时检测P3_2/P3_4的状态,当有下降沿中断时,通过 GPIO P1_2 输出控制 LED0 的亮灭。gpio_in_out
: 演示 EVB GPIO输入输出功能的简单例程,实现按下KEY1(P1_6)时,RGB蓝色指示灯亮;KEY1未被按下时,RGB蓝色指示灯灭。gpio_lp_wakeup
: 演示 EVB GPIO唤醒MCU功能的简单例程,实现按下KEY1(P1_6)时,MCU被唤醒,RGB蓝色指示被点亮,1秒之后RGB蓝色指示被熄灭,MCU再次进入休眠,如此循环。i2c_master
: 演示i2c外设的主机双向通信功能,以采集温湿度传感器SHT30为实例,并将操作过程通过串口打印出来。 -lp_sleep
: 本例程主要演示 EVB gpio/uart 唤醒处于sleep状态MCU的简单例程,mcu进入sleep状态之后,通过串口工具向mcu发送一个字符或者按下KEY1即可唤醒mcu,mcu被唤醒后,点亮蓝色LED,1秒后熄灭蓝色LED,MCU再次进入sleep状态,以上过程循环。lp_deepsleep
: 演示 EVB GPIO/WakeupCounter 唤醒处于deepsleep状态MCU的简单例程,例程设定WakeupCounter 4s 唤醒一次MCU,KEY1按下瞬间唤醒MCU,MCU被唤醒后,点亮蓝色LED,1秒后熄灭蓝色LED,MCU再次进入deepsleep状态,以上过程循环。pwm_single
: 演示pwm独立模式输出的简单例程,通过PWM通道2、3、4控制RBG三色灯亮度的过程。pwm_comp
: 演示pwm组互补模式输出的简单例程,通过配置PWM_GROUP1驱动PWM_CH2&PWM_CH3来控制蓝色&红色led。spi_master
: 演示spi外设的主机双向通信功能,以写入和读取W25Q32为实例,并将操作过程通过串口打印出来。spi_slave
: 演示spi外设的从机双向通信功能,需要配合spi主机,并将操作过程通过串口打印出来。timer_base
: 演示 EVB timer基础定时功能的简单例程,以timer0&timer1定时器为示例,两个定时器分别设定最大计数周期49.152ms,并开启中断,timer0每发生20次中断,让蓝色led状态翻转一次;timer1每发生20次中断,让红色led状态翻转一次。timer_capture
: 演示 EVB timer2 捕捉模式0的简单例程,本例程以捕捉通道3为示例,捕捉通道3与P3_7相关联, P3_7与KEY2相连接,通过不断按下KEY2来触发timer2的捕捉事件,然后通过串口将通道3捕捉的计数值打印出来。timer_compare
: 演示 EVB timer2 比较模式0的简单例程,本例程以比较通道1为示例,timer2计数器值与通道1比较寄存器CC1(例程中的CC1=0x4000)相等时, P1_2(关联CC1)输出高电平,timer2计数器值(0xFFFF)溢出时,P1_2输出低电平。用示波器或者逻辑分析仪抓取P1_2波形为点空比为75%,周期为49.152ms的pwm波形,其中49.152ms为timer2的溢出周期。uart_irq
: 演示 EVB uart 接收中断功能的简单例程,通过pc端串口工具每次向EVB板发送一个字符A
,EVB板收到A
后再将A
回发给pc端串口工具。uart_printf
: 演示uart外设的printf功能,周期性向串口调试工具发送”Hello Panchip.”。uart_scanf
: 演示 EVB uart scanf功能的简单例程,pc端串口工具向EVB板一个整数或字符串,再经过scanf将整数或字符串解析出来。wdt_feed
: 演示 EVB uart scanf功能的简单例程,pc端串口工具向EVB板一个整数或字符串,再经过scanf将整数或字符串解析出来。usb_hid
: 演示了USB HID在PAN2628b1_evb上的使用方法,主要包括:USB识别为hid设备。usb_mouse
:演示了USB MOUSE在PAN2628b1_evb上的使用方法,主要包括:定时单次上报鼠标数据完成移动鼠标操作。rf_tx
:rf_tx演示了RF在PAN2628b1_evb上发射数据的使用方法,主要包括:297普通型发射/297增强型发射/蓝牙BLE发射/24L01普通型发射/24L01增强型发射。rf_rx
:演示了RF在PAN2628b1_evb上的rf接收使用方法,主要包括:297普通型接收/297增强型接收/蓝牙BLE白名单接收/24L01普通型接收/24L01增强型接收。rf_rx&tx
:演示了RF在PAN2628b1_evb上rf收发切换的使用方法,主要包括:297普通型收发切换/297增强型收发切换/蓝牙BLE收发切换/24L01普通型收发切换/24L01增强型收发切换。rf_rxwindow
:演示了RF在PAN2628b1_evb上配合rx窗口的接收的使用方法。
扩展例程¶
atcmd
: 演示了在PAN2628b1_evb使用atcmd进行命令交互的功能。oled12864
: 演示PAN2628b1_evb板驱动oled128*64显示汉字和英文字符串的功能。rf_dongle
:演示了PAN2628b1_evb板模拟usb rf dongle的功能。rf_mouse
: 演示了PAN2628b1_evb板模拟usb rf mouse的功能。
2. HDK¶
目前版本提供了如下硬件相关资料:
PAN2628 EVB 参考原理图
PAN2628 核心板原理图
3. DOC¶
目前版本提供了如下开发文档:
SDK快速入门
SDK开发环境介绍
EVB使用说明
例程介绍
PAN2628产品说明书(中文)
4. TOOLS¶
目前版本提供了如下工具:
在线烧录工具(PC工具)
鼠标上报率测试工具(PC工具)
串口工具(PC工具)
5. 已知问题¶
adc
相关例程中,采样数数值暂未进行FT校准,可能不太准确。其它