640 likes | 898 Views
第六章 基于 S3C44B0X 嵌入式系统应用开发实例. 6.1 S3C44B0X 处理器介绍. 6.1.1 Samsung S3C44B0X 简介 6.1.2 Samsung S3C44B0X 特点 6.1.3 S3C44B0X 功能结构框图 6.1.4 S3C44B0X 引脚信号描述. 6.1.1 Samsung S3C44B0X 简介. Samsung S3C44B0X 微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。
E N D
6.1 S3C44B0X处理器介绍 • 6.1.1 Samsung S3C44B0X简介 • 6.1.2 Samsung S3C44B0X特点 • 6.1.3 S3C44B0X功能结构框图 • 6.1.4 S3C44B0X引脚信号描述
6.1.1 Samsung S3C44B0X简介 • Samsung S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案。 • 片内集成ARM7TDMI核,工作在66MHz,采用0.25μm CMOS工艺制造,并在ARM7TDMI核基本功能的基础集成了丰富的外围功能模块,便于低成本设计嵌入式应用系统。
片上集成的主要功能如下: • 片上在ARM7TDMI基础上增加8KB的Cache; • 外部扩充存储器控制器; • LCD控制器(最大支持256色的DSTN),并带有1个LCD专用DMA通道; • 2个通用DMA通道/2个带外部请求管脚的DMA通道; • 2个带有握手协议的UART,1个SIO; • 1个多主的IIC总线控制器; • 1个IIS总线控制器; • 5个PWM定时器及1个内部定时器; • 看门狗定时器; • 71个通用可编程I/O口,8个外部中断源; • 功耗控制模式:正常、低速、休眠和停止; • 8路10位ADC; • 具有日历功能的RTC(实时时钟); • 片上集成PLL时钟发生器。
6.1.2 Samsung S3C44B0X特点 一、S3C44B0X体系结构 • S3C44B0X是基于ARM7TDMI的体系结构,ARM7TDMI是ARM公司最早为业界普遍认可且赢得了最为广泛的应用的处理器核。
二、系统(存储)管理 • 支持大、小端模式(通过外部引脚来选择); • 地址空间:包含8个存储体,每个存储体的大小为32M字节,总共有256M字节的地址空间; • 对所有存储体的访问大小均可进行改变(8位/16位/32位); • 8个存储体中,Bank0~Bank5可以用于ROM、SRAM等存储器,Bank6、Bank7可用于ROM、SRAM、FP/EDO/SDRAM等存储器; • 7个存储体起始地址固定,1个存储体的起始地址可变。
1个起始地址及大小可变的地址空间; • 所有存储器空间的访问周期都可以通过编程配置; • 提供外部扩展总线的等待周期; • 在低功耗的情况下支持DRAM/SDARM自动刷新; • 支持地址对称或非地址对称的DRAM。
三、Cache和片内SRAM • 4路组相联统一的8KB指令/数据Cache; • 未作为Cache使用的0/4/8 Kbytes Cache存储空间可作为片内SRAM使用; • Cache伪LRU(最近最少使用)的替换算法; • 通过在主内存和缓冲区内容之间保持一致的方式写内存; • 具有四级深度的写缓冲; • 当缓冲区出错时,请求数据填充。
四、时钟和功耗管理 • 低功耗; • 片上PLL使得MCU的工作时钟最高为66MHz; • 时钟可以通过软件选择性地反馈回每个功能块; • 功耗管理模式为: • 正常模式:正常运行模式; • 低速模式:不带PLL的低频时钟; • 休眠模式:只使CPU的时钟停止; • 停止模式:所有时钟都停止。 • EINT[7:0]或RTC警告中断可使功耗管理从停止模式中唤醒。
五、中断控制器 • 30个中断源(1个看门狗定时器中断,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唤醒的警告中断; • 时间滴答(Time tick)中断。 八、通用输入/输出端口 • 8个外部中断端口; • 71个(多功能)复用输入/输出口。
九、UART • 2个基于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、实时器、IIS)和外部管脚; • DMA之间优先级次序可编程; • 突发传送模式提高了FPDRAM、EDODRAM和SDRAM的传送率; • 支持内存到外围设备的fly-by模式和外围设备到内存的传送模式。
十一、A/D转换 • 8通道多路ADC; • 最大转换速率100KSPS/10位。 十二、LCD控制器 • 支持彩色/单色/灰度LCD; • 支持单扫描和双扫描显示; • 支持虚拟显示功能; • 系统内存可作为显示内存; • 专用DMA用于从系统内存中提取图像数据; • 可编程屏幕大小; • 灰度:16级; • 彩色模式:256色。
十三、看门狗定时器 • 16位看门狗定时器; • 定时中断请求或系统超时复位。 十四、IIC总线接口 • 1个基于中断操作的多主的IIC总线; • 8位双向串行数据传送器能够工作于100Kbps的标准模式和400Kbps的快速模式。 十五、IIS总线接口 • 1路基于DMA操作的音频IIS总线接口; • 每通道8/16位串行数据传送; • 支持MSB可调整的数据格式。
十六、SIO(同步串行I/0) • 1路基于DMA或基于中断的SIO; • 波特率可编程; • 支持8位SIO的串行数据传送/接收操作。 十七、操作电压范围 • 内核:2.5V; I/O:3.0V~3.6V。 十八、运行频率 • 最高达66MHz。 十九、封装 • 160LQFP/160FBGA。
6.1.3 S3C44B0X功能结构框图 • S3C44B0X的体系结构的功能框图:
基于S3C44B0X的嵌入式系统体系结构 LCD显示 线性Flash (BIOS) USB接口 基于ARM7TDMI的32位微处理器S3C44B0X SDRAM (系统内存) 串行通信接口 非线性Flash (硬盘) JTAG调试接口 TCP/IP协议 键盘输入 CAN BUS
6.1.4 S3C44B0X引脚信号描述 • S3C44B0X引脚按以下几种功能详细列表描述信号功能。
一、总线控制信号S3C44B0的X总线控制信号的引脚一、总线控制信号S3C44B0的X总线控制信号的引脚
6.2 S3C44B0X存储控制器功能及应用开发 • 6.2.1 S3C44B0X存储控制器概述 • 6.2.2 S3C44B0X存储器空间划分简述 • 6.2.3 S3C44B0X存储控制器功能描述 • 6.2.4 S3C44B0X存储控制器的特殊功能寄存器 • 6.2.5 S3C44B0X存储器应用编程
6.2.1 S3C44B0X存储控制器概述 • 在基于ARM核的嵌入式应用系统中一般包含多种类型的存储器件,如Flash、ROM、SRAM和SDRAM等。不同类型的存储器对速度、数据宽度等的要求也不同。为了实现对这些不同类型的存储器进行管理,就需要有一个存储器管理控制器。 • S3C44B0X的存储器管理控制器提供支持片外存储器访问需要的控制信号,实现对片外存储器的管理。
6.2.2 S3C44B0X存储器空间划分 • 地址空间: • 包含8个地址空间,每个地址空间的大小为32M字节,总共有256M字节的地址空间; • 8个地址空间中: • 6个地址空间可以用于ROM、SRAM等存储器; • 2个地址空间用于ROM、SRAM、FP/EDO/SDRAM等存储器; • 7个起始地址固定的地址空间; • 1个起始地址可变的地址空间;
从S3C44B0X复位后的存储器地址分配图可以看出:从S3C44B0X复位后的存储器地址分配图可以看出: • 特殊功能寄存器位于0x01C00000到0x02000000的4M空间内; • Bank0-Bank5的起始地址和空间大小都是固定的; • Bank6的起始地址是固定的,空间可以配置为2/4/8/16/32M。 • Bank7的空间大小和Bank6一样是可变的,也可以配置为2/4/8/16/32M。 • Bank7的起始地址是可变的。 • 如果同时使用Bank6/Bank7,则要求连接相同容量的存储器,而且地址空间在物理上是连续的。
Bank6 和Bank7 的详细的地址和空间大小的关系可以参考下表:
典型系统中存储体的分配情况 只要将CPU上的相应Bank连线接到外设芯片的片选引脚上, 便可以根据相应的地址进行存储器或外设操作。
通常,使用Bank0上的NOR Flash放置系统BIOS,系统上电后,PC指针自动指向Bank0的第一个单元,开始进行系统自举。系统自举完成后,便从硬盘中将系统文件和用户应用程序复制到SDRAM内存中执行。
6.2.3 S3C44B0X存储控制器功能描述 和存储器相关的引脚的配置: • Bank0---NGCS0 用来选通启动ROM。启动ROM在开机复位后,就应正常工作,因此由片脚设置。
6.2.4 S3C44B0X存储控制器的特殊功能寄存器(13个) • 总线宽度/等待控制寄存器(BWSCON)(1个) 用来决定存储器总线宽度、等待允许、高低字节使能。见P.302
S3C44B0X存储控制器的特殊功能寄存器 • Bank控制寄存器 ( BANKCONn)(8个) 用来确定存储器读写时序。 P.304 ⑴ (BANKCONn: nGCS0-nGCS5)
存储器读写时序 • 总线操作过程举例: • 1、系统地址总线上给出需访问的存储空间地址(或I/O空间地址),标志一个总线操作开始。 • 2、经Tacs 时间后,片选信号nGCSn 给出,被片选信号选中的器件应锁存住当前地址线上地址信息。 • 3、 经Tcos时间后,CPU给出当前操作类型是读操作(nOE为低电平)/写操作(nWE为低电平)。以读为例。 • 4、Tacc 时间内将数据准备好,放到数据总线。 • 5、Tacc 时间后,CPU将nOE信号提高,同是锁存数据线上的数据。 • 另外: • 6、Toch 为 nOE上芯片选择保持时间。 • 7、Tcah 为nGCSn 有效之前地址保持时间。
S3C44B0X存储控制器的特殊功能寄存器 • DRAM/SDRAM刷新控制寄存器(REFRESH) (1个) 用来决定 DRAM/SDRAM 刷新允许、刷新模式、RAS 预充电时间、RAS和CAS最短时间、CAS保持时间、刷新计数值。见P.305 表6-23
S3C44B0X存储控制器的特殊功能寄存器 • Bank大小寄存器(BANKSIZE)(1个) 用来设置Bank6/Bank7的存储区大小。见P.305 表6-24
S3C44B0X存储控制器的特殊功能寄存器 • Bank6—Bank7模式设置寄存器(MRSR) (2个) 用来决定Bank6、Bank7的存储模式。 见P.306 表6-25