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 ISWWW_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 ISWWW_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) 并行数据与外部电路的接口电路interfaceWWW_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位缓冲器电路。WWW_PLCJS@_COM%-PLC-技.术_网