<meta name="keywords" content="庄家克星时时彩,FPGA,IDE硬盘,接口卡" />

基于FPGA的IDE硬盘接口卡的完成

宣布时间:2010年07月18日 22:07    宣布者:conniede
要害词: FPGA , IDE硬盘 , 接口卡
弁言

本文接纳FPGA完成了IDE硬盘接口协定。系统供应两套切合ATA-6尺度的IDE接口,一个与浅易IDE硬盘毗连,此外一个与盘算机主板上的IDE接口相连。系统接纳FPGA完成接口协定,完成接口数据的截获、处置赏罚赏罚(在本文中主若是数据加密)和转发,支持PIO和Ultra DMA两种数据传输形式。下面重点简介用FPGA完成接口协定的措施。

1 IDE接口协定简介

1.1 IDE接口引脚界说

IDE(Integrated Drive Electronics)即“电子集成驱动器”,又称为ATA接口。表1列出了ATA尺度中IDE接口上的旌旗暗记。其中,带“-”的旌旗暗记(如RESET-)体现低电平有用。“偏向”是相关于硬盘而言,I体现进入硬盘,O体现从硬盘出来,I/O体现双向。

  表1:IDE接口引脚界说


1.2 IDE控制器的存放器组

主机对IDE硬盘的控制是经由历程硬盘控制器上的两组存放器来完成的。一组为敕令存放器组;此外一组为控制/诊断存放器,如表2所示。

  

表2:存放器组

特点存放器中的内容作为敕令的一个参数,其作用随敕令而变。扇区数存放器指导该次敕令所需传输数据的扇区数。扇区号存放器、柱面数存放器(低、高)、驱动器/磁头存放器三者合称为介质地址存放器,指导该次敕令所需传输数据首扇区的地址,寻址要领可以用“柱面/磁头/扇区(CHS)”或“逻辑块地址(LBA)”要领,在驱动器/磁头存放器中指定。


敕令存放器存储推行的敕令代码。当向敕令存放器写入敕令时,相关的参数必须先写入。敕令写入后,硬盘急速泉源敕令的推行。状态存放器生涯硬盘推行敕令后的效果,供主机读取。其主要位有:BSY-驱动器忙,DRDY-驱动器准备好,DF-驱动器误差,DRQ-数据请求,ERR-敕令推行掉落足。赞助状态存放器与状态存放器的内容完全类似,但读该存放器时不扫除中止请求。弱点存放器网罗了敕令推行掉落足时硬盘的诊断信息。

数据存放器为PIO传输形式下,主机和硬盘控制器的缓冲区之间阻拦数据交流的存放器。数据端口为DMA传输形式下公用的数据传输通道。

1.3 IDE数据传输要领


IDE接口的数据传输网罗PIO和DMA两种要领。PIO形式是硬盘数据传输的基本要领。在PIO要领下,数据的传输以数据块(1个或许多个扇区)为单元,每传输完一个数据块后,硬盘都邑发生一其中止请求,并向主机申报敕令推行效果。

在DMA要领下,主机和硬盘之间须要经由历程一系列握手旌旗暗记培植一个DMA通道,数据以数据流的形式传输。当传输完一个敕令的所有数据时,硬盘发生一其中止请求,并向主机申报敕令推行效果。DMA要领又分为Ultra DMA和Multiword DMA两种。Ultra DMA要领在选通旌旗暗记的上升沿和降低沿均锁定数据,前进了数据的传输速率,而且在数据传输阻拦时还要阻拦CRC校验。

2 FPGA外部框图

本设计接纳Actel公司的ProASIC PLUS系列FPGA芯片,其外部框图如图1所示。

存放器组一生涯从主机写入的敕令及敕令参数,在控制模块的作用下转发给硬盘。存放器组二生涯从硬盘读出的敕令推行效果,供主机读取。控制模块担负发生对主机及对硬盘的种种IDE协定控制旌旗暗记,并协调各模块之间的使命。控制模块接纳状态机的设计措施,其软件设计流程将不才一节中详细简介。数据处置赏罚赏罚单元对数据阻拦加/解密运算。缓冲区一、二则作为数据处置赏罚赏罚单元的输入/输入缓存。在PIO要领下,数据的处置赏罚赏罚以数据块为单元,缓冲区充当RAM的作用;在Ultra DMA要领下,数据以数据流的形式处置赏罚赏罚,缓冲区充当FIFO的作用。

3 系统软件流程

开机时,FPGA检测到复位旌旗暗记,初始化外部存放器组,并对硬盘阻拦复位操作,硬盘复位终了后FPGA进入余暇状态。FPGA在余暇状态时会检测主性能否有写敕令操作(通常一个敕令的写入,要先写特点存放器、扇区数存放器、扇区号存放器、柱面数低位存放器、柱面数高位存放器、驱动器/磁头存放器6个敕令参数存放器,最后将敕令写入敕令存放器)。当主机按序将存放器组一写完后,FPGA对主机置BSY位,并将敕令转发给硬盘,同时判毕敕令类型,凭证不合的敕令,进入照顾的敕令处置赏罚赏罚流程。

假定是有数据敕令,FPGA期待硬盘敕令的推行,敕令推行终了后,硬盘发生一其中止请求,此时FPGA将推行效果读入存放器组二中,并向主机发生中止请求。假定是有数据敕令,则凭证数据传输的形式,划分进入到下述的PIO敕令处置赏罚赏罚流程及Ultra DMA敕令处置赏罚赏罚流程。




3.1 PIO敕令处置赏罚赏罚流程

