0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实现PCM码解调系统的VHDL程序模块设计

电子设计 来源:郭婷 作者:电子设计 2018-12-30 09:28 次阅读

1 引言

脉冲编码调制(Pulse Code Modulation,简称PCM)是一种概念简单、理论完善的编码系统,其最大特征是把连续的输入信号变换成在时间和振幅上都是离散量,然后再变换为代码传输。信息数字信号,在远距离再生中继传输中不积累噪声,从而提高了通信系统的有效性、可靠性和保密性。利用现场可编程门阵列(FPGA)和VHDL 语言实现了PCM码的解调,这样在不改变硬件电路的情况下,能够适应PCM码传输速率和帧结构变化,从而正确解调数据。

2 硬件电路设计

图1给出基于FPGA的硬件电路。其中,图1(a)为FPGA配置模块;图1(b)为信号收发模块及PCM码接收模块。

实现PCM码解调系统的VHDL程序模块设计

该系统设计中FPGA选取Xilinx公司的Spartan系列XC2S50器件。该器件有4种工作模式,分别为主串模式、从串模式、边界扫描和从并模式。将M0,M1,M2接地,使其工作在主串模式下。FPGA由存储在片内RAM中的程序设置其工作状态,工作时需要编程设置片内的RAM。用户可根据不同的配置模式,采用相应的编程方式。上电时,FPGA将EPROM中的数据写入片内编程RAM,配置完成后,FPGA进人工作状态。掉电后,FPGA内部逻辑消失,恢复成白片。因此,FPGA能够反复使用且无需专用的编程器,采用通用EPROM,PROM编程器即可实现。当需要修改FPGA功能时,只需换一片EPROM。同一FPGA根据不同的编程数据能够产生不同的电路功能。该系统在发送方接收到请求信号后则开始发送数据。PCM码解调模块在移位脉冲同步下接收数据,并将串行数据转换为并行数据存人FIFO中。每接收到一次请求脉冲发送一帧数据,每帧数据以146FH为结束标志字,EB90为子帧同步字,当PCM码解调模块检测到帧尾后停止解调,并停止向FIFO写人数据。PCM码解调模块由硬件描述语言编写并集成于FPGA中。

3 PCM码解调程序模块

图2给出PCM码帧格式。其中N为子帧中的字数,最大值为1 024;Z为一帧所含子帧个数,最大值为256。子帧同步字字长为16~32 bit,字长度为4~16 bit。在遥测系统中,依照PCM码帧格式,将所要测控的参数放在格栅中自定义位,同时定义子帧同步字和字长。当发送请求信号,同步接收一帧数据,即使一帧数据接收错误,也不影响下一帧数据解调的正确性,进一步减小误码率。检测子帧同步字时,先找到一个子帧同步字后,每隔N个字节判断移位数据是否为子帧同步字,对每一个子帧都进行判断,即使第一次误判,或当PCM发送中断后再重发,也不会影响后续正确解调数据。可根据子帧同步字、帧尾标志字和请求信号的顺序由该解调数据模块进行自我纠正,从而大大降低了误码率。图3为PCM码解调程序模块图。

实现PCM码解调系统的VHDL程序模块设计

3.1 移位脉冲产生程序

实现PCM码解调系统的VHDL程序模块设计

系统设计要求移位脉冲频率为80 kHz,对时钟脉冲进行40分频。移位脉冲产生程序仿真图如图4所示。其中,bitt为位同步移位脉冲。

实现PCM码解调系统的VHDL程序模块设计

3.2 字节同步信号产生程序

实现PCM码解调系统的VHDL程序模块设计

设b为一个标志位,当b为‘1’时,表示检测到请求信号的上升沿且尚未结束一帧传输,该进程的byte为字节同步信号,用来标志一个字节接收完毕。字节同步信号产生程序仿真图如图5所示。

实现PCM码解调系统的VHDL程序模块设计

3.3 并行数据输出及帧尾检测程序

实现PCM码解调系统的VHDL程序模块设计

并行数据在字节同步信号byte的上升沿输出,outdata为并行数据输出端,同时将并行数据赋值给帧尾标志tail的低8位,将tail的低8位给其高8位,当tail的值为146F时,即表示一帧结束。并行数据输出及帧尾检测程序仿真图见图6。

实现PCM码解调系统的VHDL程序模块设计

4 调试结果

所发送数据是以00H为起始递增的一串数据,该数据字长200,结尾以146F为标记。调试过程中,南示波器观察波形,可以看到请求信号的频率及脉宽、移位脉冲的频率均符合要求,解调出的并行数据与数据源的数据相吻合。图7和图8分别给出移位脉冲电压up波形和输出最低位电压ud波形。

实现PCM码解调系统的VHDL程序模块设计

5 结语

