近年來,國產化需求越來越多,很多企業開始著手將國外芯片替換成國產芯片,今天極海代理商要說的是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
