打印
[ARM Linux入门与实践]

阿南ARM训练班-第一课课堂总结(转载)

[复制链接]
2589|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
阿南|  楼主 | 2009-3-3 00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 箫笑 发表于 2009-3-2 12:29 ARM 论坛 ←返回版面    

楼主: 阿南ARM训练班-第一课课堂总结 

由于距离等等一大堆方面的原因,是否参加阿南的训练班着实犹豫了一阵子,如今得以如愿,自然分外珍惜,写个总结,认真的缕一下头绪,有不对的地方也希望阿南以及其他前辈们指正一下....

个人一向喜欢从零开始学习或者思考一个问题,想当初买回开发板做的第一件事就是把Flash擦个干净,上了课之后,觉得这个“零”还得再往前追溯一点:一块2410,一块NandFlash-k9f1208,两块SDRAM-k4s561632,现在要搭建一个最小系统:

第一课,主要讲的就是分析硬件原理图。

一、如何看Datasheet?
首先要面对的自然是芯片的DataSheet,对于一个完全不了解的芯片,主要先看以下几个方面:

1).preview简介。大概的了解一下这款处理器有什么功能,包含了什么模块等等。

2).memory内存映射图。对于写程序的人来说,这个东西是相当重要的。

3).管脚的分布及其功能。阿南特别强调了某些管脚不可以随便悬空,如nWait用于延长总线周期,如果没有使用必须将其上拉才能释放总线。

4).其他的部分可以在今后的开发中用到了再有针对性地看。

二、最小系统基本构成
跟一个单片机系统差不多,只不过是单片机把存储器集成到芯片里面了,但是这里什么都得自己来。
1).MPU
2).Flash(NOR/NAND)
3).RAM(SDARM/DDR/DR2)
4).Power and Clock(PLL)
5).Reset circuit

三、SDARM接口设计
查看DataSheet,主要有以下几种管脚:
1).数据线DQ0~DQ15
这个与2410的数据总线对应连接就可以了。

2).行/列地址线A0~A12
由于2410是按照字节寻址,但SDRAM是16Bit半字宽度,所以连接时需要错开一位,将A0连到处理器的A1,而这个系统是通过两块k4s561632串联实现32Bit数据宽度,所以需要进行字对齐连接,将A0接到A2地址总线上,其他顺次接。

3).Bank地址线BA0~BA1
在2410的手册里面,有个SDRAM BANK ADDRESS PIN CONNECTION表,里面规定了不同组织结构的SDARM的Bank地址线。所以首先要明白存储器的组织结构,看K4S56163的芯片手册,标注:4M*16Bit*4Banks。
这表示每个Bank有4M大小,即由行列地址确定的存储单元个数为4M个,16Bit是位宽,即每个存储单元存储的数据大小为16bit半字,一共包含有4个Bank,所以这个SDRAM的总容量为32MB(256Mbit)。根据这个就可以确定Bank地址线为A[24:23]。
再说一下SDRAM的访问过程,大概是这样的:首先送出Bank地址,然后再依次送出行列地址确定需要访问的存储单元,最后进行数据交换。

4).控制引脚
由于2410集成了SDRAM的管理器,所以接到相应的管脚就是了,主要是行选通RAS,列选通CASE,写使能WE,LDQM和UDQM数据I/O屏蔽用于在读模式下控制输出缓冲,在写模式下屏蔽输入数据,CS片选接在nGS6,即是把SDARM挂接在Bank6上,另外还有时钟控制线,电源等。

四、NandFlash接口设计
NandFlash与NorFlash不同,它是非线性的存储器,所以它应该不是映射到2410的内存空间上的。2410有专门的NandFlash接口管脚,相对比较容易一点,八位数据线直接与处理器的数据总线相连,ALE地址允许,CLE命令允许,CS片选使能,读/写使能,R/B等几根线都有对应的管脚相连。由于NandFlash共用八位数据线传输地址和数据,所以2410上有个NCON引脚用于选择地址的周期,一般情况下3个周期就可以完成24位的寻址范围。
关于NandFlash的启动,如果将芯片设置成NandFlash启动,会有4K大小的SRAM映射在0x0地址处,上电后硬件自动将前4K大小的代码搬到这里,首先从SRAM中运行程序,在这4K代码里需要完成将其他代码拷贝到SDRAM中,最后令程序在SDRAM中运行。

五、电源、时钟和复位电路
提到一个,设计电源的时候先让外围电路通电,最后才让处理器上电,大概与正确的开电脑顺序是相同的,主要考虑的是万一处理器已复位完成开始运行时,但要访问的外围器件还未准备就绪,就有可能会发生意外。

大概先这么多吧,其他的想到再来补充......




阿南 发表于 2009-3-3 00:05 ARM 论坛 ←返回版面    

7楼: 哈哈,总结是很好的习惯,不仅总结加深自己所掌握的,也有利于 

以后的学习.而且还可以让阿南知道您所掌握的情况.
这些是下午讲的具体的技术知识,阿南更希望大伙对上午所交流的非具体技术的东东,如人生\职业发展等有更多的体会,这些有可能是关系到人的一生的.
再次鼓励支持,希望能有更多的总结\支持.

   阿南ARM训练班,兄弟们给个建议:
Email:ccn422@hotmail.com;QQ:545126343 
《ARM Linux入门与实践》书友会 

 
 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5786

主题

10222

帖子

463

粉丝