基于FPGA的PCM码解调电路VHDL程序模块设计,可使电路在发出请求脉冲后,在移位脉冲的作用下,同步接收PCM数据,并输出8位并行数据,在帧尾处结束解调。通过仿真及最终电路调试验证了该系统设计能够实现PCM码解调系统功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21748

    浏览量

    603861
  • vhdl
    +关注

    关注

    30

    文章

    817

    浏览量

    128159
  • PMC
    PMC
    +关注

    关注

    0

    文章

    89

    浏览量

    14914
收藏 人收藏

    评论

    相关推荐

    【求助】利用simulink设计和仿真PCM的产生及解调系统

    利用simulink设计和仿真PCM的产生及解调系统,并总结参数变化对系统输出的影响。谢谢!
    发表于 05-13 20:45

    FPGA的VHDL程序基本结构是怎样的?FPGA的VHDL程序设计单元关系图

    包体又属于公用设计单元,即它们是被其他程序模块调用的。库则是一批程序包的集合。图 2-1 所示为 VHDL 程序设计单元之间的关系。图 2-1 VH
    发表于 09-07 09:11

    基于VHDL方式实现了QPSK数字调制解调电路的设计

    本文基于VHDL方式实现了QPSK数字调制解调电路的设计,通过QuartusII软件建模对程序进行仿真,并通过引脚锁定,下载到FPGA芯片EP1K30TC144—3中,软件仿真和硬件验
    发表于 12-18 06:03

    如何利用FPGA和VHDL语言实现PCM解调

    利用现场可编程门阵列(FPGA)和VHDL 语言实现PCM解调,这样在不改变硬件电路的情况下,能够适应
    发表于 05-07 06:58

    可编程GOLDVHDL实现

    论文讨论的是基于VHDL 实现系统编程平衡GOLD 逻辑电路设计,给出周期与相位可编程平衡GOLD 生成电路设计方案。该方案由最长线性
    发表于 06-13 10:30 26次下载

    VHDL实现PCM解调程序模块设计

    依据VHDL程序设计出针对现场可编程门阵列(FPGA)的脉冲编码调制(PCM解调电路。解调
    发表于 12-21 10:12 76次下载

    基于VHDL的QPSK调制解调系统设计与仿真

    文中详细介绍了QPSK技术的工作原理和QPSK调制、解调系统设计方案,并通过VHDL语言编写调制解调程序和QuartusII软件建模对
    发表于 06-08 17:47 92次下载
    基于<b class='flag-5'>VHDL</b>的QPSK调制<b class='flag-5'>解调</b><b class='flag-5'>系统</b>设计与仿真

    DS1302程序模块C程序讲解

    DS1302程序模块C程序讲解,很好的资料下载吧。
    发表于 01-13 15:57 26次下载

    DSP之 FSK调制与解调VHDL程序及仿真教程

    DSP之 FSK调制与解调VHDL程序及仿真教程,很好的DSP自学资料,快来学习吧。
    发表于 04-15 17:37 12次下载

    DSP之PSK调制与解调VHDL程序及仿真教程

    DSP之 PSK调制与解调VHDL程序及仿真教程,很好的DSP自学资料,快来学习吧。
    发表于 04-15 17:42 15次下载

    DSP之MPSK调制与解调VHDL程序与仿真

    DSP之MPSK调制与解调VHDL程序与仿真,很好的DSP自学资料,快来学习吧。
    发表于 04-15 17:42 4次下载

    微软发布开源框架驱动程序模块新框架

    为了方便开发人员为Windows编写驱动程序,微软昨天发布了一个开源框架驱动程序模块框架(DMF)。这个新框架将允许开发人员编写简单和结构化的Windows驱动程序框架(WDF)驱动程序
    发表于 08-22 11:37 1147次阅读

    FSK的调制与解调VHDL程序和仿真说明

    本文档的主要内容详细介绍的是FSK的调制与解调VHDL程序和仿真说明。
    发表于 12-18 16:44 23次下载
    FSK的调制与<b class='flag-5'>解调</b>的<b class='flag-5'>VHDL</b><b class='flag-5'>程序</b>和仿真说明

    使用VHDL硬件描述语言实现基带发生器的程序设计与仿真

    本文档的主要内容详细介绍的是使用VHDL硬件描述语言实现基带发生器的程序设计与仿真免费下载。
    发表于 01-20 13:44 16次下载
    使用<b class='flag-5'>VHDL</b>硬件描述语言<b class='flag-5'>实现</b>基带<b class='flag-5'>码</b>发生器的<b class='flag-5'>程序</b>设计与仿真

    DPSK调制解调实验心得

    DPSK调制解调电路程序主要由基带信号生成模块pcm.v)、绝对转相对
    的头像 发表于 03-30 09:26 2514次阅读