




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.题目 : S3C2410X 最小系统设计已知技术参数和设计要求:1、嵌入式处理器选择S3C2410X 处理器;2 、最小系统包括电源 、时钟、复位、存储器、JTAG接口3 、 JTAG接口选择 14 针插头4 、存储器容量要求至少16MB 的 flah 和 16MB 的 SDRAM 。5 、外部提供 5V 电源要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求 )1、存储器等主要元器件选择2、电源电路 、时钟电路 、复位电路 、存储器扩展电路 、 JTAG 接口电路3、protel 电路图5、不少于 3000 字的课程设计报告时间安排 :2010 2011 学年
2、第 1 学期 1314 周指导教师签名 :2010 年 11 月 11 日教研室主任签名 :年月日.专业专注.目录摘要11.S3C2410 基本外围电路设计11.1 系统框图11.2 电源电路21.3 晶振电路21.4 复位电路31.5 JTAG 接口41.6SDRAM 存储器41.7NAND Flash存储器51.8 串口电路62.S3C2410 启动过程63.简单 Boot loader的制作73.1 Boot loader工作原理73.2 第一阶段73.3 第二阶段93.4 程序的下载和调试94.心得体会9.专业专注.参考文献 :10.专业专注.S3C2410 最小系统设计摘要 : 介绍
3、了以嵌入式芯片S3C2410为核心的最小嵌入式系统构建方法,给出了S3C2410的复位电路 、电源电路 、存储器电路和串口电路等硬件组成。还介绍了在 ADS 环境下自制的最小Boot loader程序开发和调试方法。关键字 :嵌入式 ; S3C2410 ; ADS ;Boot loaderS3C2410 是 Samsung公司基于ARM920T 内核的嵌入式微处理器。本文以 S3C2410为核心 ,配置了最基本外围电路构成了最小的嵌入式系统,并在ADS 上开发了启动程序 , 完成硬件初始化, 配置运行环境, 串口调试功能。通过本文可以从底层了解S3C2410 的特性和工作原理,并对 Boot
4、loader程序会有深入的认识,为嵌入式系统的学习做铺垫 。1.S3C2410 基本外围电路设计1.1 系统框图电源、晶振S3C2410串口电路JTAGSDRAM复位电路Nand Flash图 1系统框图Fig.1 Diagram of System.专业专注.1.2 电源电路S3C2410 工作时内核需要1.8V 电压 , I/O 端口和外设需要3.3V 电压 1 。 VDDi/VDDiarm引脚是供 S3C2410 内核的 1.8V 电压 ; VDDalive 引脚是功能复位和端口状态寄存器电压。M12 引脚 RTCVDD是 RTC模块的 1.8V 电压 ,用电池供电保证系统的掉电后保持实
5、时时钟。VDDOP 引脚是 I/O 端口 3.3V 电压; VDDMOP 引脚是存储器I/O 端口电压 ;还有一系列 VSS引脚需要接到电源地上。 3.3V 电压从 5V 用 AMS1117-3.3 转换得到如图2所示 ; 1.8V 从 3.3V 通过MIC5207-1.8 转换得到如图 3所示 。AMS1117-3.3VDD5V3VinVout2VDD33MIC5207-1.8DNVDD331GIN5VDD18C1C2OUT2100u1100uC1GND43BYPC2EN10uC310u470pF图 25V 转 3.3V图 33.3V 转 1.8VFig.2 5V to 3.3VFig.3
6、3.3V to 1.8V1.3 晶振电路S3C2410 内部有时钟管理模块,有 2 个锁相环 ,其中 MPLL 产生 CPU 主频 FCLK、.专业专注.AHB 总线外设时钟HCLK 和 APB 总线外设时钟PCLK; UPLL 产生 USB 模块的时钟 。 OM3 、OM2 都接地时主时钟源和USB 模块时钟源都由外接晶振产生1 。 在 XTIpll和 XTOpll 之间连接主晶振 ,可以选择12MHz 晶振 ,通过内部寄存器的设置产生不同频率的FCLK、HCLK 和 PCLK;在 XTIrtc 和 XTOrtc 上需要接32.768 kHz 的晶振供 RTC 模块使用 。同时在 MPLLC
7、AP 和 UPLLCAP 上也要外接 5pF 的环路滤波电容 。 晶振电路如图4 所示。C1C3XTIpllXTIrtcC5MPLL CAP5pF15pF15pFY1R1Y212MHz1M32.768KHzC2C4XTOpllXTOrtcC6UPL LCAP5pF15pF15pF图 4晶振电路Fig.4 Crystal CircuitVDD331.4 复位电路D1R11N41 481 5K127 4HC1 4S3C2410的 J12 引脚为nRESET 复位引脚 ,nRESET上给 4 个 FCLK 时间的低电平后就可以复位。12n RESET+ C1S110uReset74HC1 4可以设计
8、如图5 所示的复位电路,其中上电复位是靠图 5复位电路RC 电路特性完成 ,开关二极管1N4148在手动复位时对电容起快速放电的作用,因此可Fig.5Reset Circuit以把复位电平快速拉到0V 。 反响门 74HC14 可以起到延时作用,保证有足够复位时间。.专业专注.1.5 JTAG 接口S3C2410 有标准的 JTAG 接口, TCK( H6 )为测试时钟输入; TDI (J1)为测试数据输入; TDO ( J5)为测试数据输出; TMS ( J3)为测试模式选择, TMS 用来设置JTAG 接口处于某种特定的测试模式; nTRST( H5 )为测试复位,输入引脚,低电平有效。
9、其中nTRST、TMS 、 TCK、TDI 需要接 10K 的上拉电阻 。通过 JTAG 口可以完成芯片测试或在线编程 。1.6SDRAM 存储器 1S3C2410有 32 根数据线和27 根地址线 ,因此地址线的寻址范围为128M ;但是S3C2410还有8 根存储器芯片片选信号线nGCS0 nGCS7 , 因此总的寻址空间为128M*8=1G。 NandFlash 启动模式下复位时S3C2410 的存储器映射如图6 所示。如当访问物理地址0x08000000 0x10000000内的地址则nGCS1 自动为低电平 ,以此类推 。通过图 6 可知 SDRAM 只能连接在nGCS6 和 nGC
10、S7 片选引脚上 。 S3C2410提供了SDRAM的接口 ,其中包括nSRAS:行信号锁存; nSCAS:列信号锁存;nSCS1:0 (就是nGCS6:7 ): 片选信号 ; DQM3:0 :数据屏蔽 ; SCLK1:0 :时钟 ; SCKE:时钟有效 ; nBE3:0 :高 / 低字节有效 ; nWBE3:0 :写有效 。 下面以 2 片 HY57V561620 为例介绍 SDRAM 和 S3C2410 的连接方法 。HY57V561620是 4 块 16 位 32M 的 SDRAM 存储器 ,用 2 片可以构成32 位的 64M 存储器 。HY57V561620的行地址13 位 RA0
11、RA12 ,列地址 9 位 CA0 CA8 ,行和列地址是复用的 。 HY57V561620包括 4 个块 ,通过 BA0 、 BA1 的组合选择块。HY57V561620是 16 位存储器 ,因此数据线为DQ0 DQ15 ,还有 CS 片选 , CLK 时钟, CKE 时钟使能 ,.专业专注.RAS 行锁存 ,CAS 列锁存 , WE 写使能等引脚。图 7 表示了 HY57V561620和 S3C2410的连接方法 ,其中 BA0 、 BA1 需要连接 ADD24 和 ADDR25 ,通过 S3C2410 的说明可知 ,因为内存总大小是64M因此块选择信号必须使用ADDR24和ADDR25
12、。因为HY57V561620的行列地址复用,因此 S3C2410 必须知道行列地址各多少位,这个需要在BANKCON6 寄存器的SCAN 字段指定 。HY57V561620HY57V561620ADDR2-ADDR14A0-A12LDQMnWBE0ADDR2-ADDR14A0-A12LDQMnWBE0nWBE1nWBE1UDQMUDQMDATA0-DATA15nWEDATA16-DATA31nWED0-D15WED0-D15WEADDR24SCLK0ADDR24SCLK0BA0CLKBA0CLKADDR25SCKEADDR25SCKEBA1CKEBA1CKEnSRASnGCS6nSRASnGC
13、S6RASCSRASCSnSCRAnSCRACASVDD/VSSCASVDD/VSS1.7NAND Flash存储器 2S3C2410 内部有 NAND Flash控制器 ,支持从 NADN Flash启动 。 图 8 是 K9F120864M Flash芯片和 S3C2410 的连接方式 。S3C2410 采用一组内部寄存器来完成NANDFlash 的操作 。VC+1C1+16VDCLE1629DATA03C1-2CLEIO1J?V+ALE1730DATA1465nFCE9ALEIO2K 31DATA29+C2+V-nFRE8CEIO332DATA345C2-GND15REIO4nFW E1
14、841DATA48WEIO53R/n B79F1208DATA51411TXD0(K15)R/BIO6427T1OUT43DATA6213T1INRXD0(K17)R1IN12IO767R1OUT44DATA7T2OUT10IO818T2INR2IN9R2OUTDB9MAX3232CAS图 8NAND Flash 连接图图 9UART 连接图Fig.8NAND Flash ConnectionFig.9 UART Connection图 7 Fig.7 S.专业专注.1.8 串口电路 3S3C2410 的 UART 提供了三个同步串行IO 口,图 9 是 COM0 的连接方式 。 串口数据的收
15、发有查询方式、中断方式和DMA 方式等 ,这些可以在UCON0(UART channel0control register )寄存器中设置 。 UTXH0 (UART channel 0 transmit buffer register )把要发送的数据写入此寄存器。 URXH0 (UARTchannel 0 receive buffer register )读此寄存器获得串口接收的数据。串口一般可以用作程序运行信息的输出和程序调试。2.S3C2410 启动过程 1当 S3C2410 的 OM0 、 OM1引脚接低电平时 S3C2410 就从 NADN Flash 启动 。 在NAND Fla
16、sh 启动模式下上电后NANDFlash 控制器自动将 NANDFlash 的最前面的 4k区 域 拷 贝 到 所 谓 的 “steppingstone”里面。这一过程完全由硬件自动实现。“steppingstone ”实际上是 S3C2410 内部的一个 SRAM ,因为 NADNFlash 不支持程序片内运行 ,因此必须把 NAND Flash内的指令拷贝到 SRAM 或 SDRAM中才可以运行 。在拷贝完前 4k 代码后 ,NANDFlash 控制器自动将开始开始设置中断向量表是否启动加载“steppingstone”映 射 到arm地 址 空 间关闭看门狗NY0x00000000开始的
17、前 4k 区域 。在映射过程完成后 NANDFlash 控制器将pc 指针直接指向arm 地址空间的0x00000000位置 ,准备开始执行“ steppingstone” 上的代码。而初始化 MMU关闭中断初始化串口初始化 SDRAM加载操作系统初始化网口设置堆栈初始化 USBNandFlash拷贝跳转 main处理用户命令结束结束“steppingstone”上从 NAND Flash拷贝过来的4k 代码 ,是程序员写的boot loader的前 4k 代码。 boot loader之前写好 ,并已经被烧写到.专业专注.NAND Flash的 0x00000000开始区域 。3.简单 Bo
18、ot loader的制作3.1 Boot loader工作原理 4Boot loader是引导操作系统的程序,也是开发阶段目标板和PC 机的通信工具 。 Bootloader 一般都放在NAND Flash的起始位置 ,这样上电后Boot loader的第一个指令被自动执行 。 由于BootLoader的实现依赖于CPU 的体系结构 ,因此大多数BootLoader都分为stage1和 stage2两大部分 。 依赖于CPU 体系结构的代码,比如设备初始化代码等 ,通常都放在stage1中,而且通常都用图 10流程图Fig.10Flow Chart汇编语言来实现,以达到短小精悍的目的。而sta
19、ge2则通常用C 语言来实现 ,这样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性。阶段 1 和阶段 2 的工作流程如图10。3.2 第一阶段第一阶段主要工作是硬件设备初始化,加载BootLoader 的 stage2 ,准备 RAM空间;拷贝Boot Loader的 stage2 到 RAM 空间中 ;设置好堆栈 ;跳转到stage2的 C 入口点 。下面介绍 ADS 环境下开始制作简单Bootloader的方法 。先建立工程命名为myBoot ,定义出程序的基本结构如下:AREAmyBoot, CODE, READONLY;声明一个代码段,名称为 myBootENTRY;程序入
20、口声明 ,程序的开始执行位置_ENTRY;入口名称为 _ENTRY.专业专注. ;中间写主要代码END;程序结束在 myBoot 工程的 Settings 中做一些设置 。 首先设置 Target->Target Setting-> postLink 中选择 "ARM fromELF" ,表示在链接生成映像文件后,再调用 FromELF 命令映像文件转换成其他格式的文件。 Linker->ArmLinker->Output->LinkType 选 Simple简单连接方式 ; RO Base 设置为 0x30008000代码段连接地址。实际上
21、RO BASE 指定了程序的静态连接地址 。 程序真正被执行时所在的内存地址叫做运行地址。如果连接时用到绝对地址的话运行地址和链接地址保持一致时程序才能正常运行,这种代码叫做与位置有关代码。 如果连接时没有涉及到绝对地址那么连接地址和运行地址不一样程序也可以正常运行,这种代码叫做位置无关的代码。但是 Bootloader一开始时被加载在0x00 位置开始运行,这会不会和 RO Base 设置地址冲突呢?实际上是会冲突的 ,解决冲突的办法就采用位置无关代码 ( PIC)。 实际上 Boodloader的绝大部分代码最后想让它运行在0x30000800开始的 SDRAM 里,只有第一阶段代码运行在
22、0x00 开始的 SRAM 里,因此把阶段 1 用位置无关的汇编代码实现整个程序就正常运行了。 RWBase 是数据段的开始位置,如果不指定数据段就紧接着代码段放置。如果自己设置的话程序里还需要自己处理加载数据段到实际数据段RW Base 的搬移操作,否则具有初始值的变量的初始值不起作用。 在Options->Image entry point指定代码的入口 _ENTRY。程序的第一步要设置中断向量表。 S3C2410 有 7种中断 ,中断入口地址在0x00 开始处,每个中断占用 4 可字节 ,正好可以放一个跳转指令。程序如下 :b ResetHandler ;复位中断 ,也是整个程序的
23、入口 , b 指令是根据当前PC 进行跳转,因此可以实现位置无关代码5 。 在 ResetHandler中需要做的工作有:关闭看门狗 、关闭所有中断、设置主频 、初始化SDRAM 、设置中断堆栈 ,最后搬移代码到SDRAM.专业专注.中。最后一步跳转到C 程序的入口函数main 中 。3.3 第二阶段 6这阶段代码用 C 语言编写 ,从 main 函数开始 。 这个阶段的主要任务有串口初始化、MMU 的初始化 、 USB 初始化 、以太网初始化等 。Bootloader工作时显示屏可能还没有工作,或者目标板根本就没有显示屏或键盘等设备,因此人机交互一般通过串口来实现。因此必须初始化串口 ,通过
24、串口打印运行信息或者接收用户输入。用串口连接到PC 上,用专用或通用的串口软件来接收信息或输入信息。 USB 口 、以太网可以实现快速的文件传输,其他程序或操作系统内核可以通过USB 或以太网口快速的下载到目标板上。3.4 程序的下载和调试编译工程后会得到一个bin 文件,这就是在目标板上运行最后文件。Bootloader一般用 JTAG 口来烧写 ,因为 Bootloader之前板子上其他任何接口(串口 、 USB、以太网 )都是不可用的 , Bootloader是板子上运行的第一个程序。 PC 机上通过 JTAG口烧写文件可以用 sjf2410.exe 这个程序 ,运行方式如下 sjf2410 /f:myBoot.bin。 如果 JTAG 口连接正常的话 ,会发现 CPU,然后根据提示选择相应的位置烧写就可以了。烧写完复位板子后可以在 PC 上通过串口看到 Bootloader 的运行情况 。4.心得体会本次课程设计对S3C2410 工作必须的外围电路,以及 ADS 下 S3C2410 的程序设计方法做了详细的介绍,有不足的地方请老师指正。.专业专注.参考文献 :1 SAMSUNG ELECTRONICS. S3C2410 MICROPROCESSOR data sheet. 2003.2陈文智 .嵌入式系统开发原理与实践M. 北京:清华大学出版社,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于动物接种疫苗的调查问卷
- 2025年中医药行业分析:广西各市中医药产业发展不均衡
- 辽宁别墅防水施工方案
- 阳东基础加固施工方案
- 人体测温系统施工方案
- 2025年陕西历史特岗试题及答案
- 6-7岁宝宝阅读书目
- 5句英语祝福语简短
- 4年级下册1~6单词表译林版
- 地球内部介绍50字
- 绿野仙踪(导读课)课件
- 小学生防溺水安全教育主题班会ppt市公开课一等奖省名师优质课赛课一等奖课件
- 中国近代海关史课件
- 《人卫版第九版内科学心力衰竭》课件PPT
- 中药热盐包热熨讲稿
- 目视检测VT报告
- 四川省中小流域暴雨洪水计算
- 水泥熟料岩相分析
- 杂诗十二首其二陶渊明
- 第五届大广赛获奖作品
- 《广告摄影》课件第五讲 食品广告拍摄与后期制作
评论
0/150
提交评论