嵌入式系统原理与设计 知识点整理
更新时间:2024-04-16 09:39:01 阅读量: 综合文库 文档下载
- 嵌入式软件工程师推荐度:
- 相关推荐
第一章 嵌入式处理器
1嵌入式系统的概念组成:
定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。 组成:硬件:处理器、存储器、I / O设备、传感器 软件:①系统软件, ②应用软件。
2.嵌入式处理器分类特点:
分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。内部主要由运算器,控制器,寄存器组成。 ②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。
③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理
④SOC(System On Chip)偏上系统。一块芯片,内部集成了MPU和某一应用常用的功能模块
3.嵌入式处理器与通用计算机处理器的区别: ①嵌入式处理器种类繁多,功能多样 ②嵌入式处理器能力相对较弱,功耗低 ③嵌入式系统提供灵活的地址空间寻址能力 ④嵌入式系统集成了外设接口
4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构)
①③地址总线 ②数据总线 CPU ③地址总线 ④数据总线 数据存储器 指令存储器
特征:在同一机器周期内指令和数据同时传输
②冯·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构)
①③⑤地址总线 CPU ②④数据总线 指令 / 数据存储器
数据存储结构(多字节):
大端方式:低地址存高位;小端方式:高地址存高位
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调试接口的概念及作用: ①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(PCB→印刷电路板 IC→集成芯片) ②作用(1)硬件基本功能测试读写
(2)软件下载:将运行代码下载到目标机RAM中 (3)软件调试:设置断点和调试点
(4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。 9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。 10.S3C2410/S3C2440 GPIO引脚
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: 保留不用
31 1 0 GPBCON
…… 0 1 ②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态
若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。 若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。
31 1 0 GPBDAT
…… GPB1 GPB0 ③GpxUP——上拉电阻寄存器 0:相应引脚使用内部上拉电阻1:相 应引脚不适用内部上拉电阻
12.GPIO应用①例:使4个LED小灯中的LED1发亮
GPB5 LED1 GPB6 LED2 GPB7 LED3 GPB8 LED4 GPBCON: 31 17 16 15 14 13 12 11 10 … … 0 1 0 1 0 1 0 1 … GPB8 GPB7 GPB6 GPB5 GPBDAT: 31 8 7 6 5 … … 1 1 1 0 … GPB8 GPB7 GPB6 GPB5 GPBUP: 不使用上拉电阻 程序:
#define GPBCON(*(Volatile unsigned long *)0x56000010) #define GPBDAT(*(Volatile unsigned long *)0x56000014) #define GPB5_OUT(1<<(5*2)) #define GPB6_OUT(1<<(6*2)) #define GPB7_OUT(1<<(7*2)) #define GPB8_OUT(1<<(8*2)) int main()
{ GPBCON=GPB5_OUT| GPB6_OUT| GPB7_OUT| GPB8_OUT; GPBDAT=~(1<<5); return 0;}
3 2 1 0 GPB1 GPB0 3 2 1 0
②使用按键控制LED
3.3V GPB5 LED1 GPB6 LED2 GPB7 LED3 GPB8 LED4 S3C2410
3.3V
GPG11 GPG3 GPF2 GPF0 S3C2410 K1 K2 K3 K4
K1闭合,GPB11低电平K1断开,GPB11高电平
GPGDAT11位,当GPB11为0时,低电平;当GPG11为1时,高电平。 #define GPBCON(*(volatile unsigned long*)0x56000010) #define GPBDAT(*(volatile unsigned long*)0x56000014) #define GPGCON(*(volatile unsigned long*)0x56000050) #define GPGDAT(*(volatile unsigned long*)0x56000054) #define GPFCON(*(volatile unsigned long*)0x56000060) #define GPFDAT(*(volatile unsigned long*)0x56000064) #define GPB5_OUT 1<<(5*2) #define GPB6_OUT 1<<(6*2) #define GPB7_OUT 1<<(7*2) #define GPB8_OUT 1<<(8*2) #define GPG11_IN ~(3<<(11*2)) #define GPG3_IN ~(3<<(3*2)) #define GPF2_IN ~(3<<(2*2)) #define GPF0_IN ~(3<<(0*2)) int main(){
unsigned long dwDat;
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点亮 }
return 0; }
嵌入式存储器
1.嵌入式存储器的分类,特点
SRAM:静态随即存储器(cache) 存取速度会计,容量小,
造价高,不需刷新 SDRAM:同步动态随DRAM:动态随即存储器(内存) 造价低,
存取速度稍慢,存储单元需刷新
机存储器 步时钟(上升沿或下降沿存
取数据)
一、分类
DDR SDRAM:(Dual Data Rate 双倍速率) (上升沿和下降沿都可以读取数据)
FLASH:闪存(外存) 速度慢,容量大,造价低
NOR FLASH:或非闪存
Intel 代码 NAND FLASH:与非闪存
东芝 数据
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) 作用;可以实现同一行的相邻存储单元连续传输,只需指定起始列地址和突发长度,内存芯片自动对后面相应数量存储单元进行连续读写操作且不需要重复提供列地址。
BL=4→突发长度 CL=2→两个时钟周期 T1 命令地址 读 列 a+2 a+3 T2 T3 T4 T5 T6 T7 读 列地址 a a+1 b CL=2
7.Nor FLASH——(特点:读的快,写的慢) 1).W39L040A介绍
512K×8 Nor FLASH 芯片 片选CE# 读OE# 写WE# 控制逻辑 数据驱动 D0-D7
A0-A18 地址译码 存储体
2).读操作:
(1)读普通数据:CE#低,OE#低,WE#高 A0-A18 发地址,数据被送往D0-D7
(2)读厂家ID:CE#低,OE#低,WE#高 A9 ~12V, A1A0 00b (3)读器件ID:CE#低,OE#低,WE#高 A9 ~12V, A1A0 01b
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.NAND FLASH
特点:无单独的地址总线和数据总线,地址、数据以及命令共用一个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
外部地址空间:1G 0x0000_0000~0x4000_0000 (_用于4位一区分,只是个符号,无具体意义)
内部地址空间:3G(寄存器地址范围0x4800_0000~0x5FFF_FFFF,剩余空间闲置)
1).外部地址空间划分
闲置——128M BANK7 SDRAM 64M 0x3000000~0x33FFFFFF——128M BANK6 扩展串口A B——128M BANK5 10/100M网卡——128M BANK4 10M网卡——128M BANK3 IDE接口控制块寄存器 16字节——128M BANK2 IDE接口命令寄存器 16字节——128M BANK1 NorFLah 2M 0x00000000~0x00FFFFFF——128M BANK0 CPU提供8个片选引脚nGCS0~nGCS7 128M=227
CPU又引出27根引脚用于地址选择 S3C2410 GPIO 117 其余全为专用引脚 272
2).内部地址空间
存储控制器(SDRAM):0x4800_0000~0x4800_0030 中断控制器:0x4A00_0000~0x4A00_001C NAND FLASH: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
无效 0 0 31 物基 20 1 0 31 粗页表基地址 10 0 1 31 细页表基地址 12 1 1
错误 段类型 粗页表类型 细页表类型
二级页表(粗页表)细页表项
无效 0 0 31 物基 16 0 1 31 物基 12 1 0 错误 大页类型 小页类型
31 物基 10 1 1 微小页类型
第三章 中断体系结构
1.ARM处理器的7种工作模式
①用户模式:正常②快速中断模式:FIQ③中断模式:IRQ④管理模式⑤数据访问中止模式⑥系统模式 ⑦未定义指令中止模式 2.CPSR寄存器
7 6 5
N Z C V
......
I
F T 4 0
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)
20 19
......
8 7
6
ARB_MODE6 5 4 3 2 1 0
RINT0
ARB_SEL6
ARB_SEL0
REQ4~REQ1 REQ5~REQ0 REQ5~REQ0 REQ5~REQ0 REQ5~REQ0 REQ4~REQ1
6 6 6 4 4 6 31 28 27 22 21 16 15 10 9 4 3 0 ARBITER5 REQ5 ARBITER4 ARBITER3 ARBITER2 ARBITER1 ARBITER0 REQ4 REQ3 REQ2 REQ1 REQ0 ARBIIER 6
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时钟分类
①FCLK CPU核时钟 主频
②HCLK AHB总线 Advanced High-Performance Bus 高性能总线 存储控制器 LCD控制器 DMA控制器 USB等 ③PCLK APB总线 Advanced Peripheral Bus 低频总线 WATCHDOG I2C UART PWM定时器... 2.FCLK的生成
Ⅰ)上电 PLL没有启动 FCLK=Fin
Ⅱ)系统稳定 引导程序开始执行,可以在引导程序开始启动MPLL,经过一段时间(LockTime),MPLL输出稳定,CPU工作在FCLK下 3.FCLK计算公式:晶振频率:Fin=12MHZ—PLL—倍频→FCLK 4.S3C2410/2440定时器结构图
PCLK
定时器工作时钟 1/2 1/4 1/8 1/16 TCLK0 定时器0 Tout1
定时器1 Tout0
8位预分频器0 (0~255)
1/2 1/4
8位预分
1/8
频器1
1/16
TCLK0,TCLK1外部时钟源 TCLK1 Tout2
定时器2 定时器3 定时器4 Tout3 Tout4
6.WATCHDOG定时器结构图
WTCON[2] WTDAT 1/16 1/32 1/64 1/128 WTCON[4:3] WTCON[5]启动看门狗 1:启动 0:不启动
中断信号 PCLK 8位预分频器0 WTCON[15:8] WTCNT减1计数 复位信号RESET 发生器 WTCON[0]是否发出复位信
号
1:发出 0:不发
喂狗:定时设置WTCNT的值使其不为0,防止系统重启
5.定时器内部控制逻辑图
比较值初值
TCMPBn TCNTBn 计数值初值 TCMPn 当前比较值 比 较 TCNTn 减1计数 获取当前计数值 TCNTOn 当前计数值 TCDN 控制定时器
①工作流程
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”
S
1
SDA
SCL
0
1
ACK
P
3.总线仲裁:当I2C总线处于空闲状态,两个或多个设备同时发出起始条件,究竟谁获得总线,需要仲裁。
规则:当SCL为高电平,有的设备将SDA拉高,有的设备将SDA拉低,发出高电平的设备将退出竞争。
二、帧的传输
LSB 字节最低位 起始位 12V MSB 字节最高位 0 1 0 0 0 0 0 1 0 1 1 3V 0V -3V -12V 空闲 帧 空闲 7 6 5 4 3 2 1 0 ×
起始位: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)(UART clock/baud rate/16)-1 UART clock 40MHZ,115200bps UBRDIVn ?
UBRDIVn=(int)(10000000HZ/115200/16)-1=(int)21.7-1=20 baud rate=UART clock/(UBRDIVn*16) UBRDIVn——分频系数 3.ULCONn:设置输出格式
6 5 3 2 1 0
0~1——数据位长度 2——停止位长度 3~5——校验模式 6——工作模式 0:正常模式 第六章 IIC总线 1.IIC总线结构
1:红外模式
SDA 串行数据线 SCL 串行时钟线
IIC控制器 处理器 2410/2440 器件1 器件2 IICADD
A → B
该寄存器设置器件的地址
发送器
接收器
主机发送器状态
2.IIC总线工作原理(A→B) 主机(主设备):负责生成SCL时钟,同时负责发出其实信号S和终止信号P 从机(从设备):被主机寻址的器件 1)A检测I2C总线是否“空闲”,如果空闲(高),A发出起始信号(SCL高,SDA↓)
2)寻址选择目标器件B,发送7位地址和一个读/写 27=128 112可使用 16个保留
3)A在发送完地址后,将SDA线释放,SDA处于高电平状态,如果器件B的地址和A发出地址相同,则会发出一个响应信号ACK,即将SDA拉低。
4)A在接收到响应信号后发送数据,以8位为单位来发送,每发送完一次B向A发送ACK信号。
5)A发送完所有数据后,发终止条件。(SCL高,SDA↑)
正在阅读:
嵌入式系统原理与设计 知识点整理04-16
岭南版四年级美术下册教学计划05-02
广西版四年级下册美术教案04-08
岭南版四年级美术基础知识试卷01-09
abc分析在库存管理的应用04-28
英语专业本科教学评估自评报告 - 图文11-06
小学教学评估工作自评汇报材料03-08
(最新)龙华镇中心小学教学评估汇报材料09-09
南海执信中学高中教学水平评估自评报告06-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 知识点
- 嵌入式
- 原理
- 整理
- 设计
- 系统
- 美亭学校初中部团委学生会组建方案
- 基于TMS320C5402的DSP指令实验和交通灯设计
- 鱼岳镇第三小学电子教1.doc四年级语文下册29课
- 更新:XRD和BET思考题
- 注册税务师承办内资房地产开发企业实际销售收入毛利额与预售收入
- 第七章 分布滞后模型与自回归模型 思考题
- 瘦腿
- 小学二年级数学下学期容易出错题练习 - 图文
- 建筑设备安装工程隐蔽验收记录(导管敷设)
- 青岛版数学六年级上册第五单元《圆的周长》拔高练习1
- 培 - 养 - 优 - 秀 - 生记录 - 转化后进生记 - 录
- 关于十二五期间高等学校设置工作的意见
- 美国采购商信息
- 2017中国矿业大学MPAcc管理类联考综合复习方法
- 基于MATLAB的OFDM系统设计及分析论文
- 2012届高三语文下册拓展精练检测试题(附答案)
- 河北省唐山一中2015-2016学年高二下学期期末考试语文试题 Word版
- 当代世界经济与政治
- 营业收入审计程序表
- 高中历史(人民版)复习 历史脉络·第1部分 专题3