《嵌入式系统原理与设计-知识点整理.pdf》由会员分享,可在线阅读,更多相关《嵌入式系统原理与设计-知识点整理.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 嵌入式处理器1 嵌入式系统的概念组成:定义:以应用为主,以电脑技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的电脑系统。组成:硬件:处理器、存储器、I / O 设备、传感器软件:系统软件,应用软件。2.嵌入式处理器分类特点:分类:MPUMicro Processor Unit微处理器。一块芯片,没有集成外设接口。内部主要由运算器,控制器,寄存器组成。MCUMicro Controller Unit微控制器单片机 。一块芯片集成整个电脑系统。EDSPEmbled Digital Signal Processor数字信号处理器。运算速度快,擅长于大量重复数据处
2、理SOCSystem On Chip偏上系统。一块芯片,内部集成了 MPU 和某一应用常用的功能模块3.嵌入式处理器与通用电脑处理器的区别:嵌入式处理器种类繁多,功能多样嵌入式处理器能力相对较弱,功耗低嵌入式系统提供灵活的地址空间寻址能力嵌入式系统集成了外设接口4.哈佛体系结构:指令和数据分开存储嵌入式存储结构地址总线数据总线CPU地址总线数据总线数据存储器指令存储器特征:在同一机器周期内指令和数据同时传输冯诺依曼体系结构:指令和数据共用一个存储器通用式存数结构地址总线CPU数据总线指令 / 数据存储器数据存储结构多字节 :大端方式:低地址存高位;小端方式:高地址存高位6.ARM 指令集命名:
3、V1V8ARMV 表示的是指令集7.ARM 内核命名:.命名规则:ARMx y z T D M I E J F Sx系列版本y当数值为“2”时,表示 MMU内存管理单元z当数值为“0”时,表示缓存 CacheT支持 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软件
4、下载:将运行代码下载到目标机 RAM 中3软件调试:设置断点和调试点4FLASH 烧写:将运行最终代码烧写到 FLASH 存储器中。9.GPIO 概念: General Purpose I/O Ports通用输入/输出接口,即处理器引脚。10.S3C2410/S3C2440 GPIO 引脚S3C2410 共有 117 个引脚,可分成AH 共 8 个组, GPA,GPB,GPH 组S3C2440 共有 130 个引脚,可分成 AJ 共 9 个组, GPA,GPB,GPH,GPJ 组11.GPxCON 寄存器,GPxDAT寄存器,GpxUP 寄存器的功能,各位含义和用法GPxCON 寄存器控制寄存
5、器设置引脚功能GPACONA 组有 23 根引脚,一位对应一个引脚,共 32 位,拿出 022 位,其余没用假设某一位是0: 代表该位的引脚是一个输出引脚1:地址引脚GPBCONGPH/JCON用法一致,两位设置一个引脚00: 输入引脚01: 输出引脚10: 特殊引脚11: 保留不用3110GPBCON01GPxDAT寄存器数据寄存器设置引脚状态及读取引脚状态假设某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。假设某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。3110GPBDATGPB1GPB0GpxUP上拉电阻寄存器0:相应引脚使用内部上拉电阻 1:相 应引脚不适
6、用内部上拉电阻例:使 4 个 LED 小灯中的 LED1 发亮GPB5LED1GPB6LED2GPB7LED3GPB8LED4GPBCON:31171615141312111001010101GPB8GPB7GPB6GPB5GPBDAT:3187651110GPB8GPB7GPB6GPB5GPBUP:不使用上拉电阻程序:#define GPBCON(*(Volatile unsigned long *)0 x56000010)#define GPBDAT(*(V olatile unsigned long *)0 x56000014)#define GPB5_OUT(1(5*2)#define
7、 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=(15);return 0;3210GPB1GPB03210使用按键控制 LEDGPB5LED1GPB6LED2GPB7LED3GPB8LED4S3C2410GPG11GPG3GPF2GPF0S3C2410K1K2K3K4K1 闭合,GPB11 低电平 K1 断开,GPB11 高电平GPGDAT11位,当 GPB11 为 0 时,低电平;当 GPG
8、11 为 1 时,高电平。#define GPBCON(*(volatile unsigned long*)0 x56000010)#define GPBDAT(*(volatile unsigned long*)0 x56000014)#define GPGCON(*(volatile unsigned long*)0 x56000050)#define GPGDAT(*(volatile unsigned long*)0 x56000054)#define GPFCON(*(volatile unsigned long*)0 x56000060)#define GPFDAT(*(volat
9、ile unsigned long*)0 x56000064)#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=
10、GPG11_IN&GPG3_IN;GPFCON=GPF2_IN&GPF0_IN;while(1)dwDat=GPGDAT;if(dwDat&(111)/如果表达式为真值,表示K1 没被按下,与 GPG11 相连GPBDAT|=(15);/LED1 熄灭elseGPBDAT&=(15); /LED1点亮if(dwDat&(13)/如果表达式为真值,表示 K2 没被按下,与 GPG3 相连GPBDAT|=(16);/LED2 熄灭elseGPBDAT&=(16); /LED2点亮if(dwDat&(12)/如果表达式为真值,表示 K3 没被按下,与 GPF2 相连GPBDAT|=(17);/LED
11、3 熄灭elseGPBDAT&=(17); /LED3点亮if(dwDat&(10)/如果表达式为真值,表示 K4 没被按下,与 GPF0 相连GPBDAT|=(18);/LED4 熄灭elseGPBDAT&=(1T2 内阻T3 的内阻T1 内阻Q 为高电平,由 Vcc 提供Q#为低电平,由接地端提供写 1 以及读取同理。3.SDRAM 芯片按 BANK 划分的优点:1提高存储器访问速度 2节能4.SDRAM 读操作:1发送行地址和行选通信号 tRCD(表示行地址发出到列地址发出的时间间隔)2发送列地址和列选通信号,以及数据读命令,从命令发出到数据出现在总线上有延迟,这个延迟成为 CAS 延迟
12、。用 CL 表示。1发送行地址和行选通新号 tRCD2发送到列地址和列选通新号,以及写命令,同时数据通过数据总线传给芯片,不存在 CL 延时。6.SDRAM 突发传输Burst作用; 可以实现同一行的相邻存储单元连续传输,只需指定起始列地址和突发长度, 内存芯片自动对后面相应数量存储单元进行连续读写操作且不需要重复提供列地址。BL=4突发长度CL=2两个时钟周期T1命令地址读列a+2a+3T2T3T4T5T6T7读列地址aa+1bCL=27.Nor FLASH特点:读的快,写的慢1.W39L040A 介绍512K8 Nor FLASH 芯片片选 CE#读 OE#写 WE#控制逻辑数据驱动D0-
13、D7A0-A18地址译码存储体2.读操作:1读普通数据:CE#低,OE#低,WE#高A0-A18发地址,数据被送往 D0-D72读厂家 ID:CE#低,OE#低,WE#高A912V, A1A000b3读器件 ID:CE#低,OE#低,WE#高A912V, A1A001b3.擦除操作必须先擦除后写 ,写数据“1”1整片擦出:CE#低,OE#高,WE#低,发出 6 个总线周期暗号地址线:5555h2AAAh5555h5555h2AAAh5555h数据线:AAh55h80hAAh55h10h发送完毕,芯片自动执行擦除操作,用时约 6s2块擦除:CE#低,OE#高,WE#低,发出 6 个总线周期暗号地
14、址线:5555h2AAAh5555h5555h2AAAhSA数据线:AAh55h80hAAh55h30h4.写操作字节编程将 1 变为“0”CE#低,OE#高,WE#低,发出 4 个总线周期暗号地址线:5555h2AAAh5555hAIN数据线:AAh55hA0hDIN发送完毕,芯片自动执行字节编程烧写 ,最快 9s8.NAND FLASH特点:无单独的地址总线和数据总线,地址、数据以及命令共用一个 I/O 总线包含 4096 个存储块,每块 32 页,每页512+16字节512 代表主存储区用户数据 ,16 代表备用存储区EEC21225(29+24)=226+221=64M+2M页是数据存
15、储及读写基本单位2.写操作页编程200s80h4 个周期地址写数据到页寄存器10h芯片自动写入通过R/B#高结束FLASH 状态寄存器第 6 位1 结束CPU通过 FLASH 状态寄存器第 0 位判断是否成功0 成功3.块擦除4096 块=21260h3 个周期地址D0h芯片自动擦出4.块保护命令41h:禁止写42h:禁止擦出43h:禁止写和擦出41h43h80h块地址4 个周期10h芯片自动执行5.器件 ID 读操作90h00h厂家 ID、器件 ID、第三附属 ID、第四附属 ID9、NorFLASH 和 NANDFLASH 比较必考! ! ! !10 分左右接口差异:NOR 提供足够的地址
16、引脚寻址;NAND 采用 8 个位引脚传递命令、地址和数据。性能差异:NOR 地址线和数据线分开, 传输效率高, 读取速度比 NAND 快,但擦出和写入速度要比 NAND 慢得多。容量和成本:NAND 容量大于 NOR 容量,成本低与 NOR。可靠性和耐用性:NAND 擦写次数约为 100 万次,NOR 约为 10 万次;尺寸上NAND 比 NOR 小 8 倍,NAND 容易发生位翻转,可靠性略差。软件支持: 在 NOR 上运行代码不需要任何软件支持; 在 NAND 上进行同样操作需要驱动程序,即内存技术驱动程序MTD市场取向比较:NOR 用于对数据可靠性要求比较高的代码存储应用,如通信产品和
17、网路处理等领域;NAND 则用于存储容量较高的 MP3、存储卡等领域10、S3C2410 / S3C2440 地址空间划分逻辑地址空间:232=4G外部地址空间:1G0 x0000_00000 x4000_0000(_用于 4 位一区分,只是个符号,无具体意义)内部地址空间:3G寄存器地址范围 0 x4800_00000 x5FFF_FFFF,剩余空间闲置1.外部地址空间划分闲置128MBANK7SDRAM64M0 x30000000 x33FFFFFF128MBANK6扩展串口 AB128MBANK510/100M 网卡128MBANK410M 网卡128MBANK3IDE 接口控制块寄存器
18、16 字节128MBANK2IDE 接口命令寄存器16 字节128MBANK1NorFLah2M0 x000000000 x00FFFFFF128MBANK0CPU 提供 8 个片选引脚 nGCS0nGCS7128M=227CPU 又引出 27 根引脚用于地址选择S3C2410GPIO117其余全为专用引脚2722.内部地址空间存储控制器SDRAM :0 x4800_00000 x4800_0030中断控制器:0 x4A00_00000 x4A00_001CNAND FLASH:0 x4E00_00000 x4E00_0014UART:0 x5000_00000 x5000_8028USB:0
19、 x5200_01400 x5200_026FI2C:0 x5400_00000 x5400_000CA / D:0 x5800_00000 x5800_0010将虚拟地址转换为物理地址控制内存访问权限一级页表项类型细页表 1024 页表项 210粗页表 256 项28无效0031物基201031粗页表基地址100131细页表基地址1211错误段类型粗页表类型细页表类型二级页表粗页表细页表项无效0031物基160131物基1210错误大页类型小页类型31物基1011微小页类型第三章 中断体系结构用户模式:正常快速中断模式:FIQ中断模式:IRQ管理模式数据访问中止模式系统模式未定义指令中止模式
20、765NZCV.IFT40N:运算结果是否为负Z:运算结果是否为 0C:进位/借位V:溢出I:1:禁止中断0:使能中断F:1:禁止快中断0:使能T:1:Thumb 状态0:ARM 状态4.0:工作模式:10000 用户10001 快中10010 中断中断控制器汇聚中断信号,通知 CPUCPU 保存运行环境,调用 ISR中断服务程序处理中断ISR 读取中断控制器,识别中断流并执行相应处理清除中断,恢复现场,继续执行4.优先级寄存器PRIORITY20 19.876ARB_MODE6543210RINT0ARB_SEL6ARB_SEL0REQ4REQ1REQ5REQ0 REQ5REQ0 REQ5R
21、EQ0 REQ5REQ0 REQ4REQ16664463128 2722 211615109430ARBITER5REQ5ARBITER4ARBITER3ARBITER2 ARBITER1ARBITER0REQ4REQ3REQ2REQ1REQ0ARBIIER 6ARB_MODE 设置仲裁器工作模式0:ARB_SEL 不变表示设置仲裁器工作模式屏蔽1:ARB_SEL 自动变化ARB_SEL高低00REQ01234501REQ02341510REQ03412511REQ041235已被服务的 REQxARB_SEL 新值REQ0/REQ5不变REQ101REQ210REQ311REQ400第四章
22、系统时钟与定时器1、S3C2410/2440 时钟分类FCLKCPU 核时钟主频HCLKAHB 总线Advanced High-Performance Bus 高性能总线存储控制器LCD 控制器DMA 控制器USB 等PCLKAPB 总线Advanced Peripheral Bus低频总线WATCHDOG I2C UART PWM 定时器.上电PLL 没有启动FCLK=Fin系统稳定引导程序开始执行,可以在引导程序开始启动 MPLL,经过一段时间LockTime ,MPLL 输出稳定,CPU 工作在 FCLK 下3.FCLK 计算公式:晶振频率:Fin=12MHZPLL倍频FCLKPCLK定
23、时器工作时钟1/21/41/81/16TCLK0定时器 0Tout1定时器 1Tout08 位预分频器 0(0255)1/21/48 位预分1/8频器 11/16TCLK0, TCLK1 外部时钟源TCLK1Tout2定时器 2定时器 3定时器 4Tout3Tout4WTCON2WTDAT1/161/321/641/128WTCON4:3WTCON5启动看门狗1:启动0:不启动中断信号PCLK8 位预分频器 0WTCON15:8WTCNT减 1 计数复位信号 RESET发生器WTCON0是否发出复位信号1:发出0:不发喂狗:定时设置 WTCNT 的值使其不为 0,防止系统重启比较值初值TCMP
24、BnTCNTBn计数值初值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再次发生反转,并触发定时器中断5dangTCNTn=0 时,如果 TCON 寄存器蒋定时期 n 设为“自动加载” ,那么 TCMPBn 和
25、 TCNTBn 的值被自动载入,TCMPn 和 TCNTn 中,下一轮计数开启自动加载不包括第一次第五章 同步异步收发器UART1.帧:起始位+数据位+校验位+停止位起始位:1 位数据位:5,6,7,8校验位:可选奇校验 “1”校验 ,偶校验 “0”校验 停止位:1 或者 2 位发送“101”S1SDASCL01ACKP3.总线仲裁:当 I2C 总线处于空闲状态,两个或多个设备同时发出起始条件,究竟谁获得总线,需要仲裁。规则:当 SCL 为高电平,有的设备将 SDA 拉高,有的设备将 SDA 拉低,发出高电平的设备将退出竞争。二、帧的传输LSB字节最低位起始位12VMSB字节最高位010000
26、010113V0V-3V-12V空闲帧空闲76543210起始位:1 位数据位:7 位校验位:偶校验终止位:2 位1.平时数据线处于“空闲状态” “1”状态2.当要发送数据时,UART改变 TxD 数据线状态变为“0”3.UART一帧中可以有 5,6,7 或 8 位数据,发送方一位一位发送,首先发送字节最低位 LSB4.如果使用校验功能,UART在发送完数据后正要发送 1 个校验位5.最后发送停止位,数据线恢复“空闲”状态 “1”状态设置波特率UBRDIVn=(int)(UART clock/baud rate/16)-1UART clock 40MHZ,115200bps UBRDIVn ?
27、UBRDIVn=(int)(10000000HZ/115200/16)-1=(int)21.7-1=20baud rate=UART clock/(UBRDIVn*16)UBRDIVn分频系数3.ULCONn:设置输出格式6 532 1001数据位长度2停止位长度35校验模式6工作模式0:正常模式第六章 IIC 总线1:红外模式SDA 串行数据线SCL 串行时钟线IIC 控制器处理器2410/2440器件 1器件 2IICADDAB该寄存器设置器件的地址发送器接收器主机发送器状态2.IIC 总线工作原理AB主机主设备 :负责生成 SCL 时钟,同时负责发出其实信号 S 和终止信号 P从机从设备 :被主机寻址的器件1A 检测 I2C 总线是否“空闲” ,如果空闲高 ,A 发出起始信号SCL 高,SDA2寻址选择目标器件 B,发送 7 位地址和一个读/写27=128112 可使用16 个保留3A 在发送完地址后,将 SDA 线释放,SDA 处于高电平状态,如果器件 B 的地址和 A 发出地址相同,则会发出一个响应信号 ACK,即将 SDA 拉低。4A 在接收到响应信号后发送数据,以 8 位为单位来发送,每发送完一次 B 向A 发送 ACK 信号。5A 发送完所有数据后,发终止条件。 SCL 高,SDA
限制150内