第4章嵌入式硬件及接口开发_第1页
第4章嵌入式硬件及接口开发_第2页
第4章嵌入式硬件及接口开发_第3页
第4章嵌入式硬件及接口开发_第4页
第4章嵌入式硬件及接口开发_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式硬件及接口开发第4章2本章结构硬件及接口开发应用系统设计概述S3C2440A概述芯片功能简介内核概述和存储系统GPIO接口UART接口中断处理系统硬件与接口设计电源电路复位电路实时时钟A/D工作原理FLASH和SDRAM工作原理I²C的工作原理34-1

ARM应用系统设计概述嵌入式应用系统的设计包含硬件系统的设计和软件系统设计两个部分两部分的设计是互相关联、密不可分的嵌入式应用系统的设计需要在硬件和软件的设计之间进行权衡与折中。44-1

ARM应用系统设计概述以ARM开发板为原型,详细分析系统的软、硬件设计步骤、实现细节以及调试技巧。2440核心资源总线隔离驱动168Pin扩展槽网卡设备LCD驱动音频电路串口设备USB设备PCMCIAIDE/CF卡SD卡接口IO扩展电机等其他资源局部总线扩展总线54-2

S3C2440A概述S3C2440A是Samsung公司的一款高性能16/32位RISC微控制器内含一个16/32位ARM920TRISC处理器核该芯片功耗低,性能高,周边接口丰富。64-2

S3C2440A概述S3C2440A比较重要的片内外围功能模块包括:外部内存控制器LCD接口3个UART通道/2个SPI通道4个DMA通道1个I2C通道/1个I2S通道1个SD卡/MMC卡接口2个USB主机接口/1个USB设备接口4个PWM定时器和1个内部定时器1个看门狗定时器117个可编程的I/O口/24个外部中断源电源控制器,支持Normal、Slow、Idle及Power-off等4种模式。8通道10bitADC和触摸屏接口带日历功能的实时时钟带PLL的片上时钟发生器。系统总线仲裁器

74-2

S3C2440A概述体系结构用于手持设备或通用嵌入式应用的集成系统全16/32的RISC架构,内含效率高、功能强的ARM920T处理器核增强的ARM架构的MMU指令cache、数据cache、writebuffer高性价比、基于JTAG接口的调试方案84-2S3C2440A概述系统管理器地址空间:每个bank128Mbytes,总共支持1Gbytes。支持ROM/SRAM、FLASH、DRAM和外部I/O以8/16/32位的方式操作。共有8个内存bank,其中6个可以用于ROM、SRAM和SDRAM外的其他器件,2个可以用于ROM、SRAM和SDRAM。从bank0到bank6的起始地址是固定的,bank7的起始地址和大小是可编程的。所有内存bank的访问周期都是可编程的。支持外部等待信号。支持powerdown模式的SDRAM自刷新功能。支持各种类型的bootrom器件:NAND/NORFLASH、EEPROM等94-2

S3C2440A概述CPU内核支持ARM和Thumb两种处理器状态。支持大、小两种字节序。具有7种操作模式:用户模式、FIQ快速中断模式、IRQ外部中断模式、超级管理员模式、异常中止模式、系统模式、未定义模式。具有37个寄存器,其中31个是通用寄存器,6个是状态寄存器。具有通用的指令构造方式。此外,ARM9TDMI还具有5级整数流水线,指令执行效率更高。

104-2

S3C2440A概述CPU内核ARM920T在ARM9TDMI的基础上增加了全性能的MMU、16K的数据Cache和16K的指令Cache、写缓冲区(writebuffer)、WriteBackPATagRAM、32位的高速AMBA总线等构件。这些构件大大提高了处理器的性能。

114-2

