LPC2000系列ARM PLL配置详解及代码示例

需积分: 16 3 下载量 90 浏览量 更新于2024-08-24 收藏 1.6MB PPT 举报
"PLL设置和LPC2000系列ARM微控制器的硬件结构" 在嵌入式系统中,PLL(Phase-Locked Loop,锁相环)是一种关键的时钟频率合成器,用于提高系统时钟速度或改变系统时钟频率。在LPC2000系列ARM微控制器中,PLL的配置对于优化系统性能至关重要。本文通过一个具体的例子展示了如何设置PLL。 PLL配置过程主要包括以下几个步骤: 1. **计算PLL分频值**:PLLSet函数接受Fcclk(期望的系统时钟频率),Fosc(晶振频率),和Fcco(PLL输出频率)作为参数。首先计算出分频比i = Fcco / Fcclk,然后根据这个比例选择合适的分频配置。 2. **参数合法性检查**:根据分频比i,选择适当的PLL分频设置。例如,当i等于2、4、8或16时,分别设置PLLDAT寄存器的不同位。如果i不在这些范围内,函数返回错误。 3. **使能PLL**:设置PLLCON寄存器,初始化PLL。 4. **设置PLL分频值**:将计算得到的PLLDAT值写入PLLCFG寄存器,定义PLL的工作模式。 5. **PLL馈送序列**:为了确保PLL配置的生效,需要执行两次写操作(PLLFEED = 0xaa, PLLFEED = 0x55)。 6. **等待PLL锁定**:通过循环检查PLLSTAT寄存器的锁定标志,直到PLL稳定并锁定。 7. **连接PLL**:最后,设置PLLCON寄存器为3,连接PLL到系统时钟。 LPC2000系列是基于ARM7TDMI-S CPU核心的微控制器,支持ARM和Thumb指令集。这个系列包括多个子系列,如LPC2100、LPC2200、LPC2300、LPC2400和LPC2800,每个子系列提供了不同数量的引脚、片上RAM、Flash存储和外设接口,比如GPIO、UART、I2C、SPI、定时器、A/D转换器等。这些特性使得LPC2000系列广泛应用于工业控制、医疗设备、安全系统和销售点终端等领域。 LPC2000系列的硬件结构包括但不限于: - **系统控制模块**:管理系统时钟、复位和其他系统级功能。 - **存储器加速模块(MAM)**:优化高速数据处理。 - **外部存储器控制器(EMC)**:支持与外部RAM和ROM的通信。 - **引脚连接模块**:提供灵活的I/O配置。 - **向量中断控制器(VIC)**:处理系统中的中断请求。 - **GPIO**:通用输入输出端口,用于与其他硬件交互。 - **UART**:用于串行通信。 - **I2C**和**SPI接口**:支持多种总线协议的通信。 - **定时器**:用于计时和事件检测。 - **A/D转换器**:模拟信号转数字信号的接口。 - **实时时钟**:保持精确的时间跟踪。 - **看门狗定时器**:确保系统在异常情况下能正常运行。 - **PWM**:用于生成脉宽调制信号。 了解和掌握这些硬件模块以及如何配置PLL,对于开发基于LPC2000系列的嵌入式系统至关重要。通过精心的配置,可以优化系统的性能、功耗和稳定性,满足不同应用的需求。
2023-07-13 上传