巴克码检测器课程设计Word文档格式.docx

上传人:b****5 文档编号:19664483 上传时间:2023-01-08 格式:DOCX 页数:46 大小:781.51KB
下载 相关 举报
巴克码检测器课程设计Word文档格式.docx_第1页
第1页 / 共46页
巴克码检测器课程设计Word文档格式.docx_第2页
第2页 / 共46页
巴克码检测器课程设计Word文档格式.docx_第3页
第3页 / 共46页
巴克码检测器课程设计Word文档格式.docx_第4页
第4页 / 共46页
巴克码检测器课程设计Word文档格式.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

巴克码检测器课程设计Word文档格式.docx

《巴克码检测器课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《巴克码检测器课程设计Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。

巴克码检测器课程设计Word文档格式.docx

发展史及特点 

..................................................3

3.2 

Ⅱ应用 

.....................................................4

方案选择及论证 

........................................................6

设计原理 

..............................................................7

5.1 

巴克码发生器 

......................................................7

5.2 

巴克码检测器 

......................................................9

编译与仿真 

...........................................................13

6.1 

程序编译 

.........................................................13

6.2 

实验仿真 

.........................................................18

小结 

.................................................................20

参考文献:

.............................................................21

摘要

本课程设计主要是利用QUARTERSⅡ设计一个七位巴克码(X1110010)代码检测器,

当识别到一组代码时,输出一个高电平脉冲。

巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的

数字信息相区别,易于识别,出现伪同步的可能性小。

巴克码是一种具有特殊规律的二进制

码组,它是一种非周期序列。

关键词:

QUARTERSⅡ,巴克码,信号检测器,序列

Abstract

This 

course 

is 

designed 

using 

Ⅱ 

design 

seven 

buck 

code

(X1110010) 

code 

detector, 

when 

to 

recognize 

set 

of 

code, 

and 

the 

output

pulse 

high 

level.

Buck 

mainly 

used 

for 

communication 

system 

frame

synchronization, 

characterized 

by 

sharp 

autocorrelation, 

facilitate 

and

random 

digital 

information 

distinguish, 

easy 

identify, 

appear 

the

possibility 

pseudo 

synchronous 

small. 

one 

kind 

has 

special 

law 

binary 

group, 

it 

non-periodic 

sequence.

Keywords:

Ⅱ, 

yards, 

signal 

tester, 

sequence

绪论

在通信系统中,同步技术起着相当重要的作用。

通信系统能否有效地、可靠地工作,很

大程度上依赖于有无良好的同步系统。

通信系统中的同步可分为载波同步、位同步、帧同步

等几大类。

当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相

的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。

而在数字通信中,消

息是一串连续的信号码元序列,解调时常须知道每个码元的起止时刻。

因此,就要求接收端

必须能产生一个用作定时的脉冲序列,以便与接收的每一个码元的起止时刻一一对齐。

在接

收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步。

数字通信中的消息数字流总是用若干码元组成一个 

字”,又用若干“字”组成一“句”。

此,在接收这些数字流时,同样也必须知道这些 

字”、“句”的起止时刻,在接收端产生与

“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。

当通信是在两点

之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通

信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复出数字信息。

在数字

通信系统中,实现帧同步的方法通常有两种:

起止式同步法和集中式插入同步法。

起止式同

步比较简单,一般是在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧

的开始和结束。

另外在计算机RS232 

串口通信中通常也使用类似方法。

而在集中式插入同步

法中,要求插入的同步码在接收端进行同步识别时出现伪同步的概率尽可能小,并且要求该

码组具有尖锐的自相关函数以便于识别。

同时接收机端的同步码识别器要尽量简单。

目前用

得比较广泛的是性能良好的巴克(Barker)码。

巴克码简介

一个 

位的巴克码组为 

, 

,. 

,},其中 

的取值是+1 

一 

1,其局部自相关函数为:

目前已发现的所有巴克码组如表 

表 

已发现的巴克码组

其中,“+”表示取值为高电平1,“一”表示取值为低电平0。

依要求及上面的巴克码组

可知,8 

位的巴克码发生器应在输入时钟信号作用下依次产生 

01110010”的码元序列。

1

Quarters 

Ⅱ设计软件介绍

发展史及特点

诞生于 

1982 

年。

随后各 

EDA 

公司相继推出了自己的 

设计环境,或宣

布自己的设计工具可以和 

接口。

此后 

在电子设计领域得到了广泛的接受,

