第一章嵌入式处理器1嵌入式系统的概念组成:定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。
组成:硬件:处理器、存储器、I / O设备、传感器软件:①系统软件,②应用软件。
2.嵌入式处理器分类特点:分类:①MPU(Micro Processor Unit)微处理器。
一块芯片,没有集成外设接口。
部主要由运算器,控制器,寄存器组成。
②MCU(Micro Controller Unit)微控制器(单片机)。
一块芯片集成整个计算机系统。
③EDSP(Embled Digital Signal Processor)数字信号处理器。
运算速度快,擅长于大量重复数据处理④SOC(System On Chip)偏上系统。
一块芯片,部集成了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调试接口的概念及作用:①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。
(P CB→印刷电路板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:保留不用GPBCON②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。
若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。
GPBDAT0:相应引脚使用部上拉电阻1:相 应引脚不适用部上拉电阻 12.GPIO 应用①例:使4个LED 小灯中的LED1发亮GPBCON : 3117 16 15 14 13 12 110 … 3 2 1 0GPBDAT :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;}②使用按键控制LEDS3C2410K1闭合,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))K4#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熄灭elseGPBDAT&=~(1<<5); //LED1点亮if(dwDat&(1<<3)) //如果表达式为真值,表示K2没被按下,与GPG3相连GPBDAT|=(1<<6); //LED2熄灭elseGPBDAT&=~(1<<6); //LED2点亮if(dwDat&(1<<2)) //如果表达式为真值,表示K3没被按下,与GPF2相连GPBDAT|=(1<<7); //LED3熄灭elseGPBDAT&=~(1<<7); //LED3点亮if(dwDat&(1<<0)) //如果表达式为真值,表示K4没被按下,与GPF0相连GPBDAT|=(1<<8); //LED4熄灭elseGPBDAT&=~(1<<8); //LED4点亮}return 0;}嵌入式存储器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)发送行地址和行选通新号tRCD2)发送到列地址和列选通新号,以及写命令,同时数据通过数据总线传给芯片,不存在CL 延时。
6.SDRAM 突发传输(Burst ) 作用;可以实现同一行的相邻存储单元连续传输,只需指定起始列地址和突发长一、分类SRAM :静态随即存储器(cache ) 存取速度会计,容量小,造价高,不需刷新DRAM :动态随即存储器(内存) 造价低,存取速度稍慢,存储单元需刷新SDRAM :同步动态随机存储器 步时钟(上升沿或下降沿存取数据)DDR SDRAM :(Dual Data Rate 双倍速率) (上升沿和下降沿都可以读取数据)FLASH :闪存(外存) 速度慢,容量大,造价低NAND FLASH :与非闪存东芝 数据NOR FLASH:或非闪存Intel 代码度,存芯片自动对后面相应数量存储单元进行连续读写操作且不需要重复提供列地址。
7.Nor FLASH ——(特点:读的快,写的慢) 1).W39L040A 介绍512K ×8 Nor FLASH 芯片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 01b3).擦除操作(必须先擦除后写),写数据“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.7sBL=4→突发长度CL=2→两个时钟周期 74).写操作(字节编程)将1变为“0”CE#低,OE#高,WE#低,发出4个总线周期暗号地址线:5555h——2AAAh——5555h——AIN数据线:AAh——55h——A0h——DIN发送完毕,芯片自动执行字节编程(烧写),最快9μs8.NAND FLASH特点:无单独的地址总线和数据总线,地址、数据以及命令共用一个I/O总线1.K9F1208X0C介绍①包含4096个存储块,每块32页,每页(512+16)字节512代表主存储区(用户数据),16代表备用存储区(EEC)21225(29+24)=226+221=64M+2M②页是数据存储及读写基本单位2).写操作(页编程) 200μs80h→4个周期地址→写数据到页寄存器→10h→芯片自动写入通过R/B# (高结束)FLASH状态寄存器第6位(1结束)CPU通过FLASH状态寄存器第0位判断是否成功(0成功)3).块擦除 4096块=21260h→3个周期地址→D0h→芯片自动擦出4).块保护命令41h:禁止写 42h:禁止擦出 43h:禁止写和擦出41h~43h→80h→块地址(4个周期)→10h→芯片自动执行5).器件ID读操作90h→00h→厂家ID、器件ID、第三附属ID、第四附属ID9、NorFLASH和NANDFLASH比较(必考!!!!10分左右)①接口差别:NOR 提供足够的地址引脚寻址;NAND采用8个位引脚传递命令、地址和数据。