基于ARM芯片的PDA系统中硬件设计实现

【摘要】嵌入式PDA系统广泛应用于各个领域,为了设计一个高性能低成本的PDA系统,本设计利用ADS1.2开发环境开发基于ARM芯片的PDA系统,采用STR710芯片设计PDA硬件电路系统,利用坏块管理技术实现NAND_FLASH的存储管理,提高系统的整体性能,以及其在整体电路系统设计中外围芯片与CPU连接方式的可行性探讨,通过本设计很好的实现了预期目的,证实了系统采用ST公司的STR710芯片设计一套嵌入式PDA的可行性。

毕业论文网 /2/view—12229797.htm  【关键词】ARM,嵌入式PDA,驱动程序,非线性闪存   1.引言   随着CPU技术的进一步发展,基于ARM平台的32位嵌入式PDA技术也得到了很大的发展。

PDA已经从原来简单意义上的个人数字助理,变成了人们一时也不能离开的随身工具。

设计基于ARM平台的STR710 CPU,主要完成了其硬件电路设计实现并通过编程实现液晶显示器、NANAD_FLASH的驱动的设计并在此基础实现PDA的图形操作。

2.系统设计及功能模块   本设计中主要采用了ARM平台的32位处理器STR710、NAND512W3、 MAX4468语音数据采集心片以及LCD液晶显示器,在完成硬件电路的基础上编写程序实现LED显示器及NAND_FLASH驱动,本系统采用STR710单片机设计实现PDA系统具有很高的性价比和可靠性特别是在AD采集上具有12位的精度非常适合工业和手持设备使用。

2.1 STR710及NAND512W3主要芯片功能介绍。

ST?ARM微控制器集成了常用的各种外设,弥补了其他许多ARM微控制器的不足,可以大大简化系统硬件设计

在本设计中采用NAND _FLASH是由于在PDA系统中一般需要存放大量代码及数据而NAND512W3系列芯片正具有很高的存储密度,可擦写性能好,稳定性好等优点很适合做PDA的存储芯片,而且具有很高的性价比。

2.2 STR710与各芯片的功能模块及接口电路设计   (1)系统主要功能模块。

在本系统中PDA主要有以下功能:通过CPU的控制实现LCD显示屏的显示控制,NAND_FLASH的存储操作、并实现数据的FAT16格式存储,数据ADC采集, USB接口的识别及控制键操作等功能模块。

(2)STR710与主要外围芯片接口电路   NAND_FLASH接口电路   本设计采用STR芯片的BANK3作为NAND_FLASH的外部存储I/O口,主要引脚ALE、CLE引脚与处理器的P2.5、P2.6连接作为地址和命令锁寸引脚的I/O口,读、写使能RE、WE引脚与nRD和nWE连接,I/O口与处理器的D0~D7连接用于数据传输。

如图2就是NANDFLASH与STR710的典型接口连接图。

设计NANDFLASH与STR710的接口电路图时不能将电路设计为ALE、CLE、WP、R/B 全部连接到STR710的地址线上,这样在写入命令或地址时会引起CLE和ALE(对应MCU的地址线)在写信号WE的上升沿锁存时保持时间至少应达到10ns,而MCU的芯片说明中写信号WE发出之后,地址线在WE的上升沿后的保持时间只有3ns,这样一来两者之间会造成时序的不匹配。

无法正确操作NAND_FLASH。

设计时须采用将上述引脚与CPU的GPIO引脚连。

LCD接口电路   本设计采用160*160像数LCD液晶显示器,R18是一个滑动变阻器可用于液晶显示器进行灰度的调节。

3.PDA系统功能的实现   完成硬件电路设计并调试通过后主要针对以下3方面的软件编程功能实现:   对硬件电路(CPU及主要外围电路)的初始化,NAND_FLASH驱动程序和LCD驱动程序的编写及实现

3.1系统初始化

初始化硬件电路主要完成了STR710各寄存器的配置及内存映射和中断向量配置、处理器与外芯片初始化以及功能库函数加载等,其主要步骤是首先调用71x_init.s源文件完成CPU各寄存器的初始化配置后中断异常的处理实现及中断优先级设置、系统堆栈和变量的初始化最后完成初始化后使用BL 语句跳转至MAIN功能函数:IMPORT main; B main ;main为C语言主函数入口   3.2NAND_FLASH驱动程序:NAND_FLASH的驱动主要包括芯片的复位,ID的正确读取,块的擦除,和页的写入和读取几个操作,此外NAND_FLASH允许要2%的坏块,在编写驱动时要做好NANDFLASH的坏块的统计与管理,坏块的识别主要是读取块中第一页的第6字节的一个WORD是否为FF来判断块的好坏,为了便于统计坏块和存储管理须在调用NANDFLASH内存管理函数时建立坏块统计表,系统不断使用会增加坏块的数量,在每次系统启动时都可以通过调用内存管理函数来更新坏块实现对内存的最优管理以提高系统的性能。

3.3 LCD驱动程序设计:本系统LCD驱动程序主要是对屏幕显示的初始化包括字符显示高度和宽度、行字符显示数、显示频率的设置以及显示点位移设置、显示合成设置、休眠模式设置、光标形状设置、光标指针设置等操作。

设计好驱动后利用ADS1.2编译器将程序烧至RAM进行调试,可根据屏幕显示字符尺寸大小及适宜程度在做修改驱动程序直至满意。

4.系统调试。

设计硬件系统后,要对电路板进行整体调试看各功能模块是否正常,值得注意的是在设计NAND_FLASH接口电路时不能将ALE、CLE、WP、R/B 全部连接到STR710的地址线上否则会引起两者间的时序不匹配。

设计NAND_FLASH文件系统时采用F16系统可根据系统需要修改ST公司提供的F16文件系统代码。

5.结束语。

设计基于ARM芯片的STR710嵌入式PDA系统,很好实现硬件系统设计以及LCD显示器、NAND_FLASH的驱动程序基于F16文件系统在NAND_FLASH大容量数据的文件存储管理。

随着信息化,智能化,网络化的快速发展,嵌入式PDA技术也将获得广阔的发展空间。

参考文献:   [1] ST公司. STR71XF_DATASHEET.PDF 2002.4: 1—50.   [2] ST公司. NAND512w3a_DATASHEET.PDF 2001.6: 1—46.

6 次访问