logo资料库

从STM32F103移植到AT32F403A.pdf

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
1 AT32F403A与SXX32F103异同
1.1 相同点概述
1.2 差异点概述
2 快速替换SXX32F103芯片
2.1 快速验证兼容性
2.2 BSP工程替换步骤
3 AT32F403A 兼容性解析
3.1 功能增强
3.1.1 FPU的ARM® 32位的Cortex®-M4F
3.1.2 安全库区保护
3.1.3 高频PLL设定
3.1.4 预分频器扩增
3.1.5 内存容量扩展
3.1.6 加挂SPI闪存(SPIM功能)
3.1.7 扩增SDIO2
3.1.8 扩增I2C3
3.1.9 扩增SPI4
3.1.10 扩增全双工I2S
3.1.11 扩增USART和UART
3.1.12 扩增CAN2
3.1.13 支持CAN与USB同时使用
3.1.14 32位定时器
3.1.15 SPI1复用为I2S1
3.1.16 USBDEV 缓冲区
3.1.17 扩增48MHz HSI支持USB外设
3.1.18 HSI自动时钟校准ACC
3.1.19 64PIN封装支持XMC
3.1.20 支持闪存CRC校验
3.1.21 高速GPIO
3.1.22 扩增DMA弹性映像请求功能
3.2 外设使用区别
3.2.1 高频下PLL切换导致程序挂起或hard fault
3.2.2 内部温度传感器
3.2.3 ADC要求较长的采样时间
3.2.4 GPIO 5V容忍管脚兼容
3.2.5 BOOT0自带下拉电阻
3.2.6 Standby模式下自动使能PA0引脚下拉电阻
3.2.7 使用USB模块时系统时钟频率须不小于12MHz
3.2.8 USB 双缓冲区SW_BUF和DTOG区别
3.2.9 USB_DP存在内部上拉电阻
3.2.10 DAC输出有毛刺
3.2.11 Flash sector erase更长
3.2.12 SDIO在发生RX over run之后接收数据异常
3.2.13 I2S从机在特定条件下使能会导致通讯数据错误且无法自动恢复
3.2.14 GPIO在50MHz配置下高频输出时存在过冲现象
3.2.15 使用ADC双模式时,程序卡在判断CAL控制位为零的循环中
3.2.16 使用WWDG中断时,无法清除EWIF标志
3.2.17 STOP Mode下无法停掉MCO输出
3.2.18 Systick中断异常唤醒执行WFE进入的Stop Mode
3.2.19 USART智能卡模式下接收数据异常
4 版本历史
从SXX32F103移植到AT32F403A MG0007 从SXX32F103移植到AT32F403A 前言 本应用笔记旨在帮助您分析从现有的SXX32F103器件移植到AT32F403A器件所需的步骤。本文档收 集了最重要的信息,并列出了需要注意的重要事项。 要将应用程序从SXX32F103系列移植到AT32F403A系列,用户需要分析硬件移植、外设移植和固件 移植。 支持型号列表: 支持型号 AT32F403Axxxx 2020.08.11 第 1 页 版本 1.0.6 www.arterytek.com
从SXX32F103移植到AT32F403A 目录 AT32F403A 与 SXX32F103 异同 ............................................................................ 6 相同点概述 ............................................................................................................... 6 差异点概述 ............................................................................................................... 6 快速替换 SXX32F103 芯片 ...................................................................................... 8 快速验证兼容性 ........................................................................................................ 8 BSP 工程替换步骤 .................................................................................................... 8 AT32F403A 兼容性解析 ........................................................................................ 10 功能增强 ................................................................................................................. 10 FPU 的 ARM® 32 位的 Cortex®-M4F ........................................................................ 10 安全库区保护 .............................................................................................................. 10 高频 PLL 设定 ............................................................................................................. 10 预分频器扩增 .............................................................................................................. 11 内存容量扩展 .............................................................................................................. 11 加挂 SPI 闪存(SPIM 功能) .......................................................................................... 12 扩增 SDIO2 ................................................................................................................. 12 扩增 I2C3 .................................................................................................................... 13 扩增 SPI4 .................................................................................................................... 13 扩增全双工 I2S ........................................................................................................... 13 扩增 USART 和 UART ................................................................................................ 13 扩增 CAN2 .................................................................................................................. 14 支持 CAN 与 USB 同时使用 ....................................................................................... 14 32 位定时器 ................................................................................................................ 14 SPI1 复用为 I2S1 ........................................................................................................ 14 USBDEV 缓冲区 ........................................................................................................ 14 扩增 48MHz HSI 支持 USB 外设 ................................................................................ 15 HSI 自动时钟校准 ACC .............................................................................................. 15 64PIN 封装支持 XMC ................................................................................................. 15 支持闪存 CRC 校验 .................................................................................................... 15 2020.08.11 第 2 页 版本 1.0.6 www.arterytek.com
从SXX32F103移植到AT32F403A 高速 GPIO .................................................................................................................. 16 扩增 DMA 弹性映像请求功能 ..................................................................................... 17 外设使用区别 .......................................................................................................... 19 高频下 PLL 切换导致程序挂起或 hard fault ................................................................ 19 内部温度传感器 .......................................................................................................... 19 ADC 要求较长的采样时间 .......................................................................................... 20 GPIO 5V 容忍管脚兼容 .............................................................................................. 20 BOOT0 自带下拉电阻 ................................................................................................. 20 Standby 模式下自动使能 PA0 引脚下拉电阻 .............................................................. 20 使用 USB 模块时系统时钟频率须不小于 12MHz ....................................................... 21 USB 双缓冲区 SW_BUF 和 DTOG 区别 .................................................................... 21 USB_DP 存在内部上拉电阻 ....................................................................................... 21 DAC 输出有毛刺 ......................................................................................................... 21 Flash sector erase 更长.............................................................................................. 21 SDIO 在发生 RX over run 之后接收数据异常............................................................. 22 I2S 从机在特定条件下使能会导致通讯数据错误且无法自动恢复............................... 22 GPIO 在 50MHz 配置下高频输出时存在过冲现象 ...................................................... 22 使用 ADC 双模式时,程序卡在判断 CAL 控制位为零的循环中 ................................. 22 使用 WWDG 中断时,无法清除 EWIF 标志 ............................................................... 23 STOP Mode 下无法停掉 MCO 输出 ........................................................................... 23 Systick 中断异常唤醒执行 WFE 进入的 Stop Mode ................................................... 24 USART 智能卡模式下接收数据异常 ........................................................................... 24 版本历史 ................................................................................................................ 25 2020.08.11 第 3 页 版本 1.0.6 www.arterytek.com
表目录 从SXX32F103移植到AT32F403A 表 1. SXX32F103 与 AT32F403A 差异概述 ......................................................................................... 6 表 2. BSP 替换步骤概述 ....................................................................................................................... 8 表 3. SPI 闪存支持类型表 .................................................................................................................. 12 表 4. EXT_SPIF_GRMP[2:0]为[000]时引脚支持 ............................................................................... 12 表 5. EXT_SPIF_GRMP[2:0]为[001]时引脚支持 ............................................................................... 12 表 6. SXX32F103/403A GPIO toggle 最大速度性能测试 .................................................................. 16 表 7. 文档版本历史 ............................................................................................................................ 25 2020.08.11 第 4 页 版本 1.0.6 www.arterytek.com
图目录 从SXX32F103移植到AT32F403A 图 1. 403A 在 192MHz 主频下 GPIO 最快翻转速度波型 ................................................................... 16 图 2. 403A 在 72MHz 主频下 GPIO 最快翻转速度波型 ..................................................................... 17 图 3. SXX32F103 在 72MHz 主频下 GPIO 最快翻转速度波型 .......................................................... 17 图 4. VSENSE 对温度理想曲线图 .......................................................................................................... 20 图 5. USB 双缓冲区使用说明 ............................................................................................................. 21 2020.08.11 第 5 页 版本 1.0.6 www.arterytek.com
从SXX32F103移植到AT32F403A AT32F403A 与 SXX32F103 异同 AT32F403A 系列微控制器基本兼容 SXX32F103 系列,同时强化许多功能的关系,有些许地方与 SXX32F103 不同,详述于本文档。 相同点概述  管脚定义:相同封装管脚定义相同。为扩增的外设作管脚复用定义延伸  寻址空间:内存与寄存器逻辑地址相同。扩增的外设占用SXX32保留空间  函数库文件:函数库相同。部分头文件依照强化功能优化  编译工具:完全相同,例如Keil, IAR 差异点概述 系统 内核 系统时钟 表 1. SXX32F103 与 AT32F403A 差异概述 AT32F403A Cortex-M4 并支持 DSP 指令及浮点运算单 元 FPU 主频 240MHz,APB1 与 APB2 总线皆为 120MHz 13 ms 8 ms 8 ms 启动 重置 Standby 唤醒 SRAM 容量 加挂 SPI 闪存 支持加挂 SPI flash 为 SPIM,最高达 扩充模式可达 224KB SXX32F103 Cortex-M3 主频 72MHz, APB1 36MHz, APB2 72MHz 2.5 ms - 50 us 96KB 无支援 系统存储器 (System Memory) 选择字节 (Option Byte) 闪存 16-bit 写 入时间 闪存页擦除时 间 闪存整片擦除 时间 16M Bytes 全系列 18KB,比 SXX32F103 多支持以 依型号分 6KB/2KB 下功能: 1. USB DFU 方式的 ISP 烧写 2. 对 SPIM 进行 ISP 烧写 3. 对闪存内容进行 CRC 校验 48 Bytes, 扩增以下设定功能: 16 Bytes 1. SRAM 模式设定 2. 4 Bytes 自定义字段(例如开发商 ID) 3. 8 Bytes SPIM 加密钥匙 50 μs 50 ms 0.8 s (AT32F403AxC) 1.4 s (AT32F403AxE) 2.8 s (AT32F403AxG) 52.5 μs 40 ms 40 ms 2020.08.11 第 6 页 版本 1.0.6 www.arterytek.com
从SXX32F103移植到AT32F403A AT32F403A 外设 安全库区保护 支持 备份寄存器 全系列支持 42 组半字节备份寄存器 多一组 I2C 多一组 SPI4 多一组 SDIO2 支持 USART6/UART7/UART8 SPI1 可支持 I2S 功能 48PIN 有 I2S I2S2/3 支持全双工 支持 CAN2 支持 支持 支持 扩增 I2C 扩增 SPI 扩增 SDIO 扩增 USART 和 UART SPI1 支援 I2S I2S 支援 扩增 CAN2 支持 CAN 与 USB 同时使用 扩增 48MHz HSI 支持 USB 外设 HSI 自动时钟 校准 ACC XMC 支持闪存 CRC 校验 高速 GPIO 扩展储存接口 32 位定时器 TMR2, TMR5 为 32 位定时器 USB 缓冲区 正温度系数 可扩充为 768 Byte ADC 2Msps (max ADCCLK=28MHz) ADC 触发事件 支持 TMR1, TMR8 及 TMR15 温度传感器 电气 电压范围 环境温度 TA 内核电压 ESD 参数 运行模式 睡眠功耗 停机功耗 待机功耗 2.6V~3.6V -40°C~+105°C 1.2V HBM:5KV, CDM:1000V 37.1 mA @ 72MHz 31.8 mA @ 72MHz 1.4 mA 5.7 uA SXX32F103 无 中、小容量系列仅支持 10 组 I2C1/2 SPI1/2/3 SDIO1 不支持 USART6/UART7/UART8 SPI1 仅为 SPI 功能 48PIN 无 I2S 不支持全双工 I2S 不支持 CAN2 不支持 不支持 不支持 GPIO 挂在 APB 总线上 144PIN 并且 256KB 闪存以上才支 持总线输出 皆为 16 位 512 Byte 1Msps (max ADCCLK=14MHz) 无 TMR15 负温度系数 2.0V~3.6V -40°C~+85°C 1.8V HBM:2KV, CDM:500V 51 mA @ 72MHz 29.5mA @ 72MHz 25 uA 2.1 uA 1. 不支持CF卡和SRAM 2. 2个片选 3. 不支持外部中断 64 引脚封装支持 8 位 LCD 并口屏用 支持 1. 支持CF卡和SRAM 2. 4个片选 3. 支持2个外部中断 不支持 不支持 GPIO 挂在 AHB 总线上 64PIN 以上及支持总线输出(XMC) 2020.08.11 第 7 页 版本 1.0.6 www.arterytek.com
从SXX32F103移植到AT32F403A 快速替换 SXX32F103 芯片 快速验证兼容性  步骤一:解焊SXX32F103,换成AT32F403A对应型号  步骤二:使用雅特力ICP, ISP或KEIL, IAR下载SXX32F103 HEX文件或BIN文件。  步骤三:如果有需要, 下载SXX32F103 HEX文件或BIN文件以外的资料或进行系统校正。  步骤四:查看程序能否正常运行。  骤五:如果系统时钟源采用HSE, 为了确保量产稳定性, 请修改时钟初始化源代码, 方法如下: 打开 system_at32f4xx.c 找到当前的系统时钟频率配置函数,如 168MHz 函数: static void SetSysClockTo168(void) 然后按如下方式配置自动顺滑频率切换功能 /* Wait till PLL is ready */ while((RCC->CR & RCC_CR_PLLRDY) == 0) { } *((unsigned int *)0x40021054) |= (0x30);// 开启自动滑顺频率切换功能 /* Select PLL as system clock source */ RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; /* Wait till PLL is used as system clock source */ while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) { } //此时不需再等待 200us *((unsigned int *)0x40021054) &=~ (0x30); //关闭自动滑顺频率切换功能  步骤六:其他问题快速排查请参考3.2 外设使用区别  步骤七:如果经过上述步骤后程序仍无法正常运行, 请参考本文件其他章节, 或连络代理商及雅特 力科技技术支持人员协助解决。 BSP 工程替换步骤  六种应用情形概述如下 序 号 1 2 3 4 使用什么 BSP/Pack 开发 是否使用 AT32F403A 新功能 处理方法 表 2. BSP 替换步骤概述 AT32F403A BSP/Pack 是/否 1. 结合3.2 外设使用区别修改对应程序 SXX32F103 BSP/Pack SXX32F103 寄存器操作 SXX32F103 BSP + AT32 Pack 否 否 否 1. 参考2.1在系统时钟切换之前开启时钟顺滑模式 2. 参考2.1在系统时钟切换之后关闭时钟顺滑模式 3. 结合3.2 外设使用区别修改对应程序 1. 参考2.1在系统时钟切换之前开启时钟顺滑模式 2. 参考2.1在系统时钟切换之后关闭时钟顺滑模式 3. 结合3.2 外设使用区别修改对应程序 1. 参考2.1在系统时钟切换之前开启时钟顺滑模式 2. 参考2.1在系统时钟切换之后关闭时钟顺滑模式 3. 修改FPU设置 4. 结合3.2 外设使用区别修改对应程序 2020.08.11 第 8 页 版本 1.0.6 www.arterytek.com
分享到:
收藏