78K0最小硬件系统如下图所示。
在应用APPlilet2软件创建一个工程时,软件会第一时间弹出系统设置对话框和看门狗定时器设置对话框。这是对最小硬件系统的初始设置。包括如下选项:
(1)系统时钟设置
体现在硬件初始化函数hdwinit中。
(2)看门狗设置
体现在选项字节中。看门狗使用独立的内部低速时钟,监控CPU的运行。
(3)存储器
最小硬件系统还包括存储器,但为什么没有内存设置选项?
Applilet2自动生成的硬件初始化函数hdwinit代码如下:
void hdwinit( void )
{DI( );IMS = MEMORY_IMS_SET;IXS = MEMORY_IXS_SET;SystemInit( );EI( );
}
此段代码中包括切换寄存器IMS和IXS的初始化。对于选定的某型号CPU,其设定值是固定的,即CPU确定后,内存的设置也被唯一确认,故不需要手动设置,软件自动完成。
打开电源和复位重启后,CPU会自动参考选项字节设置指定的功能,然后执行系统硬件初始化函数hdwinit,再ROM化,为用户程序提供适宜的运行环境。
下面是对最小硬件系统涉及的一些参数进行小结。
一.电源电路
表一 电源相关引脚参数 | |||
名称 | 符号 | 参数范围 | 备注 |
MCU正向供电电源引脚 | VDD | 1.8V~5.5V | P20~P27除外 |
地引脚 | VSS | 接地 | P20~P27除外 |
A/D转换器参考电压输入,P20~P27引脚正向电源供电 | AVREF | ①参考模式电压:2.3~5.5V; ②作为数字端口电源:接VDD | —— |
A/D转换器的地引脚 | AVSS | 接地(=VSS) | —— |
二.外部复位电路
输入RESET引脚的低电平时间≥10μs。
三.存储器
必须先设置IMS,再设置IXS。根据μPD78F0527D芯片手册,其内部ROM为128K,包括32KB的公共区域,和16KB/BANK*6BANK=96KB的BANK区域,故其设置值为32KB+16KB=48KB。
系统启动时,会在hdwinit函数中设置。
表二 μPD78F0527D切换寄存器设置 | |||
切换寄存器 | 作用 | 设置值 | 对应内存容量 |
IMS | 选择内部高速RAM和FLASH的容量 | CCH | ①ROM:48KB ②RAM:1KB |
IXS | 选择内部扩展RAM 的容量 | 00H | 扩展RAM:6KB |
四.时钟电路
主系统时钟、副系统时钟和高速内置时钟三者只能选择其一工作,其余2个要停止。
复位或上电后,默认使用内部高速振荡时钟,然后根据设置切换或不切换时钟。
时钟的振荡频率决定指令的执行速度,下面的截图是芯片手册关于指令最短执行时间的说明。
对上图内容的解释如下:此芯片的指令最短时钟周期为2个,如NOP指令。故指令最短执行时间:
ts=2*1/fcpu
若CPU时钟使用内部高速振荡时钟fRH =8MHz,则:
ts=2*1/8M=0.25μs
其它依此类推。