




已阅读5页,还剩80页未读, 继续免费阅读
(信号与信息处理专业论文)网络硬盘存储系统设计与fpga实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学硕士研究生学位论文 网络硬盘存储系统设计与f p g a 实玖 摘要、 随着信息技术的发展,数据存储技术变得越来越重要,而快速便捷的 网络数据存储技术更是成为人们现在研究的热点问题。本文研究设计的正 是基于f p g a 的网络硬盘存储系统,实现了用户数据的网络存储。系统以 a 1 队接口类型硬盘作为存储介质,用f p g a 及其内部的m i c r o b l a z e 软核处 理器实现存储控制、网络传输、n f s 服务及文件系统。 对触r a 协议进行深入研究,分析提取主机端工作原理与工作过程,用 v h d l 硬件描述语言实现可脱离c p u 的a 1 队主机端控制器i p 核。本控制 器可以通过p i o 模式、m d m a 模式和u l t r a d m a 模式分别对硬盘进行读 写访问,并实现硬盘软硬复位及器件检测等功能。 分析研究i e e e 8 0 2 3 规范和t c p i p 协议族,根据各自功能在f p g a 上 分别实现以太网控制器和精简t c p i p 协议。其中,以太网控制器模块能独 立完成符合i e e e 8 0 2 3 规范的数据帧传输,为数据网络传输提供链路层支 持。t c p i p 协议模块实现了经裁剪的t c p i p 协议族,包括的协议有链路层 的a r p 协议,网络层的i p 协议,和传输层的u d p 、t c p 协议;能实现基于 u d p 和t c p 协议的数据网络传输,并具有地址解析的功能。最终通过数据 缓存模块将以太网控制器模块和t c p i p 协议模块合理结合,组成一个无主 机控制的网络控制器i p 核,该i p 核可以直接完成应用层数据网络传输。 在m i c r o b l a z e 上移植p e t a l i n u x 操作系统和n f s 服务器,组成系统的软 件基础;再将a t a 主机端控制器i p 核和网络控制器i p 核挂载到m c r o b l a z e 的p l b 总线上,构成系统的硬件平台;最终通过软硬件协调工作实现数据 的网络存储。此网络硬盘存储系统基于f p g a 完成,既具有s o c 的特点又 拥有现场可编程的优势,故其可移植性强,应用方便。 太原理工大学硕士研究生学位论文 关键词:网络存储,i p 核,a t a 控制器,以太网控制器,t c p i p i i 太原理工大学硕士研究生学位论文 t h ed e s i g na n df p g a 脚l e m e n l 7 a t i o no fn e t w o r k ha rd d i s ks t o r a g es y s t e m a b s t r a c t w i t ht h ed e v e l o p m e to fi n f o r m a t i o nt e c h n o l o g y , t h ed a t as t o r a g et e c h n o l o g y i sb e c o m i n gm o r ea n dm o r ei m p o r t a n t ,a sw e l la st h eq u i c ka n de a s yn e t w o r k d a t as t o r a g et e c h n o l o g yh a sb e c o m eah o tr e s e a r c h an e t w o r kd a t as t o r a g e s y s t e mw h i c hb a s e do nf p g a i sd e s i g n e di nt h i sa r t i c l e ,t h i ss y s t e mr e a l i z e st h e n e t w o r ks t o r a g eo fu s e rd a t a t h es y s t e ma d o p t sa na t a - h a r d d i s ka st h es t o r a g e m e d i a ,a n di m p l e m e n tt h es t o r a g ec o n t r o l l i n g ,t h en e t w o r kt r a n s m i t t i n g ,t h en f s s e r v i c ea n dt h ef i l es y s t e mo nm i c r o b l a z ep r o c e s s o ro ff p g a t h ep a p e rs t u d i e sa t ap r o t o c o l ,a n a l y z e sa n de x t r a c t st h ew o r kp r i n c i p l e a n d p r o c e s s ,a n di m p l e m e n t an o - c p ua t ah o s tc o n t r o l l e r b y v h d l l a n g u a g e t h ea t a c o n t r o l l e rc a nu s ep i om o d e ,m d m am o d ea n du l t r a d m a m o d et ow r i t e r e a dh a r d - d i s kr e s p e c t i v e l y , a l s oh a st h ef u n c t i o no fr e s e t t i n ga n d i d e n t i f y i n gt h e nh a r d d i s k h a sa n a l y s e da n dr e s e a r c h e dt h ei e e e 8 0 2 3s t a n d a r da n dt c p i pp r o t o c o l f a m i l i e s ,a n dr e s p e c t i v e l yr e a l i z e dt h ee t h e m e tc o n t r o l l e ra n dt h es i m p l i f i e d t c p i pp r o t o c o lo nf p g aa c c o r d i n gt ot h e i rr e s p e c t i v ef u n c t i o n s t h ee t h e m e t c o n t r o l l e rm o d u l ec a nf i n i s hd a t af r a m et r a n s m i s s i o nt h a tm e e t si e e e 8 0 2 3 s t a n d a r d i n d e p e n d e n t l y , a n dp r o v i d e s l i n k l a y e rs u p p o r t f o rd a t an e t w o r k t r a n s m i s s i o n t c p i pp r o t o c o lm o d u l ei m p l e m e n t st h ec l i p p e dt c p i pp r o t o c o l f a m i l i e s ,i n c l u d i n g t h ea r p p r o t o c o l so fl i n kl a y e r , t h ei pp r o t o c o lo fn e t w o r k l a y e r , a n dt h eu d p , t c pp r o t o c o lo ft r a n s p o r tl a y e ;i tc a nr e a l i z et h ed a t a n e t w o r kt r a n s m i s s i o nb a s e do nu d pa n dt c pp r o t o c o l ,a n dh a v et h ef u n c t i o no f a d d r e s s r e s o l u t i o n f i n a l l y , t h r o u g h t h ed a t ac a c h em o d u l e ,c o m b i n e st h e e t h e r n e tc o n t r o l l e rm o d u l ea n dt h et c p i pp r o t o c o lm o d u l er e a s o n a b l y , a n d m a k e su pan e t w o r kc o n t r o l l e ri pc o r ew i t h o u th o s tc o n t r o l ,t h ei pc o r ec a n i i i 太原理工大学硕士研究生学位论文 d i r e c t l yc o m p l e t e d a t an e t w o r kt r a n s m i s s i o no fa p p l i c a t i o nl a y e r h a st r a n s p l a n t a t e dp e t a l i n u x o p e r m i o ns y s t e m a n dn f ss e r v e ro n m i c r o b l a z e ,w h i c hm a k e su pt h es y s t e m ss o f t w a r ef o u n d m i o n ;t h e nt h ei pc o r e 斌觚kh o s tc o n t r o l l e ra n dn e t w o r kc o n t r o l l e ri pc o r ea r eh o o k e dt ot h e m c r o b l a z ep l bb u s ,w h i c hc o n s t i t u t e st h e s y s t e m sh a r d w a r ep l a t f o r m ; f i n a l l y , t h r o u g ht h es o f t w a r ea n dh a r d w a r ec o o r d i n a t i n gw o r k ,r e a l i z e st h ed a t a n e t w o r ks t o r a g e t h i sn e t w o r kh a r dd i s ks t o r a g es y s t e mi sc o m p l e t e db a s e do n f p g a ,w h i c hh a st h ec h a r a c t e r i s t i c so fs o ca n dh a sa d v a n t a g eo ff i e l d p r o g r a m m a b l e ,s oi t sp o r t a b i l i t yi ss t r o n ga n dc o n v e n i e n tf o ru s e k e yw o r d s :n e t w o r k s t o r a g e ,i p c o r e ,a t ac o n t r o l l e r , e t h e m e t c o n t r o l l e r , t c p i p i v 太原理工大学硕士研究生学位论文 1 1 存储技术简介 第一章绪论 数据存储技术已经成为继互联网之后的又一个热点技术。目前对数据存储的研究方 向主要有存储介质的研究以及存储接口和存储控制的研究等。 纸质的穿孔带是最早的存储介质,规定有孔为“1 ”,无孔为“0 ”,这种方式费时费 力;磁带是主要的磁性存储介质,优点是容量大、成本低,但是定位等待时问长且不易 保存;从2 0 世纪8 0 年代开始,光盘存储开始出现并迅速发展,光存储容量大、价格低 且安全可靠,但是它刻写速度慢不能满足实时存储的要求;硬盘是现在普遍采用的存储 设备,硬盘具有容量大、成本低、速度快等优点,本文设计的存储系统正是利用硬盘作 为存储介质【1 1 。 单片机系统是较早采用的存储控制系统,随着大规模集成电路的发展和制造工艺水 平的提高,s o c 已经迅速被应用到存储控制中。而本文设计的存储系统运用f p g a 及其 内部的m i c r o b l a z e 软核处理器作为存储控制模块,既具有s o c 的特点又拥有现成可编 程的优势。 1 2f p g a 介绍 f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ) 即现场可编程门阵列,是在c p l d 等可编 程器件基础上的发展产物。f p g a 是作为专用集成电路( a s i c ) 领域中的一种半定制电 路,既弥补了定制电路的不足,又解决了c p l d 门电路资源有限的缺点【到。 本设计采用x i l i n x 公司n e x _ i i 开发平台,芯片型号为x c 2 v p 3 0 ,此芯片内部除 拥有丰富的逻辑电路资源外,还有可进行软件开发的处理器软核- - m i c r o b l a z e 【3 】。以 m i c r o b l a z e 为主控制器,配合自主开发实现的p 核完成整个系统的设计与实现。 1 2 】m i c r o b l a z e m i c r o b l a z e 是一个被x i l i n x 公司优化过的嵌入式c p u 软核,其处理速度快、综合 后占用f p g a 资源少且可配置性强【4 1 。m i c r o b l a z e 基于微处理器i p 核,可以同其他外部 i p 核配合实现可编程系统芯片的设计,即s o p c 。 m i c r o b l a z e 软核采用r i s c 架构和哈佛结构的指令、数据总线。内部拥有3 2 个通用 寄存器和两个特殊寄存器( 指针寄存器和状态寄存器) 。其指令执行采用三级流水并行 1 太原理工大学硕士研究生学位论文 执行方式,三级流水包括取指、译码和指令执行。此外,m i c r o b l a z e 还具有指令缓存和 数据缓存的功能,这样有效提高了其工作效率。 m i c r o b l a z e 可以对软中断、硬中断以及外部扩展中断作出响应,可通过j t a g 口利用 x d m ( 微处理器调试模块) 调试处理器系统。m i c r o b l a z e 采用i b m 公司的c o r e c o n n e c t 总线架构,包含的主要总线有:片上外设总线( o p b ) 、设备控制寄存器总线( d c r ) 和处理器本地总线( p l b ) 【5 1 。 ( 1 ) o p b 总线 o p b 一般包括四部分:主设备,从设备,仲裁器和连接器,内核通过o p b 总线访 问低速或者低性能的资源和设备【6 】。o p b 总线支持挂载添加新的外围设备,添加的外围 设备工作时钟同步于系统时钟,并且共享地址和数据总线。 ( 2 ) d c r 总线 d c r ,即设备控制寄存器总线( d e v i c ec o n t r o lr e g i s e r ) ,主要用于通用寄存( g p r s ) 和从逻辑设备控制寄存器( d c r s ) 之间的数据传输。 ( 3 ) p l b 总线 p l b 总线提供6 4 位数据线和3 2 位地址线,用户可通过p l b 提供的数据和地址线 挂载自定义外设,供m i c r o b l a z e 访问和调用。处理器通过地址线和读写数据线与p l b 总线相连,其中数据总线有传输控制信号和状态信号协同完成数据传输,主机需要通过 竞争来获得p l b 总线的使用权【7 】。本设计即是通过p l b 总线外接自定义外设来组成整 个硬件平台的。 1 2 2e d k 开发套件 e d k 是x i l i n x 公司提供的嵌入式开发套件。在e d k 中主要集成的软件工具有x p s 和s d k ,此外还包含有m i c r o b l a z e 软核处理器以及各种常用口核资源,如双端口r a m 、 以太网控制器、d c m 时钟分频器等,在设计时可以方便的调用口核来协同设计。 ( 1 ) x i l i n x 平台工作室( x p s ) x p s 是在x i l i n xf p g a 上进行嵌入式系统开发时必不可少的开发环境,主要负责系 统硬件平台的搭建和编译。x p s 提供简洁方便的图形化界面,可以直接将需要的口核 拖动添加到设计中,有助于快速准确的完成硬件平台创建。 ( 2 ) 软件开发套件( s d k ) s d k 是基于e c l i p s e 的开发环境,支持c c + + ,用于嵌入式软件应用的开发和验证【8 1 。 2 太原理工大学硕士研究生学位论文 ( 3 ) i p 核及其他部分 e d k 中包含有丰富的i p 核资源,如用于嵌入式系统开发的m i c r o b l a z e 软口核,用 于调试的c h i p s c o p 核,用于存储的块r a m 核,用于总线桥接的“p l bt of s l ”核等。 此外,还包含有嵌入式软件开发所必需的驱动和库。 基于f p g a 的一个完整嵌入式设计流程包括:硬件设计、软件设计以及相应的软硬 件调试,各个步骤相对独立但又相辅相成【9 】。由于嵌入式应用场合多样,可根据需要对 软硬件进行裁剪。图1 1 为基于e d k 的嵌入式简化流程图。 l 软件开发套 i 件( s d z ) x i l i n 平台( ) 口s ) 软件开发 硬件开发 验证 外部仿真器 j 墨垦肚静罾l 7 i 丽什阢且1 1 i s e 图1 - 1e d k 简化流程图 f i g u r e l - 1t h es i m p l i f i e df l o wc h a r to f e d k 在e d k1 0 1 及之前的版本中,简单的软件开发可以在x p s 中完成,相对复杂的设 计需要在s d k 中进行;而之后的版本要求所有的软件开发和调试都必须使用s d k 来完 成。软硬件设计结束后,将生成的比特流和可执行格式文件下载到目标板,就可以进行 下一步的板级验证调试。 基于x i l i n xf p g a 及其e d k 套件的嵌入式开发流程如图1 2 所示,其主要步骤有: ( 1 ) 构建硬件平台:利用x p s 的板级开发包向导( b s bw i z a r d ) 可以快速构 建设计硬件平台。构建硬件平台时可根据具体需要选择裁剪硬件模块i l o 】,包括: d d r 存储器、调试模块( d e b u g _ m o d u l e ) 、中断模块、定时器模块等。 ( 2 ) 添加】p 核:开发设计时根据需要添加x p s 库中提供的i p 核。对于库中没 的i p 核,用户可以自己通过h d l 定制,再通过用户自定义外设添加向导将定制 i p 核加入硬件平台,完成i p 核添加。 ( 3 ) 生成仿真文件并对系统进行测试:通过e d k 生成仿真文件,利用s i m u l a t i o n 或者m o d e l s i m 等工具对系统特别是用户添加的定制i p 核进行测试;如果测试 3 太原理工大学硕士研究生学位论文 出现错误,则再对设计重新作出修改。 仿真流程 硬仟产程i 创建硬件平台i 软件设计 流程 r 定赢p 核ii 设置软件属性i 1h 。兰。 i 生成仿真文件l l 设置工程特性 上上 设置编译 1r 和连接属 设置b s p 1p 1p 生成硬件流文件 性 和库文件 使用使用 上上 s i m u l a t i o nm o d e l s i m 仿 上 设置可执 仿真真 生成操作 b i t 流文件行软件代 系统内核 码 r 下载b i t 文件 上上 c h i p s c o p e x m d 工具调 调试试 图1 2f p g a 嵌入式设计流程图 f i g u r e l 2t h ee m b e d d e dd e s i g nf l o wo ff p g a ( 4 ) 生成硬件比特文件:生成硬件网表和比特流文件,此步骤与i s e 中对h d l 程序进行布局布线、生成比特流文件相似。 ( 5 ) 软件开发:根据系统的功能要求编写软件代码,最终将软件代码、连接文 件等编译生成e l f 可执行代码。 ( 6 ) 合并软、硬件比特流:软硬件开发皆完成后,将两部分可执行文件合并, 生成最终可下载比特文件。 ( 7 ) 下载比特流:将最终生成的二进制比特流文件下载到目标开发板。 ( 8 ) 在线调试:下载比特流后可利用c h i p s c o p e 和x m d 进行在线调试,也可利 用串口打印相关信息进行调试。 1 3i p 核简介 i p 核即具有知识产权的集成电路芯片的简称,也可理解为具有特定功能的h d l 程 序,该程序可以移植到不同的集成电路中。随着设计规模和复杂度的提高,调用i p 核 可以大大减轻重复设计,因此基于i p 核的开发设计是集成电路的一个发展趋势。 i p 核可分为硬核、固核和软核。硬核是经过优化后的照相版图,优点是:误差、功 4 太原理工大学硕士研究生学位论文 能等方面是可预见的,同时可以根据工艺、功耗等进行特定优化,且易于产权保护;缺 点是:缺乏灵活性,可移植性差。 固核是软核和硬核的折中,是经过布局布线后的网表文件。固核通常是将加密的软 核进行参数化设置,用户可以通过g u i 或者生成的文件进行参数化操作来满足自己的需 求,但是灵活性较差。 软核通常以h d l 源码形式提供,可以直接通过c p l d f p g a 进行设计、验证以及 二次开发,固其开发周期短、前期投入少;同时由于软核未涉及到硬件具体实现,因此 其适应性和可移植性强。但是软核还需根据生产环境进行精细优化,并且知识产权保护 差是其主要缺点。 1 4 论文内容安排 第一章绪论,主要介绍网络存储的发展、f p g a 概况以及f p g a 开发的相关工具。 第二章介绍系统方案,并描述整个系统的工作过程。 第三章详细介绍a t a 主机控制器的原理及v h d l 实现过程。首先介绍a t a 硬盘传 输的三种模式:p i o 模式、m d m a 模式和u l t r a d m a 模式,再通过流程图和状态转移图 详细介绍三种传输模式的工作过程和工作原理。之后根据状态转移图用v h d l 描述语言 一一实现三种工作模式,并给出实际检验结果。 第四章详细介绍网络控制器的原理,对控制器进行合理化模块划分,最终运用v h d l 语言分模块依次实现,同时给出了各个模块的时序仿真图。本文设计的网络控制器能在 脱离c p u 的情况下实现网络的数据传输,本控制器包括以太网控制器模块和t c p i p 协 议模块。 第五章介绍整个系统的硬件平台搭建,采用的主要工具是x i l i n x 公司的e d k 软件, 通过e d k 将所需的硬件模块和自定义模块添加到系统中,组成系统所需的硬件平台。 第六章总结与展望。 5 太原理工大学硕士研究生学位论文 6 太原理工大学硕士研究生学位论文 2 1 系统设计目标 第二章系统方案 本研究设计的网络硬盘数据存储系统在f p g a 平台上实现。系统在硬件上含有一个 a t a 接口和一个标准r j 4 5 网络接e l ,系统设计目标为:局域网内任何一台有操作权限 的装有n f s 客户端的主机都可通过以太网访问并且读写本系统a t a 设备上的文件,其 中客户端采用r p c 过程调用方式。整个系统的功能图如2 1 所示。 2 2 系统硬件平台 图2 1 系统功能图 f i g u r e 2 1s y s t e mf u n c t i o nd i a g r a m 整个系统基于x i l i n x 公司的v i r t e x i i 开发平台实现,v i r t e x i if p g a 芯片拥有丰富 的可编程逻辑资源和m i c r o b l a z e 软核处理器,系统以m i c r o b l a z e 处理器为主控制器,再 协同基于可编程逻辑的自定制外设来实现。 系统的整个硬件平台架构图如2 2 所示,主要有:m i c r o b l a z e 处理器、御r a 主机端 控制器( a t a 口) 、网络控制器( t c p i p & e t h e r n e t 口) 以及用于调试用的d e b u g 和串 口模块。其中a t ai p 模块和t c p p & e t l l 锄e ti p 模块是用v h d l 描述语言实现的a t a 主机控制器和网络控制器i p 核,它们可以通过p l b 总线挂载到m i c r o b l a z e 处理器上, 由m i c r o b l a z e 发送命令控制完成特定工作。 a t a i p 模块能对硬盘实现读写及复位检测等操作,传输模式支持p i o 、m d m a 和 u l t r a d m a 三种模式。系统通过此模块把客户端文件存入或取出硬盘,实现用户数据的 7 太原理工大学硕士研究生学位论文 存储。t c p i p & e t h e m e t i p 模块由以太网控制器模块和t c p i p 模块组成,负责数据的 网络传输,是客户端与服务器端的通路接口。 客户p c 图2 - 2 系统硬件架构图 f i g u r e 2 2s y s t e mh a r d w a r e a r c h i t e c t u r ed i a g r a m 2 3 文件系统与底层接口函数 调试 文件系统对文件的管理和存储最终通过对硬盘的具体操作完成,由于本系统中的硬 盘控制器用v h d l 实现,因此根据具体需要对文件系统的底层接口函数进行了修改和重 新定义。根据需要所定义的最基本接口函数如表2 - 1 所示。 8 太原理工大学硕士研究生学位论文 表2 1 接口函数 1 a b l e 2 1i n t e r r a c ef o u n c t i o n s 序 函数名称 参数功能 号 1 r e a d _ r e g r e g _ a d d r e s s读硬盘寄存器 2 w r i t e r e gr e g _ a d d r e s s ,r e g _ v a l u e写硬盘寄存器 3 w a i t _ d a t a r d y等待硬盘准备好 4 r e t u r n s t a t u sd r i v e n u m b e r 返回硬盘状态 5 d i s k r e a d d r i v e _ n u m b e r , s e c t o r c o u n t , 读指定硬盘扇区,读出数据放入缓冲区 s e c t o r a d d r e s s , r e a d _ b u f f e r a d d r ( r e a d b u f f e r ) 6 d i s k w r i t ed r i v e _ n u m b e r , s e c t o r c o u n t ,将缓冲区( w r i t eb u f f e r ) 中数据写入硬盘 s e c t o r _ a d d r e s s ,w r i t e _ b u f f e r _ a d d r 7 b u f f e r r e a dr e a d b u f f e r a d d r读缓冲区 8 b u f f e r w r i t ew r i t e b u f f e r a d d r写缓冲区 9 i d e n t i f y _ d i s kd r i v e n u m b e r检测硬盘 1 0 d i s k r e s e td r i v e n u m b e r硬盘复位 1 1 f o r m a t t r a c kt r a c k _ a d d r e s s ,d r i v e _ n u m b e r格式化磁道 1 2 f o r m a t b a d t r a c kt r a c k _ a d d r e s s ,d r i v e _ n u m b e r格式化坏磁道 1 3 i n i _ p a r a m e t e r d r i v e n u m b e r初始化硬盘参数 1 4 r e a d _ p a r a m e t e rd r i v e n u m b e r读硬盘参数 2 4 系统工作描述 整个系统的架构图如2 3 所示,其工作过程为:系统复位后服务器开启n f s 服务器 端的守护进程,每个守护进程都是一个后台运行的r p c 服务器。每个r p c 服务在注册 的时候,会建立一个或者多个套接字,并由p o r t m a p 服务为他们随机分配一个空闲的端 口,守护进程建立的多个线程在套接字上等待着消息的到达。如果网络上有一个运行 l i n u x 操作系统并且安装了n f s 客户端的主机想要访问本系统挂载的御队硬盘,首先 n f s 客户端通过s o c k e t 发送请求到服务器端,服务器端检测到有消息到达,就根据请求 转入相应的r p c 过程程序来处理。r p c 的过程程序首先将需求转入系统内核的虚拟文 件系统v 谯层,v f s 根据实际文件的位置以及文件系统的类型调用完成组织存储介质的具 体文件操作,文件的具体操作最终通过参数调用a 1 r a 控制器i p 核来实现。在操作完成 并获取所需信息后,服务器端再按照r p c 服务协议格式通过网络传输到客户端。 9 太原理工大学硕士研究生学位论文 网络 图2 3 系统架构图 f i g u r e 2 3s y s t e ma r c h i t e c t u r ed i a g r a m 1 0 太原理工大学硕士研究生学位论文 第三章a t a 主机控制器设计与实现 a t a 协议定义了主机和a t a 硬盘互联的物理、电气特性,信号传输以及相关命令 的规范。协议规定主机与硬盘的传输模式包括:p i o 数据传输模式、m d m a 数据传输 模式和u l t r a d m a 数据传输模式【1 1 】。其中p i o 传输速率低,最高到1 6 7 m b s ,还要占用 大量处理器资源;m d m a 模式可以有效节省处理器资源,但最高速率也是1 6 7 m b s ; 而u l t r a d m a 模式传输速率可以达到1 3 3 m b s ,已成为主要的a t a 硬盘传输模式。本章 将详细介绍a t a 主机控制器的设计实现过程。 3 1 整体架构 实现的a t a 主机控制器包括p i o 控制模块、m d m a 控制模块、u l t r a d m a 控制模 块、复位模块、接收缓存和发送缓存。其中p i o 模块实现对硬盘的p i o 模式读写;m d m a 模块实现对硬盘的m d m a 模式读写操作:u l t r a d m a 控制模块用于实现以u l t r a d m a 方 式访问硬盘的整个流程和控制;接收发送缓存实现对用户数据的缓存,设计时采用双端 口r a m 实现。总体架构如图3 1 所示。 r 、 p i o 控制模块接收缓存 一 d 姒控制模块 i 队 卅氏总 硬 n u l t r a d l i a 控1 发送缓存 厂 线 制模块r 一 盘 i q 复位模块卜_ 一 图3 - ia t a 主机控制器架构图 f i g u r e 3 - 1a t ah o s tc o n t r o l l e ra r c h i t e c t u r ed i a g r a m 3 2 寄存器组及接口设计 3 2 1 寄存器组介绍 在数据传输正式开始之前,主机端控制器必须通过读取硬盘端寄存器的状态来判断 当前硬盘状态,以决定是否开始数据传输。硬盘中的控制器是盘内命令的发出者,但对 于主控制器来说它是一种任务寄存器,主机对硬盘的操作是通过对硬盘端相应寄存器的 太原理工大学硕士研究生学位论文 读写来完成的,所有寄存器如表3 1 所利12 1 。本设计根据a t a 6 协议中有关主机端工作 原理与逻辑时序,在f p g a 上实现a t a 硬盘的主机控制器。 表3 - i 寄存器组 t a b l e 3 - 1r e g i s t e rs e t 地址p名称及意义p c s l oc s 0 d a 2 d a kd 0 = 读操作p写操作p 1 f0 p0 )o o0 一 数据寄存器一 1 , o0 p0 p0 p1 p 错误寄存器p特征寄存器p l o0 0 fl p 0 p 扇区数寄存器p l po oo ol o1 p 扇区号寄存器l b a ( t :0 ) p i p0 p1 p 0 1 i 】0 p 柱面数低8 位l b a ( 1 5 :8 ) p i p0 p1 p0 , ol p柱面数高8 位l b a ( 2 3 :1 6 ) ) l p0 1 f1 p0 p 设备磁头寄存器l b a ( 2 t :2 4 ) p l p0 p1 fl o1 状态寄存器p命令寄存器p o o1 1 p1 p辅助状态寄存器f设备控制寄存器一 1 p1 p pt 一木。 数据端口( d m a ) :数据端q ( d m a ) p 在读或写时共用数据寄存器,它是硬盘数据读写的通道,位宽为1 6 位。错误寄存 器地址为c s ( 1 :0 ) d a ( 2 :o ) = “0 1 0 0 1 ,位宽8 位,记录硬盘访问过程中的所有执行错 误,供主机端读取。特征寄存器中内容作为命令的一个参数,只能由主机端写入,其内 容表明不同的命令,地址与错误寄存器相同,只可进行写操作。扇区号寄存器、柱面数 寄存器和设备磁头寄存器称为地址寄存器,其值指出了本次命令所需传输数据首地址, 寻址方式可以用“c h s ( 物理寻址) 或“l b a ( 逻辑寻址) ”方式,在设备磁头寄 存器中指刊”1 。命令寄存器存储执行的十六进制命令代码。状态寄存器保存硬盘执行命 令后的结果,只能由主机端读取,其中第7 位为b s y 位,表示硬盘是否空闲:第6 位 为d r d y 位,表示硬盘是否准备好,当为1 时表示设备可以接收并执行所有命令; 第3 位为d r q 位,即数据请求位,当设备准备好接收或输出数据时将使此位置1 ; 第0 位为e r r 位,表明是否有错误发生,当有错误发生时应读错误寄存器,查看具体 错误类型。c s ( 1 :o ) & d a ( 2 :0 ) = “1 0 1 1 0 ”地址为辅助状态设备控制寄存器,前者只支持 读操作,内容与状态寄存器相同;后者只支持写操作,第2 位为s r s t 位,即命令设备 执行软复位,第l 位为n l e n 位,是中断服务位。当选用d m a 模式访问硬盘时,应使 c s ( 1 :o ) d a ( 2 :o ) = “11 x x x ”,作为数据端e l 。 1 2 太原理工大学硕士研究生学位论文 3 2 2 接口连接设计 a t a 接口的4 0 根线中,有1 6 根双向数据线( d d i ( 1 5 :0 ) ) ,6 根从硬盘输入主机 端的控制线:c b l i d 、d a s p 、d d m a r d yd s t r o b e 、d m a r q 、i n t r q 和i o r d y : 1 0 根输入硬盘的控制线:c s ( 1 :0 ) 、d a ( 2 :0 ) 、c s e l 、d m a c k 、h d m a r d yh s t r o b e 、 r e s e t 和s t o p ;7 根地线和一根保留线。图3 2 为将v h d l 代码经i s e l 0 1 综合后的 r t l 顶层封装图,右侧信号是由控制器输出到硬盘的控制信号,左侧信号为输入a t a 主机控制器的信号。 系统实现平台采用x i l i n x 的v i r t e x i i 开发板,由于开发板上没有供a t a 硬盘直接 连接的a t a 接口,故将硬盘通过自主设计的转接卡,接入v i r t e x i i 上的j 5 扩展口,通 过扩展口将a t a 接口线接入f p g a 内部管脚,由硬盘控制器d 核完成对硬盘的控制与 管理工作。其中j 5 可以提供3 2 个双向接口、1 根地线和1 根电源线。连接时将a t a 接 口中的7 根地线地线相连,其余3 2 根信号线自定义接入双向接口。定义各信号线的电 平驱动时均采用f p g a 提供的i = v r 丌l 电平方式即可。 3 3p i o 控制模块实现 3 3 1p i o 传输过程描述 图3 2 接口定义 f i g u r e 3 2i n t e r f a c ed e f i n i t i o n p i o 控制模块的主要功能是按照p i o 模式要求将用户数据写入读出硬盘。p i o 数据 传输模式包括m o d e 0 、m o d e l 、m o d e 2 、m o d e 3 、和m o d e 4 五种传输模式,数据传输速 率为3 3 s _ 1 6 7 m b s 。p i o 模式的工作流程如图3 3 所示: p i o 模式的数据传输较简单,首先进行相关初始化,主要通过读取硬盘内的相关寄 存器来判断硬盘状态,当硬盘允许进行数据传输且地址信号( c s 一( 1 :0 ) & d a ( 2 :0 ) ) 有 1 3 太原理工大学硕士研究生学位论文 效后,在d i o 唧i o w 一的下升沿将用户数据送到数据总线( d d i ( 1 5 :0 ) ) 或者从数据总 线上读取数据即可。 y y 图3 3p i o 模块工作流程图 f i g u r e 3 3p i om o d u l ew o r kf l o wd i a g r a m 当地址信号有效后在t l 时间内完成d i o r _ d i o w _ 信号的跳变,之后按频率1 t o 进 行跳变,当为写操作时,d i o w 由a t a 主机控制器控制完成,当为读操作时,d i o r 1 4 太原理工大学硕士研究生学位论文 由硬盘产生。用户数据需要在d i o r _ d i o w _ 有效跳变沿前建立,写操作的建立时间为 t 3 n s ,读操作的建立时间为t s n s 。当跳变沿产生后,写数据需要保持t m s 才能写入硬盘, 读数据要保持t 6 n s 才能将数据从硬盘读出。p i o 模式时序图和时间参数如图3 4 和表3 2 所示。 a d d r v a l i d d i o r _ d i o w w r i t e d d ( 1 5 :0 ) d d ( 7 :o ) l u a d d d ( 1 s :0 ) d d ( 7 :0 ) x x - t 5 - + _ t e 叫 图3 4p i o 模式时序图 f i g u r e 3 - 4p i om o d et i m i n gd i a g r a m 表3 - 2p i o 时间参数表 t a b l e 3 2t i m ep a r a m e t e r1 a b l eo fp i om o d u l e p i o 模式时问参数 m o d c om o d e lm o d e 2m o d e 3m o d e 4 n s n s n s n s n s t 0 工作周期 6 0 03 8 3 2 4 01 8 01 2 0 1 1 地址有效后d i o r d i o w 的建立时间 7 05 03 03 02 5 f 2d i o r d i o w1 6 51 2 51 0 08 07 0 t 3 写数据建立时间 6 0 4 5 3 03 02 0 t 4 写数据保持时间 3 02 01 51 0l o c 5 读数据建立时间 5 03 52 02 02 0 t 6 读数据保持时间 55555 3 3 2p i o 模式状态机实现 用v h d l 编程实现时,首先将整个p i o 模式数据传输过程抽象定义成状态机模型, 然后根据状态机编写相应硬件程序。p i o 模式状态转移图如图3 5 所示。 设定程序复位后首先触发s t i d l e 状态,当需要进行用户数据传输时,将使能信号 ( e n ) 置一。使能有效后进入s tr e a d s t l 状态,在此状态下主机控制器通过设定地址线 ( c s _ ( 1 :0 ) d a ( 2 :o ) = “1 0 1 1 1 ”) 读硬盘端的状态寄存器,判断其参数是否满足 b s y = 0 & d r q = 0 ( 硬盘空闲) ,满足证明硬盘空闲则进入s ts e l e c t d e v 状态,否则保持在 此状态直到硬盘空闲为止。 在s t s e l e c t d e v 下,主机设定地址线c s _ ( 1 :0 ) & d a ( 2 :o ) = “1 0 1 1 0 ”写设备磁头寄存 器,选定将要访问的设备。设备选定后再次访问硬盘端状态寄存器,判断硬盘工作状态, 1s 太原理工大学硕士研究生学位论文 硬盘空闲进入下一状态,否则保持此状态。 d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际高中考试及答案
- 2025年山东化学中考试卷及答案
- 2025年精麻处方考试试题及答案
- 慢性病防治知识培训课件
- 慢性咽炎课件
- 金融学基础考试大题及答案
- 情景再现法课件
- 青华中学考试试题及答案
- 护理评估单考试题及答案
- 航空航天概论考试及答案
- 2025版煤矿安全规程学习培训课件
- 2025-2026学年地质版(2024)小学体育与健康二年级全一册《别让眼睛受伤害》教学设计
- 工地看场自身安全协议书
- 车辆安全培训课件
- 装修电工施工方案(3篇)
- 2025年商标审查协作中心面试模拟题答案
- 2025年职业技能鉴定考试(婴幼儿发展引导员·高级/三级)历年参考题库含答案详解(5套)
- 翻越您的浪浪山新学期开学第一课+课件
- 2025年国企应聘测试题及答案
- 无人机培训招生宣讲
- 2025至2030中国干冷器行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论