常看到说,时钟信号是用来“同步”系统各器件(CPU、内存、总线等)的工作的。但是这里的“同步”实在是太笼统了。什么是“同步”?各器件为什么要同步?
通常所说的系统时钟就是指时钟系统,它是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。常用的信号源有晶体振荡器和RC振荡器。
时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作.外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。因此时钟对于计算机系统是至关重要的,通常时钟系统出现问题也是致命的,比如振荡器不起振、振荡不稳、停振等。
先要了解到“存储器”是用触发器(flip-flop)或电容器(capacitor)做的。用触发器的就是SRAM,用电容器的就是DRAM。因为电容是会不断放电的,所以要不断对其充电(刷新),所以才叫做Dynamic RAM。
然后要了解到,触发器和电容器做的都分为两类:不同步的和同步的。不同步的触发器叫做简单(simple)或透明(transparent)触发器;同步的触发器叫做钟控(clocked)触发器。另一方面,不同步的电容器做的RAM就叫DRAM,同步的电容器做的RAM就叫SDRAM。
触发器和电容器都是放在电路里工作(例如返回它们保存的值,设置它们的值等)的;它们工作是要时间的;它们完成工作后,要“通知”其他器件它们工作完成了(这就是各器件要“同步”的原因)。“通知”方式就有两种:通过外部时钟信号和其他方式(例如不同步的CPU用的"pipeline controls" or "FIFO sequencers."等)。通过外部时钟信号来告诉其他部件工作已完成就叫做“同步”。具体地说,就是触发器和电容器在一个时钟周期内必须完成工作,这样其他部件就可以认为是“被通知了”。
ARM的时钟系统包括4部分,分为晶体振荡器、唤醒定时器、锁相环(PLL)和VPB分频器。其中晶体振荡器为系统提供基本的时钟信号(频率为Fosc)。当复位或者处理器从掉电模式唤醒时,“唤醒定时器”要对输入的时钟信号做计数延时,使芯片内部的部件有时间进行初始化。然后Fosc被PLL提高到一个符合用户需要的频率Fcclk,Fcclk用于CPU内核。因为CPU内核通常比外设部件的工作速度要快,用户可以通过设置VPB分频器,把Fcclk信号降低到一个合适的值Fpclk,该信号用于外设部件。以下是对各个部件和常见概念的介绍。
DNTS-8有1-12个10/100M自适应的以太网口可选, 网口间物理相互隔离,完全保证数据安全性,可全设置同一个网段或者不同网段,具有冗余性,某个网口的故障将不会影响其他网口正常工作。每个以太口必须设置独立IP地址。