程序项目代做,有需求私信(小程序、网站、爬虫、电路板设计、驱动、应用程序开发、毕设疑难问题处理等)

Mini2440开发板及程序烧录、启动方式

本篇博客内容仅作为学习使用,如有侵权,请联系删除。

Mini2440是一款ARM9开发板,ARM9属于armv4t架构,由友善之臂开发,官方提供购买路径以及开发板最新的使用手册http://www.arm9.net。其外形如图:

注意:由于Mini2440开发板中采用的SRAM和FLASH芯片是多款芯片混用的,下文中的引用的电路图都是官方资料自带的,和我购买的板子上的实际芯片型号可能有区别,但是芯片的驱动控制都是相互兼容的。

一、Mini2440硬件资源(我购买的开发板)

  • CPU处理器:  Samsung S3C2440A,主频400MHz,最高533Mhz;
  • SDRAM内存: Mini2440外接两片32MB的SDRAM(型号EM63A16STS-5G),它们并在一起形成32位总线数据宽度,使用了nGCS6片选。物理起始地址为0x30000000。 SDRAM 时钟频率高达100MHz;
  • NAND FLASH存储: 在板256MB NAND FLASH(型号K9F2G08U0C), 掉电非易失;
  • NOR FLASH:在板2M NOR FLASH(型号S29AL016D70TF102),掉电非易失,已经安装BIOS;
  • 标准配置为统宝3.5”真彩LCD,分别率240x320,带触摸屏;
  • 接口和资源:

- 1个100M以太网RJ-45接口(采用DM9000网络芯片)

- 3个串行口

- 1个USB Host

- 1个USB Slave B型接口

- 1个SD卡存储接口

-1路立体声音频输出接口,一路麦克风接口

- 1个2.0mm间距10针JTAG接口

- 4 USER Leds

- 6 USER buttons(带引出座)

- 1个PWM控制蜂鸣器

- 1个可调电阻,用于AD模数转换测试

- 1个I2C总线AT24C08芯片,用于I2C总线测试

- 1个2.0 mm间距20pin 摄像头接口

- 板载实时时钟电池

- 电源接口(5V),带电源开关和指示灯

  • 扩展接口 :

1个34 pin 2.0mmGPIO接口

1个40 pin 2.0mm 系统总线接口

二、3SC2440启动方式

S3C2440对外引出了27根地址线ADDR0~ADDR26,它最多能够寻址128MB,而S3C2440的寻址空间可以达到1GB,这是由于S3C2440将1GB的地址空间分成了8个BANKS(Bank0~Bank7),其中每一个BANK对应一根片选信号线nGCS0~nGCS7,当访问BANKx的时候,nGCSx管脚电平拉低,用来选中外接设备, S3C2440通过8根选信号线和27根地址线,就可以访问1GB。如下图所示:

其中Bank0~Bank5可以焊接ROM或SRAM类型存储器,Bank6~Bank7可以焊接ROM,SRAM,SDRAM类型存储器,也就是说,S3C2440的SDRAM内存应该焊接在Bank6~Bank7上,最大支持内存256M,Bank0~Bank5通常焊接一些用于引导系统启动小容量ROM,具体焊接什么样存储器,多大容量,根据每个开发板生产商不同而不同。

以Mini2440开发板为例:将两片32M,16位宽SDRAM内存(型号HY57V561620FTP)焊接在Bank6和Bank7上,并联形成64M,32位内存。

  • A0-A12是地址线:行地址、列地址复用,行地址使用A0-A12(13条),列地址使用A0-A8(9条)。 BA0-BA1是bank选择引脚。(bank选择与行地址(row address)同时下发,在列地址下发时,有其他用途)。
  • 这个SDRAM有:13根行地址线   RA0-RA12   9根列地址线    CA0-CA8     2根BANK选择线 BA0-BA1;SDRAM的地址引脚是复用的,在读写SDRAM存储单元时,操作过程是将读写的地址分两次输入到芯片中,每一次都由同一组地址线输入。两次送到芯片上去的地址分别称为行地址和列地址。它们被锁存到芯片内部的行地址锁存器和列地址锁存器。$\overline{RAS}$是行地址锁存信号,该信号将行地址锁存在芯片内部的行地址锁存器中;$\overline{CAS}$是列地址锁存信号,该信号将列地址锁存在芯片内部的列地址锁存器中;
  • 需要注意的是LADDR2接的引脚是A0,这是因为一个地址对应4个字节,32位数据位宽。
  • BA0,BA1ADDR24,ADDR25,为什么用这两根地址线呢?BA0~BA1代表了SDRAM的最高地址位。因为CPU的寻址空间是以字节(Byte)为单位的,本系统SDRAM容量为64MB,那就需要A25~A0(64M=2^26)地址线来寻址,所以BA1~BA0地址线应该接到S3C2440ADDR25~ADDR24引脚上。13根行地址线+9根列地址线 = 22根。另外HY57V561620F一个存储单元是2个字节,相当于有了23根地址线。BA0,BA1是最高地址位,所以应该接在ADDR24,ADDR25上。
  • SDRAM地址空间:0x30000000~0x33F000000;

