0837嵌入式体系结构课程总结Word格式文档下载.docx

上传人:b****1 文档编号:393812 上传时间:2023-04-28 格式:DOCX 页数:16 大小:372.54KB
下载 相关 举报
0837嵌入式体系结构课程总结Word格式文档下载.docx_第1页
第1页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第2页
第2页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第3页
第3页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第4页
第4页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第5页
第5页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第6页
第6页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第7页
第7页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第8页
第8页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第9页
第9页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第10页
第10页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第11页
第11页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第12页
第12页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第13页
第13页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第14页
第14页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第15页
第15页 / 共16页
0837嵌入式体系结构课程总结Word格式文档下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

0837嵌入式体系结构课程总结Word格式文档下载.docx

《0837嵌入式体系结构课程总结Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《0837嵌入式体系结构课程总结Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。

0837嵌入式体系结构课程总结Word格式文档下载.docx

一个ARM芯片中通常有很多功能部件,有一些部件是全局性的,它们状态的改变可能引起整个系统运行状态的改变,这些部件我们统一称之为系统控制模块。

在这些系统控制模块中,有些部件需要外部引脚的配合,如晶体振荡器、外部复位输入。

模块包括:

晶体振荡器,复位,存储器映射控制,锁相环(PLL),VPB分频器,功率控制,唤醒定时器.

部件名称

功能简介

晶体振荡器

通过外接晶振或时钟源为系统提供时钟信号

复位

复位使ARM内核与外设部件进入一个确定的初始状态

存储器映射控制

控制异常向量表的重新设方式

锁相环(PLL)

将晶体振荡器输入的时钟倍频到一个合适的时钟频率

VPB分频器

将内核时钟与外设时钟分开的部件

功率控制

使处理器空闲或者掉电,还能关闭指定的功能部件,以降低芯片功耗

唤醒定时器

系统上电或掉电唤醒后,保证晶体振荡器能输出稳定的时钟信号

在系统控制模块中,有些部件需要在进行寄存器配置后才能正常工作,如存储器映射控制、锁相环、功率控制、VPB分频器。

名称

描述

访问

MEMMAP

R/W

锁相环

PLLCON

PLL控制寄存器

PLLCFG

PLL配置寄存器

PLLSTAT

PLL状态寄存器

RO

PLLFEED

PLL馈送寄存器

WO

PCON

功率控制寄存器

PCONP

外设功率控制

VPBDIV

VPB分频器控制

ARM微处理器在上电或复位后首先运行BootBlock中的一段代码,这段代码称为“引导代码”,由芯片厂商固化在芯片中。

此后,在正式运行用户main函数之前,还需要运行一段“启动代码”,由用户添加。

GPIO

LPC2114/2124微控制器具有两个端口——P0和P1,可以作为GPIO使用的引脚数为46个。

LPC2210/2212/2214微控制器还包含另外两个端口——P2和P3,这个两个端口与外部存储器总线复用,当它们全部作为GPIO使用时,GPIO引脚数多达112个。

▪引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定;

▪大部分GPIO输出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA);

▪复位后默认所有GPIO为输入模式。

设置P0.0输出高电平

读取P0.0引脚状态

输出多位数据至IO口

向量中断及外部中断输入

ARM7TDMI内核具有两个中断输入,分别为IRQ中断和FIQ中断。

向量中断控制器(VIC)负责管理芯片的中断源,最多可以管理32个中断输入请求。

•程序状态寄存器CPSR与VIC的关系

ARM内核通过CPSR来监视和控制内部的操作,CPSR中的“I”位和“F”位分别用来控制IRQ模式和FIQ模式的使能。

Ø

当I=1时,禁止IRQ中断

当I=0时,使能IRQ中断

•中断分类

中断输入请求可以在VIC中被设置为以下三类:

▪FIQ中断:

具有最高优先级;

▪向量IRQ中断:

具有中等优先级;

▪非向量IRQ中断:

具有最低优先级;

FIQ中断硬件处理流程:

IRQ中断相应流程:

寄存器描述-控制寄存器

控制寄存器功能描述

寄存器描述-参数设置寄存器

IRQ中断相关寄存器

产生中断后的服务程序地址

寄存器描述-状态寄存器

注意:

读取VICRawIntr寄存器将得到所有32个中断请求和软件中断的状态,它不管中断是否使能或分类。

保护使能寄存器

FIQ中断处理

IRQ中断处理

IRQ中断的设计实例

将定时器0中断分配为向量IRQ通道0,中断服务程序地址设置为Timer0_ISR。

代码:

VICIntSelect=0x00000000;

VICVectAddr0=(int)Timer0_ISR;

VICVectCntl0=(0x20|4);

VICIntEnable=(1<

<

4);

使用VIC的注意要点

如果在片内RAM中调试程序,并使用了中断,那么必须将存储器映射控制设置为内部RAM模式;

将多个中断源设置为FIQ,将增加中断响应延时,所以建议FIQ中断只有一个中断源;

ADS1.2规定在定义中断服务函数时必须加入关键字“__irq”,保证函数返回时会切换处理器模式;

