嵌入式Linux软硬件开发详解 基于S5PV210处理器(txt+pdf+epub+mobi电子书下载)

作者:刘龙,张云翠,申华

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

嵌入式Linux软硬件开发详解 基于S5PV210处理器

嵌入式Linux软硬件开发详解 基于S5PV210处理器试读:

前言

近年来,嵌入式技术和嵌入式产品发展势头迅猛,其应用领域涉及通信产品、消费电子、汽车工业、工业控制、信息家电、国防工业等各个方面。嵌入式产品在IT产业以及电子工业的经济总额中所占的比重越来越大,对国民经济增长的贡献日益显著。随着智能手机、媒体播放器、数码相机和机顶盒等嵌入式产品的普及,嵌入式系统的知识在广大民众中的传播也越来越广泛。出于对嵌入式高科技知识的追求,广大在校学生纷纷选修嵌入式系统课程,以获得嵌入式系统的理论知识和开发技能。嵌入式系统目前已经成为高等院校计算机及相关专业的一门重要课程,也是相关领域研究、应用和开发专业技术人员必须掌握的重要技术之一。

嵌入式系统的设计与开发作为一项实践性很强的专业技术,只学习理论知识是无法真正深刻理解和掌握的,因此嵌入式系统课程教学的问题是讲授理论原理比较容易,如何让学生有效地进行实践比较难。作者根据近年嵌入式系统课程教学和工程实践体会到,只通过书本难以让学生提高嵌入式系统的实际设计能力。传统的以课堂讲授为主、以教师为中心的教学和学习方法会使学生感到枯燥和抽象,难以锻炼嵌入式系统设计所必需的对器件手册、源代码和相关领域的自学能力,难以提高学生嵌入式系统的实际设计能力。而本书以实用、切合实际为原则,采用了列举实例的方式,深入浅出地揭示嵌入式系统技术在具体项目中的应用。

本书分为5篇,共14章。硬件设计篇详细地介绍了基于Smart210和GEC210实验平台硬件系统设计内容;开发基础篇介绍了嵌入式Linux开发环境搭建、常用软件安装及Makefile和Shell编程;系统移植篇介绍了嵌入式Linux操作系统移植、根文件系统制作、Qt4库移植及QWT移植等内容,这些内容都是嵌入式系统开发中的基本内容,也是嵌入式系统开发者的必备技能,驱动开发篇介绍了嵌入式Linux驱动开发内容;项目实战篇通过具体实例带领读者由浅入深地完成硬件驱动开发及Qt下应用程序开发,通过对具体项目的讲解,读者可以清楚地看到运行的现象或结果,从而留下直观和深刻的印象,这样才能迅速理解和掌握嵌入式系统基本工作原理、一般设计流程和常用的设计技巧,具备初步的系统设计能力。

本书由刘龙主编,张云翠、申华等参与了第1、2、10、11、12章的编写,张新强、图雅、李福星、张鲲鹏、闫慧琦、孙丽飞、陈功、韩媞等为本书提供了一些基础实例并对本书的章节结构提出了有益的建议。另外本书部分章节中的实例来自郭鑫书、彭程等同学的课程设计实例,在此一并表示感谢。

在本书的编写过程中,大连东软信息学院电子工程系主任孙晓凌教授给予了全面的支持并提出了建设性的指导思想,在此表示特别感谢。

由于水平有限,书中难免有遗漏和不足之处,恳请广大读者提出宝贵意见,本书作者联系方式是edaworld@yeah.net,QQ群为:321249990,欢迎交流。刘龙2014年10月第一篇硬件设计篇第1章 硬件系统概述本章内容:

S5PV210微处理器的特点及其内部构造。教学目标:

●了解Smart210开发板的硬件资源;

●掌握S5PV210处理器的内部构造。1.1 硬件系统资源

本书硬件平台以广州友善之臂Smart210开发板为基础进行讲解,同时支持广州粤嵌教育GEC210与网蜂公司的WEBEE210等开发系统。Smart210开发板搭载三星公司出品的S5PV210处理器,配备512M DDR2内存和512M SLC NAND Flash,外部应用接口非常丰富,如板载WM8960音频芯片、miniHDMI高清输出、USB2.0接口、CMOS摄像头、矩阵键盘、电容屏触摸屏等。

