科技

您的位置:主页 > 科技 >

基于ARM920T微处理器的IDE硬盘接口设计与实现

发布日期:2020-12-19 00:20浏览次数:
本文摘要:1章节目录二十世纪90年代中后期,嵌入式操作系统在工业生产操控、实时监控和数据收集等行业的运用于日渐广泛,大家对嵌入式操作系统的存储量也明确指出了较高的回绝。因而研制开发仅限于于嵌入式操作系统的大空间、高速传输、很高的可靠性的数据信息分布式存储看起来日渐最重要。

名仕亚洲网站

1章节目录二十世纪90年代中后期,嵌入式操作系统在工业生产操控、实时监控和数据收集等行业的运用于日渐广泛,大家对嵌入式操作系统的存储量也明确指出了较高的回绝。因而研制开发仅限于于嵌入式操作系统的大空间、高速传输、很高的可靠性的数据信息分布式存储看起来日渐最重要。文中对于一款根据ARM920T处理芯片的单片机开发板,依据ATA硬盘控制模块标准,设计方案了IDE硬盘控制模块电源电路,搭建了对IDE硬盘的载入,能够在Linux系统软件中对其上的系统文件支配权访谈,超出了高速传输和很高的可靠性的回绝。

2ARM920T与S3C2410解读ARM还包含一系列微应急处置半导体技术。ARM920T是ARM系列产品微控制器的一种,它应用5环节管道化ARM9TDMI核心,另外装有了Thumb扩展、EmbeddedICE调节技术性和Harvard系统总线。在生产工艺流程完全一致的状况下,特性均值ARM7TDMI处理芯片的二倍之多。

ARM920T系列产品关键运用于电视机顶盒商品、便携式电脑、笔记本和复印机。S3C2410CPU是Samsung企业根据ARM企业的ARM920TCPU核,应用0.18umSU建加工工艺的32位系统微控制器。

该CPU具有独立国家的16KB命令Cache和16KB数据信息Cache、MMU、抵制TFT的LCD控制器、NAND储存器控制器、3路UART、4路DMA、4路带PWM的Timer、I/O口、RTC、8路10位ADC、TouchScreen控制模块、IIC-BuS控制模块、IIS-BuS控制模块、两个USB服务器、一个USB设备、SD服务器和MMC控制模块和2路SPI。S3C2410CPU最少可经营在268MHz。3IDE控制模块以及标准IDE(IntegratedDriveElectronics)是指IBMPC/AT上用以的ATA控制模块发展趋势而成的。IDE/ATA磁盘驱动器与初期的ATA控制器相比,降低了每日任务文档寄存器,还包含数据信息寄存器、情况寄存器及其反映详细地址的控制器号、磁带机号、道号和磁道号寄存器等。

ATA控制模块标准界定了通信电缆和电源插头的家用电器特点、数据信号的家用电器和逻辑性特点,还界定了储存设备中可操作者的寄存器及其指令和协议书。3.1寄存器标准界定了2组寄存器:指令寄存器和操控寄存器。指令寄存器用于对接指令和传输数据,操控寄存器用于操控磁盘操作。

常见的寄存器还包含数据信息寄存器、指令寄存器、控制器/磁带机寄存器、面层号寄存器、磁道号寄存器、磁道数寄存器和情况寄存器。3.2传输数据方法ATA控制模块标准界定了二种传输数据方法:可编程控制器I/O(PIO)方法和DMA方法。

PIO传输技术下,CPU对控制器的访谈全是根据PIO进行的,还包含从控制器载入情况信息内容和错误报告,及其向控制器推送指令和主要参数。在一次PIO传输数据全过程中,CPU先开店选址,随后使读/写成数据信号合理地,CPU或控制器敲数据信息到系统总线,控制器或CPU获取数据,操作者顺利完成后,出狱系统总线,那样一次传输数据顺利完成。

DMA方法,即必需运行内存访谈,CPU把缓冲区域的详细地址与务必载入的长短对他说外接设备,外接设备于准备好后向CPU接到一个DMA催促,回绝CPU终止用以运行内存,获得完全同意后就必需在运行内存和外接设备中间传送数据,顺利完成后再作把对运行内存的采访权退还给CPU。4硬件配置搭建如图所示1下图,S3C2410与硬盘中间控制模块电源电路分为3个一部分:剧中选数据信号、信号和操控数据信号。硬盘上寄存器分为2组,各自由IDE_CS0和IDE_CS1选秀权,DA0~DA2则作为同组寄存器传输速度;手机充电线DD0~DD15因不会有輸出/键入方位难题,故用nOE(读信号)接buffer(74LVTH162245)的DIR扩展槽来操控油压缓冲器方位;操控数据信号一部分因该CPU与硬盘中间DMA时钟频率不完全一致,故应用一块EPM7032AETC44-7处理芯片作为调节其时钟频率。

名仕亚洲网站

PIO方式下,不务必DMARQ和nDMACK数据信号,DMA方式下,这两个数据信号才起具有。5手机软件搭建硬盘驱动软件搭建分为复位、合上设备、设备I/O操作者和出狱设备等几一部分。5.1硬盘复位与X86各有不同,在ARM系统架构中,对运行内存和外接设备的访谈用以统一的命令,因此 要对外开放另设详细地址进行运行内存同构。

