近年来,国产化需求越来越多,很多企业开始着手将国外芯片替换成国产芯片,今天极海代理商要说的是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