通过fpga实现arm架构处理器与硬盘之间接口的方法

文档序号:6461006阅读:297来源:国知局
专利名称:通过fpga实现arm架构处理器与硬盘之间接口的方法
技术领域
本发明涉及一种网络硬盘数据处理方法,尤指一种与因特网连 接的采用ARM架构的处理器通过FPGA来实现对IDE接口的硬盘进行 数据读写控制的方法。
背景技术
随着网络技术的快速发展,数据通过网络快速地传送变得越来 越普遍,在多数情况下,需要将硬盘数据直接通过网线联入因特网, 这需要用到大量的网络硬盘,人们开始展开多方面研究希望能在保 证网络硬盘性能基础上降低网络硬盘成本,因为数据中央处理芯片 的成本占网络硬盘的很大一部分,因此最多的研究也正集中于此, 用于中央数据处理的芯片有很多种,目前在研究的有可能实现的多 种处理器芯片架构结构中,ARM架构结构的处理器具有很多优势,但 仅ARM架构结构的处理器仍难以满足需求,需要搭配其他辅助芯片 来实现,在这些辅助的芯片中,采用FPGA集成电路作为辅助芯片具 有很多的优势,FPGA (Field-programmable Gate Array,即现场可 编程门阵列)是专用集成电路中集成度最高的一种,其基本是计算 周期最短、开发费用最低、风险最小、功耗低,可以说,对小批量 系统来说,采用FPGA芯片是提高系统集成度和可靠性的较好选择, 目前市场上还没有采用ARM处理器搭配FPGA来对硬盘,例如IDE 硬盘进行控制来实现网络硬盘功能的由于ARM器件本身不带IDE接口,需要通过外接FPGA实现IDE接口功能。

发明内容
本发明的技术目的是为了提供一种通过FPGA实现ARM架构处理 器与IDE硬盘之间接口的方法。
为实现上述的技术目的,本发明通过FPGA实现ARM架构处理器 与硬盘之间接口的方法包括ARM架构处理器通过FPGA对硬盘数据进 行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连 接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA 进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬 盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架 构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写 入块缓存区并转化为硬盘数据格式写入硬盘,该通过FPGA实现ARM 架构处理器与硬盘之间接口的方法所用的硬盘接口为标准IDE接口 。
有益效果本发明的通过FPGA实现ARM架构处理器与硬盘之间 接口的方法,使用ARM架构处理器通过FPGA单元对硬盘进行读写操 作,将ARM架构处理器和FPGA处理器的诸多优势集合在一起,结合 硬盘一起提供性能更加优良的网络硬盘产品。
为便于说明和本发明有关的详细内容及技术,以下兹就配合附 图进行说明。


