基于FPGA的串行通信实现与CRC校验
时间:2026-01-21
时间:2026-01-21
北京化工大学
硕士学位论文
基于FPGA的串行通信实现与CRC校验
姓名:刘春阳
申请学位级别:硕士
专业:检测技术与自动化装置
指导教师:韩建国
20060609
摘要
基于FPGA的串行通信的实现与CI屺校验
摘要
ReceiverTr柚smitter通用异步uART(即UniversalA心ynchronous
收发器)是广泛使用的串行数据传输协议。U√虹江允许在串行链路上进行全双工的通信。
串行外设用到RS232.C异步串行接口,一般采用专用的集成电路即IJART实现。如8250、8251、NSl6450等芯片都是常见的IJART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的uART的功能和这些辅助功能。或者设计上用到了FP蝴Pu)器件,那么我们就可以将所需要的UART功能集成到FPGA内部。使用vcrilogHDL将IJART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。同时采用循环冗余校验(cRc校验),以获得更好的传输性能。本文应用EDA技术,基于FPGA器件设计与实现Um盯,并采用cRc校验。主要工作如下:
1、在异步串行通信电路部分完全用FPGA来实现。选用Xilinx公司的SpartanIII系列的xC3SlooO来实现异步串行通信的接收、发送和接口控制功能,利用FPGA集成度比较高,具有在线可编程能力,在其完成各种功能的同时,完全可以将串行通信接口构建其中,可根据实际需求分配资源。
2、利用VerilogHDL语言非常容易掌握,功能比VHDL更强大的特点,可以在设计时不断修改程序,来适用不同规模的应用,而且采用1
北京化工大学硕士学位论文
verilog输入法与工艺性无关,利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
3、利用ModelSim仿真工具对程序进行功能仿真和时序仿真,以验证设计是否能获得所期望的功能,确定设计程序配置到逻辑芯片之后是否可以运行,以及程序在目标器件中的时序关系。
4、为保证数据传输的正确性,采用循环冗余校验CRC(Cyclic
Check),该编码简单,误判概率低,为了减少硬件成本,Redundancy
降低硬件设计的复杂度,本设计通过CRC算法软件实现。
实验结果表明,基于EDA技术的现场可编程门阵列FPGA集成度高,结构灵活,设计方法多样,开发周期短,调试方便,修改容易,采用FPGA较好地实现了串行数据的通信功能,并对数据作了一定的处理,本设计中为CRc校验。另外,可以利用FPGA的在线可编程特性,对本设计电路进行功能扩展,以满足更高的要求。
关键词:FPGA,串行通信,verilog语言,CRC校验,ModelSim仿真
摘要
rI_1leImplenlentofSenalCommunicationBasedon
UART(UniVersal舡ynchronous
datatransferprotocolwhichiswidely
communicationatserial1iI】【l【circuit.
RS232-CReceiverTransIIlitter)isaserialused.Um汀allowtofull-duplex舡ynchronousserialiIltcrfaceisusedbySerial
peripheralequipment,GenerallyitiSimplementedbyICnamelyUARTsuchaS8250、8251、NSl6450,ney
chipsarearethefaIniliarUARTcomponents,andindudeTheseVerycomplicatedmanysecondary
modules(fbr
functionsexampkthese
usedFII砷O),sometimeswedon’tfunctions。weuseintegratedup蝴andsecondaryonPossiblyFPG~CPLDcomponentsaredesi印,SocanintegrateUARTfllnctionsinto
FPGA。、,crilogHDLisadoptedtointegrateUARTcentralfIlnctions,soitcanmakethewh01edesigntighter、moresteadyandmorereliable。AtthesametimecyclicR℃dundancycheck(CRC)is
p印eradopted,maketransferpe由rmancemoresuperior。T11isisbaSedFPGAcomponentd …… 此处隐藏:8594字,全部文档内容请下载后查看。喜欢就下载吧 ……