S3C2440A概述S3C2440A存储系统可通过软件选择大小端地址空间:每个Bank128Mbytes(总共1GB)除bank0(16/32-bit)外,所有的Bank都可以通过编程选择总线宽度=(8/16/32-bit)共8个banks6个Bank用于控制ROM,SRAM,etc.剩余的两个Bank用于控制ROM,SRAM,SDRAM,etc.7个Bank固定起始地址;最后一个Bank可调整起始地址;最后两个Bank大小可编程所有Bank存储周期可编程控制;124-2

S3C2440A概述S3C2440A存储器配置134-2

S3C2440A概述Bank6/Bank7地址分布144-3-1

电源电路在该系统中,需要使用5V和3.3V的直流稳压电源S3C2440A及部分外围器件需3.3V电源,另外部分器件需5V电源系统的输入电压为的12V的直流稳压电源。因此需要12V到5V的转换以及5V到3.3V的转换,系统电源电路如下图所示:154-3-2

复位电路在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使用其他的相对较复杂,但功能更完善的电路。本系统采用MAX811复位电路140msMinPower-OnResetPulseWidth164-3-3

GPIOS3C2440包含GPAGPB…GPH端口大部分管脚都是复用的可通过相应的寄存器配置为I/O模式GPA对应的控制寄存器为:GPACON、GPADATGPB对应的控制寄存器为:GPBCON、GPBDAT、GPBUP大部分I/O可以为被配置为输入、输出模式,且可以选择是否内部上拉174-3-3

GPIO要把端口用于I/O端口还是特殊功能端口,可以通过配置相应的控制寄存器实现。以端口B为例,它的相关寄存器如下:寄存器地址R/W描述复位值GPBCON0x56000010R/W端口B配置寄存器0x0GPBDAT0x56000014R/W端口B数据寄存器未定义GPBUP0x56000018R/W端口B禁止上拉寄存器0x0184-3-3

GPIO寄存器GPBDAT的0~10位对应端口B的相应引脚的输入、输出数据。寄存器GPBUP的0~10位对应端口B的相应引脚内部是否上拉。寄存器GPBCON中的相关位的定义如下:GPBCONBit含义描述GPB10[21:20]00=Input01=Output10=nXDREQ011=reservedGPB9[19:18]00=Input01=Output10=nXDACK011=reserved GPB8[17:16]00=Input01=Output10=nXDREQ111=Reserved GPB7[15:14]00=Input01=Output10=nXDACK111=Reserved GPB6[13:12]00=Input01=Output10=nXBREQ11=Reserved GPB5[11:10]00=Input01=Output10=nXBACK11=Reserved GPB4[9:8]00=Input01=Output10=TCLK011=Reserved GPB3[7:6]00=Input01=Output10=TOUT311=Reserved GPB2[5:4]00=Input01=Output10=TOUT211=Reserved GPB1[3:2]00=Input01=Output10=TOUT111=Reserved GPB0[1:0]00=Input01=Output10=TOUT011=Reserved 194-3-3

GPIOGPIO开发注意事项方向电压驱动能力输入阻抗——输入电流大部分I/O可以为被配置为输入、输出模式,且可以选择是否内部上拉204-3-3

LED接口电路对应GPIO接口:nLED_1GPB5nLED_2GPB6nLED_3GPB7nLED_4GPB8214-3-4

串行接口电路在通信领域内,有两种数据通信方式:并行通信和串行通信串口的数据传输是以串行方式进行的。串口在数据通信中,一次只传输一个比特的数据。串行数据的传输速度用bps或波特率来描述。224-3-4串行接口电路单工、半双工和全双工单工(Simplex)特点:仅能进行一个方向的数据传送半双工(HalfDuplex)特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行。【双向,但不同时】全双工(FullDuplex)特点:能够在两个方向同时进行数据传送数据传输率每秒传输的二进制位数,单位为bps(bitpersecond)也称比特率。。234-3-4

串行接口电路异步方式与同步方式

