奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置

2024-02-05 07:48

本文主要是介绍奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置

本小节主要介绍LPC1788时钟配置的要点。

讲解之前先聊一下LPC1788这个芯片,之所以选择LPC1788做项目,主要有以下几点的优势:

1)带LCD控制器,最大可以支持到1024*768,这个是我选择它的最主要原因。

2)接口挺丰富。像USB,以太网,SD卡,CAN基本都有,方便做应用开发。

3)串口挺多,有5个。

 

硬件平台:深圳英蓓特科技的LPC1788的工业级单板机(SBC1788工控板)。

选择它的理由:1)一直在它那里买,包括STM32F207的板子, 例程\范例\文档均很不错,我挺信赖。

2)由于项目需要工业级的应用,稳定可靠性要求较高。我看SBC1788板子设计时,就是为了工业级应用而设计,同时还考虑了EMC相关性能。

3)支持uCGUI 以及uCOS-II,lwip 方便我做项目。

4)范例丰富,文档写的很好。以上是我自己买它的原因,仅供参考。

软件平台:MDK(即keil 4)4.22a。

软件库以及范例。基于英蓓特的LPC1788工控板提供的相关范例。

软件库具体对应: 官方的LPC177x_8xCMSIS_111230这个版本。

 

以下将具体讲解LPC1788的时钟配置。

1). LPC1788目前没有看到可以自动配置时钟的软件,不像ST有相关的软件生产时钟配置文件。所以LPC1788的时钟配置就得自己慢慢去看datasheet来自己改。

 

2). 时钟配置文件为system_LPC177x_8x.c 这一点目前Cortex-M3/M4内核都是一样,符合CMSIS标准.

 

3). 在system_LPC177x_8x.c中,主要涉及到的时钟配置宏如下:

 

/*系统时钟控制器的配置 。 系统控制与状态寄存器(SCS—0x400F C1A0)

,一般以下这一项,我们不用修改。*/

/*需要注意的是 BIT4位的 振荡器的频率范围选择,根据具体情况而定 

 具体设置如下图:

*/

#define CLOCK_SETUP           1
#define SCS_Val               0x00000021

 

/*系统时钟源配置,

 val = 0, 选择内部RC振荡器作为系统时钟和PLL0的时钟源(默认)。

 val = 1, 选择主振荡器作为系统时钟和PLL0的时钟源。

*/
#define CLKSRCSEL_Val         0x00000001

 

/*系统PLL0以及PLL1配置,

 PLL0 为主振荡器 用于系统主时钟输入源。

 PLL1 为副振荡器 用于USB 48M时钟源输入。

以下参数配置的结果为系统时钟=120M

 具体设置如下图:

*/

#define PLL0_SETUP            1
#define PLL0CFG_Val           0x00000009
#define PLL1_SETUP            1
#define PLL1CFG_Val           0x00000023

 

/*CPU时钟选择与分频配置,

 CPU时钟设置为1分频=120MH

 CPU时钟分频器时钟源选型配置为 PLL0

 一般不改动。

*/

#define CCLKSEL_Val           0x00000101

 

/*USB 时钟选择与分频配置,

 USB时钟分频器时钟源选型配置为 PLL1

 一般不改动。

*/

#define USBCLKSEL_Val         0x00000201

 

/*EMC分频配置,

 分频=0,EMC与CPU使用同一个时钟

 分频=1,EMC使用CPU的一半时钟

 根据需求配置。

以下配置结果为 EMC = 60M

*/
#define EMCCLKSEL_Val         0x00000001

 

/*外设时钟配置,范围(1-31)

 根据需求配置。

以下配置结果为 PCLK = 60M

*/
#define PCLKSEL_Val           0x00000002

 

/*功耗模式配置

一般不用修改,若需要用到低功耗,则按需修改

*/
#define PCONP_Val             0x042887DE

 

/*外部时钟输出配置

为了便于系统测试与开发,任何一种内部时钟均可引入CLKOUT功能(在P1[25]或P1[27]
管脚可使用)

 根据需求配置。

以下配置结果为 0100  选择RTC振荡器作为CLKOUT的时钟源

*/
#define CLKOUTCFG_Val         0x00000100

 

总结:LPC1788的时钟配置相对来说比较麻烦点,在应用时应该注意查看datasheet 防止错误设置

 

这篇关于奔奔 LPC1788 入门学习笔记系列之---LPC1788时钟配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680230

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