1.前言
k64 datasheet描述了Freescale MCU的特性、架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员。
2.模块划分
datasheet主要按功能对模块进行划分,包括如下模块:
模块名称 | 模块说明 |
ARM® Cortex®-M4 core | ARM Cotex M4 32-bit MCU core,加上DSP指令和基于ARMV7架构的单精度浮点单元 |
System | 系统集成模块? 电源管理和多模式控制 唤醒单元 杂项控制模块 Crossbar switch ? 存储保护单元 外设桥接 带有多路选择的DMA控制器 外接的watchdog监视器 watchdog |
memories | 内部存储:(1)可编程的flash存储; (2)FLEXNVM? FLEXRAM? (3)Programming acceleration RAM 为了加速flash编程? (4)SRAM 外部存储或外设总线接口:FlexBUS 串行编程接口:EzPort |
clocks | 可从外部或内部产生多种时钟 系统晶振为MCU提供时钟源 RTC晶振主要为RTC提供时钟源 USB内部时钟用于USB操作 |
Security | CRC校验模块 硬件加密及随机数产生器 |
Analog | ADC 比较器 DAC 内部参考电压 bandgap参考电压(外部) |
Timers | 可编程延时模块 灵活的定时器 周期中断定时器 低功耗定时器 载波调制发射机? 独立的RTC |
communitations | Ethernet MAC with IEEE 1588 capability USB OTG controller with built-in FS/LS transceiver ? USB device charger detect USB voltage regulator CAN SPI I2C UART Secured Digital host controller
I2S
|
Human-Machine Interfaces (HMI) | GPIO 控制器 |
3.ARM® Cortex®-M4 Core Modules
包含如下的部分:
- ARM Cotex-M4
(1)Cotex-M4是ARM Cotex M系列的最新版本,基于ARMV7体系结构和Thumb-2指令集,向上兼容Cotex M3,M1,M0体系结构;
(2)Cotex M4引入了ARMV7 Thumb-2 DSP;
- NVIC
(1)ARMV7异常模型,嵌套向量中断控制器,实现可重新分配的向量表,支持很多外部中断和一个不可屏蔽中断NMI,支持中段优先级;
(2)代替了shadow寄存器,NVIC包含了执行特定handler的函数地址,前16个函数入口被分配给内部使用,其它由SOC厂商定义;
- AWIC
异步唤醒中断控制器是检测stop mode下的唤醒事件,向clock控制逻辑发信号来resume系统时钟,时钟restart后,观察pending中断执行中断和事件处理
- Debug interfaces
基于ARM CoreSight™ 体系结构,支持四种接口:IEEE 1149.1 JTAG, IEEE 1149.7 JTAG (cJTAG), Serial Wire Debug (SWD), ARM Real-Time Trace Interface
4. System Modules
提供了如下的系统模块:
- System integration module (SIM)
包含一些集成的逻辑和几种模块配置???
- System mode controller (SMC)
为每种power mode的入口和出口提供了控制和保护,为用户提供了10种不同的模式来为用户提供功耗优化,包括上电reset(POR),
integrated low voltage detect (LVD) with reset (brownout) capability and selectable LVD trip points???
- Low-leakage wakeup unit (LLWU)
允许设备通过不同的内部外设和外部pin将设备从low leakage power modes 唤醒
- Miscellaneous control module (MCM)
包含一些集成逻辑和嵌入的trace buffer细节?
- Crossbar switch (XBS)
XBS连接了总线master和总线slave,允许所有的总线master访问同步访问不同的总线 slave,当不同的总线master访问同一个slave时提供了仲裁机制
- Memory protection unit (MPU)
MPU提供了内存保护和任务隔离,能同时为slave连接监控所有的master事务??
- Peripheral bridges
用于转换XBS接口
- DMA multiplexer (DMAMUX)
从多个DMA请求里选取少量送给DMA控制器
- Direct memory access (DMA) controller
提供了可编程的通道配置在两个地址间传输8bit 16bit 32bit 和128bit数据
- External watchdog monitor (EWM)
相对Software watchdog (WDOG) 是一种冗余机制,它监控外部或内部的失败的软件操作
- Software watchdog (WDOG)
监控内部系统操作,一旦发生失败则执行reset,它可以使用一个1KHZ的低功耗晶振,并带有一个可编程的refresh窗口来检测程序流和系统频率之间的偏差?
5.Memories and Memory Interfaces
- Flash memory
TODO
- Flash memory controller
用于管理device和片上flash存储的接口
- SRAM
内部系统 RAM,在VLLS2 low leakage mode,部分SRAM处于上电
- System register file
32字节的寄存器文件,在所有的power mode都可以访问,由VDD上电
- VBAT register file
32字节的寄存器文件,在所有的power mode都可以访问,由VBAT上电
- Serial programming interface (EzPort)
和工业级的SPI flash memories使用的命令集相同(或其子集)的串行接口。提供了读、擦除、编程flash,编程完flash后boot系统的功能
- FlexBus
外部总线接口,有多个独立的、用户可编程的片选信号可以选中外部的SRAM EPROM PROM EEPROM FLASH或其它外设,8bit 16bit 32bit和16字节的line-size传输
6.Clocks
- Multi-clock generator (MCG)
提供了如下的clock源:
(1)Phase-locked loop (PLL) — Voltage-controlled oscillator (VCO)(2)Frequency-locked loop (FLL) — Digitally-controlled oscillator (DCO)(3)Internal reference clocks — 可以作为片上外设的时钟源
- 48 MHz Internal Reference Clock (IRC48M)
提供内部产生的时钟源,时钟恢复电路利用接收的USB数据流来校准内部晶振,使得内部晶振满足USB时钟的需求
- System oscillator
产生MCU的参考时钟
- Real-time clock oscillator
有独立的供电,支持32K晶振来用于RTC。可选定是可以代替系统晶振作为主晶振源
7.Security and Integrity modules
- Cryptographic acceleration unit (CAU)
支持DES, 3DES, AES, MD5, SHA-1, and SHA-256 algorithms
- Random number generator (RNG)
支持随机数产生的关键算法
- Cyclic Redundancy Check (CRC)
TODO
8.Analog modules
- 16-bit analog-to-digital converters (ADC)
TODO
- Analog comparators (CMP)
TODO
- 6-bit digital-to-analog converters (DAC)
TODO
- 12-bit digital-to-analog converters (DAC)
TODO
- Voltage reference (VREF)
9.Timer modules
- Programmable delay block (PDB)
TODO
- Flexible timer modules (FTM)
TODO
- Periodic interrupt timers (PIT)
TODO
- Low-power timer (LPTimer)
TODO
- Carrier modulator timer (CMT)
TODO
- Real-time clock (RTC)
TODO
- IEEE 1588 timers
10.Communication interfaces
- Ethernet MAC with IEEE 1588 capability(ENET)
TODO
- USB OTG (low-/full-speed)
TODO
- USB Device Charger Detect (USBDCD)
TODO
- USB voltage regulator
TODO
- Controller Area Network (CAN)
TODO
- Serial peripheral interface (SPI)
TODO
- Inter-integrated circuit (I2C)
TODO
- Universal asynchronous receiver/transmitters (UART)
TODO
- Secure Digital host controller (SDHC)
TODO
- I2S
TODO
11.Human-machine interfaces
- General purpose input/output (GPIO)