固态硬盘是一种以FLASH为存储介质的新型硬盘。由于它不像传统硬盘一样以高速旋转的磁盘为存储介质,不需要浪费大量的寻道时间,因此它有着传统硬盘不可比拟的顺序和随机存储速度。同时由于固态硬盘不存在机械存储结构,因此还具有高抗震性、无工作噪音、可适应恶劣工作环境等优点。随着计算机技术的高速发展,固态硬盘技术已经成为未来存储介质技术发展的必然趋势。 本文以设计固态硬盘控制芯片IDE接口部分为项目背景,通过可编程逻辑器件FPGA,基于ATA协议并使用硬件编程语言verilog,设计了一个位于设备端的IDE控制器。该IDE控制器的主要作用在于解析主机所发送的IDE指令并控制硬盘设备进行相应的状态迁移和指令操作,从而完成硬盘设备端与主机端之间基本的状态通信以及数据通信。论文主要完成了几个方面的内容。第一:论文从固态硬盘的基本结构出发,分析了固态硬盘IDE控制器的功能性需求以及寄存器传输、PIO传输和UDMA传输三种ATA协议主要传输模式所必须遵循的时序要求,并概括了IDE控制器设计的要点和难点;第二:论文设计了IDE控制器的总体功能框架,将IDE控制器从功能上分为寄存器部分、顶层控制模块、异步FIFO模块、PIO控制模块、UDMA控制模块以及CRC校验模块六大子功能模块,并分析了各个子功能模块的基本工作原理和具体功能设计;第三:论文以设计状态机流程和主要控制信号的方式实现了各个具体子功能模块并列举了部分关键代码,同时给出了主要子功能模块的时序仿真图;最后,论文给出了基于PIO传输模式和基于UDMA传输模式的具体指令操作流程实现,并通过SAS逻辑分析仪和QuartusⅡ对IDE控制器进行了功能测试和分析,验证了本论文设计的正确性。
上传时间: 2013-07-31
上传用户:liangrb
通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)是一种能同时支持短距离和长距离数据传输的串行通信接口,被广泛应用于微机和外设之间的数据交换。像8251、NS8250、NS16550等都是常用的UART芯片,但是这些专用的串行接口芯片的缺点是数据传输速率比较慢,难以满足高速率数据传输的场合,而更重要的就是它们都具有不可移植性,因此要利用这些芯片来实现PC机和FPGA芯片之间的通信,势必会增加接口连线的复杂程度以及降低整个系统的稳定性和有效性。 本课题就是针对UART的特点以及FPGA设计具有可移植性的优势,提出了一种基于FPGA芯片的嵌入式UART设计方法,其中主要包括状态机的描述形式以及自顶向下的设计方法,利用硬件描述语言来编制UART的各个子功能模块以及顶层模块,之后将其集成到FPGA芯片的内部,这样不仅能解决传统UART芯片的缺点而且同时也使整个系统变得更加具有紧凑性以及可靠性。 本课题所设计的LIART支持标准的RS-232C传输协议,主要设计有发送模块、接收模块、线路控制与中断仲裁模块、Modem控制模块以及两个独立的数据缓冲区FIFO模块。该模块具有可变的波特率、数据帧长度以及奇偶校验方式,还有多种中断源、中断优先级、较强的抗干扰数据接收能力以及芯片内部自诊断的能力,模块内分开的接收和发送数据缓冲寄存器能实现全双工通信。除此之外最重要的是利用IP模块复用技术设计数据缓冲区FIFO,采用两种可选择的数据缓冲模式。这样既可以应用于高速的数据传输环境,也能适合低速的数据传输场合,因此可以达到资源利用的最大化。 在具体的设计过程中,利用Synplify Pro综合工具、ModelSim仿真工具、ISE集成的软件开发环境中对各个功能模块进行综合优化、仿真验证以及下载实现。各项数据结果表明,本课题中所设计的UART满足预期设计目标。
上传时间: 2013-08-02
上传用户:rocketrevenge
现代的计算机追求的是更快的速度、更高的数据完整性和灵活性。无论从物理性能,还是从电气性能来看,现今的并行总线都已出现了某些局限,无法提供更高的数据传输率。而SATA以其传输速率快、支持热插拔、可靠的数据传输等特点,得到各行业越来越多的支持。 目前市场上的SATA IP CORE都是面向IC设计的,不利于在FPGA上集成,因此,本文在Xilinx公司的Virtex5系列FPGA上实现SATAⅡ协议,对SATA技术的推广、国内逻辑IP核的发展都有一定的意义。 本文将SATAⅡ协议的FPGA实现划分成物理层、链路层、传输层和应用层四个模块。提出了物理层串行收/发器设计以及物理链路初始化方案。分析了链路层模块结构,给出了作为SATAⅡ链路层核心的状态机的设计。为满足SATAⅡ协议3.0Gbps的速率,采用扩大数据处理位宽的方法,设计完成了链路层的16b/20b编码模块,同时为提高数据传输可靠性和信号的稳定性,分别实现了链路层CRC校验模块和并行扰码模块。在描述协议传输层的模块结构的基础上,给出了作为传输层核心的状态机的设计,并以DMA DATA OUT命令的操作为例介绍了FIS在传输层中的处理过程。完成了命令层协议状态机的设计,并实现了SATAⅡ新增功能NCQ技术,从而使得数据传输更加有效。最后为使本设计应用更加广泛,设计了基于AHB总线的用户接口。 本设计采用Verilog HDL语言对需要实现的电路进行描述,并使用Modelsim软件仿真。仿真结果表明,本文设计的逻辑电路可靠稳定,与SATAⅡ协议定义功能一致。
上传时间: 2013-06-16
上传用户:cccole0605
并行总线PATA从设计至今已快20年历史,如今它的缺陷已经严重阻碍了系统性能的进一步提高,已被串行ATA(Serial ATA)即SATA总线所取代。SATA作为新一代磁盘接口总线,采用点对点方式进行数据传输,内置数据/命令校验单元,支持热插拔,具有150MB/s(SATA1.0)或300MB/s(SATA2.0)的传输速度。目前SATA已在存储领域广泛应用,但国内尚无独立研发的面向FPGA的SATAIP CORE,在这样的条件下设计面向FPGA应用的SATA IP CORE具有重要的意义。 本论文对协议进行了详细的分析,建立了SATA IP CORE的层次结构,将设备端SATA IP CORE划分成应用层、传输层、链路层和物理层;介绍了实现该IPCORE所选择的开发工具、开发语言和所选用的芯片;在此基础上着重阐述协议IP CORE的设计,并对各个部分的设计予以分别阐述,并编码实现;最后进行综合和测试。 采用FPGA集成硬核RocketIo MGT(RocketIo Multi-Gigabit Transceiver)实现了1.5Gbps的串行传输链路;设计满足协议需求、适合FPGA设计的并行结构,实现了多状态机的协同工作:在高速设计中,使用了流水线方法进行并行设计,以提高速度,考虑到系统不同部分复杂度的不同,设计采用部分流水线结构;采用在线逻辑分析仪Chipscope pro与SATA总线分析仪进行片上调试与测试,使得调试工作方便快捷、测试数据准确;严格按照SATA1.0a协议实现了SATA设备端IP CORE的设计。 最终测试数据表明,本论文设计的基于FPGA的SATA IP CORE满足协议需求。设计中的SATA IP CORE具有使用方便、集成度高、成本低等优点,在固态电子硬盘SSD(Solid-State Disk)开发中应用本设计,将使开发变得方便快捷,更能够适应市场需求。
上传时间: 2013-06-21
上传用户:xzt
随着存储技术的迅速发展,存储业务需求的不断增长,独立的磁盘冗余阵列可利用多个磁盘并行存取提高存储系统的性能。磁盘阵列技术采用硬件和软件两种方式实现,软件RAID(Redundant Array of Independent Disks)主要利用操作系统提供的软件实现磁盘冗余阵列功能,对系统资源利用率高,节省成本。硬件RAID将大部分RAID功能集成到一块硬件控制器中,系统资源占用率低,可移植性好。 分析了软件RAID的性能瓶颈,使用硬件直接完成部分计算提高软件RAID性能。针对RAID5采用FPGA(Field Programmable Gate Array)技术实现RAID控制器硬件设计,完成磁盘阵列启动、数据缓存(Cache)以及数据XOR校验等功能。基于硬件RAID的理论,提出一种基于Virtex-4的硬件RAID控制器的系统设计方案:独立微处理器和较大容量的内存;实现RAID级别迁移,在线容量扩展,在线数据热备份等高效、用户可定制的高级RAID功能;利用Virtex-4内置硬PowerPC完成RAID服务器部分配置和管理工作,运行Linux操作系统、RAID管理软件等。控制器既可以作为RAID控制卡在服务器上使用,也可作为一个独立的系统,成为磁盘阵列的调试平台。 随着集成电路的发展,芯片的体积越来越小,电路的布局布线密度越来越大,信号的工作频率也越来越高,高速电路的传输线效应和信号完整性问题越来越明显。RAID控制器属于高速电路的范畴,在印刷电路板(Printed Circuit Block, PCB)实现时分别从叠层设计、布局、电源完整性、阻抗匹配和串扰等方面考虑了信号完整性问题,并基于IBIS(I/O Buffer Information Specification)模型进行了信号完整性分析及仿真。
上传时间: 2013-04-24
上传用户:jeffery
实现完整的串口设置,含校验位设置,拨特率设置,MCU接口,简单易用
上传时间: 2013-06-26
上传用户:luke5347
本文对TCN中的MVB技术进行了研究,并在深入了解MVB的通信机制的基础上,提出了采用FPGA替代MVB控制器专用芯片的解决方法。根据TCN协议,连接在MVB上的设备可以分为5类,其中1类设备可以在不需要CPU的基础上实现自动通信,最为常用。本设计的目的就是采用FPGA替代MVB1类设备控制器。 文章采用自顶向下的模块化设计方法,根据MVB1类设备控制器要实现的功能,将设计划分为3个模块:发送模块、接收模块和MVB1类模式控制模块。其中发送模块又划分为位控制单元、CRC生成单元、FIFO单元和曼彻斯特编码单元等。接收模块又划分为帧起始检测单元、时钟恢复单元、帧分界符检测单元、数据译码单元、CRC校验单元、译码控制单元和长度错误检测单元等。MVB1类模式控制模块又划分为报文错误处理单元、主帧寄存器单元、TM控制单元和主控单元等。上述各模块的RTL级设计都是采用硬件描述语言Verilog实现的。
上传时间: 2013-07-21
上传用户:dengzb84
特色在于为之量身定制了一款多功能调试软件,不仅含有串口调试功能、而且该软件强大之处支持USB数据收发、网络数据收发、51/AVR单片机波特率计算、数码管字型码生成、进制转换、点阵生成、校验值(奇偶校验/校验和/CRC冗余循环校验)/BMP转16进制、服务器、在线更新等功能。
上传时间: 2013-06-17
上传用户:梧桐
由于集成电路产业在中国的飞速发展,FPGA设计技术,作为一种灵活性很强的芯片设计技术,在国内得到广泛的应用.由于芯片的可升级性和开发自主知识产权芯片的必要性,在北京邮电大学宽带通信网络实验室开发的三层以太网交换机项目中,以太网口和ATM口之间的数据通道的实现上采用了FPGA设计方法.该文主要集中在ATM口之间的数据通道的HEC头校验的FPGA实现.并完成了硬件设计、配置、硬件测试联调工作以及论文撰写工作.硬件的设计和开发基于Protel99和Tornado/VxWorks,软件的设计和开发采用了标准的VHDL语言,开发环境是WINDOWS,开发工具是Xilinx公司的iSE4.1i集成开发环境.随着网络设备的发展,位于网络边缘的设备将会变得更加灵巧,更加迎合网络发展的需要,在网络设备上越来越多地引入了网络处理器.我们实验室和Intel建立了联合实验室,在此基础上,我们要把网络处理器评估板硬件上,运行软件,使其成为路由器,首先要加载的就是网络路由协议.由于Linux的开放源代码,所以我们决定采用Linux做嵌入式系统,在上面运行zebra的路由协议.Zebra是linux上面的开放源代码的路由软件.
上传时间: 2013-07-08
上传用户:yhm_all
电台广播在我们的社会生活中占有重要的地位。随着我国广播事业的发展,对我国广播业开发技术、信号的传输质量和速度提出了更高更新的要求,促使广播科研人员不断更新现有技术,以满足人民群众日益增长的需求。 本论文主要分析了现行广播发射台的数字广播激励器输入接口的不足之处,根据欧洲ETS300799标准,实现了一种激励器输入接口的解决方案,这种方案将复接器送来的ETI(NA,G704)格式的码流转换成符合ETS300799标准ETI(NI)的标准码流,并送往后面的信道编码器。ETI(NA,G704)格式与现行的ETI(NI,G703)格式相比,主要加入了交织和RS纠错编码,使得信号抗干扰能力大大加强,提高了节目从演播室到发射台的传输质量,特别是实时直播节目要求信号质量比较好时具有更大的作用。 本论文利用校验位为奇数个的RS码,对可检不可纠的错误发出报警信号,通过其它方法替代原有信号,对音质影响不大,节省了纠正这个错误的资源和开发成本。 同时,我们采用FPGA硬件开发平台和VHDL硬件描述语言编写代码实现硬件功能,而不采用专用芯片实现功能,使得修改电路和升级变得异常方便,大大提高了开发产品的效率,降低了成本。 经过软件仿真和硬件验证,本系统已经基本实现了预想的功能,扩展性较好,硬件资源开销较小,具有实用价值。
上传时间: 2013-07-15
上传用户:afeiafei309