近年来,国产化需求越来越多,很多企业开始着手将国外芯片替换成国产芯片,今天极海代理商要说的是STM32F_072xB与APM32_072xB USBD外设对比。我们从以下几个方面入手:
1.规格一致:
具有1个全速USB_Device(12Mbit/s),可内部实现PHY和DP引脚2.2kΩ上拉
具备1kB专用SRAM,后256B与CAN共用
48MHz时钟源可选择HSI48或PLLCLK,无需外挂晶振
支持基于USBD的DFU升级,支持睡眠模式&停机模式低功耗唤醒
2.硬件一致:PA11=USBD_DM,PA12=USBD_DP,PA13=USBD_NOE
3.偏移地址一致:USBD 0x4000 5C00-0x4000 6000 USBD&CAN SRAM 0x4000 6000-0x4000 6400
4.寄存器定义一致(软件兼容):
寄存器地址 |
功能描述 |
APM32F072 |
STM32F072 |
是否一致 |
0x4000 5C00+4n |
USBD端点n寄存器 |
USBD_EPn |
USB_EPnR |
Y |
0x4000 5C40 |
USBD控制寄存器 |
USBD_CTRL |
USB_CNTR |
Y |
0x4000 5C44 |
USBD中断状态寄存器 |
USBD_INTSTS |
USB_ISTR |
Y |
0x4000 5C48 |
USBD帧状态寄存器 |
USBD_FRANUM |
USB_FNR |
Y |
0x4000 5C4C |
USBD设备地址寄存器 |
USBD_ADDR |
USBD_DADDR |
Y |
0x4000 5C50 |
USBD分组缓冲区描述表地址寄存器 |
USBD_BUFFTB |
USB_BTABLE |
Y |
0x4000 5C54 |
LPM控制状态寄存器 |
USBD_LPMCTRLSTS |
USB_LPMCSR |
Y |
0x4000 5C58 |
电池充电检测器 |
USBD_BCD |
USB_BCDR |
Y |
USBD_BUFFTB+8n |
发送缓冲区地址寄存器 |
USBD_TXADDRn |
USB_ADDRn_TX |
Y |
USBD_BUFFTB+8n+2 |
发送数据字节数寄存器 |
USBD_TXCNTn |
USB_COUNTn_TX |
Y |
USBD_BUFFTB+8n+4 |
接收缓冲区地址寄存器 |
USBD_RXADDRn |
USB_ADDRn_RX |
Y |
USBD_BUFFTB+8n+6 |
接收数据字节数寄存器 |
USBD_RXCNTn |
USB_COUNTn_RX |
Y |
5.差异点:使用基于USBD的DFU功能时,需注意烧录软件是否校验BootLoader的VID(Vendor ID)与PID(Product ID)
APM32 DFU BootLoader:Vendor ID=0x314B Product ID=0x0106
STM32 DFU BootLoader:Vendor ID=0x0483 Product ID=0xDF11
USB外设功耗
APM32 APB USBD:48.58μA/MHz,All APB Peripherals:127.91μA/MHz
STM32 APB USB:7.2μA/MHz,All APB Peripherals:182μA/MHz
APM32的USBD外设运行功耗偏大,其他外设功耗低于竞品
6.亮点:
APM32F072RBT7已通过AEC-Q100汽车级可靠性测试,满足车规物料可靠性标准
APM32F072xB全系列通过SGS IEC-60730-1软件功能安全测试(APM32F0xx_IEC60730_Lib)
APM32F072xB全系列通过USB-IF认证,获得USB2.0认证,注册TID为4446