综合资讯 技术文章 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

电子技术 | 技术资料 | 嵌入式系统 | 单片机专题 | DSP专题
EDA/PLD专题 | 电源技术专题 | 电子制作专题 | 其他综合 | 芯片选型

所在的位置:首页在线阅读嵌入式系统ARM应用系统开发详解正文
 
第5章 应用系统设计与调试(1)

本章主要介绍基于S3C4510B的硬件系统的详细设计步骤、实现细节、硬件系统的调试方法等,通过对本章的阅读,可以使绝大多数的读者具有根据自身的需求、设计特定应用系统的能力。

尽管本章所描述的内容为基于S3C4510B的应用系统设计,但由于ARM体系结构的一致性、以及外围电路的通用性,本章的所有内容对设计其他基于ARM内核芯片的应用系统,也具有很大的参考价值。

本章的主要内容包括:

  嵌入式系统设计的基本方法。

  S3C4510B概述。

  S3C4510B的基本工作原理

  基于S3C4510B的硬件系统设计详述

  硬件系统的调试方法

5.1  系统设计概述

根据用户需求,设计出特定的嵌入式应用系统,是每一个嵌入式系统设计工程师应该达到的目标。嵌入式应用系统的设计包含硬件系统的设计和软件系统设计两个部分,并且这两部分的设计是互相关联、密不可分的,嵌入式应用系统的设计经常需要在硬件和软件的设计之间进行权衡与折中。因此,这就要求嵌入式系统设计工程师具有较深厚的硬件和软件基础,并具有熟练应用的能力。这也是嵌入式应用系统设计与其他的纯粹的软件设计或硬件设计最大的区别。

本章以北京微芯力科技有限公司(www.winsilicon.com)设计生产的ARM Linux评估开发板为原型,详细分析系统的软、硬件设计步骤、实现细节以及调试技巧等。ARM Linux评估开发板的设计以学习与应用兼顾为出发点,在保证用户完成ARM技术的学习开发的同时,考虑了系统的扩展、电路板的面积、散热、电磁兼容性以及安装等问题,因此,该板也可作为嵌入式系统主板,直接应用在一些实际系统中。

5.1.1ARM Linux评估开发板的结构框图,各部分基本功能描述如下:

  串行接口电路用于S3C4510B系统与其他应用系统的短距离双向串行通讯;

  复位电路可完成系统上电复位和在系统工作时用户按键复位;

  电源电路为5V3.3VDC-DC转换器,给S3C4510B及其他需要3.3V电源的外围电路供电;

  10MHz有源晶振为系统提供工作时钟,通过片内PLL电路倍频为50MHz作为微处理器的工作时钟;

  FLASH存储器可存放已调试好的用户应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等;

  SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中;

  10M/100M以太网接口为系统提供以太网接入的物理通道,通过该接口,系统可以10M100Mbps的速率接入以太网;

  JTAG接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等;

    IIC存储器可存储少量需要长期保存的用户数据;

    系统总线扩展引出了数据总线、地址总线和必须的控制总线,便于用户根据自身的特定需求,扩展外围电路。

 

5.2  S3C4510B概述

5.2.1  S3C4510B及片内外围简介

在进行系统设计之前,有必要对ARM Linux评估开发板上的ARM芯片S3C4510B及其工作原理进行比较详细的介绍,读者只有对该微处理器的工作原理有了较详细的了解,才能进行特定应用系统的设计。

Samsung公司的S3C4510B是基于以太网应用系统的高性价比16/32RISC微控制器,内含一个由ARM公司设计的16/32ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核,最适合用于对价格及功耗敏感的应用场合。

除了ARM7TDMI核以外,S3C4510B比较重要的片内外围功能模块包括:

       2个带缓冲描述符(Buffer Descriptor)的HDLC通道

       2UART通道

       2GDMA通道

       232位定时器

       18个可编程的I/O口。