并逐步取代了原有的非标准的硬件描述语言。

1993 

年,IEEE 

对 

进行了修订,从更

高的抽象层次和系统描述能力上扩展 

的内容,公布了新版本的 

VHDL,即 

IEEE 

准的 

1076-1993 

版本,(简称 

93 

版)。

现在,VHDL 

和 

Verilog 

作为 

的工业标准硬件

描述语言,又得到众多 

公司的支持,在电子工程领域,已成为事实上的通用硬件描

述语言。

有专家认为,在新的世纪中,VHDL 

于 

语言将承担起大部分的数字系统

设计任务。

的英文全写是:

VHSIC(Very 

High 

Speed 

Integrated 

Circuit)Hardware

Descriptiong 

Language.翻译成中文就是超高速集成电路硬件描述语言。

因此它的应用主要

是应用在数字电路的设计中。

目前,它在中国的应用多数是用在 

FPGA/CPLD/EPLD 

的设

计中。

当然在一些实力较为雄厚的单位,它也被用来设计 

ASIC。

主要用于描述数

字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,VHDL 

的语

言形式和描述风格与句法是十分类似于一般的计算机高级语言。

语言特点

(1)VHDL 

语言功能强大、设计灵活。

具有功能强大的语言结构,可以用简

洁明确的源代码来描述复杂的逻辑控制。

它具有多层次的设计描述功能,层层细化,最

后可直接生成电路级描述。

支持同步电路、异步电路和随机电路的设计,这是其

他硬件描述语言虽不能比拟的。

还支持各种设计方法,既支持自底向上的设计,

又支持自顶向下的设计;

既支持模块化设计,又支持层次化设计。

(2)支持广泛、易于修改。

由于 

已经成为 

标准所规范的硬件描述语言,

目前大多数 

工具几乎都支持 

VHDL,这为 

的进一步推广和广泛应用奠定了基

础。

在硬件电路设计过程中,主要的设计文件是用 

编写的源代码,因为 

读和结构化,所以易于修改设计。

(3)强大的系统硬件描述能力。

具有多层次的设计描述功能,既可以描述系

统级电路,又可以描述门级电路。

而描述既可以采用行为描述、寄存器传输描述或结构

描述,也可以采用三者混合的混合级描述。

另外,VHDL 

支持惯性延迟和传输延迟,还

可以准确地建立硬件电路模型。

支持预定义的和自定义的数据类型,给硬件描述

带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。

(4)独立于器件的设计、与工艺无关。

设计人员用 

进行设计时,不需要首先

考虑选择完成设计的器件,就可以集中精力进行设计的优化。

当设计描述完成后,可以

2

用多种不同的器件结构来实现其功能。

(5)很强的移植能力。

是一种标准化的硬件描述语言,同一个设计描述可以

被不同的工具所支持,使得设计描述的移植成为可能。

(6)易于共享和复用。

采用基于库(Library)的设计方法,可以建立各种可

再次利用的模块。

这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存

放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流

和共享,减少硬件电路设计。

(7)VHDL 

丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计

系统的功能可行性,随时可对设计进行仿真模拟。

(8)VHDL 

语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和

已有设计的再利用功能。

符合市场需求的大规模系统高效,高速的完成必须有多人甚至

多个代发组共同并行工作才能实现。

对于用 

完成的一个确定的设计,可以利用

工具进行逻辑综合和优化,并自动的把 

描述设计转变成门级网表。

(9)VHDL 

对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管

理最终设计实现的目标器件是什么,而进行独立的设计。

总之,由于 

语言有这么多优点和特点,因此它被广泛的应用在电路系统的设

计和器件的设计仿真中。

Ⅱ应用

QuartersⅡ是 

Altera 

公司推出的新一代开发软件,适合于大规模逻辑电路设计,是

公司的第 

代可编程逻辑器件集成开发环境,提供了从设计输入到器件编程的全部

功能,与 

Max+plus 

Ⅱ相比,Quarters 

Ⅱ设计软件增加了网络编辑功能,提升了调试能力,

解决了潜在的设计延迟,同时其强大的设计能力和直观易用的接口,受到数字系统设计

者的普遍欢迎。

Ⅱ开发系统具有以下主要特点:

Ⅱ可以产生并识别 

EDIF 

网表文件、VHDL 

网表文件和 

HDL 

网表文

件,为第三方 

工具提供了方便的接口。

Ⅱ支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计,与

Cadence,ExemplarLogic,MentorGraphics,Synopsys和Synplicity等EDA

