嵌入式系统原理与设计知识点整理.docx
- 文档编号:17952915
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:30
- 大小:296.08KB
嵌入式系统原理与设计知识点整理.docx
《嵌入式系统原理与设计知识点整理.docx》由会员分享,可在线阅读,更多相关《嵌入式系统原理与设计知识点整理.docx(30页珍藏版)》请在冰点文库上搜索。
嵌入式系统原理与设计知识点整理
第一章嵌入式处理器
1嵌入式系统的概念组成:
定义:
以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。
组成:
硬件:
处理器、存储器、I/O设备、传感器
软件:
①系统软件,
②应用软件。
2.嵌入式处理器分类特点:
分类:
①MPU(MicroProcessorUnit)微处理器。
一块芯片,没有集成外设接口。
内部主要由运算器,控制器,寄存器组成。
②MCU(MicroControllerUnit)微控制器(单片机)。
一块芯片集成整个计算机系统。
③EDSP(EmbledDigitalSignalProcessor)数字信号处理器。
运算速度快,擅长于大量重复数据处理
④SOC(SystemOnChip)偏上系统。
一块芯片,内部集成了MPU和某一应用常用的功能模块
3.嵌入式处理器与通用计算机处理器的区别:
①嵌入式处理器种类繁多,功能多样
②嵌入式处理器能力相对较弱,功耗低
③嵌入式系统提供灵活的地址空间寻址能力
④嵌入式系统集成了外设接口
4.①哈佛体系结构:
指令和数据分开存储————————(嵌入式存储结构)
特征:
在同一机器周期内指令和数据同时传输
②冯·诺依曼体系结构:
指令和数据共用一个存储器——(通用式存数结构)
数据存储结构(多字节):
大端方式:
低地址存高位;小端方式:
高地址存高位
6.ARM指令集命名:
V1~V8(ARMV表示的是指令集)
7.ARM内核命名:
.
命名规则:
ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}
{x}——系列(版本)
{y}——当数值为“2”时,表示MMU(内存管理单元)
{z}——当数值为“0”时,表示缓存Cache
{T}——支持16位Thumb指令集
{D}——支持片上Debug(调试)
{M}——内嵌硬件乘法器
{I}——内嵌ICE(在线仿真器)——支持片上断点及调试点
{E}——支持DSP指令
{J}——支持Jazzle技术
{F}——支持硬件浮点
{S}——可综合版本
8.JTAG调试接口的概念及作用:
①概念:
(JointTestActionGroup)联合测试行动小组→检测PCB和IC芯片标准。
(PCB→印刷电路板IC→集成芯片)
②作用
(1)硬件基本功能测试读写
(2)软件下载:
将运行代码下载到目标机RAM中
(3)软件调试:
设置断点和调试点
(4)FLASH烧写:
将运行最终代码烧写到FLASH存储器中。
9.GPIO概念:
(GeneralPurposeI/OPorts)通用输入/输出接口,即处理器引脚。
10.S3C2410/S3C2440GPIO引脚
S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组)
S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ组)
11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法
①GPxCON寄存器(控制寄存器)——设置引脚功能
→GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用)
(若某一位是)0:
(代表该位的引脚是一个)输出引脚
1:
地址引脚
→GPBCON——GPH/JCON(用法一致,两位设置一个引脚)
00:
输入引脚01:
输出引脚
10:
特殊引脚11:
保留不用
GPBCON
31
1
0
……
0
1
②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态
若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。
若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。
GPBDAT
31
1
0
……
GPB1
GPB0
③GpxUP——上拉电阻寄存器
0:
相应引脚使用内部上拉电阻1:
相应引脚不适用内部上拉电阻
12.GPIO应用①例:
使4个LED小灯中的LED1发亮
GPBCON:
31
17
16
15
14
13
12
11
10
…
3
2
1
0
…
0
1
0
1
0
1
0
1
…
GPB8
GPB7
GPB6
GPB5
GPB1
GPB0
GPBDAT:
31
8
7
6
5
…
3
2
1
0
…
1
1
1
0
…
GPB8
GPB7
GPB6
GPB5
GPBUP:
不使用上拉电阻
程序:
#defineGPBCON(*(Volatileunsignedlong*)0x56000010)
#defineGPBDAT(*(Volatileunsignedlong*)0x56000014)
#defineGPB5_OUT(1<<(5*2))
#defineGPB6_OUT(1<<(6*2))
#defineGPB7_OUT(1<<(7*2))
#defineGPB8_OUT(1<<(8*2))
intmain()
{GPBCON=GPB5_OUT|GPB6_OUT|GPB7_OUT|GPB8_OUT;
GPBDAT=~(1<<5);
return0;}
②使用按键控制LED
K1闭合,GPB11低电平K1断开,GPB11高电平
GPGDAT11位,当GPB11为0时,低电平;当GPG11为1时,高电平。
#defineGPBCON(*(volatileunsignedlong*)0x56000010)
#defineGPBDAT(*(volatileunsignedlong*)0x56000014)
#defineGPGCON(*(volatileunsignedlong*)0x56000050)
#defineGPGDAT(*(volatileunsignedlong*)0x56000054)
#defineGPFCON(*(volatileunsignedlong*)0x56000060)
#defineGPFDAT(*(volatileunsignedlong*)0x56000064)
#defineGPB5_OUT1<<(5*2)
#defineGPB6_OUT1<<(6*2)
#defineGPB7_OUT1<<(7*2)
#defineGPB8_OUT1<<(8*2)
#defineGPG11_IN~(3<<(11*2))
#defineGPG3_IN~(3<<(3*2))
#defineGPF2_IN~(3<<(2*2))
#defineGPF0_IN~(3<<(0*2))
intmain(){
unsignedlongdwDat;
GPBCON=GPB5_OUT|GPB6_OUT|GPB7_OUT|GPB8_OUT;
GPGCON=GPG11_IN&GPG3_IN;
GPFCON=GPF2_IN&GPF0_IN;
while
(1){
dwDat=GPGDAT;
if(dwDat&(1<<11))//如果表达式为真值,表示K1没被按下,与GPG11相连
GPBDAT|=(1<<5);//LED1熄灭
else
GPBDAT&=~(1<<5);//LED1点亮
if(dwDat&(1<<3))//如果表达式为真值,表示K2没被按下,与GPG3相连
GPBDAT|=(1<<6);//LED2熄灭
else
GPBDAT&=~(1<<6);//LED2点亮
if(dwDat&(1<<2))//如果表达式为真值,表示K3没被按下,与GPF2相连
GPBDAT|=(1<<7);//LED3熄灭
else
GPBDAT&=~(1<<7);//LED3点亮
if(dwDat&(1<<0))//如果表达式为真值,表示K4没被按下,与GPF0相连
GPBDAT|=(1<<8);//LED4熄灭
else
GPBDAT&=~(1<<8);//LED4点亮
}
return0;
}
嵌入式存储器
1.嵌入式存储器的分类,特点
2.SRAM存储电路:
写数据:
选通信号为高电平,T5,T6导通
如果写1,D发出高电平,D#发低电平
当选通信号失效,T1截止,T2导通,
T3,T4做负载使用
T4的内阻>>T2内阻
T3的内阻>>T1内阻
Q为高电平,由Vcc提供
Q#为低电平,由接地端提供
写1以及读取同理。
3.SDRAM芯片按BANK划分的优点:
1)提高存储器访问速度2)节能
4.SDRAM读操作:
1)发送行地址和行选通信号tRCD(表示行地址发出到列地址发出的时间间隔)
2)发送列地址和列选通信号,以及数据读命令,从命令发出到数据出现在总线上有延迟,这个延迟成为CAS延迟。
用CL表示。
5.SDRAM写操作
1)发送行地址和行选通新号tRCD
2)发送到列地址和列选通新号,以及写命令,同时数据通过数据总线传给芯片,不存在CL延时。
6.SDRAM突发传输(Burst)
作用;可以实现同一行的相邻存储单元连续传输,只需指定起始列地址和突发长度,内存芯片自动对后面相应数量存储单元进行连续读写操作且不需要重复提供列地址。
7.NorFLASH——(特点:
读的快,写的慢)
1).W39L040A介绍
512K×8NorFLASH芯片
2).读操作:
(1)读普通数据:
CE#低,OE#低,WE#高A0-A18
发地址,数据被送往D0-D7
(2)读厂家ID:
CE#低,OE#低,WE#高A9~12V,A1A000b
(3)读器件ID:
CE#低,OE#低,WE#高A9~12V,A1A001b
3).擦除操作(必须先擦除后写),写数据“1”
(1)整片擦出:
CE#低,OE#高,WE#低,发出6个总线周期暗号
地址线:
5555h——2AAAh——5555h——5555h——2AAAh——5555h
数据线:
AAh——55h——80h——AAh——55h——10h
发送完毕,芯片自动执行擦除操作,用时约6s
(2)块擦除:
CE#低,OE#高,WE#低,发出6个总线周期暗号
地址线:
5555h——2AAAh——5555h——5555h——2AAAh——SA
数据线:
AAh——55h——80h——AAh——55h——30h
SA表块地址,擦除时间约0.7s
4).写操作(字节编程)将1变为“0”
CE#低,OE#高,WE#低,发出4个总线周期暗号
地址线:
5555h——2AAAh——5555h——AIN
数据线:
AAh——55h——A0h——DIN
发送完毕,芯片自动执行字节编程(烧写),最快9μs
8.NANDFLASH
特点:
无单独的地址总线和数据总线,地址、数据以及命令共用一个I/O总线
1.K9F1208X0C介绍
①包含4096个存储块,每块32页,每页(512+16)字节
512代表主存储区(用户数据),16代表备用存储区(EEC)
21225(29+24)=226+221=64M+2M
②页是数据存储及读写基本单位
2).写操作(页编程)200μs
80h→4个周期地址→写数据到页寄存器→10h→芯片自动写入
通过R/B#(高结束)
FLASH状态寄存器第6位(1结束)
CPU
通过FLASH状态寄存器第0位判断是否成功(0成功)
3).块擦除4096块=212
60h→3个周期地址→D0h→芯片自动擦出
4).块保护
命令41h:
禁止写42h:
禁止擦出43h:
禁止写和擦出
41h~43h→80h→块地址(4个周期)→10h→芯片自动执行
5).器件ID读操作
90h→00h→厂家ID、器件ID、第三附属ID、第四附属ID
9、NorFLASH和NANDFLASH比较(必考!
!
!
!
10分左右)
①接口差别:
NOR提供足够的地址引脚寻址;
NAND采用8个位引脚传递命令、地址和数据。
②性能差别:
NOR地址线和数据线分开,传输效率高,读取速度比NAND快,但擦出和写入速度要比NAND慢得多。
③容量和成本:
NAND容量大于NOR容量,成本低与NOR。
④可靠性和耐用性:
NAND擦写次数约为100万次,NOR约为10万次;尺寸上NAND比NOR小8倍,NAND容易发生位翻转,可靠性略差。
⑤软件支持:
在NOR上运行代码不需要任何软件支持;在NAND上进行同样操作需要驱动程序,即内存技术驱动程序(MTD)
⑥市场取向比较:
NOR用于对数据可靠性要求比较高的代码存储应用,如通信产品和网路处理等领域;NAND则用于存储容量较高的MP3、存储卡等领域
10、S3C2410/S3C2440地址空间划分
逻辑地址空间:
232=4G
外部地址空间:
1G0x0000_0000~0x4000_0000(_用于4位一区分,只是个符号,无具体意义)
内部地址空间:
3G(寄存器地址范围0x4800_0000~0x5FFF_FFFF,剩余空间闲置)
1).外部地址空间划分
闲置——128M
BANK7
SDRAM64M0x3000000~0x33FFFFFF——128M
BANK6
扩展串口AB——128M
BANK5
10/100M网卡——128M
BANK4
10M网卡——128M
BANK3
IDE接口控制块寄存器16字节——128M
BANK2
IDE接口命令寄存器16字节——128M
BANK1
NorFLah2M0x00000000~0x00FFFFFF——128M
BANK0
CPU提供8个片选引脚nGCS0~nGCS7
128M=227
CPU又引出27根引脚用于地址选择
S3C2410GPIO117
其余全为专用引脚272
2).内部地址空间
存储控制器(SDRAM):
0x4800_0000~0x4800_0030
中断控制器:
0x4A00_0000~0x4A00_001C
NANDFLASH:
0x4E00_0000~0x4E00_0014
UART:
0x5000_0000~0x5000_8028
USB:
0x5200_0140~0x5200_026F
I2C:
0x5400_0000~0x5400_000C
A/D:
0x5800_0000~0x5800_0010
11.MMU内存管理单元作用
①将虚拟地址转换为物理地址
②控制内存访问权限
12.MMU地址转换原理
一级页表项类型
细页表1024页表项210粗页表256项28
二级页表(粗页表)细页表项
第三章中断体系结构
1.ARM处理器的7种工作模式
①用户模式:
正常②快速中断模式:
FIQ③中断模式:
IRQ④管理模式⑤数据访问中止模式⑥系统模式⑦未定义指令中止模式
2.CPSR寄存器
N:
运算结果是否为负
Z:
运算结果是否为0
C:
进位/借位
V:
溢出
I:
1:
禁止中断0:
使能中断
F:
1:
禁止快中断0:
使能
T:
1:
Thumb状态0:
ARM状态
4...0:
工作模式:
10000用户
10001快中
10010中断
3.中断处理过程
①中断控制器汇聚中断信号,通知CPU
②CPU保存运行环境,调用ISR(中断服务程序)处理中断
③ISR读取中断控制器,识别中断流并执行相应处理
④清除中断,恢复现场,继续执行
4.优先级寄存器(PRIORITY)
ARB_MODE设置仲裁器工作模式
0:
ARB_SEL不变(表示设置仲裁器工作模式屏蔽)
1:
ARB_SEL自动变化
ARB_SEL
高→低
00
REQ0>1>2>3>4>5
01
REQ0>2>3>4>1>5
10
REQ0>3>4>1>2>5
11
REQ0>4>1>2>3>5
已被服务的REQx
ARB_SEL新值
REQ0/REQ5
不变
REQ1
01
REQ2
10
REQ3
11
REQ4
00
第四章系统时钟与定时器
1、S3C2410/2440时钟分类
①FCLKCPU核时钟主频
②HCLKAHB总线AdvancedHigh-PerformanceBus高性能总线
存储控制器LCD控制器DMA控制器USB等
③PCLKAPB总线AdvancedPeripheralBus低频总线
WATCHDOGI2CUARTPWM定时器...
2.FCLK的生成
Ⅰ)上电PLL没有启动FCLK=Fin
Ⅱ)系统稳定引导程序开始执行,可以在引导程序开始启动MPLL,经过一段时间(LockTime),MPLL输出稳定,CPU工作在FCLK下
3.FCLK计算公式:
晶振频率:
Fin=12MHZ—PLL—倍频→FCLK
4.S3C2410/2440定时器结构图
6.WATCHDOG定时器结构图
5.定时器内部控制逻辑图
①工作流程
1)设置TCMPBn和TCNTBn(决定占空比)
2)将TCMPBn和TCNTBn传递给TCMPn和TCNTn(手动),启动定
时操作,TCNTn减1计数,当前计数值可通过TCNTOn读出
3)当TCNTn=TCMPn输出端Toutn反转,TCNTn继续减1计数
4)当TCNTn减到0时,Toutn再次发生反转,并触发定时器中断
5)dangTCNTn=0时,如果TCON寄存器蒋定时期n设为“自动加载”,
那么TCMPBn和TCNTBn的值被自动载入,TCMPn和TCNTn中,
下一轮计数开启(自动加载不包括第一次)
第五章同步异步收发器(UART)
1.帧:
起始位+数据位+校验位+停止位
起始位:
1位数据位:
5,6,7,8
校验位:
可选奇校验(“1”校验),偶校验(“0”校验)停止位:
1或者2位
发送“101”
3.总线仲裁:
当I2C总线处于空闲状态,两个或多个设备同时发出起始条件,究竟谁获得总线,需要仲裁。
规则:
当SCL为高电平,有的设备将SDA拉高,有的设备将SDA拉低,发出高电平的设备将退出竞争。
二、帧的传输
起始位:
1位
数据位:
7位
校验位:
偶校验
终止位:
2位
1).平时数据线处于“空闲状态”(“1”状态)
2).当要发送数据时,UART改变TxD数据线状态(变为“0”状态),并维持一位时间,这样接收方在检测到开始位后,再等待1.5位时间开始后一位一位的接收数据
3).UART一帧中可以有5,6,7或8位数据,发送方一位一位发送,首先发送字节最低位LSB
4).如果使用校验功能,UART在发送完数据后正要发送1个校验位
5).最后发送停止位,数据线恢复“空闲”状态(“1”状态)
2.UBRDIVn——设置波特率
UBRDIVn=(int)(UARTclock/baudrate/16)-1
UARTclock40MHZ,115200bpsUBRDIVn?
UBRDIVn=(int)(10000000HZ/115200/16)-1=(int)21.7-1=20
baudrate=UARTclock/(UBRDIVn*16)
UBRDIVn——分频系数
3.ULCONn:
设置输出格式
0~1——数据位长度
2——停止位长度
3~5——校验模式
6——工作模式0:
正常模式1:
红外模式
第六章IIC总线
1.IIC总线结构
2.IIC总线工作原理(A→B)
主机(主设备):
负责生成SCL时钟,同时负责发出其实信号S和终止信号P
从机(从设备):
被主机寻址的器件
1)A检测I2C总线是否“空闲”,如果空闲(高),A发出起始信号(SCL高,SDA↓)
2)寻址选择目标器件B,发送7位地址和一个读/写
27=128112可使用16个保留
3)A在发送完地址后,将SDA线释放,SDA处于高电平状态,如果器件B的地址和A发出地址相同,则会发出一个响应信号ACK,即将SDA拉低。
4)A在接收到响应信号后发送数据,以8位为单位来发送,每发送完一次B向A发送ACK信号。
5)A发送完所有数据后,发终止条件。
(SCL高,SDA↑)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 原理 设计 知识点 整理
![提示](https://static.bingdoc.com/images/bang_tan.gif)