片内的逻辑控制电路包括:

       中断控制器

       DRAM/SDRAM控制器

       ROM/SRAMFLASH控制器

       系统管理器

       一个内部32位系统总线仲裁器

       一个外部存储器控制器。

S3C4510B结构框图如图5.2.1所示。

 

5.2.1  S3C4510B结构框

S3C4510B的特性描述如下:

体系结构

       用于嵌入式以太网应用的集成系统

       16/32RISC架构

       支持大、小端模式。内部架构为大端模式,外部存储器可为大、小端模式

       内含效率高、功能强的ARM7TDMI处理器核

       高性价比、基于JTAG接口的调试方案

       边界扫描接口

系统管理器

       支持ROM/SRAMFLASHDRAM和外部I/O8/16/32位的方式操作

       带总线请求/应答引脚的外部总线控制器

       支持EDO/常规或SDRAM存储器

       可编程的访问周期(可设定07个等待周期)

       4字的写缓冲

       高性价比的从存储器到外围的DMA接口

一体化的指令/数据Cache

       一体化的8K Cache

       支持LRC(近期最少使用)替换算法

       Cache可配置为内部SRAM

IIC接口

       仅支持主控模式

       串行时钟由波特率发生器生成

Ethernet控制器

       带猝发模式的DMA引擎

       DMA发送/接收缓冲区(256字节发送,256字节接收)

       MAC发送/接收FIFO缓冲区(80字节发送,16字节接收)

       数据对准逻辑

       支持端模式变换

       100M/10Mbps的工作速率

       IEEE802.3标准完全兼容

       提供MII7线制10Mbps接口

       站管理信号生成

       片内CAM(可达21个目的地址)

       带暂停特性的全双工模式

       支持长/短包模式

       包拆装PDA生成

HDLC (High-Level Data Link Control) 高层数据链路协议  

       HDLC协议特征:标志检测与同步;零插入与删除;空闲检测和发送;FCS生成和检测(16位);终止检测与发送

       地址搜索模式(可扩展到四字节)

       可选择CRC模式或非CRC模式

       用于时钟恢复的数字PLL模块

       波特率生成器

       发送和接收支持NRZ/NRZI/FM/曼切斯特数据格式

       回环与自动回波模式

       8字的发送和接收FIFO

       可选的1字或4字数据传送方式

       数据对准逻辑

       可编程中断

       Modem接口

       高达10Mbps的工作速率

       基于8位位组的HDLC帧长度

       每个HDLC2通道DMA缓冲描述符用于发送和接收

DMA控制器

       用于存储器到存储器、存储器到UATRUATR到存储器数据传送的2通道通用DMA控制器,不受CPU干预

       可由程序或外部DMA请求启动

       可增减源地址或目的地址,无论8位、16位或32位数据传输

       4种数据猝发模式

UART

       2个可工作于DMA方式或中断方式的UART模块

       支持5678位的串行数据发送和接收

       波特率可编程

       1位或2位停止位

       /偶校验

       间隔信号的生成与检测

       奇偶校验、覆盖和帧错误检测

       ×16时钟模式

       支持红外发送和接收

定时器

       2个可编程32位定时器

       间隔模式或触发模式工作

可编程I/O

       18个可编程I/O

       可分别配置为输入模式、输出模式或特殊功能模式