Smart210开发板主要核心器件构成如下。(1)核心板硬件

●SAMSUNG S5PV210处理器,ARMV7核,主频高达1GHz。

●512MB SLC NAND FLASH(型号为K9K4G08UOB)。

●WM8960GEFL音频解码芯片。

●512MB DDR2 SDRAM(型号为K4T1G084QQ)。

●100M网口(型号为DM9000AEP)。

●JTAG接口。

●4个贴片绿色发光LED。(2)扩展底板硬件:

●群创7寸电容触摸屏LCD(型号为AT070TN92)。

●两个标准5线串行接口。

●两个USB接口。

●EEPROM(型号为AT24C02)。

●8个按键组成的独立式按键。

●AMS1086和RT9011电源管理芯片,支持1.8V、2.8V及3.3V电压输出。1.2 S5PV210处理器1.2.1 S5PV210微处理器概述

S5VP210是一款高效率、高性能、低功耗的32位RISC处理器,它集成了ARM Cortex-A8核心,实现了ARM架构V7并且支持众多外围设备。

S5PV210采用64位内部总线结构,为3G和3.5G通信服务保证最优化的硬件性能,并且提供了许多强大的硬件加速器,例如运动视频处理、显示控制及缩放等。它内部集成的多格式转码器支持MPEG-1/2/4、H.263和H.264等的编解码,硬件加速器支持视频会议和模拟电视输出,高清晰度多媒体接口提供NTSC和PAL模式的输出。

S5PV210具有多种外部存储器接口,能够承受大内存在高端通信服务所需的带宽,例如其DRAM控制器支持LPDDR1、DDR2或LPDDR2的存储器扩展,其FLASH/ROM接口支持NAND闪存、NOR闪存、OneNAND闪存、SRAM和ROM类型的外部存储器。

为了降低系统的总成本并且提高整体功能,S5PV210微处理器内部集成了众多外设,如TFT真彩LCD控制器、摄像头接口、MIPI DSI显示串行接口、电源管理、ATA接口、4个通用异步收发器、24通道的DMA、4个定时器、通用I/O端口、3个I2S、IIC接口、两个HS-SPI、USB Host2.0、高速运行的USB2.0 OTG、4个SD Host和高速多媒体接口等。

图1-1所示为S5PV210处理器的结构框图。

由图1-1可以看出,S5PV210处理器主要由6大部分组成,分别为CPU核心、系统外设、多媒体、电源管理、存储器接口和Connectivity模块。CPU和各个部分之间通过多层次AHB/AXI总线进行通信。图1-1 S5PV210结构框图1.2.2 内部各模块介绍

下面我们对各模块内部组成及特点进行简要介绍。1.CPU核心包括以下几点。(1)Cortex A8处理器

●Cortex A8处理器是第一款基于ARMv7架构的应用处理器。

●运行速度在600MHZ~1GHZ时,Cortex A8处理器符合功率优化的移动设备小于300mW状态下运行的要求,同时符合性能优化的消费类应用需要2000Dhrystone MIPS的要求。

●支持第一个超标量处理器,用于增强代码密度和性能。支持JazelleRCT技术用于超前和即时编译的Java和其他字节语言。

●13级主整数流水线。(2)NEON: CortexA8处理器内部集成的可以实现复杂算法的模块,比如图像的智能分析、数学上的运算等可以通过NEON来实现。(3)32KB I/D缓存、512KB L2 Cache。2.系统外设包括以下几点。(1)RTC实时时钟

●提供完整的时钟功能:秒、分、小时、日、月、年。

●使用32.768KHZ时钟基准。

●提供报警中断。

●提供定时器时钟节拍中断。(2)PLL锁相环

●芯片具有4个锁相环(PLL),分别为ALL/MPL/EPL/VPLL。

●APLL产生ARM核心和MSYS时钟。

●EPLL生成特殊的时钟。

●VPLL为视频接口生成时钟。(3)具有脉宽调制功能的定时器