换句话说,根据一张表将I/O详细地址映射到内存室内空间中,这些工作中是在系统软件复位期内顺利完成的。在IDE分系统复位期内,Linux系统软件一旦寻找一个IDE控制器,就设定它的ide_hwif_t构造来反映这一控制器和与之联接的硬盘;向Linux的VFS申请注册每一个控制器,并各自把它加上blk_dev和blkdevs空间向量表格中;催促操控必需的IRQ终断(主IDE控制器是14,次IDE控制器是15)和I/O室内空间(主控制器0x1f0,次控制器0x170):为每一个找寻的IDE控制器在gendisk目录中降低一个内容。IDE硬盘的复位工作中由idedisk_init顺利完成:(1)在数组ide_hwifs中寻找登记得各IDE控制器操控的全部IDE硬盘(一个控制器数最多操控2个硬盘),每一个IDE硬盘相匹配一个ide_drive_t构造。(2)对找寻的每一个IDE硬盘,调用函数ide_register_subdriver填入各IDE硬盘构造中的涉及到信息内容域,主要是填入其驱动软件构造ide_driver_t。

硬盘驱动器中的涵数do_rw_disk根据向硬盘操控寄存器写成主要参数起动磁盘操作,顺利完成的确的数据信息载入。(3)对找寻的每一个IDE硬盘,调用函数idedisk_setup更进一步设定其ide_drive_t构造,还包含设定该构造的settings域、doorlocking域、cyl、head、sect域、id域等。5.2合上设备合上块设备的操作者与合上一般文档的操作者基本一致。(1)在当今过程的文件描述符表格中为合上文档去找一个位置,申报人一块运行内存,作为建立新的文档的合上文档目标,即构造file。

(2)分析设备相近文件夹名称,获得其VFSinode和dentry构造,依据dentry构造填入file构造,特别是在是将file构造的f_op域划为其VFSinode中的默认设置文档操作者。(3)执行该文件操作者集中化于的open操作者,即blkdev_open,它依据设备相近文档的次序设备号从blkdevs空间向量表格中放进早就备案的文档操作者集(file_operations)fops,用该构造更换file构造中的f_op域。(4)执行中澳的文档操作者集中化于的open操作者,即bl果断kdev_open,它依据VFSinode中的i_rdev域查看数组ide_hwifsp[],借此机会寻找该IDE硬盘所相匹配的ide_drive_t构造;假如ide_drive_t构造中备案有驱动软件,执行驱动软件集中化于的open操作者。(5)将合上文档目标放进到当今过程的文件描述符表格中,返回文件描述符,即合上文档目标在过程文件描述符表格中的数据库索引。

5.3设备I/O操作者载入块设备时要选用块缓冲区域(bufer),对bufer的管理方法应用BuferCache体制。它管理方法bufer的开创、注销、多次重复使用、查看、重做等,另外也要与系统软件中的其他一部分(如系统文件、代码优化等)互动。Linux将BufferCache从块设备驱动软件中独立国家出去,做为对块设备载入的规范化体制,因此 对块设备的读、写成、即时等操作者应用的全是由电脑操作系统获得的公共性涵数,一般为block_read()和block_write()。为了更好地提升对块设备操作者的频次,载入块设备时应用推迟操作者,尽量将好几个存取数据分拆,因此 操作者催促并不是马上递交给物理学设备,只是获得了一种方式纪录每一次的催促(request),并且为每种块设备获得一个催促序列用于排长队、分拆、资产重组对该块设备的催促。

当务必从硬盘阅读时,block_read()涵数最先查看BufferCache假如在这其中能找寻务必的buffer,则立刻返回:不然,溶解一个阅读催促,并将其重进适度的催促序列排长队。当务必向硬盘写成时,block_write()为本次写成操作者溶解一个buffer,然后溶解一个写成催促,并将其重进适度的催促序列排长队。块设备驱动软件获得了一个催促处理函数,对硬盘来讲是涵数do_rw_disk。

在必需的情况下,硬盘的催促处理函数起动,do_rw_disk应急处置在催促序列上排长队的催促,根据向硬盘接到阅读、写成指令顺利完成对设备的的确操作者。其逆编码以下:C程序流程DO_RW_DISK(COMMAND){Set_Registers();if(COMMAND=READ){Setread_intrasinterruptprocessfunctionSendWIN_READorWIN_MULTREADcommandtoCommandregister}if(COMMAND=WRITE){SendWIN_WRITEorWIN_MULTWRITEcommandtoCommandregisterGetthestatusofStatusregisterandsetDRQbitSetwriteintrasinterruptprocessfunctionSenddatatobuferinthedisk}}5.4出狱设备由设备驱动软件中的release操作者顺利完成,一般顺利完成与合上设备忽视的姿势:出狱合上设备相近文档时在file构造上所开创的独享构造;如果是最后一个设备的出狱,则从硬件配置上再开设备。6结语根据所述方式对IDE硬盘控制模块的设计方案与搭建,我们可以在S3C2410单片机开发板上安全系数支配权地对硬盘上的各种各样系统文件进行访谈,因为应用DMA方法,能够满足客户需求对速度的回绝。


本文关键词:名仕亚洲网站,基于,ARM920T,微处理器,的,IDE,硬盘,接口,设计

本文来源:名仕亚洲网站-www.fsc93.com

微信扫码 关注我们

  • 24小时咨询热线

    24小时咨询热线074-67019630

  • 移动电话19190828046

Copyright © 2006-2020 www.fsc93.com. 名仕亚洲网站科技 版权所有 地址:浙江省湖州市南安市视平大楼8587号 备案号:ICP备50974370号-8 网站地图 xml地图