中断控制器

       21个中断源,包括4个外部中断源

       正常中断或快速中断模式(IRQFIQ

       基于优先级的中断处理

PLL

       外部时钟可由片内PLL倍频以提高系统时钟

       输入频率范围:1040MHz

       输出频率可以是输入时钟的5

工作电压

       3.3V,偏差不超过5%

工作温度

       0oC70oC

工作频率

       最高为50MHz

封装形式

       208QFP封装

5.2.2  S3C4510B的引脚分布及信号描述

 

 

5.2.2  S3C4510B的引脚分布图

各引脚信号描述如下:

5-2-1 S3C4510B的引脚信号描述

 

引脚号

     

XCLK

80

I

S3C4510B的系统时钟源。如果CLKSEN为低电平,通过PLL倍频的输出时钟作为S3C4510B的内部系统时钟。如果CLKSEN为高电平,XCLK直接作为S3C4510B的内部系统时钟。

MCLKO/SDCLK 

77

O

系统时钟输出。SDCLKSDRAM提供时钟信号

CLKSEL

83

I

时钟选择。如果CLKSEL为低电平,PLL输出时钟作为S3C4510B的内部系统时钟。如果CLKSEL为高电平,XCLK直接作为S3C4510B的内部系统时钟。

nRESET

82

I

复位信号。nRESETS3C4510B的复位信号,要使系统可靠复位,nRESET必须至少保持64个主时钟周期的低电平。

CLKOEN

76

I

时钟输出允许/禁止。高电平允许系统时钟信号输出,低电平禁止。

TMODE

63

I

测试模式选择。低电平为正常工作模式,高电平为芯片测试模式。

FILTER

55

AI

如果使用PLL,应在该引脚和数字地之间接820pF的陶瓷电容。

TCK

58

I

JTAG测试时钟。JTAG测试时钟信号用于切换状态信息和检测数据的输入输出。该引脚在片内下拉。

TMS

59

I

JTAG测试模式选择。该信号控制S3C4510BJTAG测试操作。该引脚在片内上拉。

TDI

60

I

JTAG测试数据输入。JTAG测试操作的过程中,该信号将指令和数据串行送入S3C4510B。该引脚在片内上拉。

TDO

61

O

JTAG测试数据输出。JTAG测试操作的过程中,该信号将指令和数据串行送出S3C4510B

nTRST

62

I

JTAG复位信号,低电平复位。异步复位JTAG逻辑。该引脚在片内上拉。

ADDR[21:0]/

ADDR[10]/AP

117-110

129-120

135-132

O

地址总线。22位的地址总线可寻址每一个ROM/ SRAM组、FLASH存储器组、DRAM组和外部I/O组的4M字(64M字节)的地址范围。

XDATA[31:0]

141-136

154-144

166-159

175-169

I/O

外部数据总线(双向、32位)。S3C4510B支持外部8位,16位,32位的数据宽度。

nRAS[3:0]/

nSDCS[3:0]

94,91,

90,89

O

DRAM行地址锁存信号。S3C4510B支持最多4DRAM组,每个nRAS输出控制一组。nSDCS[3:0]用作SDRAM的片选信号。

nCAS[3:0]

nCAS[0]

/nSDRAS

nCAS[1]

/nSDCAS

nCAS[2]/CKE

98,97,

96,95

O

DRAM列地址锁存信号。无论访问哪一个DRAM组,4nCAS输出信号均表示字节选择。nSDRAS作为SDRAM的行地址锁存信号,nSDCAS作为SDRAM的列地址锁存信号,CKE作为SDRAM的时钟使能信号。

nDWE

99

O

DRAM写使能信号。该引脚为DRAM组提供写操作信号。(nWBE[3:0]用于为ROM/SRAM/FLASH存储器组提供写操作信号。)

nECS[3:0]

70,69,

68,67

O

外部I/O片选信号。可以有4个外部I/O组映射到存储空间,每一个外部I/O组的地址范围最大为16KBnECS提供每一个外部I/O组的片选信号。

nEWAIT

71

I

外部等待信号。该信号用于在访问外部I/O设备时,由外设插入等待周期。

nRCS[5:0]

88-84,75

O

ROM/SRAM/FLASH片选信号。S3C4510B可访问多达6个的外部ROM/SRAM/FLASH组。

B0SIZE[1:0]

74,73

I

ROM/SRAM/FLASH存储器组0的数据总线宽度设定。ROM/SRAM/FLASH存储器组0常用于程序的启动。‘01’=字节(8位);‘10’=半字(16位);‘11’=字(32位);‘00’=保留

nOE

72

O

输出使能。当对存储器进行访问的时候,该信号控制存储器的输出使能。

nWBE[3:0]/

DQM[3:0]