车辆与动力工程学院课程设计说明书.doc
《车辆与动力工程学院课程设计说明书.doc》由会员分享,可在线阅读,更多相关《车辆与动力工程学院课程设计说明书.doc(22页珍藏版)》请在沃文网上搜索。
1、车辆与动力工程学院课程设计说明书第一章 绪 论1第二章 总体设计22.1 设计思想22.2设计原理32.3 单元模块设计32.3.1 分频模块32.3.2 巴克码序列产生模块52.3.3 动态扫描显示控制模块62.3.4 译码显示驱动模块82.3.5 顶层电路的设计92.4 巴克码检测器102.4.1巴克码检测器驱动模块。102.4.2 顶层电路的设计13第三章电路的仿真及分析143.1 分频器仿真143.2 巴克码产生模块仿真153.3 八进制计数器仿真153.4 位选模块仿真153.5 译码显示模块仿真163.6 顶层电路仿真1617第四章 心得体会17附录18参考文献21第一章 绪 论人
2、类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度降低的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数万个晶体管;后者的核心就是 EDA 技术。没有EDA 技术的支持,想要完成超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必须对 EDA 技术提出新要求。EDA 代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计
3、和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(VHDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。 可编程逻辑器件自 20 世纪 70 年代以来,经历了 PAL、GAL、CPLD、FPGA几个发展阶段,其中 CPLD、FPGA 属高密度可编程逻辑器件,目前集成度以高达 200 万门/片,它将掩膜 ASIC 集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制和小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以和容易地转由 ASIC 实现,因此开发风险也大为降低。CPLD/FPGA 器件已成为
4、现代高层次电子设计方法的实现载体。 VHDL 是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为 3 种描述形式的混合描述,因此VHDL 几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL 来完成。另外,VHDL 还有以下优点:VHDL 的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL 可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL 的设计不依赖于特定的器
5、件,方便了工艺的转换。第二章 总体设计2.1 设计思想本次设计首先在 Quartus环境中对巴克码发生器的各个部分利用 VHDL 这一硬件描述语言予以设计,生成模块。而整个设计的核心部分就在序列产生与码数显示模块,产生模块完成的功能是八位巴克码序列(01110010)随时钟脉冲逐一产生,显示模块完成的功能是将八位序列码及其变化过程在七段数码管上显示出来。随后运用 Quartus中的仿真功能对其予以仿真,从仿真的结果中分析程序的正确性。待所有模块的功能正确之后,运用原理图搭建顶层电路并进行整体仿真直至达到最初的设计要求。2.2设计原理根据层次化设计理论,巴克码发生器设计可由产生及显示先后分为分频
6、模块、序列产生模块、动态扫描显示控制模块、译码显示驱动模块,其系统框图如图2.2 所示。图 2.2 巴克码产生器原理框图巴克码主要用于帧同步,帧同步的概念比较简单,但又十分重要,在一般的移动通信系统中采用集中插入同步法,集中插入方式的帧同步码,要求在接收端进行同步识别时出现伪同步的可能性尽量小,并要求此码组具有尖锐的自相关函数,以便识别。另外,识别器也要尽量简单,目前用得最广泛的是性能良好的“巴克码”(Barker)。巴克码是一种具有特殊规律的二进制码组。它是一个非周期序列,一个 n 位的巴克码X1,X2,X3, Xn,每个码元只可能取值+1 或-1。2.3 单元模块设计2.3.1 分频模块分
7、频模块将实验箱提供的 20MHz 的时钟脉冲分为 1Hz 的序列产生时钟脉冲和 1000Hz 的控制模块时钟脉冲。实际巴克码产生频率是远大于 1Hz 的,设计中为了便于观察序列输出时的变化所以将产生频率设为 1Hz。控制模块时钟用于控制显示模块对序列码的位选数据输出和八位七段数码管的位选显示,因此当控制时钟设为 1000Hz 时每位数码管显示扫描频率为 125Hz 显示效果较好。通过 VHDL 语言的顺序语句 IF-THEN-ELSE 来实现对输入脉冲的分频功能,1Hz 分频器 VHDL 源程序如下。library ieee;use ieee.std_logic_1164.all;use ie
8、ee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fpq1 isport(clk:in std_logic;co:out std_logic);end entity ;architecture bhv of fpq1 issignal s:std_logic;beginprocess (clk)variable QB:integer range 1 to 10000000;beginif rising_edge(clk) thenif QB=10000000 THEN QB:=1;s= not s; else QB:=Q
9、B+1;end if;end if;end process;co=s;end bhv; 1000Hz 分频器源程序见附录。1000Hz 分频器与上述 1Hz 分频器源程序一致,只需将计数量 QB 的范围变为 1 to 10000 将判断条件改为 if QB=10000即可。生成的分频器元件如图2.3.1 所示。 图2.3.1 分频器元件图2.3.2 巴克码序列产生模块序列的产生由复位控制端 reset 实现,当 reset 为低电平时使八位序列码01110010,当 reset 为高电平时序列随序列发生时钟脉冲逐一输出。考虑到序列的排列是固定的可用移位的原理将序列按原顺序重复逐一输出。此程序主
10、要用到位运算符号&,其 VHDL 源程序如下。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity xulie isport(clk,reset:in std_logic;q:out std_logic;dout:out std_logic_vector(7 downto 0); end entity ;architecture bhv of xulie issignal s:std_logic_vector(7 downto 0)
11、;beginprocess(clk,reset)beginif reset=0 then s=01110010;elsif reset=1 and (clkevent and clk=1) thens=s(6 downto 0)&s(7);end if;end process;q=s(7);dout=s;end bhv;此模块为发生器的核心模块,其两个输出数据,一个作为巴克码发生端口只输出高低变化的方波脉冲即码元输出;一个作为提供显示模块数据的编码输出端口。生成的原件如图 2.3.2 所示 图2. 3.2 序列产生模块2.3.3 动态扫描显示控制模块八位巴克码的显示需要八个位上的数据分别在八位
12、数码管上显示那么需要八种状态的改变,则显示控制模块主要由八进制计数器模块和位选模块构成。其中计数器提供了八种状态的改变,位选模块决定了在哪种状态输出哪一位数据。位选需要序列数据的输入、状态控制输入和选中位数据输出三个端口,而序列数据是每一位的数据时变化的所以选中位的数据只能由语句 dout=din( x)实现 x 为对应的位数。 八进制计数器 VHDL 源程序如下。八进制计数器模块原件如图 2.3.3(a)所示library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_a
13、rith.all;entity count8 isport(clk:in std_logic;count8:out std_logic_vector(2 downto 0);end count8;architecture bhv of count8 issignal s:std_logic_vector(2 downto 0);beginprocess(clk)beginif(clkevent and clk=1)thenif s=7 thens=000;else s=s+1;end if;end if;end process;count8=s;end bhv;图 2.3.3(a)八进制计数器
14、模块 位选控制模块主要用到 withselect 语句实现不同状态下输出不同位的数据功能,其 VHDL 源程序如下。 位选模块如图 2.3.3(b)所示library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity weixuan isport(cin:in std_logic_vector(2 downto 0); din:in std_logic_vector(7 downto 0);dout:out std_logic);end ent
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车辆 动力工程 学院 课程设计 说明书