ARM的pll
LPC系列arm芯片
LPC1000系列ARM是以第二代Cortex-M3为内核的微控制器,用于处理要求高度集成和低功耗的嵌入式应用。
采用3级流水线和哈佛结构,其运行速度高达100MHz,带独立的本地指令和数据总线以及用于外设的第三条总线,使得代码执行速度高达1.25MIPS/MHz,并包含一个支持随机跳转的内部预取指单元,特别适用于静电设计、照明设备、工业网络、报警系统、白色家电、电机控制等领域。
特性•第二代Cortex-M3内核,最高运行速度可达100MHz;•内置嵌套向量中断控制器(NVIC),极大程度的降低了中断延迟;•极低功耗设计,延长了电池寿命;•全新的中断唤醒控制器(WIC);•存储器保护单元;•不可屏蔽中断(NMI)输入;•Ethernet,USB Host/OTG/Device,Can,I2S;•Fast-mode Plus(Fm+)I2C,SPI/SSP,UARTs;•12-bit ADC;•低功耗实时时钟(RTC);LPC1100L系列ARM采用Cortex-M0内核,是市场上定价最低的32位MCU解决方案,它的价值和易用性比现有的8位/16位微控制器更胜一筹。
LPC1100L系列ARM性能卓越、简单易用、功耗低,更重要的是,它能显著降低所有8位/16位应用的代码长度。
LPC1100L系列为那些寻求用可扩展ARM架构来执行整个产品开发过程的8位/16位用户提供无缝的整合需求。
这些MCU围绕着新的Cortex-M0架构建立,是开发以来最小巧、功耗最低且最有能效的ARM内核,为电池供电的消费类产品、智能电表、电机控制等应用提供理想的解决方案。
LPC1100L系列ARM每秒4500多万条指令的傲人性能让8位(每秒不到100万条指令)及16位(每秒300万到500万条指令)微控制器相形见绌;LPC1100L不仅能执行基本的控制任务,而且能进行复杂运算,即便最复杂的任务也能轻松应付。
执行效率的提高直接转化为能耗的降低,实现该性能水平的LPC1100L运行速度高达50MHz,其功耗也得到了很大程度的优化——仅需不到10mA的电流。
ARM原理及应用复习题(附答案)
《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。
2.STM32F103最高工作频率___72MHz___。
片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。
IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。
5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。
6.STM32的所有端口都有外部中断能力。
当使用外部中断线时,相应的引脚必须配置成输入模式。
7.STM32具有单独的位设置或位清除能力。
这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。
8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。
9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。
10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。
12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。
简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。
指令周期机器周期等各种周期介绍
时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
例如外接24M晶振的单片机,他的一个机器周期=12/24M 秒;指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。
指令不同,所需的机器周期也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
总线周期:由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。
ARM原理及应用复习题(附答案)
《ARM原理及应用》复习题填空题1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。
2.STM32F103最高工作频率___72MHz___。
片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。
IWDG:独立看门狗WWDG:窗口看门狗3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。
5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。
6.STM32的所有端口都有外部中断能力。
当使用外部中断线时,相应的引脚必须配置成输入模式。
7.STM32具有单独的位设置或位清除能力。
这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。
8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。
9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。
10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。
12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。
简答题1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别?答:是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。
ARM处理器系统初始化过程
ARM处理器系统初始化过程在嵌入式系统中,ARM处理器是最常用的处理器之一。
ARM处理器的系统初始化过程可以分为硬件初始化和软件初始化两个阶段。
本文将介绍ARM处理器系统初始化的具体流程。
硬件初始化在系统上电后,ARM处理器进入硬件初始化阶段。
主要任务是对处理器的外设进行初始化。
1.初始化时钟系统:ARM处理器的时钟系统是处理器运行的根底,因此在初始化过程中需要设置适当的时钟频率和时钟源。
这可以通过配置PLL〔Phase Locked Loop〕或者外部晶振来实现。
2.使能缓存:缓存是提高处理器性能的关键。
在初始化过程中,需要配置L1缓存和L2缓存的大小、映射方式等参数,并使能它们。
3.配置中断控制器:中断是处理器与外设交互的一种方式。
在初始化过程中,需要配置中断控制器,使其能够正确地响应外设发出的中断请求。
4.初始化外设:根据系统的需求,初始化各个外设,包括串口、SPI、I2C等外设。
这些外设的初始化过程涉及到设备的存放器配置、中断使能等操作。
5.设置存储器映射:ARM处理器通过存储器映射来访问外部存储器。
在初始化过程中,需要设置存储器映射表,使处理器能够正确地访问外部存储器。
软件初始化在硬件初始化完成后,ARM处理器进入软件初始化阶段。
主要任务是加载和运行操作系统及应用程序。
1.复位处理器:在软件初始化过程中,可以选择复位处理器,将处理器重新置于初始状态。
这通常通过将Reset引脚拉低来实现。
2.加载引导程序:引导程序是系统启动的第一段代码,其功能是加载操作系统的核心代码。
在软件初始化过程中,需要将引导程序加载到适当的内存位置,并设置处理器的执行起点。
3.初始化操作系统:一旦引导程序加载完成,操作系统开始初始化。
这包括初始化内核数据结构、初始化设备驱动程序、启动任务调度器等。
4.加载应用程序:在操作系统初始化完成后,可以选择加载应用程序。
应用程序的加载可以通过文件系统来实现,将应用程序从存储设备读取并加载到内存中。
ARM开发板使用手册
ARM开发板使用手册PHILIP LPC2132ARM7TDMI第一章介绍LPC2132开发板是专门为arm 初学者开发的实验板,用户可以做基础的arm实验,也可以做基于ucos-ii的操作系统实验。
本系统的实验源代码全部开放,用户可以在此基础上开发产品,减少重复劳动。
由于LPC2132体积很小,并且功能强大,因此特别适合需要复杂智能控制的场合,其运行速度高于早期的80486计算机,而体积只有指甲大。
我们已经将LPC2132产品成功应用在干扰比较强的工业场合,经过6个月的运行,各项指标符合要求。
因此我们特别推荐这一款开发板作为ARM初学者入门。
由于此款开发板体积很小,非常适合直接应用在工业以及民用智能控制器的场合。
LPC2132 CPU介绍LPC2131/2132/2138 是基于一个支持实时仿真和跟踪的16/32 位ARM7TDMI-STM CPU,并带有32kB、64kB 和512kB 嵌入的高速Flash 存储器。
128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。
较小的封装和很低的功耗使LPC2131/2132/2138 特别适用于访问控制和POS 机等小型应用中;由于内置了宽范围的串行通信接口和8/16/32kB 的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。
多个32 位定时器、1个或2 个10 位8 路的ADC、10 位DAC、PWM 通道、47 个GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制应用以及医疗系统。
主要特性●●16/32 位ARM7TDMI-S 核,超小LQFP64 封装。
●●8/16/32kB 的片内静态RAM 和32/64/512kB 的片内Flash 程序存储器。
指令周期机器周期等各种周期介绍
时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
例如外接24M晶振的单片机,他的一个机器周期=12/24M 秒;指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。
指令不同,所需的机器周期也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
总线周期:由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。
STM32简介
STM32串口通信过程
数据接收过程:
MCU 内核
输入数 据缓冲
器
…
串行输 入移位 寄存器
RXD
串行数据输入
外 部 设 备
数据发送过程:
MCU 内核
输出数 据缓冲
器
…
串行输 出移位 寄存器
TXD
串行数据输出
外 部
设
备
STM32串口异步通信需要定义的参数:
① 起始位 ② 数据位(8位或者9位) ③ 奇偶校验位(第9位) ④ 停止位(1,1.5,2位) ⑤ 波特率设置
允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它 要求发送设备和接收设备都有独立的接收和发送能力。
串行通信的通信方式
同步通信:带时钟同步信号传输。 -SPI,IIC通信接口
异步通信:不带时钟同步信号。 -UART(通用异步收发器),单总线
通信标准
引脚说明
通信方式
通信方向
UART (通用异步收发器)
目录页
01 第一部分:STM32单片机入门 02 第二部分:GPIO、串口介绍 03 第三部分:STM32CubeMX配置
MDK软件仿真
01
STM32单片机
ARM-CORTEX-M内核
ARM是什么
英国ARM公司是全球领先的半
1
导体知识产权(IP)提供商。全世
界超过95%的智能手机和平板
STM32单片机含义
UART:通用异步收发器 USART:通用同步异步收发器
-RXD:数据输入引脚。数据接受。 -TXD:数据发送引脚。数据发送。
UART异步通信方式特点:
全双工异步通信。 小数波特率发生器系统,提供精确的波特率。 可配置的16倍过采样或8倍过采样,因而为速度容差与时钟容差的灵活
ARM常用名词解释20131105
ARM常用名词解释RTC:real time clock 实时时钟.RCC:Reset and clock control 复位和时钟控制。
PLL:Phase Lock Loop 锁相环DMA: direct memory access 直接存储器存取.NVIC:Nested Vectored Interrupt Controller 嵌套中断向量控制。
MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。
EXTI:外部中断/事件控制器。
systick: 系统时钟节拍. tick = 时钟节拍。
ADC:Analog-to-Digital Converter模拟/数字转换器BKP: BACKUP备份寄存器CAN: 控制器区域网络FLASH: Flash 存储器GPIO: General-Purpose IN OUT通用I/OI2C:Inter-integrated 电路,是一种通讯总线IWDG:indie watch dog独立看门狗PWR: power电源控制SPI:Serial Peripheral Interface串行外设接口TIM:time定时器USART:Universal Serial Asynchronous Receiver Transmitter通用串行同步异步接收传送器WWDG:window watch dog窗口看门狗寄存器描述CR1 控制寄存器1CR2 控制寄存器2SMCR 从模式控制寄存器DIER DMA和中断使能寄存器SR 状态寄存器EGR 事件生成寄存器CCMR1 捕获/比较模式寄存器1CCMR2 捕获/比较模式寄存器2CCER 捕获/比较使能寄存器CNT 计数寄存器PSC 预分频数寄存器ARR 自动重载寄存器CCR1 捕获/比较寄存器1CCR2 捕获/比较寄存器2CCR3 捕获/比较寄存器3CCR4 捕获/比较寄存器4DCR DMA控制寄存器DMAR DMA猝发模式下的地址寄存器RTC:real time clock实时时钟RCC:Reset and clock control 复位和时钟控制。
《ARM嵌入式系统》期末考试试题库
《ARM嵌入式系统》期末考试试题库《ARM嵌入式系统》试题库一、填空题(每题3分,共15分)1、ARM 这个缩写包含两个意思:一是指___________;二是指______________。
2、常用的AT89C52单片机为_____位单片机,而STM32单片机为____位单片机。
3、常用的STM32F103~107系列单片机是基于_______内核,此内核采用的是__________结构4、STM32单片机共有8种输入输出模式,其中输入模式有_____种,输出模式有_____种。
5、在编写按键检测程序时,加一个延时判断的目的是为了__________,这种方法叫________。
6、如果LED阴极接地,阳极通过一个电阻接单片机PA1端口,则当单片机PA1端口输出为高电平时LED状态为_______;当输出为低电平时LED状态为_______。
7、STM32单片机的GPIO口可以配置为__________模式和__________模式。
8、常STM32的__________为通用同步异步收发器,可以利用__________发生器提供宽范围的波特率选择。
9、STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、__________模式和__________模式。
10、STM32具有单独的位设置或位清除能力。
这是通过__________和__________寄存器来实现的。
11、如嵌入式系统的设计可以分成三个阶段:分析、__________和__________。
12、微处理器有两种总线架构,使用数据和指令使用同一接口的是__________,分开的指令和数据接口、取指和数据访问可以并行进行的是__________。
13、ARM核有两个指令集,分别是__________指令集、__________指令集。
14、嵌入式系统开发采用的交叉开发环境是由__________和__________组成的。
ADS项目2
定时器 应用
普通延时程序(循环) static void Delay(void) { volatile unsigned int k; for(k = 0; k < 20000000; k++); }
定时器 TIMER 说明
The
S3C6410X RISC microprocessor comprises of five 32-bit timers. These timers are used to generate internal interrupts to the ARM subsystem. In addition, Timers 0 and 1 include a PWM function (Pulse Width Modulation),which can drive an external I/O signal. The PWM for timer 0 and 1 have an optional deadzone generator capability, which can be utilized to support a large current device. Timer 2, 3 and 4 are internal timers with no output pins.
本章内容
1、延时 2、定时器 (延时与中断) 3、PWM 4、ADC 5、ADC触摸屏 (中断) 6、中断简单使用
PWM TIMER
倍频于分频
设备都要求输入一定频率的时钟才可以工作, 比较明显的例子是CPU。当然除了CPU外还有 其他的设备,可以说时钟是这些设备的心脏, 没有时钟它们是不会工作的(切断或降低时钟 能达到降频减耗的目的)。在开发板刚启动时, 时钟处于一个很低的频率,需要初始化工作才 能把频率提上去,为设备提供所需的工作时钟 频率。
ZYNQ学习笔记之时钟相关
ZYNQ学习笔记之时钟相关通常模式下,锁相环PLL是启动的,PS-CLK提供时钟信号,经过三路PLL,分别是:ARM PLL,产⽣时钟⽤于CPU和互联;IO PLL,产⽣时钟⽤于IO外围设备;DDR PLL,产⽣时钟⽤于DDR DRAM 控制器和AXI-HP接⼝。
旁路模式下,PS-CLK直接为各种时钟⽣成器产⽣时钟,此时不通过PLL。
当POR复位信号上电复位时,对PLL旁路模式引脚采样,然后在PLL旁路模式和使能模式间进⾏选择。
PLL旁路模式,运⾏系统较慢,但功耗低。
⼀,CPU 时钟域时钟经过选择器和6位可编程分频器后,进⼊时钟⽐值⽣成器,最后产⽣4个独⽴的时钟信号:CPU_6x4x,CPU_3x2x,CPU_2x,CPU_1x。
上图是关于四个时钟信号的范例,可以看到它们之间的倍数关系及应⽤场合。
倍数关系是6:3:2:1或者4:2:2:1。
注:所有的CPU时钟互相同步,DDR时钟互相独⽴并且独⽴于CPU时钟,⽽IO的各个外设时钟完全异步。
⼆,DDR时钟域两个DDR时钟:DDR_2x和DDR_3x。
前者驱动AXI_HP端⼝、由AXI_HP到DDR互联模块的AXI_HP互联路径;后者驱动DDR存储器端⼝、控制器和DRAM接⼝。
DDR_2x和DDR_3x互相独⽴,异步。
三 IO时钟域IO上不同的外设时钟域都是独⽴的,完全异步,有的来⾃于系统内部,有的来⾃于外部引脚供给,种类繁多四,时钟编程实例实例1,PS-CLK的输⼊时钟为33.33M,实例2是50Mhz。
就实例1⽽⾔,PLL的输出频率=PS-CLK频率×PLL反馈分频器值(M值),所以实例1种的三种PLL的输出频率就可以计算出来了。
再具体到各个时钟,还要经过⼀或两次分频,即分频因⼦0和1,每个时钟基于的PLL除以分频因⼦,即可得到该时钟频率。
ARM7-寄存器总结
VIC 通道号 0 1 2 3
4
5
6
7
8 9 10 11 12 13 14 15 16 17 18 19~31
软件中断清零寄存器(VICSoftIntClear):
位
[31:0]
功能
当某位为 1 时,将清零 VICSoftInt 寄存器中对应位
保护使能寄存器(VICProtection):
11 保留 EINT0 保留 EINT1 保留 保留 保留 EINT2 保留 EINT3 保留 保留 保留 保留 保留 保留
外部存储器寄存器(PINSEL1):
端口高级功能设置
复位值 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
PINSEL1 1:0 3:2 5:4 7:6 9:8 11:10
通用输入输出口
GPIO 引脚值寄存器(IOxPIN):
IOxPIN
描述
31 : 0
GPIO 引脚值。IOxPIN[0]对应于 Px.0 … IOxPIN[31]对应于 Px.31 引脚
该寄存器反映了当前引脚的状态。
复位值 未定义
GPIO 方向控制寄存器(IOxDIR):
IOxDIR
描述
复位值
31 : 0
ARM7 寄存器
外部存储器寄存器(PINSEL0):
PINSEL0 1:0 3:2 5:4 7:6 9:8 11:10 13:12 15:14 17:16 19:18 21:20 23:22 25:24 27:26 29:28 31:30
引脚名称 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P0.8 P0.9 P0.10 P0.11 P0.12 P0.13 P0.14 P0.15
arm术语集锦
arm术语集锦1. ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI <>外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:脉宽调制器;ETM:嵌入式跟踪宏;CPSR:当前程式状态寄存器;SPSR:程式保护状态寄存器; 2. MAM 使用注意事项:答:当改动MAM定时值时,必须先通过向MAMCR写入0来关闭MAM,然后将新值写入MAMTIM。
最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。
对于低于20MHz <>的系统时钟,MAMTIM 设定为001。
对于20MHz <>到40MHz<>之间的系统时钟,建议将Flash <>访问时间设定为2cclk,而在高于40MHz<>的系统时钟下,建议使用3cclk。
3. VIC 使用注意事项答:如果在片内RAM当中运行代码并且应用程式需要调用中断,那么必须将中断向量重新映射到Flash<>地址0x0。
这样做是因为所有的异常向量都位于地址 0x0及以上。
通过将寄存器MEMMAP(位于系统控制模块当中)设置为用户RAM模式来实现这一点。
用户代码被连接以便使中断向量表装载到0x4000 0000 <>。
4. ARM启动代码设计答:ARM启动代码直接面对处理器内核和硬件控制器进行编程,一般使用汇编语言。
启动代码一般包括:01、中断向量表02、初始化存储器系统03、初始化堆栈初始化有特别需求的端口、设备04、初始化用户程式执行环境05、改动处理器模式06、呼叫主应用程式 5. IRQ 和 FIQ 之间的差别答: IRQ和FIQ是ARM处理器的两种编程模式。
谐波分析中的FFT变换
谐波分析中的FFT变换在ARM数据手册中PLL叫做倍频器,倍频器使输出信号频率等于输入信号频率整数倍的电路,从而为芯片内核提供比外部时钟(晶振)更高的时钟频率。
然而在电力电子中PLL却有着另外一层深意。
锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。
因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。
锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。
PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在电力行业中,谐波的测量一直备受关注,谐波的测量又是基于FFT(快速傅里叶变换)得到。
接触过数字信号处理的我们应该都知道FFT变换首要条件是要求时域时间无现场,然而实际的测量仪器不可能对无限长的信号进行进行测量和运算,只能分析有限长时间的数据。
于是便出现了对信号的截断,形成有限长的时间片段称为时间窗,对截断信号进行周期延拓得到虚拟的无限长信号。
如下图:周期延拓的方法解决了实际变换不能对无限长信号进行计算的难题,但是随之而来的是引入了严重的截断误差,由于周期延拓信号与原始信号并不相同,从而出现截断误差,导致频谱泄露。
为了解决这一难题,IEC61000-4-7提出了信号整周期截断,谐波分析仪中采取严格同步采样加矩形窗的FFT。
然而如何实现同步采样呢?回到文章开始,我们再来了解下PLL锁相环的作用:实现输出信号频率对输入信号频率的自动跟踪,使得电路上的时钟和某一外部时钟的相位同步。
所以谐波分析仪中规定谐波分析不能使用固有时钟频率进行采样,必须以PLL(锁相环)的方法实现采样频率与基波频率同步。
广州致远电子E6500电能质量分析仪严格符合IEC6100-4-7谐波测量标准,实现THD、DC、KF、1-50次谐波、0-49次间谐波、2-9k高次谐波的精准测量,达到行业领先测量精度。
PLL
PLL:为锁相回路,用来统一整合时脉讯号,使内存能正确的存取资料。
锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。
PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以使得不同的数据采集板卡共享同一个采样时钟。
因此,所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的,从而采样时钟也是同步的。
因为每块板卡的采样时钟都是同步的,所以都能严格地在同一时刻进行数据采集。
通过锁相环同步多块板卡的采样时钟所需要的编程技术会根据您所使用的硬件板卡的不同而不同。
对于基于PCI总线的产品(M系列数据采集卡,PCI数字化仪等),所有的同步都是通过RTSI总线上的时钟和触发线来实现的;这时,其中一块版板卡会作为主卡并且输出其内部时钟,通过RTSI线,其他从板卡就可以获得这个用于同步的时钟信号,对于基于PXI总线的产品,则通过将所有板卡的时钟于PXI内置的10MHz 背板时钟同步来实现锁相环同步的。
/support/devices/pll_clock/basics/pll-basics.html---------------------------------------------------------------------------------------------PLL在电子电路中的应用PLL即锁相环,基本原理图是:输入信号-> 鉴相器-> 低通滤波器-> 压控振荡器-> 输出信号|_____________________ |鉴相器有两个输入,分别是输入信号和压控振荡器的输出信号,在二者相位差和频率差不是很大的情况下,鉴相器的输出与两输入信号之差成正比,鉴相器的输出为模拟信号,其通过低通滤波器虑除高频杂波,后进入压控振荡器,压控振荡器的输出频率随其输入电压的改变而改变。
arm_init
板子上电后就会从这里开始执行,主要完成基本初始化,还有判断是从nor还是nand启动,再实现把程序搬到SDRAM当中,在搬运成功后再跳到 main函数里面执行。
我们现在开始来看看它的具体代码吧!GET和INCLUDE的功能是相同的,功能都是引进一些编译过的文件。
GET option.incGET memcfg.incGET 2440addr.inc定义SDRAM工作在Reflesh模式下,SDRAM有两种刷新模式:selfreflesh,autoreflesh。
后者是在其使用过程当中设置的。
BIT_SELFREFRESH EQU (1<<22)下面是对arm处理器模式寄存器对应的常数进行赋值,arm处理器有一个CPSR 寄存器,它的后五位决定了处理器处于哪个模式下。
可以看出常数的定义都不会超过后5位的。
USERMODE EQU 0x10FIQMODE EQU 0x11IRQMODE EQU 0x12SVCMODE EQU 0x13ABORTMODE EQU 0x17UNDEFMODE EQU 0x1bMODEMASK EQU 0x1fNOINT EQU 0xc0各个异常模式的堆栈UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~SVCStack EQU (_STACK_BASEADDRESS-0x2800) ;0x33ff5800 ~UndefStack EQU (_STACK_BASEADDRESS-0x2400) ;0x33ff5c00 ~AbortStack EQU (_STACK_BASEADDRESS-0x2000) ;0x33ff6000 ~IRQStack EQU (_STACK_BASEADDRESS-0x1000) ;0x33ff7000 ~FIQStack EQU (_STACK_BASEADDRESS-0x0) ;0x33ff8000 ~这一段是统一arm的工作状态和对应的软件编译方式(16位编译环境使用tasm.exe编译)。
PLLCTL寄存器
看门狗复位
帮助系统在软件跑飞后自动复位。
时钟监视器复位
利用内部的RC电路来保证时钟频率满足要求。
振荡器和时钟电路
EXTAL是外部时钟输入或石英振荡放大器的输入
XTAL是石英振荡放大器的输出
注:DG128可用串联振荡电路和并联振荡电路两种连接方式。
9S12X系列单片机只可用并联振荡电路。
时钟初始化寄存器-共5个
(1)锁相环控制寄存器(PLLCTL)
(2)时钟合成寄存器(SYNR)-低6位有效,有效值0~63。
(3)时钟分频寄存器(REFDV)-低4位有效,有效值0~15。
由锁相环来产生时钟频率的公式:
例如:选用16MHz的外部晶振,若将SYNR设为
2,REFDV设为1,通过公式计算可得
PLLCLK=48MHz。
从而得到系统的总线频
率为24MHz。
PLL例子
CLKSEL=0x00; //禁止PLL
PLLCTL=0xe1; //PLL电路允许
SYNR=2;REFDV=1; //设置倍频参数
PLLCTL=0x60; //时钟监控禁止
while(0==(CRGFLG&0x08));//等待稳定
CLKSEL=0x80; //选择PLL作为时钟
//若晶振为16M,则PLLCLK=2*16*3/2=48MHz,则总线频率是24MHz RTI程序举例
RTICTL = 0x7e;//4M/15*2^16 = 4Hz
CRGINT = 0x80;
// 中断使能
得到大约每秒4次的中断。
[经验]arm9时钟及其设置
左上角的那个圈中的EX TCLK与OSC这两个是arm的时钟来源,EX TCLK是外部时钟,OSC是晶体。
通过OM[2:3]来决定是用哪种方式;00OM[2:3]由硬件决定,一般接地,即为00,使用外部晶振Fin000这是arm的时钟集成模块,主要想介绍关于arm的时钟体系.00S3C2440 有2个PLL(锁相环),一个是mpll,一个是upll000pll(锁相环)00是一种产生时钟频率的东西,通常产生时钟频率都是使用晶振(晶体振荡器),不过由于频率固定或者生产成本高等一系列的原因,才产生出pll。
pll合成器有外部晶体和对晶体的特定频率加班或者分频的集成pll电路。
可以看出,pll可以在本身晶体的限制下自己diy要的频率,而且相对成本也不会很高。
000通过设置MPLLCON UPLLCON00Mpll=(2*m*Fin)/(p*(2^s))不能超过32位Upll = ( m × Fin ) / ( p × 2^s ) 00m=(MDIV+8) p=(PDIV+2) s=SDIV00MPLL通过寄存器CLKDIVN分频000会产生3中种时钟频率:FCLK,HCLK,PCLK000FCLK(CPU的频率):主要用于cpu核00HCLK:用于AHB(高速的外设总线) 通过设置CLKDIVN的【2:1】和CAMDIVN【9或者8】000PCLK:用于低速外围设备总线要先设置HCLK,再由CLKDIVN的0位决定PCLK是HCLK的1分频还是2分频000upll用于usb外设000CLKCON为时钟控制寄存器,用于使能各个模块的时钟000具体内核时钟是FLCK还是HCLK通过摄像头时钟分频(CAMDIVN)寄存器的第12位控制00这幅图让我们知道了arm时钟的产生来源,以及一系列的过程.000当arm通电的使用,FCLK不是有mpll来决定的,而是有FIN(外部输入时钟),当nRESET高电平的时候,PLL开始进行设置,这个时候OM[2:3]已经锁定了,"PLL is configured by S/Y first time" 这个地方就是PLL的寄存器都已经被设置好的时候,至于LOCKTIME是什么,这个是PLL要输出稳定的频率所需要的时候,这个时候的FCLK为0,也就是cpu这个时候是不工作的。
八.主频及时钟配置
⼋.主频及时钟配置我们前⾯所有的试验,都是使⽤默认配置下单I.MX6U的默认配置,在默认配置下单⼯作频率是396MHz,但是I.MX6U系列的标准⼯作频率是528MHz,下⾯我们就来学习⼀下如何配置I.MX6U的系统时钟和其他外设时钟,使其⼯作频率为528MHz,其他外设时钟源都⼯作在恩智浦推荐的频率。
I.MX6U时钟系统简介开篇讲过,I.MX6UL的系统主频为528MHz,但是默认情况下bootrom会将其⼯作频率设置为396MHz,为了设备能达到最⼤性能,要把主频设置到528MHz,其他外设也要设置到NXP的推荐参数。
芯⽚参考⼿册第10章时钟电源管理和第18章时钟控制模型有详细的介绍系统时钟来源查⼀下核⼼板原理图,⼿酸关键字Hz,可以发现有两个时钟源:32.768KHz的Y1和24MHz的Y2。
32.768KHz刚好对应32768,也就是2^15,经过15分频刚好得到⼀个1Hz的信号,⽤作RTC时钟信号,也就是图上的RTC_XTALI和RTC_XTALO。
另⼀组时钟是24MHz的Y2,接⼊XTALI和XTALO。
这组时钟是I.MX6UL的内核和其他外设的时钟源,是我们要重点分析的。
7路PLL时钟源I.MX6U的外设有很多,不同的外设需要⽤到不同的时钟源,NXP将这些外设根据不同的时钟源需求进⾏了分组,⼀共分了7组。
这些时钟源是从24MHz到晶振通过7组PLL倍频出来的。
根据参考⼿册第18章CCM上所述,这7组PLL是这么分配的1. PLL1 - ARM PLL (typical functional frequency )2. PLL2 - System PLL (functional frequency 528 MHz)3. PLL3 - USB1 PLL (functional frequency 480 MHz)4. PLL4 - Audio PLL5. PLL5 - Video PLL6. PLL6 - ENET PLL7. PLL7 - USB2 PLL (functional frequency 480 MHz)根据描述,可以发现这7组PLL刚好是对于不同功能外设做的分组,当我们需要⽤到⾳频外设,可以只对控制⾳频的PLL进⾏初始化就可以了!具体功能如下:PLL1(ARM_PLL)ARM内核使⽤,ARM内核时钟由此PLL⽣成,该PLL通过编程的⽅式可以倍频到1.3GHz。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM的pll
确定PLL 过程:1.确定cpu 频率Fcclk2.确定晶振频率Fosc ,Fcclk 一定是Fosc 的整数倍。
3.计算M 值M = Fcclk/Fosc,M 的取值范围为
1~32。
实际写入MSEL 位的值为M-1 的整数倍。
4.计算P 值选择P 值以配置PSEL 位。
通过设置P 值,使Fcco 在定义的频率限制范围内。
P 必须是1, 2, 4 或8 其中的一个。
PLL :Fcco 为PLL 电流控制振荡器的输出频率Fcclk = M
乘以Fosc 相位频率检测:把两个输入的时钟相位差值==》电流值流控震荡器:电流值==》频率当检测输入的两个一样时,稳定了PLL 的锁定过程:CCO 的输出频率受到相位频率检测部件的控制,输出所需频率的过程不是一蹴
而就的,而是一个拉锯反复的过程。
举例:系统要求
Fosc=10MHz,Fcclk=60MHz。
根据这些要求:确定Fcclk=60MHz;选
择Fosc=10MHz;计算M= Fcclk/Fosc=60MHz/10MHz=6。
M-1=5,所以写入PLLCFG[4:0]=00101;计算P=Fcco/( Fcclk*2),其中Fcco 为156~320 MHz。
当Fcco=156MHz 时,P=156MHz/(2*60MHz)=1.3 当Fcco=320MHz 时,P=2.67 P 取整数2,所以写入PLLCFG[6:5]=01tips:感谢大家的阅读,本文
由我司收集整编。
仅供参阅!。