●4通道32位内部定时器。

●3通道带脉宽调制功能。

●可编程工作周期、频率和极性。

●具有死区产生功能。

●支持外部时钟源。(4)看门狗定时器——16位看门狗定时器。(5)DMA

●特定的指令集提供DMA传输的灵活性。

●内置增强型8通道的DMA。

y 内存到内存转换DMA多达16组,外设到内存转换DMA支持多达8组。(6)Keypad

●支持14×8矩阵键盘。

●提供内部消抖功能。(7)ADC转换器

●10通道多路复用ADC。

●支持最大500K采样率和12位的分辨率。3.多媒体包括以下几点。(1)摄像头接口

●支持多输入包括ITU-R BT601/656模式、DMA模式和MIPI模式。

●支持多输出包括DMA模式和直接FIFO模式。

●支持数码变焦功能。

●支持图像镜像和旋转功能。

●支持生成各种图像格式。

●支持捕捉画面管理。

●支持图像效果。(2)多格式视频编解码器

●ITU-TH.264、ISO/IEC 14496-10即解码支持基线/主/High Profile的4.0级,编码支持基线/主/高属性。

●ITU-TH.263 Profile level3即解码支持Profile3,限制SD分辨率每秒30帧,支持基线配置文件的编码。

●编码支持MPEG-4简单类/高级简单类。

●ISO/IEC 13818-2 MPEG-2即解码支持主要的轮廓高度,解码支持MPEG-1。(3)JPEG编码器

●支持压缩/解压到65536x65536分辨率。

●支持的压缩格式即输入原始图像为YCbCr422或RGB565,输出JPEG文件为基线JPEG格式的YCbCr422或YCbCr420。

●支持的解压缩格式即输入JPEG文件为基线YCbCr444或YCbCr420或YCbCr422格式、JPEG或灰色,输出原始图像的YCbCr422或YCbCr420格式。

●支持通用的色彩空间转换器。(4)3D图形引擎

●支持3D图形、矢量图形、视频编码和解码。

●具有通用可扩展渲染引擎、多线程引擎和顶点着色器功能。

●支持8000x8000的图像尺寸。

●支持90/180/270度旋转。

●支持16/24/35bpp,24位颜色格式。(5)模拟电视接口

●输出视频格式为NTSC/PAL。

●支持的输入格式即ITU-R BT.601的YCbCr444。

●支持480i/p和576i协议。

●支持复合视频。(6)液晶显示器接口

●支持24/18/16 bpp的并行RGB接口的LCD。

●支持8/6bpp串行RGB接口。

●支持双i80接口的LCD。

●支持典型的屏幕尺寸:1024x768、800x480、640x480、320x240和160x160。

●虚拟图像达到16M像素。

●ITU-BT601/656格式输出。4.电源管理包括以下几点。(1)时钟门控功能。(2)各种低功耗模式可供选择,如空闲、停止、深度空闲和睡眠模式。(3)睡眠模式下唤醒源可以是外部中断、RTC报警、计时器节拍。(4)停止和深度空闲模式唤醒源可以是触摸屏人机界面、系统定时器等。5.存储器接口包括以下几点。(1)SRAM/ROM/NOR接口

●8位或16位的数据总线。

●地址范围支持23位。

●支持异步接口。

●支持字节和半字访问。(2)OneNAND闪存接口

●16位的数据总线。

●地址范围支持16位。

●支持字节和半字访问。

●Flex OneNAND闪存支持2KB页面模式,OneNAND闪存支持4KB页面模式。

●支持专用的DMA。(3)NAND接口

●支持行业标准的NAND接口。

●8位的数据总线。(4)LPDDR1接口

●32位数据总线将支持400Mbps/针双数据速率。

●1.8V接口电压。

●每端口密度支持高达4GB(2CS)。(5)DDR2接口

●32位数据总线将支持400Mbps/引脚双数据速率。

●1.8V接口电压。

●每端口密度支持高达1GB(2CS,4BANK的DDR2)。

●每端口密度支持高达4GB(1CS,8BANK的DDR2)。(6)LPDDR2接口

●32位数据总线将支持400Mbps/针双数据速率。

