欢迎来到天天文库
浏览记录
ID:14108917
大小:28.50 KB
页数:7页
时间:2018-07-26
《基于fpga的专用串行通信芯片设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于FPGA的专用串行通信芯片设计 摘要:介绍了基于FPGA的串行通信芯片的开发过程、设计思想和编程实现。采用模块化自上而下的设计方法,各模块设计使用VHDL语言,在MAX+PLUSⅡ下实现编译、仿真等,最后成功下载到FPGA芯片中。这种基于芯片的设计方法,具有设计灵活、研制周期短、易于调试、系统可靠性高等一系列优点。 关键词:FPGAVHDL通信芯片 DesignofaspecialserialcommunicationchipbasedonFPGA LiangLi Beijingtechnologyand
2、businessuniversity,Beijing,100048,China Abstract:Thispaperintroducedthedevelopmentprocess,designideaandprogramrealizationofaserialcommunicationchipbasedonFPGA.Themoduledesignmethodwastakenbythetop-down.EachmodulewasdesignedbyVHDL.UnderMAX+PLUSⅡ,itwasaccomplishe
3、dtocompiler,simulatedandsoon.Atlast,itwasdownloadedtotheFPGAchips.Thismethodofdesignbasedonchipshasseriesofadvantages,suchasdesignfast,shortperiodofdevelopment,debugeasyandsystemdependabilityhigh. Keywords:FPGA;VHDL;communicationchip 利用EDA工具采用可编程逻辑器件,通过设计芯片来实现
4、系统功能,这种方法称为基于芯片的设计方法。设计者可以直接定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作放在芯片设计中进行。这样不仅可以通过芯片设计实现多种逻辑系统功能,而且减轻了电路设计的难度,提高了设计的灵活性。基于芯片的设计可以减少芯片数量,提高系统的性能和可靠性。以串行通信芯片为例,介绍了用EDA工具和可编程逻辑器件设计串行通信芯片的开发过程、各模块工作原理及编程方法。 1芯片总体结构 芯片的总体结构是以Altera公司的EP1K系列为主控芯片,主要由地址译码模块、线路控制/状态模块、不同工作方
5、式的传输模块、可编程多路选择模块、可编程分频模块和LED点阵显示模块组成,系统总体结构框图如图1所示。 图1系统总体结构框图 2模块编程实现 本设计采用模块化的设计方法,按功能将芯片的内部结构分成若干个模块,规定每一模块的功能和各模块之间的接口,先对各模块分别调试,然后再将各模块整合起来联调。这样设计有利于各功能模块程序的编写和调试,从而降低整个芯片的调试难度,提高软件的可维护性及可读性。 本芯片的主要功能包括:(1)可编程实现不同传输速率;(2)可编程实现4条传输线路的选择;(3)可编程实现异步带校验收发;(
6、4)可编程实现异步无校验收发;(5)可编程实现同步带校验收发;(6)可编程实现同步无校验收发;(7)能够进行多位收发。 2.1地址译码模块及内部寄存器选择 本芯片具有可编程特性,它从8位数据线上输入数据,从3位地址线上输入地址,对特定地址的寄存器进行设置。地址译码模块将输入的地址和数据转化为所要进行操作的选通信号。程序如下: IF(RESET=‘0’)THEN S0<=‘0’; HEND<=“00”; ………………………… ELSIF(ADRESS=“0100”ANDIDATA=“10000000”)TH
7、EN S0<=‘1’; HEND<=“11”; 上例中,S0是一个选通信号,当特定的数据和地址输入时,S0被置‘1’。HEND是一个应答信号,它被置成“11”表示对S0设置已经完成,可以进行下一个寄存器的设置。 2.2多路选择模块 本芯片区别于传统8251串行通信芯片的是多路传送功能,该功能可使串行通信芯片的利用率大大增加。本芯片可以驱动4个独立串口,通过给定不同的地址代码,即可选择不同的传输路径。程序如下: IF(RESET=‘0’)THEN F<=“00”; ELSIF(P11’EVENTANDP1
8、1=‘1’)THEN F<=“11”; ………………………… IF(RESET=‘0’)THEN V<=“00”; ELSIF(F=“11”)THEN V<=“01”; ………………………… CASEVIS WHEN“00”=>TXD(0)<=‘0’; 上例中,P11是译码模块的选择信号,反映了外部的动作。F是
此文档下载收益归作者所有