您好,欢迎来到刀刀网。
搜索
您的当前位置:首页用VHDL设计PCM采编器

用VHDL设计PCM采编器

来源:刀刀网
维普资讯 http://www.cqvip.com ・开发研究与设计技术e 本栏目责任编辑:谢媛媛 用VH DL设计PCM采编器 刘锐’.刘红 (1.山东电子职业技术学院电子系,山东济南250014;2 安徽大学电子学院,安徽合肥230039) 摘要:介绍了通信技术中PCM采编器的工作原理,用VHDL设计了PCM采编器,并给出了仿真波形图.最后用CPLD器件实现了 PCM采编器 关键词:CPLD器件:VHDL;PCM采编器 中图分类号:TP302 文献标识码:A 文章编号:1009—3044(2007)11—21318—02 Designing PCM Collector Using VHDL LIU Rui .LIU Hong ̄ (1.Electrical Department,Shandong CoHege ofElectrical Technologydinan 250014,China;2.Institute ofElectrical Science and Technology,Hefei 230039,China) Abstract:The paper introduces the principle of PCM collector in communication technology,designs PCM collector using VHDL,shows simulating waveform and realizes PCM collector with CPLD device. Key words:CPLD device;VHDL;PCM collector 1引言 现代通信系统的发展方向是功能更强、体积更小、速度更快、 功耗更低,大规模可编程逻辑器件FPGA和CPLD器件在集成度、 同步码预先存放在芯片内。数据的帧格式由字计数器、地址译码 器和数据选择器控制。当字计数器值为0时,译码器选通帧同步 码高位,经过24选8数据选择器后进行并/串转换,并经D触发 器采样后输出;当字计数器值为1时,选通帧同步码低位;当字计 数器值大于1小于8l时,选择模拟信号数据输入,当字计数器值 大于80时,选择数字通信数据输入。码率可通过修改码率分频器 分频值改变。 功能和速度上的优势正好满足通信系统的这些要求。随着器件复 杂程度的提高.电路逻辑图变得过于复杂,不便于设计。VHDL (VHSIC Hardware Description Language)是随着可编程逻辑器件 的发展而发展起来的一种硬件描述语言。VHDL具有极强的描述 能力.能支持系统行为级、寄存器传输级和门级三个不同层次的 3 PCM采编器的VHDL程序 我们VHDL语言设计了PCM采编器.程序如下: library ieee; ogic1 164.all; use ieee.stdl_——设计,实现了逻辑设计师多年来梦寐以求的“硬件设计软件化”的 愿望,给当今电子系统设计带来了性的变化f1,2】。 2 PCM采编器的工作原理 PCM遥测系统是一种常用的遥测设备,它可以采集多路数据 use ieee.stdlogicunsigned.all; __并进行通讯传输和数据处理.它的多路数据采集设备是PCM采 编器.PCM采编器控制采集各个数据通道数据的时序.并加上帧 同步码形成一定格式的数据,再进行并/串转换,形成串行数据流 送到调制设备上传送。归纳起来,PCM采编器有如下功能: 控制数据采集的时序;加帧同步码,按一定格式组织数据包;并/串 转换[3]。 下面设计一个码率为2Mb/s,字长为8位.帧长为100字.帧 entity pcm is port (elk:in std_logic; datain:in stdlogicvector(7 downto 0】; ___dataout:out stdlogic; ——_addressout:out stdlogicvector(6 downto 0); ___csad,csd:out std_logic); end pcm; architecture pcmarc of pcm is _同步码为HEB90的PCM采编器,其结构如周1所示。输入信号 线为数据总线D7~DO和一个外接时钟信号,输出信号线包括串 行数据输出、地址输出、AD片选输出和数据通道片选输出。 Do狮 signal clockml,cp:stdlogic; _signal mhstdlogievector(2 downto 0); __signal countz,eountzz:stdlogic_—__vector(6 downto 0); signal data:stdlogicvector(7 downto 0】; component decoder 匿广 罔 蕾l●基  t port(datain:in std logic_vector(7 downto 0); countz,countzz:in stdlogicvector(6 downto 0】; _—一 蕾 鼻 ■ dataout:out stdlogicvector(7 downto 0); __csad,csd:out std_logic); end component; component datachange 晰 port(elk:in std_logle; 图1 PCM采编器框图 datain:in stdlogicvector(7 downto 0】; __采编器内部进行并/串转换时,由一个8选1多路开关和一个 dataout:out std_logic; _—D触发器完成。由位计数器和多路开关选通当前数据位,并通过 触发器采样消除毛刺。采编器可以接受两类数据源:一类是通过 countz,countzz:out stdlogicend component; begin vector(6 downto 0)); A/D变换后的模拟信号数据:一类是数字通信数据.如指令和状态 等。数据源的选择由 D片选信号和数字通道片选信号控制。帧 收稿日期:2007-03—23 process(elk) 作者简介:刘t ̄(1963-),男,安徽宿县人,副教授,研究方向为电路设计。 1318 毫誓知识与技术 维普资讯 http://www.cqvip.com 本栏目责任编辑:谢媛媛 begin ・・・・・・开发研究与设计技术・ 统成功通过了仿真。最后用CPLD器件实现了PCM采编器。 i ̄clk event and clk= if(ml--”100”)then 1 、then 掘 m Hll ”l 22 i ∞ Ⅱll<=”000”;clockml<=not clockml; else ml<=ml+1: ●d-删 ● ●csad 0 X X l I I l l j l end if; cp<=clockml; 譬硎le瞄- H∞ 弱l i 图2 PCM采编器仿真波形 end i;f end process; u1:decoder port map(data_in,countz,eountzz,data,csad,csd); u2:datachange port map(cp,data,data_out,countz,countzz); address out<=eountzz; end pcmare; —参考文献: 【1】黄正瑾.在系统编程技术及其应用【M】.南京:东南大学出版 社.1997. [2]侯伯亨.数字系统设计基础【M】.西安:西安电子科技大学出 版社。20o0. 4结束语 PCM采编器的仿真波形如图2所示。系统输入为clk、da— ta_[3】杨晖.大规模可编程逻辑器件与数字系统设计【M】.北京:北 京航空航天大学出版社。1998. in,输出为data_out、address_out、csd、csad,由图2可以看出,系 字,是同字返回1值;参数grdx是手中某个字牌的起始位置,如在 f上接第1292页) ed52:seard3(eard52) 数组card520内存放5张条中后3张 Ⅱcd51=1 And ed52=1 Then 【2113181 ̄合成牌牌型分析 temp:1 图1中grdx就等于l1;数组grdO存放个人手中的13张牌。 6总结 f11单类牌的成牌牌型分析处理是后期听牌、胡牌判断的基 础。如图1中听牌的结果显示是“条”1、4、7,它就是基于对另外 EndIf 【11131111特殊成牌牌型ABBBC Ⅱ(x51一x52:-1)And(x52:x53)And(x53:x54)And(x54 一x55=-1、Then temp=1 “筒”456、“万”55、“字”中中中是否构成成牌牌型判断的基础上。 (2)单类牌的成牌牌型分析,是按牌的张数从少到多,逐步分 析。这符合软件工程中“从小到大”、“从简到繁”的设计思想。另 外,从前面的论述中也看到了,当牌的张数大于等于5时,其分析 中直接调用了之前已分析出的结果。这既实现了代码重用,提高 了编程的效率,又降低了牌数多时的分析难度。 (3)关于重复分析问题。如对9张“条”的处理可用3个『31、『31 与『61的两种组合来分析。对“条”l1 1 123456的处理用上述两种组 End If scard5:temp End Function 在上面的分析中,对于基本成牌牌型如【2】、【3】,构造函数来判 断,是成牌牌型返回1值;当牌的张数大于等于5时,对可以分解 成成牌牌型组合的,可直接调用已分析得到的函数来判断;对于 如ABBBC等特殊成牌牌型,目前采用枚举法。但这里的枚举,不 是一一列举,而是针对特殊成牌牌型的某一类列举。在上面(3)中 合分析都可以。如果两种组合都用来分析,就出现了重复分析;对 “条”123455667、122334777的处理则只能用【3】与【6】的组合来分 析。实际分析时究竟采取哪中组合呢?处理办法。采取更进一步的 细化分析。实际上,如果9张“条”构成成牌牌型。那么其头或尾3 张牌必是成牌牌型【3】。所以对9张“条”是否构成成牌牌型的判断 处理,可以只用『3】与【6】的组合来分析,这样就能避免重复分析, 从而提高程序的运行效率。但个别的情况下。有限的重复目前还 没有找到更好的解决方法。 对ABBBC一类特殊成牌牌型的分析,就可用于处理:筒23334、万 78889等同属这一类的。 4字牌的成牌牌型分析 字牌的成牌牌型分析有两种方法:一是考虑具体的“字”是什 么字,分东、南、西、北等。二是依此类牌的特殊性,只需考虑是否 是同字便可知道其是否构成成牌牌型。所以采用方法二,可使之 较数牌的成牌牌型分析更简单。这里不再具体分析。 5字牌成牌牌型的计算机分析处理 对字牌成牌牌型的计算机分析处理。下面只对2、3张字牌的 成牌牌型判断算法作简要说明。其它多张牌时的判断分析。同前 面数牌的成牌牌型的计算机分析处理类似。不再赘述。 5.1判断2张字牌是否构成成牌牌型 1 注释:(1)数牌:指条、筒、万。(2)字牌:指东、南、西、北、中、发、 白。f3)成牌牌型:指构成胡牌时的基本牌姿,如胡牌时手中有2张 条,则此2张条只能是条AA,那么条AA就称之为成牌牌型;如 胡牌时手中有3张条,则此3张条只能是条AAA或条ABC,那么 Function SCardZ2(grdx) Ⅱz2(grdx1=1 hen Ttemp 1 End If seardz2:temp End Function 条AAA、条ABC就称之为成牌牌型。f41牌型说明:①AA:是指两 张同样的牌,如条11、简22、万33、字东东等。②AAA:是指三张同 样的牌,如条111、筒222、万333、字东东东等。③ABc:是指三张 连续的牌。如条123、简234、万345等。 5-2判断3张字牌是否构成成牌牌型 Function SCardZ3(grdx) Ⅱz3(grdx、=1 Then temp 1 参考文献: 【1】傅清详,王小东,等.算法与数据结构【M】.电子工业出版 社.2006.12. EndIf seardz3=temp End Function 【2】杨文龙,古天龙,等.软件工程【M】.电子工业出版社, 2006.12. 【3】齐锋,等.Visual Basic 6.x程序设计【M】.中国铁道出版社, 2002.9. 其中函数z20、z30是用来判断连续的两张、三张字牌是否同 1319 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务