图1、为本发明的方法主要部件的结构框图; 图2、为本发明的FPGA的结构框图;图3、为本发明从硬盘读取数据时的步骤示意图4、为本发明向硬盘写入数据时的步骤示意图。
具体实施例方式
请参照图1所示,为本发明一较佳的实施例,该实施例通过FPGA 实现ARM架构处理器与硬盘之间接口的方法包括ARM架构处理器通 过FPGA对硬盘数据进行读写操作;ARM架构处理器与通过数据接口 分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息 数据的计算以及对FPGA进行命令控制。
其中,FPGA的作用包括提供ARM架构处理器接口、提供对硬 盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架 构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写 入块缓存区并转化为硬盘数据格式写入硬盘,请参照图2所示为 FPGA的结构框架图,该FPGA包括有ARM接口模块IO、数据流向控 制模块12、写硬盘数据块缓冲区15、读硬盘数据块缓冲区16和硬 盘接口控制器18, ARM接口模块IO用于实现ARM构架处理器接口与 FPGA内部寄存器设置,数据流向控制模块12根据该内部寄存器设置 以及ARM命令来缓存数据到写硬盘数据块缓冲区15或读硬盘数据块 缓冲区16,硬盘接口控制器18用于对硬盘扇区进行读写操作控制, 由于硬盘数据的读取是按照扇区(每个扇区512Byte),因此FPGA对 IDE硬盘也按照扇区操作,由于FPGA具有计算周期最短、开发费用 最低、风险最小、功耗低等优点,因而可以更好地满足产品的使用 需求。分为 向硬盘写数据和从硬盘读数据两种操作,下面以具体步骤分析该通 过FPGA实现ARM构架处理器与硬盘接口的方法从硬盘读出数据和向 硬盘写入数据的步骤,请参照图3所示,从硬盘读数据的操作步骤 如下
步骤100: FPGA接收ARM架构处理器的读盘命令,并通过硬盘 控制器接口 18配置IDE硬盘控制寄存器。
步骤105、 FPGA检测硬盘状态寄存器,待硬盘读数据状态位准 备好后,FPGA把硬盘一个扇区内数据全部读完,并存储于读硬盘数 据块缓冲区16的寄存器。
步骤110: ARM架构处理器判断读硬盘数据块缓冲区16寄存器 的缓存区状态是否为空,若不为空则开始读取读硬盘数据块缓冲区 16的数据。
步骤115: ARM架构处理器根据硬件状态判断读入硬盘数据块缓 冲区16内的数据状态,根据不同的硬件状态位对不同的数据(扇区 数据、硬盘状态)做相应的处理。
再请参照图4所示,向硬盘写数据操作包括如下的步骤 步骤200、 IDE硬盘接口控制器18根据ARM构架处理器配置命 令,设置写硬盘数据块缓冲区15的寄存器,每设置一个寄存器地址, FPGA将数据写入该寄存器,同时给ARM构架处理器发出置忙标志, 等待ARM构架处理器处理完数据并清除该寄存器的置忙状态后,继 续下一寄存器设置。步骤205、当FPGA开始接收ARM构架处理器写入扇区的数据时, 发送置空标志给ARM构架处理器,当接收到一个扇区(512Byte)数 据时,给ARM构架处理器发送置忙信号。
步骤210、配置完所有写硬盘数据块缓冲区15后,硬盘接口控 制器18读取硬盘状态,当硬盘状态为准备好后,开始向硬盘一次性 写入一个扇区的数据。
步骤215、向硬盘一次性写入一个扇区的数据完成后,FPGA判 断ARM构架处理器命令,如果继续写入数据,则返回步骤200。
步骤220、 FPGA读取硬盘状态,并返回给ARM构架处理器。
权利要求
1、一种通过FPGA实现ARM架构处理器与硬盘之间接口的方法,包括ARM架构处理器通过FPGA对硬盘数据进行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘。
2、 如权利要求1所述的通过FPGA实现ARM架构处理器与硬盘 之间接口的方法,其特征在于该通过FPGA实现ARM架构处理器与硬 盘之间接口的方法所用的硬盘接口为标准IDE接口 。
全文摘要
本发明涉及一种通过FPGA实现ARM架构处理器与硬盘之间接口的方法,该通过FPGA实现ARM架构处理器与硬盘之间接口的方法包括ARM架构处理器通过FPGA对硬盘数据进行读写操作,ARM架构处理器与通过数据接口分别与网络和FPGA连接,FPGA与硬盘控制器连接,该ARM提供信息数据的计算以及对FPGA进行命令控制;FPGA作用包括提供ARM架构处理器接口、提供对硬盘接口命令信号的控制、控制将硬盘扇区数据读出并转换为ARM架构格式并存储于块缓存区供ARM架构处理器调用、并将外部数据写入块缓存区并转化为硬盘数据格式写入硬盘。
文档编号G06F3/06GK101634936SQ20081006859
公开日2010年1月27日 申请日期2008年7月23日 优先权日2008年7月23日
发明者洪 李 申请人:深圳市中深瑞泰科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1