详细的CRC 校验原理分析 以及计算过程
上传时间: 2013-05-16
上传用户:hrzx1234
随着信息技术的飞速发展,数据吞吐量急剧增长,要求有更高的传输速度,来满足大量数据的传输,而原有的并行数据传输总线结构上存在自身无法克服的缺陷,在高频环境下容易串扰,而增大误码率。SATA串行总线技术应运而生。作为一种新型的总线接口,它提供了高达3.0Gbps的数据传输速率,使用8B/10B编码格式,采用LVDS NRZ串行数据传输方式,有良好的抗干扰性能,有更强的达到32位的循环冗余校验,并且提供了良好的物理接口特性,支持热拔插,代表着计算机总线接口技术的发展方向。FPGA作为一种低功耗的半导体器件,在高频工作环境中有优良的性能,将处理器与低功耗FPGA结合起来使用是数据存储应用的趋势,这样能够使得接口方案更加灵活。而在众多FPGA器件中,Xilinx公司的Virtex-4平台内部集成了PowerPC高性能处理器,并且其中提供了Rocket IO MGT这种嵌入式的多速率串行收发器,能够以6.25-622Mb/s的速度传送数据,并且支持包括SATA协议在内的多种串行通信协议。 本文从物理层、链路层、传输层分析了SATA1.0技术的接口协议,在此基础提出满足协议需求和适合FPGA设计的设计方案,并给出总体设计框图,依照FPGA的设计方法,采用Xilinx公司的Virtex-4设计了一个符合SATA1.0接口协议的嵌入式存储装置,实现数据的存储,仿真运行结果正常。
上传时间: 2013-04-24
上传用户:sz_hjbf
PROTEL99SE常规教程(图片教程) 5天(每天2小时),你就可以搞定PROTEL99SE的常规操作。 课程介绍: 图片教程的第1天: 学会自己画简单的SCH文件 第1课:新建一个*.DDB,新建一个SCH文件,并且添加画SCH要用到的零件库>> 第2课:利用添加好的零件库,进行画第一个可以自动布线的原理图>> 课后补充:SCH中一些必须要避免的错误! 图片教程的第2天: 学会从SCH到PCB的转变,并且进行自动布线 第一课:建立一个PCB文件,并且添加自动布线所必需的封装库 第二课:把前面的SCH文件变成PCB板 第三课: 对PCB进行自动布线 图片教程的第3天: 学会自己做SCH零件。说明:SCH零件库用来画图和自动布线 第一课:做一个SCH里面常要用到的电阻零件 图片教程的第4天: 学会自己做PCB零件封装 第一课:做一个属于自己的PCB零件封装 课后补充:PCB中一些必须要避免的错误! 布线方面的高级设置:自动布线和手动布线方面的高级设置问题 图片教程的第5天: 一些高级的常用技巧 一、SCH中的一些常用技巧 SCH的一些高级设置和常用技巧 二、PCB的一些高级设置和常用技巧 在PCB中,如何校验和查看PCB单个的网络连接情况 在PCB中给PCB补泪滴的具体操作 在PCB中给PCB做覆铜的具体操作 在PCB中如何打印出中空的焊盘(这个功能对于热转印制板比较有用) 在PCB中如何找到我们要找的封装 如何在PCB文件中加上漂亮的汉字 附件:PROTEL99SE 安装 License 5天(每天2小时),你就可以搞定PROTEL99SE的常规操作。
上传时间: 2013-05-24
上传用户:lgd57115700
串口控件使用说明 本程序使用VC6.0的通用串口控件MSCOMM32.OCX来对发送到串口的数据进行采集处理。主要使用方法 串口设置:m_Comm.SetSettings(“波特率,校验方式,数据位数,停止位数”) 取串口数据:m_Comm.GetInput() 你只首先要确定一个mscomm32.ocx控件在system目录下并且该控件已经被windows注册,本程序才能正常运行。
上传时间: 2013-04-24
上传用户:aappkkee
固态硬盘是一种以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
低密度校验码(LDPC)是一种能逼近Shannon容量限的渐进好码,其长码性能甚至超过了Turbo码。低密度校验码以其迭代译码复杂度低,没有错误平层,码率和码长可灵活改变的优点成为Turbo码强有力的竞争对手。目前,LDPC码已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域,因此LDPC码编译码器的硬件实现已成为纠错编码领域的研究热点之一。 本文在分析LDPC码的基本编码结构基础上,首先研究了LDPC码的随机构造方法,并给出了有效的PEG算法实现方法,重点分析了用环消除(cycle elimination)算法实现的准循环LDPC码的构造。然后对LDPC码的几种不同译码算法进行分析比较,讨论了一种适合硬件实现的译码算法-TDMP算法,并对易于硬件实现的TDMP算法进行了性能仿真,仿真结果表明TDMP算法作为硬件实现的译码算法具有优异的性能优势。最后针对Altera公司的StratixEPIS25 FPGA芯片设计了一个基于TDMP算法的(4096,2048)非规则LDPC码译码器,内部用了4个单校验码译码器并行译1帧数据,3帧同时译码,作者详细介绍了该译码器芯片的设计过程和内部结构和工作流程。
上传时间: 2013-05-23
上传用户:fujun35303
自香农先生于1948年开创信息论以来,经过将近60年的发展,信道编码技术已经成为通信领域的一个重要分支,各种编码技术层出不穷。目前广泛研究的低密度奇偶校验(LDCP)码是由R.G.Gallager先生提出的一种具有逼近香农限性能的优秀纠错码,并已在数字电视、无线通信、磁盘存储等领域得到大量应用。 目前数字电视已经成为最热门的话题之一,用手机看北京奥运,已经成为每一个中国人的梦想。最近两年我国颁布了两部与数字电视有关的通信标准,分别是数字电视地面传输标准(DMB-TH)和移动多媒体(CMMB)即俗称的手机电视标准。数字电视正与每个人走得越来越近,我国预期在2015年全面实现数字电视并停止模拟电视的播出。作为数字电视标准的核心技术之一的前向纠错码技术已经成为众多科研单位的研究热点,相应的编解码芯片更成为重中之重。在DMB-TH标准中用到了LDPC码和BCH码的级联编码方式,在CMMB标准中用到了LDPC码和RS码的级联编码方式,在DVB-S2标准中用到了LDPC码和BCH码的级联编码方式。 本论文以目前最重要的三个与数字电视相关的标准:数字电视地面传输标准(DMB-TH)、手机电视标准(CMMB)以及数字卫星电视广播标准(DVB-S2)为切入点,深入研究它们的编码方式,设计了这三个标准中的LDPC码编码器,并在FPGA上实现了前两个标准的编码芯片,实现了DMB-TH标准中0.4、0.6以及0.8三种码率的复用。在研究CMMB标准中编码器设计时,提出一种改进的LU分解算法,该分解方式适合任意的H矩阵,具有一定的广泛性。测试结果表明,芯片逻辑功能完全正确,速度和资源消耗均达到了标准的要求,具有一定的商用价值。
上传时间: 2013-07-07
上传用户:327000306