同步通信方式(Synchronous)所用的数据格式没有起始位、停止位,一次传送的字符个数可变。在传送前,先按照一定的格式将各种信息装配成一个包,该包包括供接收方识别用的同步字符一个或两个,其后紧跟着要传送的n个字符,再后就是校验字符。发送和接收的双方采用同一时钟,实现异步通信。异步方式(Asynchronous):也称“起止同步式”。依靠检测起始位来实现发送与接收方的时钟自同步。1/00011…15-8位数据位1/0停止位或空闲位1…1起始位奇偶校验第n个字符空闲位第n+1个字符低位高位244-3-4

串行接口电路硬件流控制如果打开串口硬件流控制后,串口A只有在nCTS被(串口B的nRTS)激活后才能把数据发送出去;当串口A可以接收数据时,激活nRTS254-3-4串行接口电路S3C2440UART提供3个独立的异步串行通信端口皆可工作与DMA模式和中断模式可以使用外部时钟提高传输速率每个单元包含一个16字节的FIFO支持可编程波特率支持红外发送与接收支持1个或2个停止位,5位/6位/7位/8位/数据宽度和奇偶校验264-3-4

UART接口功能模块274-3-4串行接口电路284-3-4串行接口电路下面列出S3C2440AUART相关的控制寄存器,具体位含义见S3C2440A芯片手册UART行控制器ULCONnUART模式控制寄存器UCONnUARTFIFO控制寄存器UFCONnUARTMODEM控制寄存器UMCONn发送寄存器UTXH和接收寄存器URXH波特率分频寄存器UBRDIV294-3-5中断的基本概念CPU与外设之间的数据传送控制方式(即I/O控制方式),通常有以下三种:程序控制方式中断方式DMA方式(DirectMemoryAccess)中断定义在程序运行中,出现了某种紧急事件,CPU必须中止现行程序,转去处理此紧急事件(执行中断服务程序),并在处理完毕后再返回运行程序的过程。304-3-5

中断的过程中断请求中断仲裁中断响应中断处理中断返回314-3-5

S3C2440A的中断过程S3C2440A中断控制器包含60个中断控制源,这些中断源来自于外设如:定时器,DMA控制器,UART,I2C,外部中断EINT等。324-3-5

S3C2440A中断源334-3-5

S3C2440A中断优先级控制344-3-5

S3C2440A中断相关的寄存器下面列出S3C2440A中断相关的寄存器,具体位含义见S3C2440A手册

源挂起寄存器SRCPND中断模式寄存器INTMOD中断屏蔽寄存器INTMASK中断优先级寄存器PRIOPITY中断挂起寄存器INTPND确认中断源寄存器INTOFFSET子中断源源挂起寄存器SUBSRCPND子中断屏蔽寄存器INTSUBMASK354-3-5

4按键接口电路对应GPIO接口:EINT8GPF0EINT11GPF3EINT13GPG5EINT14GPG6EINT15GPG7EINT19GPG11364-3-6

实时时钟实时时钟(REALTIMECLOCK)英文缩写也叫RTC计算机系统通常需要一个能够记录时间的功能单元,在系统关闭后依然可以记录时间,这个功能单元就叫实时时钟单元。实时时钟通常可以提供年、月、日、时、分、秒等信息。有些还可以提供定时等功能。

374-3-6

实时时钟BCD码的年、月、日、星期、小时、分钟、秒输出功能Alarm定时唤醒功能独立的电源供电管脚(RTCVDD)为RTOS提供毫秒级的定时时钟晶振选取32.768KHZ384-3-6

实时时钟BCD码的年、月、日、星期、小时、分钟、秒输出TICK定时闰年产生器复位寄存器(RTCRST)1HZ128HZ控制寄存器(RTCCON)XTALTICNTEXTAL215分频时钟发生时钟器SECMINHOURDATEDAYMONYEAR报警产生器(RTCALM)ALMINTPWDNPMWKUP394-3-6

