数字信号的发送和接收电路设计

发布 2019-08-12 05:03:40 阅读 2418

设计题目:数字信号的发送和接收电路设计

院系:电子信息与电气工程系。

学生姓名。学号:200902070007

专业班级:09电子信息工程(专升本。

2010 年 12 月 08 日。

1. 设计背景和设计方案。

随着科技的发展,模拟信号在很多方面将逐渐会被数字信号所替代,数字信号有许多优势,他增加了通信的保密性,提高了抗干扰能力,但其技术复杂,数字信号在传输过程中会混入杂音,可以利用电子电路构成的门限电压,去衡量输入的信号电压,只有达到某一电压幅度,电路才会有输出值,并自动生成一整齐的脉冲。在简要介绍同步数字复接基本原理的基础上,采用vhdl语言对同步数字复接各组成模块进行了设计,并在ise集成环境下进行了设计描述、综合、布局布线及时序**。

1.1系统简介。

课题采用altera公司的quartus6.0设计平台,以超高速集成电路硬件描述语言vhdl为系统逻辑描述的唯一表达方式,采用自顶向下的设计原则,对mcs-51单片机的串行接口进行反相设计。在设计时进行模块划分,可划分为4个子模块,它们分别是1)串口时钟发生器模块;

2)数据检测器模块;

3)发送器模块;

4)接收器模块。

1.2系统框图。

该系统框图如图1所示。

图1 系统框图。

把并行码变为或把串行码变为并行码,在数据接收端,只有在**传送无误后,才把数据**并行输出。串行偶校检测器课通过异或实现数据传送的格式采用异步串行通信的格式,包含起始位,数据位,检验位,停止位和空闲位。此实验可选用两个实验箱完成,一个发送数据,一个接收数据。

注意,两试验箱的时钟必须选得一样,两实验箱要共地。

2. 方案实施。

2.1设计思路。

设计一个5位数字信号的发送和接收电路,把并行码变为串行码或把串行码变为并行码,串行偶校验检测器可通过异或实现。在数据接收端,只有在**传送无误后,才把数据**并行输出。数据传送的格式采用异步串行通信的格式,包含起始位、数据位、校验位、停止位和空闲位。

2.2程序。

数据发送模块:将并行数据加上起始位、偶校验位和停止位,以串行方式发送出去。

library ieee;

use use

entity send is

port(start:in std_logic;

a: in std_logic_vector(4 downto 0);

clk: in std_logic;

b:out std_logic);

end send;

architecture rt1 of send is

beginprocess(clk,a)

variable temp:std_logic_vector(6 downto 0);

variable tmp,m:std_logic;

variable tmp1:integer range 0 to 7;

beginif(clk even and clk='1')then

if(m='0')then --发送空闲位。

tmp:='1';

end if;

if(start='0')then --start键有效。

m:='1';

temp(5 downto 1):=a(4 downto 0); 数据位。

temp(6):=a(4)xor a(3) xor a(2) xor a(1) xor a(0); 偶校验位。

temp(0):=0'; 起始位。

elsif(m='1') then

tmp:=temp(0); 发送数据。

temp:='1'&temp(6 downto 1);

if(tmp1<7)then --一次发送8位数据,在最后加上停止位‘1’

temp:=temp1+1;

elsem:='0';

temp:="0000000";

tmp1:=0;

end if;

end if;

end if;

b<=tmp;

end process;

end rt1;

接收电路比发送电路要复杂,接收电路要实时检测起始位的到来,一旦检测到起始位到,就要将这一帧数据接收下来,数据接收模块,当检测到起始位时,将数据位和校验位取出,若校验无误,则并行送出,若有误则报警。

library ieee;

use entity rcv is

port(clk,re:in std_logic;

imp:out std_logic_vector(4 downto 0);

alm:out std_logic);

end rcv;

architecture rcv_arc of rcv is

beginprocess(clk)

variable a:std_logic;

variable cnt:integer range 0 to 6;

variable shift:std_logic_vector(5 downto 0);

beginif clk'event and clk='1' then

if a='0' then

if re='0' then --检测起始位。

a:='1';

alm<='0';

end if;

elseif cnt<6 then

shift:=shift(4 downto 0)&re; -取出数据位和校验位。

cnt:=cnt+1;

elsecnt:=0;

a:='0';

if(shift(0) xor shift(1) xor shift(2) xor shift(3) xor shift(4) xor shift(5)='0' then

imp<=shift(5 downto 1); 若校验无误,则送出。

elsealm<='1'; 检测到错误则报警。

end if;

end if;

end if;

end if;

end process;

end rcv_arc;

2.3模块功能**。

对于send模块和rcv模块,我们根据vhdl的学习有了深入的了解,对此我们可以通过**可以通过vhdl语言设计出send模块和rcv,通过编译**我们可以较容易的看出波形,从而得出设计是否满足我们的需求。

通过编译**的send(图2)模块和rcv(图3)模块及相应的**图如图所示:

图2 发送模块图3接收模块。

send模块为发送模块,将并行数据加上起始位,偶校验位和停止位,一串行方式发送出去,通过**,其波形图如图4所示。

图4 发送模块**波形。

rcv模块为数据接收模块,当检测到起始位时,将数据位和校验位取出,若检验无误,则并行送出,若有误则报警,通过**,其波形图如图5所示。

图5 接收模块**波形。

3.结果和结论。

通过vhd语言对于数字信号的发送和接收电路的设计,从中对于vhd语言有了更加深入的了解,对于数字信号的特点也有了初步的了解。设计过程中,遇到过许多困难,但在自己的努力下,数字信号的发送和接收,能够准确的发送和接收,最终通过**,验证了设计的准确性。

数字信号题和答案

填空。1线性时不变系统的表示方法 常系数线性差分方程 卷积 系统函数。2 线性时不变系统是因果系统的充要条件 h n 0,n 0 3离散时域求解法 迭代法 卷积计算法。4由u n 如何能得到u n 2 5 fft算法有俩种 按时间轴抽取法 dit 按频率抽取法 dif 6 级数收敛的充要条件是 满足...

数字信号作业

小波分析在图像处理中的应用 摘要。介绍了图像小波分析的基本理论和基于小波变换的分解与重构原理,利用小波变换对二维图像进行分解,将原始图像分解成不同方向 不同频率成分的子图像。同时对含噪声图像进行小波分解。通过选取适当的阈值,对小波分解系数进行阈值量化,再对高低频系数重构,实现图像的去噪。最后运用ma...

数字信号答案

内蒙古科技大学考试09 10a标准答案。课程名称 数字信号处理a卷考试班级 通信 电信07 考试时间标准制订人 杨立东。一 填空题 共5空,每空2分,共10分 1 10,1024 2 通带 3 4 栅栏。二 计算题 共7题,共80分 1 解 因为是实序列,1分 每个1分 2分 2分 1分1分 1分 ...