关于嵌入式硬件工程师来说,在不同的公司有不同的待遇和作业:在研究所之类的国企,你有足够的时刻和联系来完结嵌入式的硬件规划,在面临商场的企业,你必须有直面问题,解决问题的才能。企业以利益最大化为方针进行日常操作,这就不古怪企业为了节约成原本进行硬件电路的修正。关于嵌入式来说,有三个部分是最重要的,那便是CPU,NANDFLASH电路和SDRAM电路。这三个部分能够看作是整个嵌入式体系的大脑,神经元和脑容量。只要三者合作杰出,功能最优才算是嵌入式体系能够作业,剩下的作业便是端口的扩展了。我触摸的榜首块ARM板子是友善的TINY6410,硬件电路也常常拿来剖析,现在以我的感悟聊聊嵌入式的神经元部分—-NANDFLASH电路。
因为S3C6410集成了NANDFLASH控制器,所以能够便利的进行NANDFLASH的衔接。该板子选用SUNSUNG的K9F2G08X0B(256M x 8 Bit NAND Flash Memory)作为NANDFLASH存储器。首要,来剖析下NANDFLASH的内存巨细,下图引证自K9F2G08X0Bdatasheet。
从图中能够看出该NANDFLASH悉数巨细为:
2048(block)*64(page)*(2K+64)(byte)=(2112Mbits=)264Mbyte
假如不考虑每页的64byte的校验,那么该NANDFLASH的巨细为
2048(block)*64(page)*(2K)(byte)=(26843546Mbits=)256Mbyte,那么和文章开端的256M能够对应上。那么8bit什么意思呢?
从上图中能够看出,该NANDFLASH的位宽为8位,那么也不难理解为什么写成K9F2G08X0B(256M x 8 Bit NAND Flash Memory)了。
已然现已了解NANDFLASH的特性,下一步检查怎么将该NANDFLASH和S3C6410衔接起来。K9F2G08X0B和CPU6410的硬件衔接如下:
S3C 6410中心板NANDFLASH接口
K9F2G08X0B 衔接网络
从K9F2G08X0B的数据手册中能够知道,该NANDFLASH为8位宽的,因而选用S3C6410的LDATA0-7为数据通道进行数据的传输。而关于16位的NANDFLASH K4X1G163PE – FGC6(8)(64Mx16 Mobile DDR SDRAM (VDD/VDDQ 1.8V/1.8V))则运用LDATA0-15。
关于NANDFLASH的操作,前期的会有一个A8位作为上下半页的判别,跟着年代的开展,现在的NANDFLASH操作起来愈加便利和简单。关于K9F2G08X0B来说,其数据传送周期如下: