1.4.7 嵌入式 FLASH 接口(EFM)
FLASH 接口通过 AHB I-CODE 和 D-CODE 对 FLASH 进行访问,可对 FLASH 执行编程,擦除和全擦除操作;通过指令预取和缓存机制加速代码执行。
主要特性:
Ÿ 512KByte FLASH 空间
Ÿ I-CODE 总线 16Byte 预取值
Ÿ I-CODE 和 D-CODE 总线上的共享 64 个缓存(1Kbyte)
Ÿ 提供 960Bbyte 编程区域(OTP)
Ÿ 支持低功耗读操作
Ÿ 支持引导交换功能
Ÿ 支持安全保护及数据加密*1
*1:关于 Flash 安全保护及数据加密的具体规格,请咨询销售窗口
1.4.8 内置 SRAM(SRAM)
本产品带有 4KB 掉电模式保持 SRAM ( Ret_SRAM ) 和 188KB 系 统 SRAM
(SRAMH/SRAM1/ SRAM2/SRAM3)。SRAM 可按照字节、半字(16 位)或全字(32 位)访问。读写操作以 CPU 速度执行,可插入等待周期。Ret_SRAM 可在 Power down 模式下提供 4KB 的数据保持空间。SRAM3 带有 ECC 校验(Error Checking and Correcting),ECC 校验为纠一检二码,即可以纠正一位错误,检查两位错误;SRAMH/SRAM1/SRAM2/Ret_SRAM 带有奇偶校验(Even-parity check),每字节数据带有一位校验位。
1.4.9 通用 IO(GPIO)
GPIO 主要特性:
Ÿ 每组 Port 配有 16 个 I/O Pin,根据实际配置可能不足 16 个
Ÿ 支持上拉
Ÿ 支持推挽,开漏输出模式
Ÿ 支持高,中,低型驱动模式
Ÿ 支持外部中断的输入
Ÿ 支持 I/O pin 周边功能复用,每个 I/O pin 最多 16 个可选择的复用功能,部分 I/O 多达 64 个功能可选
Ÿ 各个 I/O pin 可独立编程
Ÿ 各个 I/O pin 可以选择 2 个功能同时有效(不支持 2 个输出功能同时有效)
1.4.10 中断控制(INTC)
中断控制器(INTC)的功能为选择中断事件请求作为中断输入到 NVIC,唤醒 WFI;
作为事件输入,唤醒 WFE。选择中断事件请求作为低功耗模式(休眠模式和停止模式)的唤醒条件;外部管脚 NMI 和 EIRQ 的中断控制功能;软件中断的中断/事件选择功能。
主要规格:
1) NVIC 中断向量:实际使用中断向量数请参考用户手册(不包括 Cortex™-M4F 的 16根中断线),每个中断向量可以根据中断选择寄存器选择对应的外设中断事件请求。更多关于异常和 NVIC 编程的说明,请参考《ARM Cortex™-M4F 技术参考手册》 中的第 5 章:异常和第 8 章:嵌套向量中断控制器。
2) 可编程优先级:16 个可编程优先级(使用了 4 位中断优先级)。
3) 不可屏蔽中断:除 NMI 管脚作为不可屏蔽中断源以外,可以独立选择多种系统中断事件请求作为不可屏蔽中断,且各中断事件请求配备独立的使能选择,挂起,清除挂起寄存器。
4) 配备 16 个外部管脚中断。
5) 配置多种外设中断事件请求,具体请参考中断事件请求序号列表。
6) 配备 32 个软件中断事件请求。
7) 中断可唤醒系统休眠模式和停止模式。
1.4.11 键盘扫描(KEYSCAN)
KEYSCAN 模块支持键盘行列扫描,同外部中断 IRQ 组合可以实现按键识别功能,可以支持 16*8 的键盘阵列。
1.4.12 存储保护单元(MPU)
MPU 可以提供对存储器的保护,通过阻止非授权的访问,可以提高系统的安全性。
本产品内置了四个针对主机的 MPU 单元和一个针对 IP 的 MPU 单元。其中 ARM MPU 提供 CPU 对全部 4G 地址空间的访问权限控制。DMA MPU(DMPU)提供 DMA_1/DMA_2/USB FS DMA 对全部 4G 地址空间的读写访问权限控制。对禁止空间发生访问时,可以设置 MPU 动作为无视/总线错误/不可屏蔽中断/复位。IP MPU 提供非特权模式时对系统 IP 和安全相关 IP 的访问权限控制。。
1.4.13 DMA 控制器(DMA)
DMA 用于在存储器和外围功能模块之间传送数据,能够在 CPU 不参与的情况下实现存储器之间,存储器和外围功能模块之间以及外围功能模块之间的数据交换。
Ÿ DMA 总线独立于 CPU 总线,按照 AMBA AHB-Lite 总线协议传输
Ÿ 拥有 8 个独立通道(DMA_1 和 DMA_2 各 4 个通道),可以独立操作不同的 DMA传输功能
Ÿ 每个通道的启动请求源通过独立的触发源选择寄存器配置
Ÿ 每次请求传输一个数据块
Ÿ 数据块小至 1 个数据,最多可以是 1024 个数据
Ÿ 每个数据可配置为 8bit,16bit 或 32bit
Ÿ 可以配置 65535 次传输
Ÿ 源地址和目标地址可以独立配置为固定,自增,自减,循环或指定偏移量的跳转可产生 3 种中断,块传输完成中断,传输完成中断,传输错误中断。每种中断都可以配置是否屏蔽。其中块传输完成,传输完成可作为事件输出,用作其它具有硬件触发功能外围模块的触发源输入
Ÿ 支持连锁传输功能,可实现一次请求传输多个数据块
Ÿ 支持外部事件触发通道重置
Ÿ 不使用时可设置进入模块停止状态以降低功耗
1.4.14 电压比较器(CMP)
CMP 是将两个模拟电压 INP 和 INM 进行比较,并输出比较结果的外设模块。CMP 共有 3 个独立的比较通道,每个比较通道的模拟电压 INP 和 INM 均有 4 个输入源。使用时可以选定一个 INP 与一个 INM 进行单一比较,也可以将多个 INP 与同一个 INM进行扫描比较。比较结果可通过寄存器读取,也可输出到外部管脚,还可产生中断和事件。
1.4.15 模数转换器(ADC)
12 位 ADC 是一种采用逐次逼近方式的模拟数字转换器。它拥有 16 个模拟输入通道,可以转换外部端口和内部的模拟信号。这些通道可以任意组合成一个序列进行逐次扫描转换,序列可以进行单次,或者连续扫描的转换。支持对任意指定通道进行连续多次转换并对转换结果进行平均。ADC 模块还搭载模拟看门狗功能,对任意指定通道的转换结果进行监视,检测是否超出用户设定的阀值。
ADC 主要特性
Ÿ 高性能
– 可配置 12 位、10 位和 8 位分辨率
– 周边时钟 PCLK4 和 A/D 转换时钟 ADCLK 的频率比可选择:
Ÿ PCLK4:ADCLK=1:1,2:1,4:1,8:1,1:2,1:4
Ÿ ADCLK 可选与系统时钟 HCLK 异步的 PLL,此时 PCLK4 与 ADCLK 的时
钟源同时被固定为 PLL,且频率比为 1:1,原分频设定无效
– 2MSPS(PCLK4=ADCLK=60MHz, 12 位,采样 17 周期)
– 各通道采样时间独立编程
– 各通道独立数据寄存器
– 数据寄存器可配置数据对齐方式
– 连续多次转换平均功能
– 模拟看门狗,监视转换结果
– 不使用时可以将 ADC 模块设定成停止状态模拟输入通道
– 16 个外部模拟输入通道
– 1 个内部基准电压转换开始条件
– 软件设置转换开始
– 周边外设同步触发转换开始
– 外部引脚触发转换开始转换模式
– 2 个扫描序列 A、B,可任意指定单个或多个通道
– 序列 A 单次扫描
– 序列 A 连续扫描
– 双序列扫描,序列 A、B 独立选择触发源,序列 B 优先级高于 A
– 同步模式(适用于具有两个或三个 ADC 的设备)中断与事件信号输出
– 序列 A 扫描结束中断 EOCA_INT 和事件 EOCA_EVENT
– 序列 B 扫描结束中断 EOCB_INT 和事件 EOCB_EVENT
– 模拟看门狗通道比较中断 CHCMP_INT 和事件 CHCMP_EVENT,序列比较中断
SEQCMP_INT 和事件 SEQCMP_EVENT
– 上述 4 个事件均可启动 DMA
1.4.16 温度传感器(OTS)
OTS 可以获取芯片内部的温度,以支持系统的可靠性操作。使用软件或者硬件触发启动测温后,OTS 提供一组与温度相关的数字量,通过计算公式可以计算得到温度值。