基于ST公司的STM32F072 32位ARM MCU开发方案
原标题：ST STM32F072 32位ARM MCU开发方案
ST公司的STM32F072是基于ARM® Cortex®-M0内核的32位MCU,CPU工作频率48MHz,集成了128KB闪存,16KB SRAM, 无晶振的USB FS 2.0, CAN,12个定时器,ADC, DAC和通信接口如两个I2C,两个SPI/I2S,一个HDMI CEC和四个USART.工作电压2.0V到3.6 V,主要用在应用控制和用户接口,手持设备,A/V接收器和数子TV,PC外设,游戏和GPS平台,工业应用,PLC,逆变器,打印机,扫描仪,告警系统,视频互连和HVAC.本文介绍了STM32F072主要特性,框图和时钟树, STM32 Nucleo-F072RB板主要特性,电路图和材料清单.
The STM32F072x8/xB microcontrollers incorporate the high-performance ARM® Cortex®-M0 32-bit RISC core operating at up to 48 MHz frequency, high-speed embedded memories (up to 128 Kbytes of Flash memory and 16 Kbytes of SRAM), and an extensive range of enhanced peripherals and I/Os. All devices offer standard communication interfaces (two I2Cs, two SPI/I2S, one HDMI CEC and four USARTs), one USB Full-speed device (crystal-less), one CAN, one 12-bit ADC, one 12-bit DAC with two channels, seven 16-bit timers, one 32-bit timer and an advanced-control PWM timer.
The STM32F072x8/xB microcontrollers operate in the -40 to +85 °C and -40 to +105 °C temperature ranges, from a 2.0 to 3.6 V power supply. A comprehensive set of power-saving modes allows the design of low-power applications.
The STM32F072x8/xB microcontrollers include devices in seven different packages ranging from 48 pins to 100 pins with a die form also available upon request. Depending on the device chosen, different sets of peripherals are included.
These features make the STM32F072x8/xB microcontrollers suitable for a wide range of applications such as application control and user interfaces, hand-held equipment, A/V receivers and digital TV, PC peripherals, gaming and GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms and HVACs.
• Core: ARM® 32-bit Cortex®-M0 CPU, frequency up to 48 MHz
– 64 to 128 Kbytes of Flash memory
– 16 Kbytes of SRAM with HW parity
• CRC calculation unit
• Reset and power management
– Digital and I/O supply: VDD = 2.0 V to 3.6 V
– Analog supply: VDDA = VDD to 3.6 V
– Selected I/Os: VDDIO2 = 1.65 V to 3.6 V
– Power-on/Power down reset (POR/PDR)
– Programmable voltage detector (PVD)
– Low power modes: Sleep, Stop, Standby
– VBAT supply for RTC and backup registers
• Clock management
– 4 to 32 MHz crystal oscillator
– 32 kHz oscillator for RTC with calibration
– Internal 8 MHz RC with x6 PLL option
– Internal 40 kHz RC oscillator
– Internal 48 MHz oscillator with automatic trimming based on ext. synchronization
• Up to 87 fast I/Os
– All mappable on external interrupt vectors
– Up to 68 I/Os with 5V tolerant capability and 19 with independent supply VDDIO2
• Seven-channel DMA controller
• One 12-bit, 1.0 μs ADC (up to 16 channels)
– Conversion range: 0 to 3.6 V
– Separate analog supply: 2.4 V to 3.6 V
• One 12-bit D/A converter (with 2 channels)
• Two fast low-power analog comparators with programmable input and output
• Up to 24 capacitive sensing channels for touchkey, linear and rotary touch sensors
• Calendar RTC with alarm and periodic wakeup from Stop/Standby
• 12 timers
– One 16-bit advanced-control timer for six-channel PWM output
– One 32-bit and seven 16-bit timers, with up to four IC/OC, OCN, usable for IR control decoding or DAC control
– Independent and system watchdog timers
– SysTick timer
• Communication interfaces
– Two I2C interfaces supporting Fast Mode Plus (1 Mbit/s) with 20 mA current sink; one supporting SMBus/PMBus and wakeup
– Four USARTs supporting master synchronous SPI and modem control; two with ISO7816 interface, LIN, IrDA, auto baud rate detection and wakeup feature
– Two SPIs (18 Mbit/s) with 4 to 16 programmable bit frames, and with I2S interface multiplexed
– CAN interface
– USB 2.0 full-speed interface, able to run from internal 48 MHz oscillator and with BCD and LPM support
• HDMI CEC wakeup on header reception
• Serial wire debug (SWD)
• 96-bit unique ID
• All packages ECOPACK®2
STM32 Nucleo pack for USB Type-C™ and Power Delivery with the Nucleo-F072RB board
The STM32 Nucleo pack for USB Type-C™and Power Delivery (P-NUCLEO-USB001) is a development tool to learn and develop solutions based on USB Type-C™and USB Power Delivery technologies.
This tool, in association with the certified embedded software solution (X-CUBE-USB-PD), provides the means to control two USB Type-C™ports using a single STM32F072 32-bit microcontroller based on ARM® Cortex®-M0. The X-CUBE-USB-PD is compliant with the USB Type-C 1.2 and USB Power Delivery 2.0 specifications. A simple analog front-end PHY is required to interface the STM32F072 MCU with the Configuration Channels (CC lines) of the Type-C receptacles and to allow the communication over these lines using the Power Delivery communication protocol.
The P-NUCLEO-USB001 is fully configurable and ready to support different configurations like Provider, Consumer or DRP.
X-CUBE-USB-PD is compliant with the USB Type-C™1.2 and the Power Delivery 2.0 specifications.
The USB Type-C™ and Power Delivery Nucleo pack (P-NUCLEO-USB001) is a development kit composed of a NUCLEO-F072RB board, the MB1257 expansion board and a full-featured Type-C cable. These components matched with the certified STM32F0 USB Type-C™ PD middleware stack X-CUBE-USB-PD and are needed for demonstrating the functionalities of the USB Type-C™ and USB Power Delivery technologies, facilitating the users to develop their solutions. The USB PD is a brand-new protocol designed to enlarge USB capabilities, enabling the functionality of providing power delivery, ranging from 15 W up to 100 W, over the same cable used for the data communication. The devices supporting the PD protocol are able to negotiate voltage and current over the USB power pins and to define their roles as Provider or Consumer according to the requirements. After introducing briefly the USB PD main characteristics and operations, this document describes the main components of the P-NUCLEO-USB001 pack and how to configure them to select the role. Once configured the platform, the embedded demonstration allows showing the attach/detach cable and its orientation as well as the role of each one of the two receptacles: these are the most peculiar characteristics for automatically recognizing the configuration channel when the plug-flipping happens.
The USB Type-C and the Power Delivery is certainly one of the most promising technology to simplify development and to enhance the consumer and mobile user experience. The new reversible USB Type-C connector makes the plug insertion more user friendly. The technology offers a smart connector to carry all the necessary data (including video), and using Power Delivery protocol allows to negotiate up to 100 W to supply or charge the equipment connected to this USB port. Less cables, less connectors and universal chargers are the final objective. Natively the USB Type-C connector supports up to 15 W (5 V at 3 A), extended to 100 W (up to 20 V at 5 A) with the optional USB Power Delivery feature. 15 W is far enough for most of the hundreds of millions of legacy USB powered devices actually on the market.
Two DRP USB Type-C™ receptacles
USB 2.0 full-speed data communication interface as peripheral
VBUS load and discharge switches
Voltage and current sensing for VBUS monitoring
A power connector to interface with external power supply (not supplied)
图3. STM32 Nucleo-F072RB板外形图
USB Type-C™ and Power Delivery Nucleo pack
The STM32 Nucleo board provides an affordable and flexible way for users to try out new ideas and build prototypes with any STM32 microcontroller lines. The Arduino™ connectivity support and ST morpho headers make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide choice of specialized expansion boards. The STM32 Nucleo board does not require any separate probes as it integrates the ST-LINK/V2-1 debugger/programmer. The STM32 Nucleo board comes with the STM32 comprehensive software HAL library together with various packaged software examples.
The MB1257 expansion board embeds two Dual-Role Power USB Type-C ports with their relative discrete Analog-Front-End Physical Layer (PHY). This board permits to exploit the robustness of the digital receiver obtained by a discrete design and, at the same time, to guarantee the low-power operation. To support the USB PD protocol and preserve the completeness, the application needs to exploit its entire flexibility, the MB1257 presents the following blocks and characteristics:
• USB Type-C certified receptacles
• CC discrete Analog-Front-End stages and VCONN switches
• VBUS port switch and discharge mechanism
• VBUS current and voltage sensing stages
图17. MB1257扩展板电路图:Type-C端口0和USB 2.0
图18. MB1257扩展板电路图: Type-C端口1
图19. MB1257扩展板电路图: 电流检测端口0
图20. MB1257扩展板电路图: 电流检测端口1