以PIO形式传输数据的敕令有Write Sectors、Write Multiple、Read Sectors和Read Multiple。当FPGA断定出是PIO形式的数据传输敕令时,转向PIO敕令处置赏罚赏罚流程。下面我们以PIO写操作为例简介。

FPGA首先查询硬盘的BSY位。若BSY为0则将硬盘的状态存放器读入存放器组二,并查询DRQ位。若DRQ为1则注解硬盘已准备好吸收数据。此时主机可以向缓冲区一写入数据块(本设计中,我们设定数据块的年夜小为1个扇区共512字节)。主机写完一个数据块后FPGA对主机置BSY位,数据处置赏罚赏罚单元泉源阻拦加密运算,并将加密后的数据写入缓冲区二。加密运算完成后,FPGA将缓冲区二中的数据写入硬盘数据缓存区,并进入期待状态。硬盘将数据写入物理介质(磁碟)后会发生一其中止请求,申报已完成该数据块的写操作。FPGA将推行效果读入存放器组二中,向主机发生中止请求,并再次查询DRQ位,若DRQ为1则进入下一个PIO数据块的传输历程,若DRQ为0则体现该敕令所有数据一切传完,FPGA进入余暇状态。

此外,Identify Device敕令是主机以PIO要领从硬盘读出512字节的属性信息(网罗硬盘的型号、容量等)。此时,数据处置赏罚赏罚单元不应对该敕令的数据阻拦加/解密运算。

3.2 Ultra DMA敕令处置赏罚赏罚流程

以Ultra DMA形式传输数据的敕令有Write DMA和Read DMA。下面我们以Ultra DMA写操作为例简介Ultra DMA敕令处置赏罚赏罚流程。


DMA传输通道的培植都是由硬盘经由历程DMARQ来请求的。FPGA吸收到硬盘的DMA请求后首先初始化主机至FPGA的DMA通道,紧接着初始化FPGA至硬盘的DMA通道。此时主机经FPGA到硬盘的DMA通道即已培植,主机向缓冲区一写入数据,同时数据处置赏罚赏罚单元对数据阻拦加密运算,并将加密后的数据写入缓冲区二,FPGA则将缓冲区二中的数据写入硬盘。在传输历程当中,若硬盘请求暂停或许缓冲区二空,则FPGA暂停向硬盘发送数据;若缓冲区一满,则FPGA请求主机暂停发送数据。
  

图3 PIO敕令处置赏罚赏罚流程


主机和硬盘都可以随时阻拦以后的DMA传输,未传完的数据将期待硬盘下一次的DMA请求时再阻拦传输。假定硬盘提出中止传输,FPGA将除去FPGA至硬盘的DMA通道,同时向主机提出中止传输,除去主机至FPGA的DMA通道,并盘算该次所传数据的CRC校验。然后FPGA进入期待状态,期待硬盘下一次的DMA请求。

假定主机提出中止传输,FPGA将除去主机至FPGA的DMA通道,同时一连向硬盘发送数据,直到将吸收到主机的数据发送终了,即缓冲区二空后,向硬盘提出中止传输,除去FPGA至硬盘的DMA通道,并盘算CRC校验。然后FPGA进入期待状态,期待硬盘下一次的DMA请求。

在期待状态下,若FPGA吸收到硬盘的中止请求,则诠释该次敕令的所有数据曾经传完,敕令阻拦。FPGA将敕令推行效果读入存放器组二,向主机发生中止请求,进入余暇状态。若吸收到硬盘的DMA请求,则诠释硬盘还未吸收到该次敕令的所有数据,此时须要断定主性能否已将所有数据发送完。假定主机并未将所有数据发送完,则再次培植FPGA两侧的DMA通道,泉源新一轮的DMA传输;假定主机已将所有数据发送完,则重新培植FPGA至硬盘的DMA通道,直到将缓冲区二中的数据发送完,并盘算CRC校验。


4 阻拦语

本文接纳FPGA完成了两套切合ATA-6尺度的IDE接口,完成主机与硬盘之间数据的截获、处置赏罚赏罚和转发。经测试,系统在DOS、Windows 98、Windows? 2000、Windows XP及 Red Hat Linux 9.0操作系统情形下,应用希捷、迈拓、三星、西数等公司的多种型号硬盘均使命正常,支持PIO和Ultra DMA两种数据传输形式。由于经由历程FPGA完成一个完全的IDE接口,若对系统略加修改,如在数据处置赏罚赏罚单元中加入照顾的文件系统,便可完成脱机读写IDE硬盘,用于数据搜集的海量存储等多种场所,使系统具有较好的通用性。

本文作者创新点:作者针对硬盘数据易泄密及高速年夜容量数据搜集艰辛等效果,提出在主机和硬盘之间应用FPGA芯片构建一个双向IDE硬盘通道,完成两套切合ATA-6尺度的IDE接口,FPGA对主机与硬盘间的数据流阻拦处置赏罚赏罚及转发,以完成硬盘数据加密、数据高速搜集存储及脱机控制硬盘等操作。系统支持PIO和Ultra DMA两种数据传输形式,对操作系统透明,较有数的单向IDE通道,该系统通用性强,有较好的推行价值。本文着重于用FPGA完成IDE接口协定,对完成历程及措施做了详细形貌,对读者有较高的参考适用价值。
迎接分享本文,转载请生涯出处:http://badahub.com/thread-15549-1-1.html     【打印本页】
您须要登录后才可以揭晓议论 登录 | 急速注册

厂商推荐

相关文章

相关视频演示

关于我们  -  服务条目  -  应用指南  -  站点舆图  -  友谊链接  -  联系我们
庄家克星时时彩-时时彩qq群-时时彩平台推荐 © 版权一切   | 京公网安备110108881021702
回顶部