在退出中断服务程序时要清零相应外设的中断标志,以及VICVectAddr寄存器,为响应下次中断作好准备。

LPC2000系列ARM具有4路外部中断,可以设置为2种类型:

•边沿触发:

上升沿触发

下降沿触发

•电平触发:

高电平触发

低电平触发

1.边沿触发中断.

下降沿触发类型中断的请求和清除时序。

2.电平触发中断.

低电平触发类型中断的请求和清除时序。

外部中断源

LPC2000系列微控制器几乎所有的外设部件都可以产生中断。

其中外部中断含有4个独立的中断输入。

寄存器

中断信号波形与设置方式

外部中断与VIC的关系

外部中断0位于VIC通道14,中断选择寄存器VICIntSelect[14]用来选择通道14的中断类型:

当VICIntSelect[14]=0时,通道14分配为IRQ中断

当VICIntSelect[14]=1时,通道14分配为FIQ中断

外部中断应用示例

//初始化EINT0为电平中断

PINSEL1=(PINSEL1&

0xFFFFFFFC)|0x01;

EXTMODE=EXTMODE&

0x0E;

//初始化EINT0为下降沿中断

EXTMODE=EXTMODE|0x01;

EXTPOLAR=EXTPOLAR&

//清除所有外部中断标志

EXTINT=0x0F;

定时器

特性如下:

▪32位可编程预分频器;

▪4路捕获通道;

▪4个匹配寄存器;

▪4个匹配输出通道。

定时器主要功能:

1.预分屏器.

2.匹配功能

3.捕获功能

分频器寄存器描述

匹配功能

捕获功能

控制寄存器-TCR

定时器控制寄存器TCR用于控制定时器计数器的操作。

中断标志寄存器-IR

定时器中断——定时器与VIC的关系

TIMER0、TIMER1分别位于VIC的通道4和通道5。

中断使能寄存器VICIntEnable的Bit4和Bit5分别用来控制通道4和通道5的使能。

匹配中断

LPC2000系列ARM定时器计数溢出时不会产生中断,但是匹配时可以产生中断。

每个定时器都具有4个匹配寄存器(MR0~MR3),可以用来存放匹配值。

当计数值=匹配值时,产生匹配中断。

捕获中断

当定时器的捕获引脚CAP上出现特定的捕获信号时,可以产生中断。

使用定时器的注意要点

▪定时计数器(TC)本身不能产生中断,只有与匹配寄存器发生匹配后才能引起中断事件;

▪在定时器匹配发生后,可以不停止定时器工作,而动态修改匹配寄存器的值;

▪定时器使用匹配功能的同时,还可以使用捕获功能,而不必分时使用;

▪定时器计数时钟频率=Fpclk/(PR+1)

定时器操作示例-定时器0初始化

VoidTime0Init(void)

{

T0TC=0;

//定时器设置为0

T0PR=0;

//设置预分频值

T0MCR=0x03;

//设置匹配模式,复位并中断

T0MR0=Fpclk/10;

//设置匹配值,0.1S

T0TCR=0x01;

//启动定时器0

}

定时器操作示例-匹配输出

VoidMATOut(void)

PINSEL0=0x00000800;

//设置引脚连接模块

T0MCR=0x02;

//设置匹配后复位TC

T0EMR=0xC0;

//设置匹配后MAT0.1输出翻转

T0MR1=5000;

//输出频率周期控制

SPI

引脚描述

•SPI数据传输

•时钟极性控制位——CPOL

该位决定了SPI总线空闲时,SCK时钟线的电平状态。

CPOL=0,当SPI总线空闲时,SCK时钟线为低电平;

CPOL=1,当SPI总线空闲时,SCK时钟线为高电平。

•时钟相位控制位——CPHA

该位决定SPI总线上数据的采样位置。

CPHA=0:

SPI总线在时钟线的第1个跳变沿处采样数据;

CPHA=1:

SPI总线在时钟线的第2个跳变沿处采样数据。

SPI接口工作模式

寄存器描述

•SPI寄存器描述——SPI控制寄存器

SPCR寄存器包含一些可编程位来控制SPI功能模块的功能,该寄存器必须在数据传输之前进行设定。

CPHA:

时钟相位控制。

该位决定SPI传输时数据和时钟的关系,并控制从机传输的起始和结束。

当该位为:

1:

时钟前沿数据输出,后沿数据采样;

0:

时钟前沿数据采样,后沿数据输出;

CPOL:

时钟极性控制。

1:

SCK为低电平有效;

0:

SCK为高电平有效;

LSBF:

字节移动方向控制。

每字节数据从低位(LSB)开始传输;

每字节数据从高位(MSB)开始传输;

SPIE:

SPI中断使能。

每次SPIF或MODF置位时都会产生硬件中断;

SPI中断被禁止;

SPI应用示例——作为主机

#defineMSTR(1<

5)

#defineCPOL(1<

4)

#defineCPHA(1<

3)

#defineLSBF(1<

6)

#defineSPI_MODE(MSTR|CPOL)

voidMSpiIni(uint8fdiv)

if(fdiv<

8)

fdiv=8;

S0PCCR=fdiv&

0xFE;

S0PCR=SPI_MODE;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2