由于S3C2440是32位芯片,理论上讲可以达到4GB的寻址范围,除去上述8个BANK用于连接外部设备,还有一部分的地址空间是用于设备特殊功能寄存器,其余地址没有被使用。

2.1 启动方式

系统启动取决于S3C2440 CPU的OM0、OM1两个引脚的取值。在Mini2440中,直接将OM1接地(永远为0),OM0作为拨码开关,来选择是从NAND启动(接地,0)还是从NOR16-bit启动(悬空,1)。

NAND FLASH:ROM,容量大,适用于数据存储,ARM不能从NAND 中直接启动,主要是因为NAND FLASH不具有地址线,没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。但是它有专门的控制接口与CPU相连,数据总线为8-bit,但这并不意味着NAND FLASH读写数据会很慢。大部分的优盘或者SD卡等都是NAND FLASH制成的设备。

NOR FLASH:ROM,容量小,和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码。

SDRAM: RAM,容量大,操作系统等大型软件都运行在SDRAM中。

2.2 NAND启动

图1右侧是选择从NAND  FLASH引导启动(启动模式选择开关拔到NAND端,此时OM0管脚拉低),S3C2440的NAND 控制器会自动把NAND FLASH中的前4K代码数据搬到内部SRAM中(在S3C2440片内有一块被称为SteppingStone的片内SRAM,它的大小为4K),片内SRAM被映射到nGCS0片选的空间(nGCS0片选的空间,即0x00000000),CPU从0x00000000位置开始运行程序。所以当中断发生的时候,PC指针指向0x0+offset(如:IRQ就是0x18),可以找到中断服务程序的入口。

Mini2440开发板就是将采用了的256MB的NAND FLASH(型号K9F2G08U0C)

2.3 NOR启动

图1左侧对应NOR FLASH启动(启动模式选择开关拔到NOR端,此时OM0管脚拉高),0x00000000就是2MB NOR FLASH实际的起始地址,NOR FLASH中的程序就从这里开始运行,不涉及到数据拷贝和地址映射。

注意此时,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000 。

Mini2440开发板就是将2M的NOR FLASH(型号S29AL016D70TF102)焊接在了Bank0上,用于存放系统引导程序Bootloader。

  • 地址线A1-A22,共22条(请注意地址是从A1开始的,这意味着它每次最小的读写单位是2字节),实际我们的开发板上只用了A1-A20条地址线,因为与A21、A22相连的S29AL016D70TF102的相应引脚是悬空的。;
  • 数据线D0-D15,共16条;

2.4 程序大于4kb

那么当程序大于 4kb 的时候,当我们以 NAND FLASH启动后,前面的4kb 被拷贝到 片内RAM中去执行(自动完成)。我们在这前4kb的程序中初始化SDRAM,然后将NAND FLASH剩下的程序拷贝到 SDRAM中(不是只有4kb 被拷贝到片内RAM中执行了嘛)然后跳转到 SDRAM中去执行剩下的程序。

那么也就是说 通常当程序大于 4kb的 时候,我们就需要把程序拷贝到SDRAM中去运行。(程序小于4kb 那么也就可以不用拷贝了,以NAND FLASH方式 启动后,程序全被拷贝到 片内4kb的片内SRAM中去运行。)

那么,既然程序大于4kb的时候需要从 NAND FLASH中拷贝到 SDRAM中去运行。自然可以想到 烧到 NAND FLASH中的程序前面一部分代码应该 是初始化SDRAM(程序最终需要拷贝到SDRAM中去运行)和 将NAND FLASH中的剩余的程序拷贝到SDRAM中去(全考过去也行,方便点),然后跳转到SDRAM中执行。

采用NOR FLASH启动时,由于NOR FLAH为2MB、因此可以不用拷贝到SDRAM运行,但是我们也可以尝试这么做,可以参考s3c2440中断程序(烧录到NORFlash,运行在SDRAM中)

2.5 总结

NAND 启动时,地址0x00000000为内部SRAM映射的地址;

NOR启动时,地址0x00000000为NOR FLASH的实际起始地址。

向NOR FLASH中写数据需要特定的命令时序,而向内存中写数据可以直接向内存地址赋值。

 三、基本电路

3.1 电源系统