●1.2V接口电压。

●每端口密度支持高达4GB(2CS)。6.Connectivity模块包括以下几点。(1)音频接口

●AC97音频接口。

◆独立通道的立体声PCM输入、立体声PCM输出和单声道麦克风输入。

◆16位立体声音频。

◆可变采样率AC97编解码器接口。

◆支持AC97规格。

●PCM音频接口。

◆16位单声道音频接口。

◆仅工作在主控模式。

◆支持三种PCM端口。

●IIS总线接口。

◆基于DMA操作的三个I2S总线音频编解码器接口。

◆串行8位、16位、24位每通道的数据传输。

◆支持I2S、MSB、LSB对齐的数据格式。

◆支持PCM5.1声道。

◆支持不同比特时钟频率和编解码器的时钟频率。

◆支持一个5.1通道I2S的端口和两个2通道I2S端口。

●SPDIF接口。

◆线性PCM每个样本支持多达24位。

◆支持非线性PCM格式如AC3,MPEG1、MPEG2。

◆2x24位缓冲器交替地用数据填充。(2)存储接口

●HS-MMC/SDIO接口。

◆兼容4.0多媒体卡协议版本(HS-MMC)。

◆兼容2.0版本SD卡存储卡协议。

◆基于128KBFIFO的TX/RX。

◆4个HS-MMC端口或4个SDIO端口。

●ATA控制器支持ATA/ATAPI-6接口。(3)通用接口

●USB2.0 OTG。

◆符合USB2.0 OTG 1.0a版本。

◆支持高达480Mbps的传输速度。

◆具有USB芯片收发器。

●UART。

◆具有基于DMA和中断功能的4个UART。

◆支持5位、6位、7位、8位的串行数据发送和接收。

◆独立的256字节FIFO的UART0,64字节FIFO的UART1和16字节FIFO的UART2/3。

◆可编程的传输速率。

◆支持IrDA1.0 SIR模式。

◆支持回环模式测试。

●I2C总线接口。

◆3个多主控I2C总线。

◆8位串行面向比特的双向数据传输,在标准模式下可以达到100Kbps。

◆快速模式下高达400Kbps。

●SPI接口。

◆3个符合2.11版本串行外设接口协议的接口。

◆独立的64K字节FIFO的SPI0和16字节FIFO的SPI1。

◆支持基于DMA和中断操作。

●GPIO接口。

◆237个多功能输入/输出端口。

◆支持178个外部中断。第2章 核心板电路设计本章内容:

DDR2 SDRAM、NAND Flash、DM9000A及WM8960工作原理,S5PV210存储空间地址分配,S5PV210与各芯片的接口电路设计方法。教学目标:

●理解S5PV210存储器地址分配;

●掌握NAND Flash的访问方式及设计原理;

●掌握DDR2 SDRAM与S5PV210连接原理;

●掌握DM9000A与S5PV210连接原理;

●掌握WM8960与S5PV210连接原理。2.1 S5PV210芯片地址分配

S5PV210芯片地址空间总共为4GB,具体分布如图2-1所示。图2-1 S5PV210存储空间分配图

各个地址区间的功能如表2-1所示。表2-1 S5PV210存储空间分配图

●0x0000_0000~0x1FFF_FFFF(512MB)即系统启动配置区。

●0x2000_0000~0x5FFF_FFFF(2x512MB)即内存配置区,用于DDR2 SDRAM寻址,比如Smart210开发板具有1GB的DDR2内存就接到了此区域。

●0x8000_0000~0xAFFF_FFFF(6x128MB)即外接总线型设备寻址区,比如Smart210开发板的DM9000网卡芯片就接到了此区域。

●0xB000_0000~0xBFFF_FFFF(256MB)即OneNAND和NAND寻址区,此处Smart210开发板没有用到。

●0xC000_0000~0xCFFF_FFFF(256MB)即MP3_SROM输出缓存区,此处Smart210开发板没有用到。

●0xD000_0000~0xD000_FFFF(64KB)即IROM区,设备引导使用,适用于所有以S5PV210为核心的开发系统。

