基于FPGA的数字通信实现多路数据时分复用和解复用系统系统
本文档介绍了一种基于FPGA的数字通信多路时分复用和解复用系统,使用硬件描述语言很好的实现了系统功能。第2页共63页AbstractThe system is designed for data multiplexed and de-multiplexed. It is based on TDMThe systern includes the transmitter and the receiver. They are implemented mainly by FPGaThere are three inputs in the transmission system: data from A/converter, DIPI and DIP2The three channels are out serially and time-divisional under the FPgas control. The FPGain the transmitter is divided into four modules which are frequency divider, Barker generator,data multiplexer and voltage display. voltage display is used for processing the data convertedy ADC and sending it to the LED. The serial data are serial shifted into the FPGa in thereceiver. Bit-synchronize and frame-synchronize are both picked up, and then de-multiplexThe FPGA in the receiver is divided into three modules which are digital PLL, datade-multiplexer and voltage display. The transmitter will multiplex four ways of 8-bit paralleldata. The first way is adC data, the second and the third way is generated by dip-key. Theother is Barker code used for frame synchronizing. The receiver will maintain the bitsynchronizing, recognize one frame and de-multiplex three ways data. The essay will discussthe design progress, the programming idea and some problems. Works have to be done by thedesigner are: Specify all system components, Make system specification, Draw systemschematics, Write RTL code according the schematics, Synthesis and simulate the rtl codeDesign the PCBS, Validate the functions of the FPGA on-line.Keywords: DPLL; Frame-synchronize; TDM; Verilog HDl; Serial A/D convert;第3页共63页目录引1数字复接系统简介52数字复接方法及方式2.1数字复接的方法…中中·2.2数字复接的方式………3系统原理和各模块设计………………………63.1系统原理及框图…3.2发端系统设计…3.3收端系统设计…···中··中··中····中·,中………93.4FPGA的设计流程“····“:*·············=·······*·*··3.4.1设计输入···“··++··+··*+··+··+++*···++++·*·+·++34.2设计综合……………………123.4.3仿真验证123.4.4设计实现……123.4.5时序分析123.5发端FPGA设计………………………133.5.1分频模块…翻……143.5.2复接模块……………………………………153.5.3显示模块……………………163.5.4编译与仿伤真…………………183.6收端FPGA设计……………………………………………………193.6.1数字锁相模块…………···→····;··中·······中···········→··············203.6.2解复用模块…··++·*···中+“··“++………………………213.6.3显示模块………………………………………………223.6.4编译与仿真………………………………223.7数字锁相环原理及设计……………………………2338串行AD工作原理………………2539并行D/A的工作原理…263.10 Altera flex10K10介绍………………………………………………………………274系统调试…………………………………………………325 Quartus||软件及 Ver log语言简介…………325.10 artus I软件简介……………………………………………………325.2 Verilog语言简介……………………………………………………………34第4页共63页6结论····“4··+·→··*·*··“······+“·+····“······“··+·+“+·…“*·.·+··+“·+·+·*··…………35谢辞36参考文献·a···.········和··::··中.事…37附录…38docn豆丁www.oocin.com第5页共63页引言数字复接、分接技术发展到80年代已经趋于成熟,形成了完善的EI、T系列。它使得多路低速信号可以在髙速信道中传输,同时提髙信道的利用率。PLD/FPGA是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。可以毫不夸张的讲,PID/FPGA能完成任何数字器件的功能,上至高性能CP,下至简单的74电路,都可以用PLD/FPGA来实现。PLD/FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD/FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD/FGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。,PLD/FGA的这些优点使得PLD/FPGA技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言的进步。本设计主要利用了FPGA及 Verilog hdl语言来设计数字复、接分接系统。数字复接系统简介在数字通信网中,为了扩大传输容量和提高传输效率常常需要把若干个低速数字信号合并成为一个高速数字信号,然后再通过高速信道传输,这就是所谓的数字复接技术。数字复接是一种已经非常成熟的技术,广泛地应用于无线通信、光通信和微波接力通信。图1-1数字复接系统方框饜图1-1所示,数字复接系统包括数字复接器( digital multiplexer)和数字分接时钟「定时同定时步复分日恢接复器( digital de- multiplexer)两部分。数字复接器是把两个或多个低速的支路数字信号按照时分复用方式合并成为一路高速的合路数字信号的设备;数字分接器是把合路数字信号分解为原来的支路数字信号的设备。数字复接器是由定时、调整和复接单元所组成;数字分接器是由同步、定时、分接和恢复单元所组成。定时单元给设备提供统一的基准时间信号,同步单元给分接器提供与复接器基准时间同步的时间信号,调整单元负责同步输入的各支路信号。恢复单元与调整单元相对,负贵把分接出来的各支路信号复原第6页共63页2数字复接方法及方式2.1数字复接的方法数字复接的方法主要有按位复接、按字复接和按帧复接三种(1)按位复接按位复接的方法是每次只复接每个支路的·位码,复接后,码序列中的第·位表示第一路中的第一位码;第二位表示第二路的第一位码;以此类推,第N位表示第N路的第一位码。这N位码形成第一时隙。同样,第二时隙是有每路的第二位码复接而成。这种复接方法的特点是设备简单、只需小容量存储,易于实现(2)按字复接按字复接就是每次复接支路的一个字或字节。复接后的码顺序是每个封隙为一路n位码。它的特点是利于多路合成和处理,但要求有较大的存储容量,使得电路较为复杂(3)按帧复接这种方法是每次复接一个之路的一帧数码,它的特点是复接时不破坏原来的帧结构,有利于交换,但要求有更大的存储容量。22数字复接的方式按照复接时各低速信号的情况,复接方式可分为同步复接、异步复接与准同步复接。(1)同步复接同步复接被复接的各个支路信号在时间上是完全同步的。在实际应用中,由于各个支路信号到达的时间不一样,造成支路间的码位相位不同,使得信息不能被正确复接。因此需要对支路进行相位调整。在复接时,要插入帧同步码及其它的业务码。(2)异步复接将没有统一标称频率的不同支路数字信号进行复接的方式成为异步复接。在数字通信中广泛采用这种复接方式。(3)准同步复接准同步复接是指参与复接的各个低速信号使用各自的时钟,但各支路的时钟需要在定的容差范围内。准同步复接实际上是在同步复接的基础上增加了码速调整功能3系统原理和各模块设计3.1系统原理及框图首先介绍系统的工作过程。此数字通信系统分为发端和收端两部分。在发端,FPGA对A①D变换数据、DIP1数据和DIP2数据插入帧同步码,形成一帧,对此帧按位时分复用并串行发送出去。同时,A/D输入端的模拟电压值将通过FPGA的处理,显示在七段数码管上。在收端,FPGA首先从串行码中提取位时钟,然后识别帧同步。当识别出帧同步后,FPGA解复用三路并行码,分别将这三路并行码送到后面的D/A变换器、LED1和LED2同时,第一路并行码通过FGA的处理,显示到七段数码管上。传输帧结构如图3-1所示:第7页共63页帧同步第一路第二路|第三路图3-1传输帧结构总系统框图如图3-2所示:七段数码管七段数码管A/DD/A信道DI P1立FPGA收端FPGALED 1DIP2LED2图3-2总系统框图3.2发端系统设计图3-3是发端系统方框图七数码簣豆丁A/D信道DP1愛端FPGADIP2图3-3发端系统方框图如图3-3所示,发端有三路信号:A/D变换信号、拨码开关1和拨码开关2产生的8位信码。AD变换的信码经过FPGA处理显示到七段译码管上,它代表变换前模拟信号的电压值。由于三路信号都是静态信号,因此输入不用进行码速变挨和码速调轄。输出信号的码速率为256Kbps。发端电路在做PCB时需要单层布线,因此将发端系统板倣成三块小板,分为三个图,分别是发端主图、AD变换图和LED显示图。发端主图如34所示,以发端FPGA为核心,其它功能块逐一实现。为了FGA运行的稳定,要在其周围加入6个滤波电容,电容值为0.1uF。拨码开关与排阻共同构成八位信码,分别接到FPGA的8个I/0端口。复位电路是系统正常运行的必要部分,它由按键开关,电解电容和电阻构成。主图板与AD变换板、LED显示板之间用插针和电线连接。这些插针和电线将为A/D变换板和LED显示第8页共63页板提供电源和通信路径。此外,FPGA还需要配置电路。配置电路在开杌时将配置文件载入到FPGA中,FPGA才可以工作。配置电路由上拉电阻和插座组成,其中,五个端口接到FGA五个配置引脚,他们是:DATA0、 sTATuS、 nCONFIG、 CONF DONE与DCLK。3图AA399999温899998旨若起Ed kDYnizisr含已四=图3-4发端主图原理图A/D变换图如图35所示,要说明的是,这里没有采用并行A/D,而是采用了串行A/D,这样可以节省FPGA的管脚。我使用的ADC型号是TC549。TLC549转换输入端模拟量为数字量,为FPGA提供串行数据。这块板的电源由主图板提供,电源端接到主图板的电源端。TLC549需要一片0.1uF的陶瓷电容为芯片的电源端滤波。在做PCB时,这片电容应靠近芯片的VCC与GND。TLC549的模拟输入量有电位器分压和外部输入,通过单刀双掷开关选择。外部输入的模拟量可以是信号源输出,音频输入等。AA「区YcAy图3-5AD变换图第9页共63页LED显示图如图3-6所示,我用五位LED显示模拟电压值。它可以提供0.0001的显示精度。这五位LED由一位独立LED和一个四LED组组成。这五个LED采用扫描方式显示。扫描显示是LED显示的常用方法。通过五个PNP管控制五个LED分时发光,时隙为32ms。在此时隙下,人眼不会察觉到LED分别点亮,而是同时在亮。此法不仅节省七段译码驱动芯片和FPGA的管脚,而且节约电能。小数点的位置固定不变:因此只需将独立LED的小数点设计为常亮。LED数码管采用共阳极,公共端接PP发射极,PNP集电极接电源,PNP的导通由FPGA控制。七段译码芯片采用DM74LS47,它是一片驱动共阳极LED数码管的芯片。同样,在这片芯片的VCC与GND之间加入0.1uF陶瓷滤波电容和essOyNC 5v In图3-6LED显示图3.3收端系统设计收端系统框图如图3-7所示七段数码管D/A信道收端FPGAED1LED2图3-7收端系统框图
- 2020-12-03下载
- 积分:1
ENVI IDL入门教程
非常详细的ENVI IDL入门教程,二百余页,涵盖门类全,是初学者非常好的教材。创建填充的等值线图…曹音音·音非看自··50在显示窗口定位图形输出。自自春自DD鲁鲁。春非非非51设置图形边缘52设置图形位置设置图形区域创建多个图形…给图形显示添加文本。。非非。看自。。鲁音。音p鲁鲁非非非非垂香看自自。鲁。鲁春春。非非鲁看a自。鲁自自自鲁鲁非音自垂看自。。鲁。自D音鲁。。非找出可用字体的名称用 XYOuts命令添加文本.59用矢量字体使用 XYOut60排列文本::·······61删除文本61收变文本的方向6给图形显示添加线和符号…162图形显示添加色彩香香··音音音音音音音。音音63第三章图像数据处理…本章概要·····母·中中·中中72图像处理显示图像调整图像数据74显示24位图像76控制图像显示顺序.77收变图像尺寸…7在显示窗口中定位图像78从显示器中读取图像IDL中基本的图像处理.82直方图均衡化平滑图像增强图像棱边.68图像的频域滤波.68第四章图形显示技术…本章概要…IDL的颜色运用看自。音音自鲁音非音。垂·自。。。音鲁售鲁非音。非春垂香着自·。。自自鲁鲁鲁非鲁音非非音·香着·。。击音。。自D鲁。。非音着自。。自音。·自B鲁鲁。非音。非非音484使用索引颜色模式和RGB颜色模式在24位显示设备上装载色谱表…获得色谱表的拷贝修改和创建色谱表·.··甲甲90保存自己的色谱表创建自己的轴标注..........92调整轴刻度同隔..格式化轴的标注用IDL处理残缺的数据…鲁春非垂看看自自。。。春自DD鲁鲁非。春非96用IL建立三维坐标系建立三维散点图.98从图形原点定位31)坐标轴.组合简单图形显示….........101IDL中的动画数据4103建立动画工具…装载动画缓冲区104运行动画工具…104动画的控制…···.··········存储动画的像素映射图105其它类型图形数据的动画105网格化数据以便图形显示…番鲁自自。春音自D鲁鲁非非非音春a鲁自自自鲁鲁非非看自鲁。。自Dp鲁。春着自自。。鲁。。DD鲁。。。。非。106德洛内三角形法网格化……107数据的球形网格化.109第五章图形显示技巧…11本章概要将光标用于图形显示…什么时候返回的光标位置?……111哪一个鼠标键和光标共同作用呢?……/2用光标标注图形输出l12在图像上使用 Cursor命令113在循环中使用 Cursor命令114从显示中删除注释,...···看更带带带·带看115删除注释的异或法…115删除注释的设备拷贝法117Z图形缓冲区中的图形显示技巧121Z图形缓冲区的实现12个Z图形缓冲区实例:两个曲面用Z图形缓冲区使图像变形Z图形缓冲区中的透明效果127将Z图形缓冲区效果与体数据着色相结合128第六章在IDL中读写数据..129本章概要129打开文件进行读写.130査找和选择数据文件获取逻辑设备号∴132读写格式化数据4133写自由格式文件读写自由格式文件的实例.136用确定的文件格式写入…140从字符肀中读取格式数据141读写非格式化数据·非鲁鲁。音····音·音告鲁鲁音·,·非番141读取非格式化图像数据文件.…写非格式化图像数据文件.142非格式化数据文件的一些问题144用关联变量存取非格式化数据文件…1441读写常用文件格式的文件....147创建彩色GIF文件::·······147创建彩色JPEG文件148查询图像文件信息150第七章图形硬拷贝输出…,…151本章概要...·非·香香音·音音音音音音鲁音非非,I51选择图形硬拷火输出设备…..4151配置图形硬拷贝输出设备…I52常用的 Device命令关键字创建 PostScript文件…154将图形送到硬拷贝设备中..154打印 Postscript文件…..,…155在运行 MacoS系统的计算机上打印 PostScript文件.156在 Windows计算机上打印 PostScript文件….156生成封装的 PostScript文件输出封装 PostScript图形的预览∴157生成彩色的 PostScript输出……..........157PostScript中的彩色图像与灰度图像158在 Postscript设备上创建高质量的输出4158显示设备和 Postscript设备之间的相同点159显小设备与 Postscript设备之间的不同点15在横向输出模式中计算 Postscript的偏移量a击击击自指击a自击171用 PS Forn配置 Postscript设备…,…·量垂香看看垂一D看鲁垂·鲁看·日看一一DD鲁鲁·看看看·172配置和使用打印设备....173用打印设备定位图形第八章·ba省.···。自看·b自自·看看·DL编程基础188本章概述…188编写IDL批处理文件编写IDL主程序189过程和与函数中变量的作用范围…191创建定位参数.191定义可选的或必须的定位参数192定义关键字.193创建输出型参数196编写IDL函数…,198方括号和函数的调用使用程序控制语句….101IDL中表达式的真和假201将多个语句处理成单个语句::·······If.Then.Ese控制语句202条件表达式…FOR循环控制语句203WHILE循环控制语句REPEATUNTIL循坏控制语句…CASE控制语句,GOIO控制语句205错误处理控制语句205编译和执行ID程序模块207程序编译规则.208程序编译和自动运行规则.208特殊编译命令209第九章编写IDL程序177本章概述.基本的 Image bar程序,177给程序 Imagc Bar增加一个“先擦除”功能18向 Image bar程序增加颜色敏感功能给 magelA中的命令传递关键字根据窗口大小改变字符大小栏序 Image Bar的最终代码186在图形用户界面中包装 E ImageR187第十章编写简单的组件程序230本章概述…230组件程序的结构…物物···非非音··非专自···非省230组件程序如何对事件作出反应231编写组件定义模块…31定义和创建程序组件….在屏幕上实现组件使绘图组件成为当前图形窗口…234在绘图组件窗口上显示图形234保存程序运行时所需要的信息创建事件循环和注册程序运行程序236创建无阻塞组件程序…236编写事件处理模块...237事件结构中的公共字段.….事件处理函数238将事件处理程序和组件联系起来239编写Quit按钮的事件处理程序240编写改变图形窗口大小的事件处理程序241进行小量地修改….42添加颜色敏感242采用更高效的内存管理243第十一章香。。看看香。。鲁 PDODDDU击组件编程技巧210本章概述改变颜色表··········母·非非音鲁音音音·香··.。音音。非自音音音音,普···音。音音∴210保护公共块…211一个可选择颜色表的工具211l指定 Group leeader214给组件程序增加 Group leader.215在24位显示器上改变颜色表215在组件程序中使用指针….....17使用 Cleanup过程防止内冇泄露………………219使用伪事件进行程序通信.20创建一个具有“记忆功能”的程序221保护组件程序的颜色.3通过组件跟踪事件来保护颜色……通过绘图组件事件来保护颜色25保存或者发布程序的图形226第十二章对话框程序247本章概述…247创建模式对话框着自自自自春击。自鲁非非非非非非香自自自自自自。自自D鲁鲁非非非鲁非香着自自自。自B鲁鲁。非鲁非卷非非番鲁自自自。自自自。。自自D鲁鲁。非非番着自自命鲁自自自。自自B鲁鲁非鲁。非鲁非鲁247阻塞的组件程序247模式组件程序248编写模式对话框的定义模块““248编写模式对话框的事件处坦馍块..252测试模式对话框程序.…创建非模式的对话框.253编写非模式对话框程序54编写非模式对话框的事件处理模块测试丰模态对话程序257附录A∴组件的事件结构258事件结构的定义258公共字段的定义58基本组件的事件结构259base组件259按钮组件259绘图组件.259下拉式列表组件259标签组件260列表组件260滑动条组件表单组件.260文本组件262复合组件的事件结构.262CW Animate262CW Arcball262CW BGroupCW Clr Index263CW Color sel263Cw EfronCW FieldCW Form263CW FlisderCW OrientCW PDMenu264CW RGBSlider264CW Zoom264组件程序的事件结构264Colors264其他组件的事件结构64键盘焦点事件组件退出请求事件265组建计时器事件·····:····.265组件跟踪事件.265附录B…数据文件描述2668第一章起步篇本章概述本章意在解释写这本书的目的,道过阅读本书能学到什么,以及为读者提供一些能使读者更方便地使用本书中IDL编程例子的信息。将学会如下几点1.本书是如何组织的。2.怎样使用木书。3.如何下载和组织随本书附带的文件。4.如何使用IDL的变量,关键字和命令5.如何创建和运行IDL的矢量和数组。6.如何使用ID的图形窗口。书写本书的背景本书是在多年米教科学家和工程师使用和操作IDL( Interactive Data Language)的基础上创作的,而且教学的绝大部分时间是为IDL的开发者 Research Systems公司工作。当笔者在回答个又一个问题之后,笔者意识到多数问题属于一些同类问题。事实是,多数人想用TDL做许多同样的事情。想做的是分析和演示数据,写出晑效率的程序来解决科学问题,并且最主要的是快速做完工作。多数人并不想做的事情是阅读计算机软件教科书。IDL是一套大型软件并且在不但壮大。随之而来的是大量的文档资料,笔者知道没有人愿意去读这些资料。如果让某人独自开始学习IDL的奧秘,ⅠDL将是件可怕的事情,甚全对有经验的用户来说也是一样。本书意在使读者掌握IDL,教给读者在日常运行ⅠDL所必需知识的80%。更为重要的是,本书的例子使IDL更容易理解。无论如何,本书将演示如何使用⊥DL本书的读者是IDL初学者,特别是哪些不得不自学IDL的读者。学好IDL需要很长的阶段。多数人不能利用工作中的时间学习ID,笔者想写一本能满足这两类人学习IDL的书。总之,本书为不喜欢读教科书并能通过例子学得最好的人全面介绍ID的精髓。夲书在IDL编程技术和技巧方面只做了简要概略,而这些技术只能通过练习获取。最根本的是,这是一本笔者在学习IDL时所期望的书。运用本书笔者曾试图使本书每章能貝有独立性,这样能拿起本书就可翻到任何一章去学习最需要的知识。但在安排章节时,或多或少是根据笔者在IDL教学时的顺序安排。如果刚开始学IDL,那么按照书中的顺序从头川始学完本书将更合理。书中后面的几章编程教程是建立在前面儿章中讲过的概念和技巧的基础上的。IDL所需的版本希望读者在学习本书时使用的是最新的IDL版本。本书写作时使用的是ID5.2版。使用较早版本可以使用本书中编程例了的大部分,但笔者没有试图使本书中的例了程序与较早的IDL软件版本兼容。特别是,较早版本的用户在使用长文件名(如果在 Windows环境下)、指针(必须用句柄代替它)以及方括号米引用数组下标时(必须用圆括号代替它)时存在困难。如果需要升级软件,可以在ResearchSystems公可的wwW网址http://www.rsinc.com上查找关于ResearchSystems公司和当地IDL代理商的信息,包括如何升级软件的信息。IDL运行期间所需颜色的数量书中程序例子是按ID.在256种颜色模式下运行编写的,使用通常称为索引颜色的模式(详细细节参考83页的“使用IDL的颜色”章节)。这意味着所显示的颜色是索引号或是与色彩表相连的颜色,这样在色彩表中的颜色变化时,所显示的颜色也一同变化。启动IDL并在IDL命令行键入如下IDL命令,能发现所用的颜色模式。IDL>WindowIDL>Print. id n colors当!D.N( olors的值大于或等于256时,仍然能够使用书本中的例了,但必需对代码做“点改变。人多数人使用的颜色值都小于256。比较典型的颜色值介于200与245之间。笔者推测在本书中至少要用150种颜色。那就是说,!D. n Colors的值应在150至256之间少于150种颜色会怎样?如果在IL运行中少于150种颜色,并且计算机运行在公用桌面环境(CDE),可以将CDE环境下的颜色数设置为不是“高”的那种。设置为“中”或“低”的情况下,程序将运行良好。在视窗环境操作手册的在线帮助中查找如何改变这个设置如果不是用的共用桌面环境,颜色数也少于150,并且不是在PC机或 Macintosh计算机上运行IDL的话,那么很可能运行了其它应用稈序,该应用程序使用了要分配给IDL的颜色值。网页浏览器很可能就是这样的应用程序。退出当前任务,重新登录,并在重新登录后最先启动IDL键入以上命令,如果仍然得到少于150种的颜色,那么需要联系 Research Systems公司的技术人员,以获取更多的帮助。如果颜色数少于150种,并且是在PC或 Macintosh计算机上运行的IDL,那么,检查显卡以硝保设置为256色。一般π通过显示器的控制面板完成。详细细节参考计算机文档资料。
- 2021-05-07下载
- 积分:1