S3C2440A实时时钟相关的寄存器下面列出S3C2440A实时时钟相关的寄存器,具体位功能参考S3C2440A手册RTC控制寄存器RTCCONTick时钟数值寄存器TICNTRTC警报控制寄存器RTCRST复位控制寄存器时间寄存器BCDSEC、BCDMIN、MINDATA、BCDHOUR、BCDDATE、BCDDA、BCDMON、BCDYEAR404-3-8

A/D转换概念A/D转换是将模拟信号转换为数字信号,被广泛应用于控制领域常见A/D转换器分类:积分型积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。逐次比较型逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(<12位)时价格便宜,但高精度(>12位)时价格很高。

并行比较型/串并行比较型并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。414-3-8

A/D转换器的主要技术指标分辩率(Resolution)指数字量变化一个最小量时模拟信号的变化量转换速率(Conversion

Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。量化误差(Quantizing

Error)

由于AD的有限分辩率而引起的误差偏移误差(Offset

Error)输入信号为零时输出信号不为零的值满刻度误差(Full

Scale

Error)

满度输出时对应的输入信号与理想输入信号值之差。线性度(Linearity)实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。424-3-8

S3C2440AA/D转换器精度:10-bit集成的线性误差:±2.0LSB最大转换率:500KSPS低功耗电压:3.3V模拟量输入信号范围:0~3.3V片上采样-保持电路8通道434-3-8

ADC内部功能模块电路图

444-3-8

S3C2440AA/D转换器触摸屏的原理:电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。454-3-8

S3C2440AA/D转换器触摸屏的原理:电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。464-3-8

S3C2440AA/D转换器四线触摸屏的等效电路:没按下的等效电路等待中断的等效电路474-3-8

S3C2440AA/D转换器四线触摸屏的等效电路:读x轴的等效电路 读y轴的等效电路484-3-8

S3C2440AA/D转换器相关的寄存器下面列出S3C2440AA/D转换器相关的寄存器,具体位含义参见S3C2440A手册A/D控制寄存器ADCCONADC触摸屏控制器ADCTSCADC间隔时间寄存器ADCDLYADC转换结果寄存器ADCDAT0494-3-8

一路AD采样电路

504-3-8

Flash存储器及接口电路Flash存储器是内存(Memory)的一种,但兼有RAM和ROM的优点,是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器,同时它的高集成度和低成本使它成为市场主流。Flash具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。514-3-8

Flash存储器及接口电路NORFlash:程序和数据可存放在同一片芯片上,拥有独立的数据总线和地址总线,能快速随机地读取,允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对整片执行擦除操作,在对存储器进行编程之前需要对块或整片进行预编程和擦除操作524-3-8Flash存储器及接口电路NORFlash接口(现代的29LV160芯片):29LV160存储容量为8M字节,工作电压为3.3V,采用56脚TSOP封装或48脚FBGA封装,16位数据宽度。29LV160仅需单3.3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程(烧写)、整片擦除、按扇区擦除以及其他操作。534-3-8

Flash存储器及接口电路NORFlash接口(现代的29LV160芯片):544-3-8Flash存储器及接口电路NORFlash命令Flash的命令很多,但常用到的命令就3种:识别、擦除、编程命令。554-3-8Flash存储器及接口电路NORFlash擦除命令要对NORFlash进行写操作,就一定要先进行擦除操作。NORFlash的擦除都是以块(Sector)为单位进行的,但是每一种型号的Flash的Sector的大小不同即使在同一片的Flash内,不同Sector的大小也是不完全一样的。564-3-8

Flash存储器及接口电路NANDFlash:以页为单位进行读写操作,1页为256B或512B;以块为单位进行擦除操作,1块为4KB、8KB或16KB。具有快编程和快擦除的功能数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程芯片尺寸小,引脚少,是位成本(bitcost)最低的固态存储器芯片存储位错误率较高,推荐使用ECC校验,并包含有冗余块,其数目大概占1%,当某个存储块发生错误后可以进行标注,并以冗余块代替574-3-8

Flash存储器及接口电路NANDFlash接口与NORFlash相比较,其数据线宽度只有8bit,没有地址总线,I/O接口可用于控制命令和地址的输入,也可用于数据的输入和输出,多了CLE和ALE来区分总线上的数据类别。信号类型描述CLEO命令锁存使能ALEO地址锁存使能nFCEONANDFlash片选NFREONANDFlash读使能nFWEONANDFlash写使能NCONINANDFlash配置R/nBINANDFlashReady/Busy584-3-8

Flash存储器及接口电路NANDFlash接口NANDFLASH主要以页(page)为单位进行读写,以块(block)为单位进行擦除。FLASH页的大小和块的大小因不同类型块结构而不同,块结构有两种小块和大块小块:小块NANDFLASH包含32个页,每页512+16字节;大块NANDFLASH包含64页,每页2048+64字节。594-3-8

Flash存储器及接口电路NANDFlash的坏块NANDFlash出厂时就有可能带有坏块使用过程中可能出现新的坏块坏块是随机分布的需要使用时采取合适的方式检测处理坏块604-3-8

Flash存储器及接口电路NANDFlash的ECC校验除了硬坏块,NANDFlash还会出现如位交互等问题需要使用错误探测/错误更正的EDC/ECC算法S3C2440的NAND控制器带有硬件校验功能614-3-8

Flash存储器及接口电路S3C2440A处理器拥有专门针对NAND设备的接口,可以很方便地和NAND设备对接。虽然NAND设备的接口比较简单,容易接到系统总线上,但2440处理器针对NAND设备还集成了硬件ECC校验,这将大大提高NAND设备的读写效率。当没有处理器的ECC支持时,就需要由软件来完成ECC校验,这将消耗大量的CPU资源,使读写速度下降。

624-3-8

Flash存储器及接口电路NOR、NANDFlash比较NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。NOR的读速度比NAND稍快一些。NAND的写入速度比NOR快很多。NAND的4ms擦除速度远比NOR的5s快。大多数写入操作需要先进行擦除操作。NAND的擦除单元更小,相应的擦除电路更少。634-3-8

Flash存储器及接口电路NOR、NANDFlash接口差别NORflash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NAND器件使用复杂的I/O口来串行地存取数据,共用8位总线。8个引脚用来传送控制、地址和数据信息NAND读和写操作采用512字节的页和32KB的块为单位,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。644-3-8Flash存储器及接口电路NOR、NANDFlash容量和成本NANDflash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格,大概只有NOR的十分之一。NORflash占据了容量为1~16MB闪存市场的大部分,而NANDflash则用在更大容量的产品当中,这也说明NOR主要应用在代码存储介质中,654-3-8

NandFlash/NorFlash接口电路664-3-9

SDRAM接口电路SDRAM不具有掉电保持数据的特性,存取速度大大高于Flash存储器,且具有读/写的属性因此,SDRAM在系统中主要用作程序的运行空间。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度系统及用户堆栈、运行数据也都放在SDRAM中。

674-3-9

SDRAM接口电路SDRAM工作原理684-3-9

SDRAM接口电路SDRAM工作原理通过电容来存储数据需要充电防止电容漏电需要不断刷新SDRAM特点和用途结构简单单位芯片面积存储容量大低价格需要刷新电路相对静态RAM速度较慢主要用作主存694-3-9

SDRAM接口电路SDRAM读时序SDRAM读时序Burstlength=4CAS延迟=2704-3-9

SDRAM接口电路714-3-10

I2C接口电路I2C使用两根双向信号线来传递数据SerialClockLine(SCL)SerialDataAddress(SDA)总线速度分为标准速度100kbps,快速模式400kbps,高速模式3.4Mbps特点是:半双工,仅需要两根线(所以又被称为2-wire总线)724-3-10

I2C总线协议SDA下降沿跟随一个SCL下降沿表示传输开始SCL上升沿跟随一个SDA上升沿表示传输结束主设备传送一个字节到从设备734-3-10

I2C总线控制器寄存器下面列出S3C2440

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论