Mini2440开发板直接使用外接5V电源,通过降压芯片产生整个系统所需要的三种电压:3.3V、1.8V、1.25V。降压芯片采用LM117-1.8V、LM117-3.3V等。

整个系统的电源通断是由S1拨动开关控制的,它不能通过软件实现开关机。

为了方便用户外接其他电源,开发板还设计了一个电源接口CON8,它是一个白色2.0mm间距的单排插座,中间均为“地”,两侧均为5V。注意,这两个5V并非是相通的,其中一个连接了外部电源的5V,另外一个则连接了经过拨动开关S1之后的5V。
它们的连接关系和相应的实物标称见下图:

3.2 复位电路

Mini2440开发板采用复位芯片MAX811实现CPU低电平复位。

3.3 LED电路

开发板具有4个用户可编程LED,它们直接与CPU的GPIO相连接,低电平有效(点亮):

 

  LED1 LED2 LED3 LED4
GPIO GPB5 GPB6 GPB7 GPB8
可复用为 nXBACK nXREQ nXDACK1 nDREQ1
使能 低电平 低电平 低电平 低电平

3.4 按键电路

开发板总共有6个用户测试用按键,它们均从CPU中断引脚直接引出,属于低电平触发,这些引脚也可以复用为GPIO和特殊功能口,为了用户把它们引出作为其他用途,这6个引脚也通过CON12引出,6个按键和CON12的定义如下:

  K1 K2 K3 K4 K5 K6
中断 EINT8 EINT11 EINT13 EINT14 EINT15 EINT19
复用GPIO GPG0 GPG3 GPG5 GPG6 GPG7 GPG11
特殊功能 - nSS1 SPIMISO1 SPIMOSI1 SPICLK1 TCLK1
对应CON12 1 2 3 4 5 6

3.5 A/D接口 

Mini2440开发板引出4路A/D(模数转换)转换通道,它们位于板上的CON4-GPIO接口。为了方便测试, AIN0连接到了开发板上的可调电阻W1,原理图如下所示:

 

3.6 蜂鸣器接口 

蜂鸣器连接到GPB0接口,通过PWM脉冲波输出控制(高电平触发)。

3.7 串口

S3C2440本身总共有3个串口UART0、1、2,它们分别对应Mini2440开发板的CON1、CON2、CON3接口。这3个接口都是从CPU直接引出的,是TTL电平。为了方便用户使用,其中UART0做了RS232电平转换,它们对应于COM0,可以通过附带的直连线与PC机互相通讯。

CON1,CON2,CON3在开发板上的位置和原理图中的连接定义对应关系如下图所示。

亲爱的读者和支持者们,自动博客加入了打赏功能,陆陆续续收到了各位老铁的打赏。在此,我想由衷地感谢每一位对我们博客的支持和打赏。你们的慷慨与支持,是我们前行的动力与源泉。

日期姓名金额
2023-09-06*源19
2023-09-11*朝科88
2023-09-21*号5
2023-09-16*真60
2023-10-26*通9.9
2023-11-04*慎0.66
2023-11-24*恩0.01
2023-12-30I*B1
2024-01-28*兴20
2024-02-01QYing20
2024-02-11*督6
2024-02-18一*x1
2024-02-20c*l18.88
2024-01-01*I5
2024-04-08*程150
2024-04-18*超20
2024-04-26.*V30
2024-05-08D*W5
2024-05-29*辉20
2024-05-30*雄10
2024-06-08*:10
2024-06-23小狮子666
2024-06-28*s6.66
2024-06-29*炼1
2024-06-30*!1
2024-07-08*方20
2024-07-18A*16.66
2024-07-31*北12
2024-08-13*基1
2024-08-23n*s2
2024-09-02*源50
2024-09-04*J2
2024-09-06*强8.8
2024-09-09*波1
2024-09-10*口1
2024-09-10*波1
2024-09-12*波10
2024-09-18*明1.68
2024-09-26B*h10
2024-09-3010
2024-10-02M*i1
2024-10-14*朋10
2024-10-22*海10
2024-10-23*南10
2024-10-26*节6.66
2024-10-27*o5
2024-10-28W*F6.66
2024-10-29R*n6.66
2024-11-02*球6
2024-11-021*鑫6.66
2024-11-25*沙5
2024-11-29C*n2.88
posted @   大奥特曼打小怪兽  阅读(5246)  评论(0编辑  收藏  举报
如果有任何技术小问题,欢迎大家交流沟通,共同进步

公告 & 打赏

>>

欢迎打赏支持我 ^_^

最新公告

程序项目代做,有需求私信(小程序、网站、爬虫、电路板设计、驱动、应用程序开发、毕设疑难问题处理等)。

了解更多

点击右上角即可分享
微信分享提示