用FPGA实现非标码速向标准码速调整.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用FPGA实现非标码速向标准码速调整

用FPGA实现非标码速向标准码速的调整 ??2003-3-17?? 摘要:本文主要讨论了如何利用FPGA可编程芯片实现计算机输出的异步非标码速(如9.6k、19.2k、57.6k、115.2k、460.8k等)到其邻近的标准码速(如64k、128k、256k、512k)的调整,实现该数据与通用传输系统的适配,以便能进行远程监控。 关键词:码速调整 FPGA 一、概述 现在,利用计算机进行异地数据采集正应用到越来越多的场合,如何高效而低成本地回传数据成为一个值得讨论的问题。由于计算机输出的数据一般都是异步数据,而且码率与通信的标准码率也不一致,如果要利用现有的电信网络进行传输,就会涉及到码速调整和异同步转换的接口问题,由于码速调整的内型比较多,本文将只讨论如何将较低的异步非标码速调整到比它高的标准码速上。 二、方案设计 在传统的数字电路中,对异步数据的变换处理一般采用通用异步收发器与单片机联合工作的方式。这种方式的优点就是电路结构成熟,软件编程简单,只要掌握一定的单片机语言即可进行开发。但它的缺点也是显而易见的,集成度不高,硬件电路结构复杂,当同时处理多路数据时,软件设计的难度也将加大。现在随着科技的进步,可编程器件的价格已经可以接受,一块一万逻辑门的FPGA芯片百元左右就可以买到,而这样一块芯片足可以集成3~4路独立的码速调整电路,所以采用FPGA芯片编程实现异步数据的处理将会使外围电路变得非常简洁,同时由于数据绝大部分时间都是在芯片内部运行,也有利于其传输稳定性的提高。另外,FPGA芯片大部分都可以重复擦写,只要改动程序设计即可实现不同功能的转换,从而加速同类型产品的开发速度,节约投资。用于开发可编程器件的软件可以到各器件厂家的网站直接下载。 码速调整方案的具体框图见图一,在其数据接收端内置了一个类似异步收发器的结构,采用16倍速高速采样检测异步信号起始电平的到来。为了便于描述,这里我们假设要处理的异步数据为7bit,加上一位起始位和一位停止位,总共为9bit。 三、工作流程描述 我们设计的思路是仿照通用异步收发器的执行过程,但在接收数据时并不去掉起始位和停止位,而是将数据按原来的码速全部接收下来后再以标准的码速发送出去,接收方的电路结构与发送方基本相同,只是少了一个空闲时插入“1”码的电路。 根据异步信号的通信规则,没有信号时数据线应表现为高电平,这时使用一个16倍于数据流的高速时钟对数据线进行采样,当检测到信号下降沿后,表示数据的起始电平有可能已经到来,这时采样器会输出一个reset信号使一个16分频的计数器复位,如果在8个高速脉冲内输入信号又恢复到高电平,则说明刚才是干扰信号,系统又回到起始状态;反之如果信号仍维持低电平,则表示数据起始电平已经到来, 16分频的计数器开始工作,经16分频后输出一个与输入数据准同步的数据写入时钟Write_clk,将数据读入并存放在一个9位寄存器中。 在异步数据的读取过程中,使用一个10位计数器进行计数,在一帧数据读入结束后计数器复位并产生一个标志信号over=‘1’,一方面使16分频计数器停止工作,数据暂停读入,直到下一帧数据的起始电平到来;另一方面将数据转移到发送区,准备数据的发送。 数据发送由Ready信号控制,也是通过一个10bit的计数器进行发送计数。发送区在上电后将一直发送“1”码,直至检测到第二帧数据的起始位,这时发送区将发送已经结束完毕的第一帧数据,依次类推。由于码速都是由低向高调整(即慢收快发),故一帧数据发送完毕后,其下一帧数据的读入还没有完成,为了保证数据的连续性和完整性,这时系统将自动插入空码“1” ,这些插入的“1”码在接收端接收时会因码速的差别(即快收慢发)而被自动去掉。 当处理多路数据时,如果大家都采用相同的clock2,则经变换后输出的多路数据将变成同步数据,可以直接进行同步复接。 主要信号工作时序如图二示,所有程序在ALTERA 的MAXPLUSII 10.0BASE环境下编译通过。

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档