●0xD002_0000~0xD003_FFFF(128KB)即IRAM区,设备引导使用,适用于所有以S5PV210为核心的开发系统。

●0xE000_0000~0xFFFF_FFFF(64KB)即特殊功能寄存器SFR区域,适用于所有以S5PV210为核心的开发系统。

从图2-1和表2-1所示我们可以看出,S5PV210具有两个DRAM地址空间,六个SROM地址空间,针对上述空间,S5PV210微处理器分别提供了地址、数据、控制总线接口。通过这三种总线接口,S5PV210微处理器可以和具有同样接口的器件进行连接通信。

如图2-2所示为片选信号线Xm0CSn0~Xm0CSn5,这六根片选信号线对应六个SROM的地址;比如Smart210开发板中DM9000A网卡芯片的片选信号端引脚接到了Xm0CSn1引脚,所以它的访问地址为0x88000000开始的地址空间。图2-2 SROM片选信号线

如图2-3所示为片选信号线Xm1CSn0~Xm1CSn1,这两根片选信号线对应两个DRAM的地址,Smart210开发板的DDR2 SDRAM的片选信号接到了Xm1CSn0引脚,所以它的访问地址为0x20000000开始的地址空间。图2-3 DRAM片选信号线2.2 DDR2 SDRAM芯片

SDRAM全称为同步动态随机存储器(Synchronous Dynamic Random Access Memory)。由于SDRAM集成度高,单片存储容量大,并且读写速度快,在设计嵌入式系统时,经常用其作为主存储器(或称为内存)。SDRAM发展至今,经历了SDRAM、DDR、DDR2、DDR3等几代产品,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器,较SDRAM速度更快。在SDRAM或DDR RAM定义中,同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据的读写。

Smart210开发板使用的是DDR2 SDRAM,型号为K4T1G084QQ,单芯片容量设计为16MBit±8BANK±8I/Os,共128MByte,板载一共4片,总计512MB。注意,芯片内部的8Bank不是指该芯片需要占用S5PV210芯片的8个存储块,而是指SDRAM芯片内部把128MB容量分成了8块存储区,每块存储区的容量为16Mx8bit。2.2.1 DDR2 SDRAM工作原理

如图2-4所示,SDRAM内部是一个存储阵列,我们可以把它想象成一个表格,和表格的检索原理一样,先指定行,再指定列,就可以准确找到所需要的存储单元。这个表格的整体则称为BANK。DDR2 SDRAM具有8个BANK。对SDRAM的访问,我们应该先找到读写地址,才能对其进行访问。找到地址的流程为首先指定BANK,然后指定行地址,最后指定列地址。图2-4 DDR2 SDRAM存储结构示意图

K4T1G084QQ采用的是FBGA球形封装,不同于普通的贴片封装。K4T1G084QQ的引脚分布及封装示意图如图2-5、图2-6所示。图2-5 K4T1G084QQ引脚分布示意图图2-6 K4T1G084QQ封装示意图

K4T1G084QQ引脚功能如表2-2所示。表2-2 K4T1G084QQ引脚功能

上述引脚中,比较特殊的是ODT引脚。ODT(On-Die Termination)的含义为内建核心终结电阻器。所谓的终结,就是让电路的终端将信号吸收掉,而不会在电路上面形成反射,对后面的信号造成影响。在DDR时代,控制与数据信号的终结在主板上面完成,每块DDR主板在内存槽的旁边都会有一个终结电压部分的设计,它主要由一排终结电阻构成。随着SDRAM技术的发展,ODT技术将终结电阻移植到了芯片内部。主板上面不再有终结电路,而且DDR2可以根据自己的特点内建合适的终结电阻,这样可以保证最佳的信号波形。ODT技术允许CPU通过配置DDR2 SDRAM的内部寄存器以及控制ODT信号,来实现对匹配电阻的值及其开关状态的控制,从而实现读、写操作时最佳的信号完整性。在Smart210开发板上面,DDR2 RAM芯片的ODT引脚与S5PV210的ODT1引脚连接,信号由S5PV210来控制。2.2.2 DDR2 SDRAM硬件设计

