论文部分内容阅读
随着手持嵌入式产品功能的多样化,系统所需要的存储空间不断增大。与此同时,硬盘技术的发展日新月异,新型微硬盘容量不断增大,而体积和价格却逐渐下降。在各种手持嵌入式产品如掌上电脑、个人媒体播放器、手持GPS导航等设备中,微硬盘的使用越来越广泛,硬盘将是闪存和其它存储器的有力竞争者。本文在以PXA255处理器为核心,通过总线方式和I/0方式连接众多外围电路模块的掌上电脑平台上,实现了基于嵌入式Windows CE.net 4.2系统的硬盘数据传输功能。PXA255处理器存储控制器可以提供多种硬盘接入的方式,一是通过PCMCIA/CF接口,另一种是通过VLIO(variable latency input/output)存储器接口。本文根据PXA255处理器存储器特性、硬盘控制器接口特性及ATA(Advanced Technology Attachment)传输协议,设计了采用CPLD(Complex Programmable Logic Device)实现硬盘驱动器到PXA255处理器的VLIO存储器接口的硬件连接方案,CPLD根据处理器输出的控制信号和地址信号,产生硬盘控制器所需要的片选和其它传输控制信号。该方案电路设计简单,功耗低,并且同时支持PIO(Programmed I/O)和DMA(Direct Memory Access)的数据传输方式。基于此硬件连接设计方案,本文根据嵌入式Windows CE.net 4.2系统中块设备驱动的特点,采用流接口形式实现了硬盘软件驱动。本文实现了硬盘读写操作和其它输入输出控制接口函数,在同一接口中实现了PIO和DMA数据传输模式,并对这两种传输模式进行了比较和分析。为了降低在数据传输过程中对处理器的占用率,驱动实现了以中断方式控制硬盘数据的传输。由于嵌入式系统中电池电量是有限的,而硬盘功耗比较大,驱动提供了硬盘电源管理的接口,用以降低系统的整体功耗。最后,本文对硬盘驱动软件作了优化,以提高数据传输速率,并且进行了测试和分析。目前,本文描述的各项工作已全部完成。经过测试,硬盘在PIO方式下的数据传输速度为2.2~2.3MB/s,DMA方式下的传输速度为2.4~2.5MB/s。硬盘数据传输稳定,整个系统运行良好。