基本信息
文件名称:NXP 系列:LPC1768 (适用于复杂娱乐设备)_(36).LPC1768安全性和可靠性.docx
文件大小:22.82 KB
总页数:18 页
更新时间:2025-06-16
总字数:约8.29千字
文档摘要

PAGE1

PAGE1

LPC1768安全性和可靠性

1.引言

在设计复杂娱乐设备时,安全性与可靠性是至关重要的因素。LPC1768作为NXP系列中的一款高性能微控制器,提供了多种安全性和可靠性的功能,以确保设备在各种环境下的稳定运行和数据安全。本节将详细介绍LPC1768的安全性和可靠性功能,包括硬件和软件层面的措施,并通过具体的代码示例展示如何实现这些功能。

2.硬件安全性和可靠性

2.1看门狗定时器(WatchdogTimer)

看门狗定时器是一种硬件功能,用于检测和恢复系统故障。LPC1768内置了两个看门狗定时器:WDT和IWDG。这些定时器在系统出现异常时,会自动触发复位,从而防止系统进入不可恢复的状态。

2.1.1WDT(WatchdogTimer)

WDT是一个简单的定时器,当定时器溢出时,会触发系统复位。WDT可以通过配置寄存器来设置定时器的超时时间。

//WDT初始化

voidWDT_Init(uint32_ttimeout){

//使能WDT时钟

LPC_SC-PCONP|=(125);

LPC_SC-PCLKSEL1=~(0x0314);

LPC_SC-PCLKSEL1|=(0x0114);//设置PCLK为CCLK/4

//配置WDT模式

WDT-WDTC=(timeout0x0000FFFF);//设置超时时间

WDT-WDMOD=0x03;//使能WDT,定时器溢出时触发复位

//启动WDT

WDT-WDFEED=0xAA;

WDT-WDFEED=0x55;

}

//WDT喂狗

voidWDT_Feed(){

WDT-WDFEED=0xAA;

WDT-WDFEED=0x55;

}

2.2IWDG(IndependentWatchdogTimer)

IWDG是一个独立的看门狗定时器,它有自己的时钟源,不受系统时钟影响。IWDG可以通过配置寄存器来设置定时器的超时时间。

//IWDG初始化

voidIWDG_Init(uint32_ttimeout){

//使能IWDG时钟

LPC_SC-PCONP|=(111);

LPC_SC-PCLKSEL0=~(0x0322);

LPC_SC-PCLKSEL0|=(0x0122);//设置PCLK为CCLK/4

//配置IWDG模式

IWDG-TC=(timeout0x0000FFFF);//设置超时时间

IWDG-MOD=0x03;//使能IWDG,定时器溢出时触发复位

//启动IWDG

IWDG-FEED=0xAA;

IWDG-FEED=0x55;

}

//IWDG喂狗

voidIWDG_Feed(){

IWDG-FEED=0xAA;

IWDG-FEED=0x55;

}

2.3低电压检测(Brown-OutDetection)

低电压检测功能用于在系统电源电压低于某个阈值时触发复位,以防止系统在不稳定电压下运行。LPC1768通过配置BOD寄存器来实现这一功能。

//低电压检测初始化

voidBOD_Init(uint8_tthreshold){

//使能BOD

LPC_SC-BODCR|=(18);

//设置阈值

LPC_SC-BODCR=~(0x030);

LPC_SC-BODCR|=(threshold0);

}

2.4电源管理

LPC1768提供了多种电源管理功能,包括睡眠模式、深度睡眠模式和关机模式。这些模式可以降低功耗,提高系统的能效。

2.4.1睡眠模式(SleepMode)

睡眠模式下,CPU停止运行,但外设和RAM保持供电。进入睡眠模式可以通过执行WFI指令来实现。

//进入睡眠模式

voidEnterSleepMode(){

__WFI();//等待中断唤醒

}

2.4.2深度睡眠模式(DeepSleepMode)

深度睡眠模式下,CPU和大部分外设停止运行,但某些外设和RAM可以保持供电。进入深度睡眠模式需要配置电源管理控制寄存器。

//进入深度睡眠模式

voidEnterDeepSleepMode(