DDR2 SDRAM与S5PV210的地址线、数据线及控制引脚连接方式如图2-7所示。Smart210开发板一共有4片K4T1G084QQ,4片DRAM的连接方式不同:第1片的8位数据引脚连接至CPU的Xm1DATA0~Xm1DATA7;第2片的8位数据引脚连接至CPU的Xm1DATA8~Xm1DATA15;第3片的8位数据引脚连接至 CPU的Xm1DATA16~Xm1DATA23;第4片的8位数据引脚连接至CPU的Xm1DATA24~Xm1DATA31。可以看出,4片DDR2 RAM采用的是并接到一起组成32位数据总线的方式。

Smart210开发板具有4片K4T1G084QQ,共计512MB。在CPU的内部寻址空间中,字节BYTE(8位)是表示存储容量的唯一单位,而在DDR2 RAM中存储单位为位Bit(1位),K4T1G084QQ的存储容量为1GBit,折合成BYTE为128MB。Smart210开发板设计中 K4T1G084QQ 采用8位的数据输出方式,所以4片 DDR2 SDRAM的数据引脚并接(4×8Bit=32Bit),正好组成S5PV210处理器的32位数据总线宽度。

K4T1G084QQ的地址总线A0~A13连接到S5PV210的Xm1ADDR0~Xm1ADDR13引脚,共14根地址总线,采用的是8位的14数据输出方式,因此地址总线给出的地址范围为2×8Bit=16MB,K4T1G084QQ的BA0、BA1和BA2引脚为内部8个Bank的选择引脚3(2=8),连接到S5PV210的Xm1BA0、Xm1BA1和Xm1CSn1/BA2引脚。S5PV210控制对K4T1G084QQ内部Bank的选择使用。3条Bank选314择引脚和14根地址总线共完成2×2×8Bit=128MB内存空间的访问。

4片DDR2 SDRAM的片选信号nCS引脚连接的皆为S5PV210的Xm1CSn0引脚,即S5PV210的DRAM0 控制引脚,从表 2-1 可以看出,DDR2 SDRAM的地址应该是从0x20000000开始的连续512MB地址空间。图2-7 DDR2 SDRAM存储器接口电路2.3 SLC NAND Flash芯片2.3.1 NOR Flash与NAND Flash对比

在嵌入式系统中,很多信息在系统关闭电源后不能够丢失,这些信息需要使用非易失性存储器来存储,我们可以使用NOR Flash和NAND Flash来实现。

NOR Flash和NAND Flash是现在市场上两种主要的非易失闪存技术。Intel公司于1988年首先开发出NOR Flash技术;1989年,东芝公司开发出NAND Flash技术。NAND Flash和NOR Flash的主要区别如表2-3所示。表2-3 两种Flash特性对比2.3.2 SLC与MLC NAND Flash技术对比

在嵌入式设备中使用SLC和MLC这两种不同类型的NAND Flash闪存技术的设备都很常见。SLC全称为Single-Level Cell,单层单元闪存;MLC全称为Multi-Level Cell,多层单元闪存。两者的主要区别是SLC每一个单元储存一位数据,而MLC通过使用多个电压等级,每一个单元储存两位数据,数据密度比较大。

SLC生产成本较高,但在效能上大幅胜于MLC。SLC晶片可重复写入约10万次,而MLC晶片的写入次数约为1万次,目前三星采用的MLC芯片写入寿命在5000次左右。在读写速度上,相对于主流SLC芯片,MLC芯片理论速度较慢。MLC能耗大于SLC,在相同使用条件下比SLC要多15%左右的能耗,因为MLC理论写入次数上限相对较少,所以在相同使用情况下,使用寿命比SLC短。

两种闪存技术对应芯片区别如表2-4所示。表2-4 SLC与MLC NAND Flash对比

Smart210开发板无NOR Flash。采用的是SLC类型NAND Flash,容量为512MB,型号为K9F4G08UOB。2.3.3 K9F4G08UOB引脚功能

K9F4G08UOB的引脚排列如图2-8所示,各个引脚的功能如表2-5所示。图2-8 K9F4G08UOB引脚示意图表2-5 K9F4G08UOB引脚说明续表

