你现在位置:首页>技术论文>数据通讯>正文
基于VHDL语言的全双工异步接收发送电路设计
日期:2006-4-30 10:18:25 来源:本文摘自《PLC&FA》  
点击: 作者:未知
点击【】放大字体.

1  引言

WWW_P※LCJS_CO※M-PLC-技-.术_网

     随着电子技术的发展,现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD的出现,使得电子系统的设计者利用与器件相应的电子CAD软件,在实验室里就可以设计自己的专用集成电路ASIC器件。这种可编程ASIC不仅使设计的产品达到小型化、集成化和高可靠性,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,降低了设计风险。目前,数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下地逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件,实现电子设计自动化。其中电子设计自动化(EDA)的关键技术之一就是可以用硬件描述语言(HDL)来描述硬件电路。VHDL是用来描述从抽象到具体级别硬件的工业标准语言,它是由美国国防部在20世纪80年代开发的HDL,现在已成为IEEE承认的标准硬件描述语言。VHDL支持硬件的设计、验证、综合和测试,以及硬件设计数据的交换、维护、修改和硬件的实现,具有描述能力强、生命周期长、支持大规模设计的分解和已有设计的再利用等优点。利用VHDL这些优点和先进的EDA工具,根据具体的实际要求,可以自己来设计全双工异步接收发送器。
WWW_PLCJS_COM-PLC-技.术_网

2  系统功能简介

W1WW_P4LCJS_COM-PLC-技.术_网

     图1是一个8位全双工异步接收发送器的硬件框图,该电路的主要功能如下:
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS@_COM%-PLC-技.术_网

图1     系统方框图
WWW_P※LCJS_CO※M-PLC-技-.术_网

P.L.C.技.术.网——可编程控制器技术门户

(1) 从计算机接收8位并行数据并写到串行输出;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

(2) 从串口读入外部数据并将其转换为8位并行数据送往计算机。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

该系统主要由4个模块构成,PAR_IN_SER_OUT执行并入串出操作、SER _IN_ PAR _OUT执行串入并出操作、inter-face是并行数据与外部的接口、CLOCK_GEN产生工作时钟。
WWcW_PLCJS_COM-PLC-技.术_网

串入并出操作由串行输入的下降沿触发,串行输入要保持低电平半个周期以上。此半周期时钟同时作为输入移位时钟,8位数据输入结束后,结束信号NINTI变为0并维持到下一次数据输入。并入串出操作由输入信号LOAD的高电平出发,串行输出结束后,结束信号NINT0变为0。8位数据口是双向的,如图1所示。
——可——编——程——控-制-器-技——术——门——户

 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

3  系统实现
plcjs.技.术_网

3.1   顶层设计
WWW_PLC※JS_COM-PmLC-技.术_网

     基于自顶至下的和基于库的设计方法是VHDL的一大优点。因此按照层次式的设计方法,首先写出系统的顶层描述。在顶层文件中首先在work库中建立一个名为uart_package的程序包。程序包中定义一个常量word_length:integer:=8再自定义一种类型TYPE word IS STD_LOGIC_VECTOR (word_length-1 DOWN TO 0).其后就是对各个底层原件进行例化,建立的过程比较简单,在此不加赘述。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

下面给出顶层的实体和结果体的原程序:
WW.W_PLC※JS_C,OM-PL,C-技.术_网

USE WORK. uart_package.ALL;
WWW_P※LCJS_COM-PLC-)技.术_网

ENTITY uart IS
WWW_PLC※JS_COM-PmLC-技.术_网

PORT (data: INOUT word;I: IN STD_LOGIC;
WWW_PL※CJS_COM-PLC-技.术_网

Load, read: IN  STD_LOGIC;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

O: OUT  STD_LOGIC;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Ninto: OUT  STD_LOGIC;
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

Ninti: BUFFER  STD_LOGIC);
W1WW_P4LCJS_COM-PLC-技.术_网

END uart;
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

ARCHITECTURE structure OF uart IS
WWW_P※LCJS_CO※M-PLC-技-.术_网

   SIGNAL iclk, oclk: STD_LOGIC;
WW.W_PLCJS_COM-PLC-技.术_网

   SIGNAL output: word;
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

BEGIN
——可——编——程——控-制-器-技——术——门——户

 U1:  clock_gen PORT MAP(iclk, oclk); 
WW.W_PLCJS_COM-PLC-技.术_网

 U2: par_in_ser_out PORT MAP(data, load, oclk,ninto,o); 
WWW.PLCJS.COM——可编程控制器技术门户

 U3:  ser_in_par_out PORT MAP(I, iclk, ninti, output); 
WWW_PL※CJS_COM-PLC-技.术_网

 U4:  interface PORT MAP(output,read, data);
W1WW_P4LCJS_COM-PLC-技.术_网

EDN structure;
WWW_PLCJS_COM-PLC-技.术_网

——可——编——程——控-制-器-技——术——门——户

3.2  底层设计
WWW.PLCJS.COM——可编程控制器技术门户

(1) 并行数据与外部电路的接口电路interface
WWW_PL※CJS_COM-PLC-技.术_网

     下面的VHDL源代码描述的是元件interface及其“位”单元的模型。元件interface用来隔离串入并出电路的输出与8位并行数据双向端口data。在其位单元中,当使能端为‘0’时,输出高阻态,这时可以从外部向data端写入数据。通过IEEE的STD_LOGIC决断函数的判断,par_in_ser_out执行并串转换。当使能端为‘1’时,执行串并转换,ser _in_ par _out的输出写到data端。在综合时,综合器根据三态推断的原则,用三态缓冲器实现这个电路。程序中的GENERIC用于形成8位缓冲器电路。

本新闻共4页,当前在第11 2  3  4  
WWW_PLCJS@_COM%-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行