供应商的开发工具相兼容。

QuartersⅡ作为一种设计环境,除支持 

的 

APEX20KE,APEX

20KC,APEXⅡ,ARM 

Excalibur 

嵌入式处理器方案,Mercury,FLEX10KE 

ACEX1K

之外,还支持 

MAX3000A 

MAX7000 

系列乘积项器件。

3

QuartersⅡ增加了一个新的快速适配编译选项,可缩短 

50%的编译时间。

快速适配

功能保留了最佳性能的设置,加快了编译过程,编译速度更快,对设计性能的影响最小[3]

境,或宣布自己的设计工具可以和 

在电子设计领域得到了广泛

的接受,并逐步取代了原有的非标准的硬件描述语言。

Ⅱ设计软件界面如图 

3.1

所示。

图3.1

Ⅱ设计软件界面

4

方案选择及论证

方案一:

在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设

计效率,增加程序的可读性,减少错误的发生几率。

同时,状态机的设计方法也是数字

系统中一种常用的设计方法,其输出仅仅是当前状态值的函数,并且在时钟上升沿到来

时才发生变化。

米立机的输出则是当前状态值、当前输出值和当前输入值的函数。

本实

验要从一串二进制码中检测出一个已预置的 

位二进制码,每增加一位二进制相当于增

加一个状态,用 

个状态可以实现。

方案二:

利用移位寄存器实现序列检测:

上面检测的原理是:

逐位检测,的那个检测到

信号时则转入下一个状态。

这种检测的原理清晰,但缺点是当检测到序列比较长时就非常麻烦,而且检测的灵活性

差。

利用移位寄存器能实现简便快速,可移植的序列检测器。

通过比较可以看出方案一比较容易实现,因此本次课程设计我选择的是方案一。

5

设计原理

序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器

连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出 

1,否

则输出 

0。

由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记

住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对

应码相同。

在检测过程中,任何一位不相等都将回到初始状态重新开始检测。

在本次设

计中首先要设计一个巴克码发生器,然后再设计巴克码检测器。

巴克码发生器

发生器原理:

位触发器构成的计数器可产生 

个代码。

原理图:

图 

巴克码发生器原理图

当计数脉冲不断进入由 

Q3Q2Q1 

组成的三位二进制异步计数器时,3-8 

译码

器的 

个输出经反相器后顺序输出高电平。

其中五路信号经“或非”后再和其中

6

路“或”,在 

端便可顺序产生 

11000100 

代码序列。

代码序列发生:

library 

ieee;

use 

ieee.std_logic_1164.all;

ieee.std_logic_unsigned.all;

entity 

bak1 

is

port(clk,reset:

in 

std_logic;

dout:

out 

std_logic);

end 

bak1;

architecture 

count 

:

std_logic_vector(2 

downto 

0);

tmp1:

begin

dout<

=tmp1;

process(clk,reset)

if 

reset='

0'

then

count<

=(others=>

'

);

elsif 

rising_edge(clk) 

=count+1;

case 

"

000"

=>

tmp1<

='

1'

;

001"

010"

011"

100"

101"

110"

7

111"

others=>

case;

if;

process;

a;

• 

序列检测器(1110010)

01

11

S1S2

S3 

S4

S8

0/1

S7 

S6

S5

巴克码检测器状态图

用状态机设计的巴克码检测器总设计程序如下所示:

8

ieee.std_logic_arith.all;

create 

port( 

CLR 

CLK_1S 

SIG_OUT 

CODE 

std_logic_vector(6 

0)

entity;

behave 

type 

states 

is(st0,st1,st2,st3,st4,st5,st6,st7);

current_state 

states;

process(CLK_1S,CLR,CODE)

<

st0;

rising_edge(CLK_1S) 

st0 

CODE(0);

st1;

st1 

CODE

(1);

st2;

st2 

CODE

(2);

st3;

9

st3 

CODE(3);

st4;

st4 

CODE(4);

st5;

st5 

CODE(5);

st6;

st6 

CODE(6);

st7;

st7 

others 

behave;

本次课程设计所用的频率是由实验箱 

pin16 

提供 

20M 

的频率,但我们实际中不会用

到那么高的频率,因此我们需要一个分频器将此 

的频率分频到我们所需的频率,分

频器原程序如下所示:

div 

CLK_IN 

CLK_OUT 

buffer 

DIV_TIME 

std_logic_vector(15 

10

data1:

integer 

range 

10000000;

data2:

p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1