●I/O0~I/O7:地址、数据和命令输入/输出引脚。

●CLE、ALE:命令锁存使能引脚和地址锁存使能引脚,用来选择I/O输入的信号是命令还是地址。、、:片选信号、读使能信号和写使能信号引脚。:状态引脚,表示设备的状态,当数据写入、编程和随机读取时,处于高电平,表明芯片正忙,否则输出低电平。

K9F4G08UOB内部结构如图2-9所示。图2-9 SLC NAND Flash存储器内部结构示意图

NAND Flash设备的存储容量是以页(Page)和块(Block)为单位,1Block=64Page,1Page=2112Byte(2048Byte用于存放数据,其余64Byte用于存放其他信息,如块好坏的标记、块的逻辑地址、页内数据的ECC校验和等)。

容量为512MB的NAND Flash存储结构为:2048Byte×64Page×4096Blocks。

芯片(Device)、块(Block)、页(Page)之间的关系如下。

1Device=4,096Blocks=4096×64Pages=256KPages

1Block=64Page

1Page=2112Byte=2048Byte+64Byte

用于数据存储的单元有2048Bytes×64Pages×4096Blocks=512MB。

用于ECC校验或其他功能的单元有64Bytes×64Pages×4096Blocks=16MB 。

NAND Flash以页为单位进行读和编程(写)操作,一页为2048Byte;以块为单位进行擦除操作,一块为2048Byte×64page=128KB。

K9F4G08UOB的内部对每一页又进行了划分,每页分成前2048Byte的Main域和64Byte的Spare域,在Main域中,分成A、B、C、D四个扇区;Spare域中,分成E、F、G、H四个扇区。每个扇区占据不同的存储空间,具体分布情况如图2-10、图2-11所示。图2-10 NAND Flash存储器每页存储空间划分图2-11 NAND Flash存储器每页存储空间地址分配2.3.4 NAND Flash硬件设计

S5PV210和K9F4G08UOB的连接方式如图2-12所示。

K9F4G08UOB的访问地址、数据和控制命令只能在引脚I/O[7:0]上传递。对于不同的数据类型,S5PV210微处理器和NAND Flash之间是通过控制总线和一些命令序列来进行区分的。该NAND Flash芯片所支持的命令序列如表2-6所示。图2-12 NAND Flash存储器接口电路表2-6 K9F4G08UOB命令序列

通过表2-6我们可以看出,如果微处理器想要读NAND Flash的内容,可以在CLE和引脚的配合下,通过I/O0~I/O7引脚先后发送00h与30h命令;如果想要读取NAND Flash的内部厂商内置的 ID,可以在 CLE 和引脚的配合下,发送 90h 命令;如果 S5PV210想要对NAND Flash进行随机地址的写操作,可以在CLE和引脚的配合下,首先发送85h命令,然后指定所要写的地址。

K9F4G08UOB容量为512MB,需要30根地址线确定微处理器要访问的地址,而K9F4G08UOB只有8个I/O口,所要操作的地址是在控制引脚的配合下,先后5次发送至Flash内部。发送地址时地址序列如表2-7所示。表2-7 访问NAND Flash地址序列

序列中列地址为A0~A11,行地址为A12~A29,L表示在写的时候置为0。对S5PV210访问NAND Flash地址的指定,只需要分5步将地址值写入S5PV210的NAND Flash控制寄存器即可,NAND Flash控制器会自动地通过8个I/O,在控制引脚帮助下,分五次通过I/O0~I/O7完成对NAND Flash地址的写操作。2.4 DM9000A以太网控制器

为了实现以太网通信功能,Smart210开发板搭载了一片以太网芯片DM9000A,它是一款高度集成、低成本的单片快速以太网MAC控制器,含有通用的处理器接口、10M/100M物理层和16KB的SRAM。

该芯片具有如下特点。

●支持处理器读写内部存储器的数据操作,命令以字节/字/双字的长度进行。

●集成10/100M自适应收发器。

●支持背压模式半双工流量控制模式。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书

若在网站上没有找合适的书籍,可联系网站客服获取,各类电子版图书资料皆有。

客服微信:xzh432

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?