一.初识 NEC MCU
NEC,即日本电气株式会社, 经营半导体业务。 NEC 倡导“ ALL Flash”,即 MCU 内的程序存储器使用 Flash ROM。
为什么用 Flash ROM?
与掩膜 ROM 微控制器相比, Flash 微控制器加速了系统开发。微控制器可以在程序完成前订购,也可以在微控制器安装完成后写入程序,缩短了开发周期。
NEC 全系列单片机具有选择范围广、易于编程、低功耗、低价格及完善的开发环境等优点,产品广泛应用于汽车设备、 PC 外围设备、家用电器、工业设备等多个领域。
NEC All Flash 微控制器目前有 8 位、 16 位、 32 位,分为 4 大类如下:
(1) 8 位: ①78K0S: 少管脚, 10~30 pin;②78K0。
(2) 16 位: 78K0R。
(3) 32 位: V850。
二.命名规则
下面以8 位微控制器 78K0/KD2 系列中的μPD78F0526为例, 说明其命名规则:
三.最小硬件系统
调试单片机,建议从最小硬件系统开始。
让芯片工作的必备硬件电路如下图所示。
3.1 电源电路
电源为整个嵌入式硬件系统提供能量,是整个系统工作的基础。 VDD=1.8V~5.5V。
3.2 复位电路
嵌入式 MCU 都有一个系统复位引脚 RESET。一般情况下, RESET 必须至少保持若干个处理器时钟周期的低电平,系统才能可靠复位,并且可考虑人工干预。
复位后 PC 指针指向唯一的地址 0x0000,而在此地址处放一条无条件转移指令,转向系统初始化程序,这个系统初始化程序中就可以对系统进行初始化操作,以保证系统有序工作。
78K0 的复位信号来源于外部或内部, 具体如下图 3。
看门狗定时器和 LVI 产生的内部复位请求被保存在复位控制标志寄存器 RESF 的 WDTRF位和 LVIRF 位,可通过读取 RESF 的值监控复位的原因。
RESET 输入、由 POC 电路引起的复位输入以及读取 RESF 可将 RESF 清 0。
外部复位与内部复位在功能上没有什么区别。当产生复位信号时,程序都是从地址 0000H和 0001H 处开始执行。
3.3 时钟电路
几乎所有嵌入式 MCU 本质上均为同步时序电路,需要时钟信号才能按照节拍正常工作。
大多数嵌入式 MCU 内置了时钟信号发生器。但有些场合(如为了减少功耗、需要严格同步等)需要使用外部振荡源提供时钟信号。
78K0 的时钟类型具体如下图 4。
复位后, CPU 时钟和外部硬件时钟均默认使用内部高速振荡时钟 8MHz。这样设置有如下优点:
①增强安全性能:如果 X1 被默认设置为 CPU 时钟,在 X1 时钟损坏或连接错误时设备不能操作,因此复位释放后也不能操作。但是,如果 CPU 的初始时钟是内部高速振荡时钟,则在复位释放后,由内部高速振荡时钟启动设备。这样,系统只需执行最少操作(如由软件确认复位源或在出现故障时执行安全处理),变可以安全关闭。
②改善性能:由于 CPU 可以在不必等待 X1 时钟振荡稳定时间情况下就启动,所以总的性能得
到了改善。
3.4 存储器
存储器大多由半导体集成电路组成。具体类型如下图 5。
3.4.1 Flash ROM
78K0 使用 Flash ROM 存储程序。
Flash ROM 的工作原理为:
(1)在低电压下, 存储的信息可读但不可写, 这时类似于 ROM,具有非易失性的特点。
(2)在较高电压下,所存储的信息可以更改和删除,这时又类似于RAM,能方便地在线写入信息。
而以前使用较多的掩膜 ROM 用来存放固件,不可修改。
基于 Flash ROM 的工作原理,可以理解 78K0 中 FLMD0 引脚的作用:
①在普通模式下,
此引脚输入电压为 0V,这时只可读,类似于 ROM;
②在 Flash 存储器编程模式中,将 VDD
写电压提供给 FLMD0 引脚,这时可更改和删除 Flash 中的信息,类似于 RAM。
3.4.2 地址空间
下面以 PD78F0527 为例进行说明。
存储空间映射图如下图 6所示。
① IMS 和 IXS 寄存器
在所有 78K0/KD2 产品中,无论内存容量如何,当复位释放后,内存容量切换寄存器(IMS)和内部扩展 RAM 容量切换寄存器(IXS)的初值为常数(IMS=CFH, IXS=0CH)。
因此复位释放后必须为每个产品设置。 部分型号的设置值如下表一。
μPD78F0526, μPD78F0527, μ PD78F0527D 分别有 96KB 和 128KB 的内部 ROM。但是由于使用了存储器 bank,这些设备中 IMS 的设置值与 48KB 产品的相同。
② BANK 寄存器
Flash ROM 一个 BANK 区域, 包含多个 BANK,由 BANK 选择寄存器指定当前 BANK。
每个 BANK 大小为 16KB。