基于S3C44B0X嵌入式系统应用开发实例.ppt
《基于S3C44B0X嵌入式系统应用开发实例.ppt》由会员分享,可在线阅读,更多相关《基于S3C44B0X嵌入式系统应用开发实例.ppt(234页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章基于基于S3C44B0X嵌入式系统嵌入式系统应用开发实例应用开发实例6.1 S3C44B0X处理器介绍6.2 S3C44B0X存储控制器功能及应用开发6.3 S3C44B0X I/O端口功能及应用开发6.4 S3C44B0X DMA功能及应用开发6.5 S3C44B0X UART接口功能及应用开发6.6 S3C44B0X中断控制器功能及应用开发6.7 S3C44B0X时钟电源管理器功能及应用开发6.8 S3C44B0X PWM定时器功能及应用开发6.9 S3C44B0X LCD控制器功能及应用开发6.10 S3C44B0X A/D转换器功能及应用开发6.11 S3C44B0X RT
2、C(实时时钟)功能及应用开发6.12 S3C44B0X看门狗定时器功能及应用开发6.13 S3C44B0X IIC总线接口功能及应用开发6.14 S3C44B0X IIS总线接口功能及应用开发6.15 S3C44B0X SIO接口功能及应用开发6.16 基于S3C44B0X的S3CEV40开发介绍6.17 S3CEV40启动程序设计6.18 USB接口功能开发实例6.1 S3C44B0X处理器介绍6.1.1 Samsung S3C44B0X简介6.1.2 Samsung S3C44B0X特点6.1.3 S3C44B0X功能结构框图6.1.4 S3C44B0X引脚信号描述6.1.1 Samsun
3、g S3C44B0X简介 Samsung S3C44B0X微处理器片内集成ARM7TDMI核,采用0.25m CMOS工艺制造,并在ARM7TDMI核基本功能(详细见第二章节)的基础集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。片上集成的主要功能如下:片上在ARM7TDMI基础上增加8KB的Cache;外部扩充存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支持256色的DSTN),并带有1个LCD专用DMA通道;2个通用DMA通道/2个带外部请求管脚的DMA通道;2个带有握手协议的UART,1个SIO;1个多主的IIC总线控制器;1个IIS总线控制器;5个
4、PWM定时器及1个内部定时器;看门狗定时器;71个通用可编程I/O口,8个外部中断源;功耗控制模式:正常、低、休眠和停止;8路10位ADC;具有日历功能的RTC(实时时钟);片上集成PLL时钟发生器。6.1.2 Samsung S3C44B0X特点一、一、S3C44B0X体系结构体系结构 S3C44B0X是基于ARM7TDMI的体系结构,ARM7TDMI是ARM公司最早为业界普遍认可且赢得了最为广泛的应用的处理器核,详细内容见本书第二章节(ARM7系列核介绍)进行了介绍,在此不再作介绍。二、系统(存储)管理二、系统(存储)管理支持大、小端模式(通过外部引脚来选择);地址空间:包含8个地址空间,
5、每个地址空间的大小为32M字节,总共有256M字节的地址空间;所有地址空间都可以通过编程设置为8位、16位或32位宽数据对准访问;8个地址空间中,6个地址空间可以用于ROM、SRAM等存储器,2个用于ROM、SRAM、FP/EDO/SDRAM等存储器;7个起始地址固定及大小可编程的地址空间;1个起始地址及大小可变的地址空间;所有存储器空间的访问周期都可以通过编程配置;提供外部扩展总线的等待周期;在低功耗的情况下支持DRAM/SDARM自动刷新;支持地址对称或非地址对称的DRAM。三、三、Cache和片内和片内SRAM4路组相联统一的8KB指令/数据Cache;未作为Cache使用的0/4/8
6、Kbytes Cache存储空间可作为片内SRAM使用;Cache伪LRU(最近最少使用)的替换算法;通过在主内存和缓冲区内容之间保持一致的方式写内存;具有四级深度的写缓冲;当缓冲区出错时,请求数据填充。四、时钟和功耗管理四、时钟和功耗管理低功耗;片上PLL使得MCU的工作时钟最高为66MHz;时钟可以通过软件选择性地反馈回每个功能块;功耗管理模式为:v正常模式:正常运行模式;v低速模式:不带PLL的低频时钟;v休眠模式:只使CPU的时钟停止;v停止模式:所有时钟都停止。EINT7:0或RTC警告中断可使功耗管理从停止模式中唤醒。五、中断控制器五、中断控制器30个中断源(1个看门狗定时器中断,
7、6个定时器中断,6个UART中断,8个外部中断,4个DMA中断,2个RTC中断,1个ADC中断,1个IIC中断,1个SIO中断);矢量IRQ中断模式减少中断响应周期;外部中断源的电平边沿模式;可编程的电平边沿极性;支持紧急中断请求的FIQ(快速中断请求)。六、带六、带PWM的定时器(脉宽可调制)的定时器(脉宽可调制)5个16位带PWM的定时器,1个16位基于DMA或基于中断的内部定时器;可编程的工作周期、频率和极性;死区(Dead-zone)产生器;支持外部时钟源。七、实时时钟七、实时时钟RTC全时钟特点:毫秒、秒、分、时、天、星期、月、年;运行于32.768KHz;CPU唤醒的警告中断;时间
8、滴答(Time tick)中断。八、通用输入输出端口八、通用输入输出端口8个外部中断端口;71个(多功能)复用输入输出口。九、九、UART2个基于DMA或基于中断的UART;支持5位、6位、7位、8位串行数据传送/接收;在传送/接收时支持硬件握手;波特率可编程;支持IrDA 1.0(115.2kbps);用于回环测试模式;每个通道有2个用于接收和发送的内部32字节FIFO。十、十、DMA控制器控制器2路通用的无CPU干涉的DMA控制器;2路桥式DMA(外设DMA)控制器;支持I/O到内存、内存到IO、IO到IO的桥式DMA传送,有6种DMA请求方式:软件、4个内部功能块(UART、SIO、实时
9、器、IIS)和外部管脚;DMA之间优先级次序可编程;突发传送模式提高了FPDRAM、EDODRAM和SDRAM的传送率;支持内存到外围设备的fly-by模式和外围设备到内存的传送模式。十一、十一、A/D转换转换8通道多路ADC;最大转换速率100KSPS/10位。十二、十二、LCD控制器控制器支持彩色单色灰度LCD;支持单扫描和双扫描显示;支持虚拟显示功能;系统内存可作为显示内存;专用DMA用于从系统内存中提取图像数据;可编程屏幕大小;灰度:16级;彩色模式:256色。十三、看门狗定时器十三、看门狗定时器16位看门狗定时器;定时中断请求或系统超时复位。十四、十四、IIC总线接口总线接口1个基于
10、中断操作的多主的IIC总线;8位双向串行数据传送器能够工作于100Kbps的标准模式和400Kbps的快速模式。十五、十五、IIS总线接口总线接口1路基于DMA操作的音频IIS总线接口;每通道8/16位串行数据传送;支持MSB可调整的数据格式。十六、十六、SIO(同步串行(同步串行I/0)1路基于DMA或基于中断的SIO;波特率可编程;支持8位SIO的串行数据传送/接收操作。十七、操作电压范围十七、操作电压范围内核:2.5V;I/O:3.0V3.6V。十八、运行频率十八、运行频率最高达66MHz。十九、封装十九、封装160LQFP/160FBGA。6.1.3 S3C44B0X功能结构框图 S3
11、C44B0X的体系结构的功能框图如图6-1所示。图6-1 S3C44B0微处理器体系结构框图6.1.4 S3C44B0X引脚信号描述 S3C44B0X引脚按以下几种功能详细列表描述信号功能。一、总线控制信号S3C44B0的X总线控制信号的引脚 二、DRAM/SDRAM/SRAM 三、LCD控制信号 四、TIMER/PWM控制信号 五、中断控制信号 六、DMA控制信号的引脚 6.2 S3C44B0X存储控制器功能及应用开发6.2.1 S3C44B0X存储控制器概6.2.2 S3C44B0X存储器空间划分简述6.2.3 S3C44B0X存储控制器功能描述6.2.4 S3C44B0X存储控制器的特殊
12、功能 寄存器6.2.5 S3C44B0X存储器应用编程6.2.1 S3C44B0X存储控制器概 正如节所述,在基于ARM核的嵌入式应用系统中可能包含多种类型的存储器件,如Flash、ROM、SRAM和SDRAM等。而且不同类型的存储器件要求不同的速度、数据宽度等,为了实现对这些不同速度、类型、总线宽度的存储器进行管理,存储器管理控制器是必不可少的。在基于S3C44B0X处理器的嵌入式系统开发中,也是通过存储控制器为片外存储器访问提供必要的控制信号,管理片外存储部件。S3C44B0X的存储器控制器的主要特点在节系统(存储)管理中已进行了高度概括,在此不再讲述。6.2.2 S3C44B0X存储器空
13、间划分简述1.特殊功能寄存器位于0 x01C00000到0 x02000000的4M空间内;2.Bank0-Bank5的起始地址和空间大小都是固定的;3.Bank6的起始地址是固定的,空间可以配置为2/4/8/16/32M。参考表6-16可访问区域4M特殊功能寄存器4.Bank7的空间大小和Bank6一样是可变的,也可以配置为2/4/8/16/32M。6.2.3 S3C44B0X存储控制器功能描述6.2.4 S3C44B0X存储控制器的特殊功能寄存器6.2.5 S3C44B0X存储器应用编程 下面给出了存储器的几个编程实例,包括存储控制寄存器的配置、存储器的读写,通过一个简单例子,使学生对存储
14、器的应用编程有一定的了解。13个存储控制寄存器的配置示例个存储控制寄存器的配置示例观察上面寄存器介绍中的寄存器地址可以发现,13个寄存器分布在从0 x01c80000开始的连续地址空间,所以上面的程序先将各个寄存器需要配置的值从起始地址为SMRDATA的区域取出来,然后可以利用指令“stmia r0,r1-r13”实现将配置好的寄存器的值依次写入到相应的寄存器中,这就完成了存储器13个控制寄存器的配置。6.3 S3C44B0X I/O端口功能及应用开发6.3.1 S3C444B0X I/O功能概述6.3.2 S3C444B0X 端口功能配置6.3.3 S3C444B0X 端口功能控制描述6.3
15、.4 S3C444B0X I/O端口的特殊功能寄存 器 6.3.5 S3C444B0X I/O端口应用编程6.3.1 S3C444B0X I/O功能概述 S3C44B0X有71个通用可编程多功能输入输出引脚,可分为以下7类端口:两个9位输入输出端口(PortE和PortF);两个8位输入输出端口(PortD和PortG);一个16位输入输出端口(PortC);一个10位输出端口(PortA);一个11位的输出端口(PortB)。6.3.2 S3C444B0X 端口功能配置 每个端口都可以通过软件设置来满足各种各样的系统设置和设计要求。每个端口的功能通常都要在主程序开始前被定义。如果一个引脚的多
16、功能没有使用,那么这个引脚将被设置为I/O端口。在引脚配置以前,需要对引脚的初始化状态进行设定来避免一些问题的出现。6.2.3 S3C44B0X存储控制器功能描述I/O端口的各种功能主要是通过对端口各个寄存器进行设置而实现的,下面通过对各个寄存器的说明来分别介绍I/O端口所能完成的功能。端口配置寄存器(PCONA-G):在S3C44B0X里,大多数的引脚都是多功能引脚。因此,应当为每个引脚选择功能。端口控制寄存器(PCONn)决定了每一个引脚的功能。如果PG0-PG7在掉电模式下被用做唤醒信号,则在中断模式里这些端口必须被设定。端口数据寄存器(PDATA-G):如果这些端口被设定为输出端口,输
17、出数据可以被写入到PDATn的相应的位;如果被设定为输入端口,输入数据可以被读到PDATn的相应的位。端口上拉寄存器(PUPC-G):端口上拉寄存器控制着每一个端口组的上拉寄存器的使能端。当相应的位被设为0时,引脚接上拉电阻;当相应的位为1时,引脚不接上拉电阻。特殊的上拉电阻控制寄存器(SPUCR)数据线D15:0引脚的上拉电阻能够通过SPUPCR寄存器控制。在STOP/SL-IDLE模式里,数据线(D31:0或D15:0)处于高阻状态(Hi-z state)。由于I/O端口的特征,在STOP/SL-IDLE模式里,数据线上拉电阻可以降低功耗。D31:16引脚的上拉电阻能够通过PUPC寄存器来
18、控制;D15:0 引脚上拉电阻能够通过SPUCR寄存器来控制。在STOP模式中,为了保护存储器不出现错误功能(mal-function),存储器控制信号通过在特殊的上拉电阻控制寄存器里设置HZSTOP区域来选择高阻状态(Hi-z state)或先前的状态。外部中断控制寄存器:8个外部中断可以用各种信号所请求。外部中断寄存器为外部中断设置了信号触发方法选择位,也设置了触发信号的极性选择位。外部中断请求信号触发的方法有以下几种:低电平触发、高电平触发、下降沿触发、上升沿触发、双沿触发。8个外部中断寄存器的具体设置情况请详见I/O的特殊功能寄存器。因为每个外部中断引脚都有一个数字滤波器,这让中断控制
19、器能够识别长于3个时钟周期的请求信号。外部中断挂起寄存器(EXTINTPND)外部中断请求(4/5/6/7)对于中断控制器来说是“或”的关系。EINT4、EINT5、EINT6、EINT7共享在中断控制器里同一个中断请求队列。如果外部中断请求的4位中的任何一位被激活的话,那么EXTINPNDn将会被设置为1。外部挂起条件清除以后,中断服务程序必须清除中断挂起状态。通过EXTINPND对应位写1来清除挂起条件。6.3.4 S3C444B0X I/O端口的特殊功能寄存 器 6.3.5 S3C444B0X I/O端口应用编程6.4 S3C44B0X DMA功能及应用开发6.4.1 S3C444B0X
20、 DMA概述6.4.2 S3C444B0X ZDMA/BDMA操作6.4.3 S3C444B0X DMA特殊功能寄存器6.4.4 S3C444B0X DMA应用编程6.4.1 S3C444B0X DMA概述一 S3C44B0X拥有4通道的DMA控制器,其有中两个DMA称为ZDMA(普通GDMA),连接于SSB(Samsung System Bus三星系统总线),另外两个DMA称为BDMA(桥梁DMA)在桥内,桥是SSB和SPB(Samsung Peripheral Bus三星外围总线)之间的接口层。一 与SSB相连的ZDMA控制器可以从存储器到存储器,从存储器到I/O设备(固定的目的地址)和从
21、I/O设备到存储器传送数据。另外两个BDMA控制器只能从存储器到I/O设备和从I/O设备到存储器传送数据。在这种情况下,I/O设备意味着外围设备,象SIO、IIS和UART一样连接到SPB。DMA的主要优势是它可以在无CPU干涉的情况下传送数据。ZDMA和BDMA的操作由S/W(SoftWare)或来自内部设备或外部请求引脚(nXDREQ0/1)的请求来启动。6.4.2 S3C444B0X ZDMA/BDMA操作1.ZDMA(普通(普通 DMA)2.BDMA(桥梁(桥梁 DMA)3.外部 DMA REQ/ACK协议4.DMA传送方式5.DMA请求源的选择6.自动重装模式6.4.3 S3C444
22、B0X DMA特殊功能寄存器1.ZDMA 控制寄存器(ZDCONn)2.ZDMA0/1初始源/目的地址和计数寄存器和ZDMA0/1当前源/目的地址和计数寄存器3.ZDMAn 初始源/目标地址寄存器((ZDISRC,ZDCSRC))4.ZDMAn初始/当前目的地址寄存器((ZDIDES,,ZDCDE))6.4.4 S3C444B0X DMA应用编程6.5 S3C44B0X UART接口功能及应用开发6.5.1 S3C444B0X UART概述6.5.2 S3C444B0X UART的操作6.5.3 S3C444B0X UART的特殊功能寄存器6.5.4 S3C444B0X UART应用编程6.5
23、.1 S3C444B0X UART概述 S3C44B0X的UART单元提供两个独立的异步串行I/O口((Asynchronous Serial I/O,SIO)),每个通信口均可工作于中断和或DMA模式。也即UART能产生内部中断请求或DMA请求,在CPU和串行I/O口之间传送数据。它支持高达115.2K bps的传输速率,每一个UART通道包含了两个16位的分别用于接收和发送信号的FIFO(先进先出)通道。S3C44B0X的UART单元特性包括:波特率可编程基于DMA或中断操作的RxD0、RxD1、TxD0、TxD1;UART通道0支持红外发送与接收;UART通道1支持红外发送与接收;支持握
24、手方式传输与发送。6.5.2 S3C444B0X UART的操作一数据传输二数据接收三三 自动流控制AFC(Auto Flow Control)四非自动流控制(nRTS和nCTS由S/W所控制)五中断/DMA请求的产生六UART错误状态FIFO七波特率的产生八回环(Loop-back)模式九红外模式6.5.3 S3C444B0X UART的特殊功能寄存器 在UART操作中,主要是通过对UART特殊寄存器进行设置来对UART操作进行控制。UART的特殊功能寄存器包括UART的控制寄存器、状态寄存器、保持寄存器、波特率分频寄存器等等。6.5.4 S3C444B0X UART应用编程6.6 S3C4
25、4B0X中断控制器功能及应用开发6.6.1 S3C444B0X 中断概述6.6.2 S3C444B0X 中断控制器的操作6.6.3 S3C444B0X 中断源6.6.4 S3C444B0X 矢量中断模式(仅针对IRQ)6.6.5 S3C444B0X 矢量中断模式的程序举例6.6.6 S3C444B0X 中断控制器的特殊功能寄存器6.6.7 S3C444B0X 中断控制器应用编程6.6.1 S3C444B0X 中断概述 S3C44B0X的中断控制器可以接受接收来自30个中断源的中断请求。这些中断源来自DMA、UART、SIO等这样的芯片内部外围或接口芯片的外部引脚。在这些中断源中,有4个外部中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 S3C44B0X 嵌入式 系统 应用 开发 实例
限制150内