该位控制VDD监视器电源的通断。VDD监视器在被选择为复位源之前不可能产生系统复位。在被选择为复位源之前,VDD监视器必须稳定。在VDD监视器稳定之前选其为复位源可能导致系统复位。VDD监视器的最小启动时间见表10.1。 0:禁止VDD监视器。 1:使能VDD监视器。 位6: VDDSTAT:VDD状态。 该位指示当前电源状态(VDD监视器输出)。 0:VDD等于或低于VDD监视器阈值。 1:VDD高于VDD监视器阈值 位5-0: 保留。读= 00000b,写= 忽略。 2.1.3 外部复位
外部/RST引脚提供了使用外部电路强制MCU进入复位状态的手段。在/RST引脚上加一个低电平有效信号将导致MCU进入复位状态。尽管在内部有弱上拉,但最好能提供一个外部上拉和/或对/RST引脚去耦以防止强噪声引起复位。从外部复位状态退出后,PINRSF标志(RSTSRC.0)被置?1?。
2.1.4 外部复位电路
VDDR110kR21kR31k/RSTC1104C21uF 15
2.2 C2接口电路
C8051F330/1有一个Silicon Labs 2线(C2)调试接口,支持FLASH编程、边界扫描和使用安装在最终应用系统中的器件进行在系统调试。C2接口使用一个时钟信号(C2CK)和一个双向的C2数据信号(C2D)在器件和宿主机之间传送信息。有关C2协议的详细信息见C2接口规范。
16
2.2.1 C2引脚共享
C2协议允许C2引脚与用户功能共享,可以进行在系统调试、FLASH编程和边界扫描。这种共享之所以可能,是因为C2通信通常发生在器件的停止运行状态。在这种状态下片内外设和用户软件停止工作,C2接口可以安全地“借用”C2CK(正常方式为/RST)和C2D(正常方式为P2.0)引脚。在大多数情况下,需要使用外部电阻对C2接口和用户应用进行隔离。典型的隔离电路如图20.6所示。
图20.6 典型C2引脚共享电路
2.2.2 C2接口配置 1.接口定义 引线 1 2,3,9 4 5 6 7 8,10
2.实物示意图
JTAG 接口说明 2.7 至3.6VDC 输入 GND TCK TMS TDO TDI NC C2 接口说明 2.7 至3.6VDC 输入 GND C2D NC NC C2CK NC
17
2.3 时钟系统特点及使用
C8051F330/1 MCU 有一个可编程内部高频振荡器、一个可编程内部低频振荡器和一个外部振荡器驱动电路。可以通过对OSCICL和OSCICN寄存器编程来使能/禁止内部高频振荡器和调节其输出频率(如图 13.1 所示);可以通过对 OSCLCN 寄存器编程来使能/禁止内部低频振荡器和调节其输出频率(如图 13.4 所示)。系统时钟可以由外部振荡器电路或任何一个内部振荡器提供。表 13.1 给出了内部振荡器的电气特性。
图13.1 振荡器框图
2.3.1 可编程内部高频(H-F)振荡器
C8051F330/1器件包含一个可编程内部高频振荡器,该振荡器在系统复位后被默认为系统时钟。内部振荡器的周期可以通过OSCICL寄存器编程。对于C8051F330/1器件,OSCICL已经过工厂校准,基频fBASE为24.5MHz。系统时钟可以从内部振荡器分频得到,分频数由寄存器OSCICN中的IFCN位设定,可为1、2、4或8。复位后的缺省分频数为8。
图13.2 OSCICL:内部H-F振荡器校准寄存器
18
图13.3 OSCICN:内部H-F振荡器控制寄存器
2.3.2 外部振荡器驱动电路
外部振荡器电路可以驱动外部晶体、陶瓷谐振器、电容或 RC 网络。也可以使用一个外部CMOS时钟提供系统时钟。对于晶体和陶瓷谐振器配置,晶体/陶瓷谐振器必须并接到 XTAL1 和 XTAL2 引脚(见图 13.1,选项 1),还必须在 XTAL1 和 XTAL2 引脚之间并接一个 10MΩ 的电阻。对于 RC、电容或 CMOS 时钟配置,时钟源应接到 XTAL2 引脚(见图 13.1,选项 2、 3、4)。必须在 OSCXCN 寄存器中选择外部振荡器类型,还必须正确选择频率控制位 XFCN (见图 13.5)。
注意:当使用外部振荡器电路时,必须对所用端口引脚进行配置。
当外部振荡器电路被配置为晶体/谐振器方式时,端口引脚P0.2和P0.3分别被用作XTAL1和XTAL2。
当外部振荡器电路被配置为RC、电容或CMOS时钟方式时,端口引脚P0.3被用作XTAL2。端口I/O交叉开关应被配置为跳过被振荡器占用的引脚。
当在晶体/陶瓷谐振器、电容或RC方式使用外部振荡器电路时,应将所用的端口引脚配置为模拟输入。在CMOS时钟方式,应将所用的端口引脚配置为数字输入。有关端口输入方式选择的详细信息见“14.2 端口I/O初始化”。
2.3.3 外部晶体示例
如果使用晶体或陶瓷谐振器作为MCU的外部振荡源,则电路为图13.1中的选项1。应从图13.5(OSCXCN寄存器)中的晶体列选择外部振荡器频率控制值(XFCN)。例如,一个11.0592MHz的晶体要求XFCN设置值为111b。
在晶体振荡器被使能时,振荡器幅度检测电路需要一个建立时间来达到合适的偏置。在使能晶体振荡器和检查XTLVLD位之间引入1ms的延时可以防止提前将系统时钟切换到外部振荡器。在晶体振荡器稳定之前就切换到外部晶体振荡器可能产生不可预见的后果。建议
19