如何用HDL Verilog 易语言 时钟周期编写一个简易周期计的程序,要求:设计思路,源程序,TB,仿真波形

Verilog HDL语言简介
Verilog HDL语言简介
1.什么是Verilog HDL
Verilog HDL是硬件描述语言的一种,用于数字电子系统设计。它允许设计者用它来进行各种级别的逻辑设计,可以用它进行数字逻辑系统的仿真验证、时序分析、逻辑综合。它是目前应用最广泛的一种硬件描述语言之一。
2.Verilog HDL的历史
Verilog HDL是在1983年由GDA(GateWay Design Automaon)公司的Phil Moorby首创的。Phil Moorby后来成为Verilog-XL的主要设计者和Cadence公司(Cadence Design System)的第一个合伙人。
在1984年~1985年,Moorby设计出了第一个关于Verilog-XL的仿真器,1986年,他对Verilog HDL的发展又做出了另一个巨大贡献:即提出了用于快速门级仿真的XL算法。
随着Verilog-XL算法的成功,Verilog HDL语言得到迅速发展。1989年,Cadence公司收购了GDA公司,Verilog HDL语言成为Cadence公司的私有财产。1990年,Cadence公司决定公开Verilog HDL语言,于是成立了OVI(Open Verilog Internaonal)组织来负责Verilog HDL语言的发展。
3.Verilog HDL的进展
基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL。其后,又在2001年发布了Verilog HDL标准。
据有关文献报道,目前在美国使用Verilog HDL进行设计的工程师大约有60000人,全美国有200多所大学教授用Verilog硬件描述语言的设计方法。在我国台湾地区几乎所有著名大学的电子和计算机工程系都讲授Verilog有关的课程。
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
在实际设计中有一种情况可能会产生这种问题:cond信号来自于memory。比如汉明码SECDED(...
学习verilog最重要的不是语法,“因为10%的语法就能完成90%的工作”,verilog语言常用...
VHDL全名Very-High-Speed Integrated Circuit Hardware ...
以`(反引号)开始的某些标识符是编译器指令。在Verilog 语言编译时,特定的编译器指令在整个编译...
Verilog HDL是一种硬件描述语言(HDL:Hardware Description Lang...
Generate 结构在创建可配置的RTL的时候很有用。Generate loop能够让语句...
DDS是从相位的概念直接合成所需波形的一种频率合成技术。不仅可以产生不同频率的正弦波,而且可以控制波...
Verilog作为一种种硬件描述语言目前已经得到了普遍运用。本文主要介绍了Verilog特点、Ver...
无论是VHDL还是Verilog,建议初学者先掌握其中一门。
触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是...
使用Verilog描述硬件的基本设计单元是模块(module)。构建复杂的电子电路,主要是通过模块的...
通过Verilog编程实现在红色飓风II代Xilinx开发板上面实现对键盘、LCD、RS-232等接...
本实验通过verilog代码的编写,在EGO1开发板上实现OLED的驱动和内容显示。
 Verilog HDL是一种硬件描述语言(HDL:Hardware Description Lan...
与VHDL和Verilog一样,SpinalHDL可用于通过定义寄存器和门来描述硬件,SpinalH...
流水广告灯主要应用于LED灯光控制。通过程序控制LED的亮和灭, 多个LED灯组成一个阵列,依次逐个...
本章介绍Verilog HDL的基本要素,包括标识符、注释、数值、编译程序指令、系统任务和系统函数。...
模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。
因为Verilog是一种硬件描述语言,所以在写Verilog语言时,首先要有所要写的module在硬...
Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Lang...
一个合格的FPGA工程师需要掌握哪些知识?这里根据自己的一些心得总结一下,其他朋友可以补充啊。
Verilog中,用always块设计组合逻辑电路时,在赋值表达式右端参与赋值的所有信号都必须在al...
Verilog中,用always块设计组合逻辑电路时,在赋值表达式右端参与赋值的所有信号都必须在 a...
Reg类 型只在过程块中被赋值;而Net类型则在过 程块外面被赋值或者驱动.
分频器是FPGA设计中使用频率非常高的基本设计之一,尽管在目前大部分设计中,广泛使用芯片厂家集成的锁...
这是一个在设计中常犯的错误列表,这些错误常使得你的设计不可靠或速度较慢,为了提高你的设计性能和提高速...
以下是一个在设计中常犯的错误列表这些错误常使得你的设计不可靠或速度较慢为了提高你的设计性能和提高速度...
用了半个多月的ISE,几乎全是自学起来的,碰到了很多很多让人DT好久的小问题,百度也百不到,后来还是...
最近在写代码的时候总是在思考,我写的这个能被综合吗?总是不放心,或是写完了综合的时候出问题,被搞的非...
用了半个多月的ISE,几乎全是自学起来的,碰到了很多很多让人DT好久的小问题,百度也百不到,后来还是...
这是一个在设计中常犯的错误列表这些错误常使得你的设计不可靠或速度较慢为了提高你的设计性能和提高速度的...
原文出自:分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率...
学verilog 一个月了,在开发板上面写了很多代码,但是始终对一些问题理解的不够透彻,这里我们来写...
module cordic (clk,rst_n,ena,phase_in,sin_out,cos_...
cordic算法verilog实现(简单版)(转载)module cordic(clk, phi, ...
按键开关是各种电子设备不可或缺的人机接口。在实际应用中,很大一部分的按键是机械按键。在机械按键的触点...
最近正在准备找工作,由于是做FPGA开发,所以verilog实现技术分频电路是一道经常出现的题目,三...
我把FPGA层次划分为,鸡蛋级别,菜鸟级别,老鸟级别,高手级别四类。题主是鸡蛋级别的吧!啥也不会。那...
本文简单介绍在使用Verilog HDL语言时文件的调用问题之include使用方法介绍及举例说明,...
电子发烧友网核心提示 :对于FPGA初学者而言,正确的入门参考书籍对其至关重要。应广大FPGA初学者...
Altium和Aldec签署的OEM协议中决定将Aldec的FPGA仿真功能添加到Altium De...
电子发烧友网讯: 最近有很多FPGA初学者在论坛里咨询,FPGA初学者应该从哪里开始学起呢?为此,我...
电子发烧友网核心提示: 关于Verilog代码中命名的六大黄金规则。 1. 系统级信号的命名。 系统...
介绍利用自动化综合工具在编码和综合的阶段完成用于HDTV芯片设计的优化
除法器是电子技术领域的基础模块,在电子电路设计中得到广泛应用。目前,实现除法器的方法有硬件实现和软件...
Verilog代码覆盖率检查是检查验证工作是否完全的重要方法,代码覆盖率(codecoverge)可...
随着当今社会工作和生活节奏的加快,人们对许多电器、仪器、设备的自动化要求也越来越高,但现有的许多电器...
本实例主要实现了计数及进位的设计,通过几个always模块的设计实现一个特定用途的模块——数字跑表。...
在xo640上实现一个简单的Uart,能够解析串口数据,并在寄存器中存储,用FIFO实现数据的传递。...
七段显示器在DE2可当成Verilog的控制台,做为16进位的输出结果。简单的使用开关当成2进位输入...
以前在贴Verilog代码时,都只能挑C++或者C#的语法着色,但两者的主题词毕竟不太一样,透过du...
阻塞和非阻塞语句作为verilog HDL语言的最大难点之一,一直困扰着FPGA设计者,即使是一个颇...
在我国使用Verilog HDL的公司比使用VHDL的公司多。从EDA技术的发展上看,已出现用于CP...
以下是一个在设计中常犯的错误列表这些错误常使得你的设计不可靠或速度较慢为了提高你的设计性能和提高速度...
  0 引言
  密码模块是安全保密系统的重要组成部分,其核心任务就是加/解密数据。目前,分组密码
  1 UART原理
  串行通信是指外部设备和计算机间使用一根数据线(另外需要地线,可能还需要控...
本设计是一种基于FPGA(现场可编程门阵列)的液晶显示控制器。与集成电路控制器相比,FPGA更加灵活...
&之前探讨过PS/2键盘编解码以及数据传输协议,这次自己动手实现了利用FPGA接收键盘编码...
==================================================...
PS2协议读键盘值相当简单嘛,比模拟SPI、I2C简单多了...下面介绍一下具体过程.
1.明确接...
VHDL和Verilog HDL语言对比
Verilog HDL和VHDL都是用于逻辑设计的硬件描...
Verilog HDL语言实现时序逻辑电路
在Verilog HDL语言中,时序逻辑电路使用alw...
基于Verilog的顺序状态逻辑FSM的设计与仿真
 硬件描述语言Verilog为数字系统设计人员...
针对C语言编程者的Verilog开发指南实例
本文举例说明了如何用软件实现脉宽调制(PWM),如何...
H.264/AVC中量化的Verilog方法介绍及实现
ST-BUS总线接口模块的Verilog HDL设计
ST-BUS是广泛应用于E1通信设备内部的一...
摘要:介绍模拟峰值电压的检测方式,叙述基于Verilog-HDL与高速A/D转换器相结合所实现的数字...
摘要: 介绍了一种采用硬件控制的自动数据采集系统的设计方法,包括数字系统自顶向下的设计思路、Veri...
摘要: 介绍一种用于卫星姿态测量的CMOS图像敏感器--STAR250的时序驱动信号,并使用Veri...
摘 要:通过设计实例详细介绍了用Verilog HDL语言开发FPGA/CPLD的方法,并通过与其他...
什么是Verilog HDL?
Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关...
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-&>&verilog hdl vhdl实用例子100个 quartus 2 仿真 源程序
verilog hdl vhdl实用例子100个 quartus 2 仿真 源程序
上传大小:6.95MB
verilog hdl vhdl实用例子100个 quartus 2 仿真 源程序
综合评分:4
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有32条
适合初学者,下载网上的资源很好!
非常适合初学者!!!!!!!!!!!
很好的资源,亲测,好用
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
verilog hdl vhdl实用例子100个 quartus 2 仿真 源程序
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
verilog hdl vhdl实用例子100个 quartus 2 仿真 源程序内容提要随着数字时代的到来,      数字技术的应用己 经渗透到了 人类生活的各个方面。 从计 算机到家 器, 用电 从手机到数字电 话,以 及绝大部分新研制的医 用设备、 军用设备等,无不尽可能地采用了 数字技术。 从概念上讲,凡是利用数字技术对信息进行处理、传输的电      子系统皆 可称 为数字系统。与数字系统相对应的是模拟系统, 和模拟系统相比, 数字系统具 有以下优点: 工作稳定可靠,抗干扰能力强;     精确度高;     便于大规模集成,易于实现小型化;     便 模 化;      - 于 块便于加密。     在数字化、    信息化的时代, 数字集成电 路应用的非常广泛。 随着微电 子技术与工艺的发展,数字集成电路从电子管、晶体管、中小规模集成电路、超大规模集成电路 ( LI) V S 逐步发展到今天的专用集成电路 ( S ) A I C A I a  C的出现 C S 降低了产品的生产成本,提高了系统的可靠性,减少了 产品的 尺寸, 推动了社 会的数字化进程。 计算机的大多数外部设备所用的信息是数字的,不过有些外设的信息是并      行的,有些外设的信息是串行的。串行设备只能接收和发送串行的数字信息, 而 C U却只能接收和发送并行的 P 信息。 这样, 行设备必须通过接口 行信 串 将串 息变为并行信息, 发送给 CU 反过来, 才能 P: 要将 C U输出的 P 并行信息 变为串 行信息, 才能发送给串 行设备。即 使是并 备,也同样要通过接口 线 行设 与总 相连。 这种接口 是并行接口。 上面这些原因外, 除了 外设的工作速度通常比C U P 的速度低的多,而且各种外设的工作速度互不相同, 这就要求接口电路对输入 输出过程能起到一个缓冲和联络的作用。可见,接口 在计算机的组成部件中 是不可缺少的。随      路的 着集成电 性能的提高、门 增长、 数的 通用性和可移植 ( 用) 性 复 的 要求, 对设计方法也不断提出了 要求。 新的 传统的电 路原理图 输入的方法已 不再适用中、大规模的电路设计,这种方法直接将设计的系统用原理图方式表示 出来,具有直观、形象的优点,尤其对表现层次结构、模块化结构更为方便。 图形设计方式要求设计工具提供必要的元件库或宏单元库,以供调用。图形法 适合描述连接关系和接口 关系,不适合描述逻辑功能。如果设计规模比较大, 或设计软件不能提供设计者所需的库单元时,这种方法就显得很受限制。而且 用原理图表示设计, 通用性、可移植性也弱一些,所以在现代的设计中,越来 越多的采用基于硬件描述语言的设计方式。采用硬件描述语言的 计方式主要是正向的自 下 (o-on 的设计      设 顶向 Tp w ) D方法。自顶向下的设计是从系统级开始的,把系统划分为若干个基本单元,然 后再把每一个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以 直接利用 E A 元件库中的基本原件来实现为止。 D 本文主要把这种设计方法应用于一种通用异步收发器 WA T 的具体设计中, R) 较详细的阐 述了 基于硬 件描述语言的自 顶向下的数字电 路的设计方法。这种方法包含了模块的划分、代码的编写、仿真验证、代码综合、综合后仿真和布局布线等流程。主题词:专用集成电路 HL D 语言 自 顶向下设计 通用异步收发器 (AT UR ) Ab ta t s c rWi h rv ot d il t d il nl y    ead  ee   t ai l  e t e ,  it t ho g h pntt io r t e  a f  i a r h ga e o a e re n v 3 h  r h g a e  c s t s p o hm n  .  d il  nl y ape a ot  cm u r  c e  u a leTe  t t ho g i pld  s fm  pt t o f  i h i a e o s  i l r f g c m o o eo hm apac fm  be it poe  a m s f  ee m d i l o e ln p i e,r m i td il  ad  o ot nw s ein o o l o  a hn n l t  e  t  c a g l  h apac ad ni . plne  m i n i n ut o I tm o o e ,  ltn ye h p e e n t s t   rs  c c t t ecoi s t t t  c s ad n i n  e f  p h e r c  m a r s s  r m s n e  s o a io ao un d il  nl y d il e . s l s t t t n r tn  g  t t ho g i it s t Ii a o y e h fm i s i a e o s  a y m t  n g  m a i g c g s a s m t e d il e . cm a d h l s t d il e hs  ahs gas t B o pr wt a o y e it s t a t c it y m y  e i n g  m  a y m  h s a s g s e fl i m r : oo n et lw g i s sb w r n so aiy n一m i      i ,  g i oat a mn; t l o g tn b t f  a e k r l i gh h  sn    rio; i p ci g ecnei y n g tne i s  ia rao;     c oieri , nsomn t i tn ovn n f  ao a e f iu z i e t s cnei y  ouaz i ;     c o m dli tn ovn n f  r ao e cnei c oec pn.    n ny nr tg ov e f y i I t d t ad  r tn  t it I s  e s Wi t     il  io ao e ,  d il  i wdl ue. h  n  i a n n m i r h ga C  i y  d t h h g e  f a e  ep g so t tho g ad  w r o mc e coi, y  d il  r rs h e nl y  cf o f r l tn st a t it I o e f  c o n r e  a k  io e r c o h ga C t d e  h g day ep fm it e tni r M I,  StA I.  a r u ldv oer r o  ,  st 、 S  V I S Te s  l e l d  a u r s a o d b a o C L o C h e e ec o A I r ue t cso m nf ti , e e t s ut o m r ne  S e c h ot  a aun i r s  e r f g f  C  s  d e  f  u c rg n a h c i cs e  y s t , r e t se p dco a p m tt c r o t d il ye dc a s  i o r ui n r p h o s f  it sm e e h z f  tn  o s  ue  h ga s e  o d  e  e sc t oiy e.Te  t  r tn  h epe l  p n i it,  s   m s io ao o t prhr e i et  d il bt  e h o n m i f  f e  i a q m u s  a u o g m io ao iprl ad  e  rao is i. aeu m n c ol n r tn  a ll  s io tn  ea Srl i et  n f m i s ae n o n m i s  l e q p m f r i a y n a e s si dabt  all  e c 。 a es prl da c p t ea a, h p aee c th rl  ut rl q n a 吻 c p t all . e  t e  吻m t  n c t h ae a e  tI fscs s i eu m n m scne t s i dttog t ie ae  n  t  , a qi et  t vr  ea a h uh  n r c t i a e l  p r e r u o t h rl  r e  a  h tf o e pa l  a tn itm  P; e r  CU s o e t al da  rs th tCU it oewy P m t  rh rl a n am s  o  n  t a e t d  e h h ,  u c v   nt eot t  rld a  rl ttn ih t加rhr e i e .  i u uop ae a tsida as t  o i e l p nEe f p f l t o a a o  m t m  p a q m t vn  a l  e t r e u t prl eu m nao d t iea t cne t C U Ec t t h a ll i e l n s  n rc o  nc o  . e f h e ae q p t  e h tf e  o t  P x p o e s e e  r  m noe c s t s e op ie l p e iswr  t t P a e n a e h p d  ep r e i n s  et n  oCU  i t d  ,  e f  h a q m t o h h f  n u e  r u l a a d 奴 s d成心 k d h p如hr eu m n a d e n s is  s rt p e i ot e e l p et r i r t o  nc sy  n f  e  a qi s  f e ,  i e a o e  t  e ue r c cci tbfr p c s nuot t  cm ui tbten sieae us u et r e oi tu uad  m n a e e n f i t o  h o s f  / p n o t r e  p c e  wt p i e l i et S, n rc iasu lnc sy h c pt h ep r e p n . t iea s  le e s rit o u r e  h a q m s o h tfe b ty e a n  m e r u e  o e c mp n ns o o e t.Wtt r oI prrac,  ne e a - m ead  e e o      e C fm ne t i r sog e u br t r us f i h i f  eo h  s e  h c a f  n e  t n h q t  e g e lao a r etnn r usi ufwrtI d i .  i nl e ritn  e to,  e e s  o a o  eg T di a n azi n p i e q t  t  d C  n r t d  i w  p r s a os e acnu m t d nt  al f MSC d  S,  e osa s  c m t- pt  h i o sib o h ii e o s  u e  t r  I a V Iidm ntt t n L t  re h eds n t ui t pnie  m t h t m r ov ulao ad  i, eg s e s g  rc ls e ac    et i aztn  c ry i y m n h i p c s e  h i a h i f  i i n l t s e  s a e eay h rcil  m dlid i sTe e ac i m t d s cl t ia h aad  u re dsn h s m t ds n  h p il o  r c n o az eg .  c i eg e o e hr ue ds t l  r i nc sy  e lry m c  llry  e is 妙 o t p v e e a em n ia o a cl a t qr e o o  d e s r l t  r r  r e i r o o e b o brf tT e t d ualtds i t cnetn  ie ae  tn u i e r  h m h isib o cb h onco ad  r c rao, t  eo . e o s  e  e r e  t e  i nn f eib t t lint  b td n l if co. e i s lirav lg ot s  st l o  e c  tnIt d g ce ete e r  o ua e  e o u i f  e n  s  i a r h i i f g n h s a l r eds n l  nt  i t lry lh m t d  e s  r tco.  eg t cn  p v e  ia clt e o apa t e rtnTe i o a o r d h b r e,  h p r h sii h o o e  e  e  gn azi ad etn  l wa un pnie e ac  e osa ee lao n r to iao  k  g  c ls m t t d ntt ritn  e i s  e s r p c p i s i i h i o  m redsnst H L i t hi e s l u d  oe I ds n eg,  e  dsn  n u iu ay  im dr C i . i o  D eg e q s  l s n  n  eg h c u e Te d a d cp a ug' te h a o det   d n i ,    a w r s i l gae s lit w y  ic .o- w dsn h hr e e rt  n s  s  y e  f  r t o eg pw i bg s  s t l ea p tos e leio e l c s hh i wt ye e l  ai n st e l  s r bs cl c e n i sm  n ri y m  n e a a e , h  v d  t s v t v i l t n vs  vr l e t l c  ad  n  icy  bs h c e u e yc tb n l ebs ui n dw td t u ac e a r p  e o  e e a n e l x v i t  o o  l s i e r e  cln A  s e h ppr s  pln ts g m t d  U R , es D c sr Ti aea f ap i h dsn h io  T liE e t .  l o s  i o y g  e m r  i i eo n A t e on t m t d o- w d il  i dsnw i bs o H LTi x ud  eo ot d n t cct eg,  h  s  D .  p h h f  o i a iu' i h a n  h e  p g r s  c e s m t d l e m dlpr i , e tg S u tn i tn s t s, e o i u s  u ai ncd wi ,  li vlao, h i h n d o e to o rn i ao ad i y es c t i m npss t s ad c ad t ot h i n p e  r e y e s  l n o . n a uK y r:  I Hr a DsiLnu e ew d S o  A C awr e rt  a d e  p a g c gI Vds n  A T ei U R g 原创性声明本人声明所呈交的学位论文是在导师的指导下独立完成的。论文中取得的研究成果除加以标注的地方外,不包含其他 人己经发表的研究成果。与我一同工作的同志对本研究所做的任何贡献均己在论文中进行了说明并表示谢意。本声明的法律后果由本人承担。本人签字: ,1 l 1 *  0 ,. ; 夕月 2 日 2 - 6 年 0 。 序 一、EA D 技术的发展及应用[[[ 1,3 )〕]言在现代电子设计中,E A技术已经成为一种普遍的工具。对设计者而言,      D 熟练的掌握 E A技术,可以大大提高工作效率, D 达到事半功倍的效果。E A即电     子设计自 D 动化。 D E A技术的 发展是以 计算机科学、 子技术 微电 的发展为基础,并汇集了计算机图形学、拓扑学和计算数学等众多学科的最新 成果发展起来的。 简单地说, D E A就是立足于计算机工作平台而开发出的一整套先进的设计电子系统的软件工具。 一般认为, D E A技术经历了3 个发展阶段。 前两个阶段是 C D阶段和 C E阶段,C D是早期阶段,C E是逐步完      A A A A善和发展阶段。 这两个阶段无论是在设计的自 动化程度还是在设计的复杂性上 都远不能和 E A阶段相比。我们也着重的来讨论E A阶段。 D D 2 世纪 9      年代以来,微电子工艺有了 0 0 惊人的发展, 工艺水平已 经达到深 亚微米级,在一个芯片上已 经可以 集成上百万、上千万乃至上亿个晶体管,芯 片的工作速度达到了吉比特 / 秒数量级,这样就对电子设计的工具提出了更高 的要求,同时也促进了设计工具的发展。 今天, D      E A技术已 经成为电 子设计的重要工具。 无论是设计芯片 还是设计 系统,如果没有 E A工具的支持,都将是难以完成的。E A工具已 D D 经成为设计师必不可少的武器。正起着越来越重要的作用。从发展过程看, D      E A技术一直滞后于制造工艺的发展, 它是在制造工艺的 驱动下不断地向前进步的; 从长远看, D E A技术将随着微电子技术、 计算机技 术的不断发展而发展。1EA      . 技术的特点 D现代 E A技术的主要特征是采用高      D 级语言描述,具有系统级仿真和综合能力。具体说包括以下几个方面。()      1 采用硬件描述语言 采用      述语言 (D . da Dsi oLn a ) 硬件描 H L Hr r e rtn g g 进行电 a w e cp a u e i 路与系 统的描述是当前E A技术的 D 一个特征。 与传统的原理图 设计方法相比 H L 较, D语言更适合描述大规模的系统,它能够使设计者在比较抽象的层次土对所论计 系统的结构和功能进行描述。 采用 H L ‘      语 台 D 设计有以下突出优点:语言的公开可利用性;      设计与工艺的无关性;      宽范围的描述能力;      便于组织大规模系统设计;      便于设计的复用、交流、保存和修改等。     ()高层综合和优化        2为了能更好的支持自      顶向下的设计方法,现代的 E A 工具能够在系统级 D 进行综合和优化,这样就缩短了设计周期,提高了设计效率。典型的支持高层综合的 工具有美国Sn s 公司的Bh iaCm i 等。 yo y ps e v r o pe 将来, ao l  l r 还会有更多 的 工具支 持系统级( 级 的 合与 行为 ) 综 仿真。( )并行工程        3根据美国防卫分析研究所 R38报告中的定义,所谓并行工程 (E      - 3 C,Cn rnEgei )是 一 统 、 成 、 行的 及相关 o ue nien ,指“ 种系 化的 集 化的 并 产品 c rt  n rg过程的开发模式 ( 相关过程主要指制造和维护)。现代的 E A 工具都建立了 ” D 并行工程框架结构的开发环境,以适应现代电子系统设计开发的特点。这样的E A开发工具支持多人同时并行地进行设计。 D ()开放性和标准化        4 框架是一种软件平台结构,      它为E A工具提供了操作环境。 D 任何一个 E A D 系统只要建立了符合标准的开放式框架结构,就可以接纳其他厂商工具一起进 行设计工作。这样,框架作为一套使用和配置 E A 软件包的规范, D 就可以实 现各种 E A工具的优化组合,并把它们集成在一个易于管理的统一的 D 环境下,实现资源共享。2 EA      ,  技术的范畴和应用 DE A技术的应用包括电子工程师进行电子系统开发的全过程,      D 以及进行电子设计时涉及到的 各个方面。 从一个角度看, D      E A技术可粗略分为系统级、 级和 门 物理实 现级三个层次的辅助设计过程: 从另一角 度来看,D E A技术包括了电子电 路设计的各个领域, 即从低频电路到高频电 路、从线性电 路到非线性电路、从模拟电路到数字电路 以及从 P B板设计到 F G C P A开发等等。E A技术的功能和范畴如下图 D 所示:孵电设 ‘  ̄ D琪 路 计! 一(E 一 /产\ A洲 /\ 、 —) !拟 一 模 峨粉E A技术的功能和范畴                               D二、 在 接口 微机系 的 统中 作用‘5 习1 1要构成一个实际的微机系统,      除了微处理器以 还必须有各种接口电路。 外, 接口电路按功能可分为两类: 一类是使微处理器正常工作所需的辅助电路,通过这些辅助电路,使处理器得到所需的时钟信号或接收外部多个中断请求等;另一类是输入 / 接口电 利用这些接口电 输出 路, 路,微处理器可以 接收外部设 备送来的信息或将信息发送给外部设备。 外部设备为什么一定要通过接口      和主机总线相连呢?能不能将外部设备和C U的数据总线、 P 地址总线及控制总 接连接起来呢? 线直 答案是否定的。 因为 C U只能接收和发送并行数据, P 而大多数的外部设备却只能接收和发送串 行数 据。这样,就要求在 C U和外部设备之间 P 有一个能将 C U发送的并行数据转 P 化为串 行数据以 发送给外部设备和将接收到外部设备发送来的串 行数据转换为 并行数据送给C U的 , P 接口 这种接口 主要起到将并行变串 行和串 行变并行的格 式转换功能。此外有的 外设对信号类型也有要求,如有的外设只能接收和发送模拟信号, 而众所周知C U只能发送和接收数字信号, P 这就需要有接口在 C U P和外设之间实现数/ (/) 模 DA 和模/ AD转换, 数(/) 这就是接口的 数据类型转换 功能。 接口的以 上两种功能合称为接口 的缓冲和变换功能。 此外, 还能在 接口 C U和外设之间传送控制和状态信息,实现 C U与外设间的联络。以 P P 上这些 只是接口 较主要的 的比 功能. 从接口      的作用可以 看出, 选择哪 种接口 类型最主要是由 外设来决定的(P (U C 只能决定接口 中缓冲作用的寄 存器的 位数) 今社会的数字化进程飞 ,当 速发展,各种外部设备日 新月异,这就要求有新的能配合外部设备的接口不断的出现, 以促进数字化的发展。 此外, C U的利用率角度来讲接口的功能也要不断的 从 P 完善, 增加其存储容量,以 减少C U的中断进而提高C U和接口 P P 效率。 基于 Vrlg  技术的DR 设计 eio HL D AT第一章 A I 设计方法及 HL SC D 技术1 AI设 方 [ , ? S 计 法s 1 C 1 。AIApci S cc  reCct      a n  i Iead u) 为“ 用 成电 , 面向 S (pit p f ngt i i C l o ei t r 译 专 集 路” 是专门 用途的集成电路。 它是根据某一用户的特定要求, 低研究成本、短交 能以 货周期供货的半定制、 定制电 路以 L 及PD和FG P A电路。 按照其电路实现方法不同可分为:全定制集成电路、半定制集成电路和可编程集成电路。随着数字时代的到来,      数字技术的应用已 经渗透到了 人类生活的各个方面。 从计算机到家用电 从手机到数字电 器, 话,以 及绝大部分新研制的医 用设备、军用设备等,无不尽可能 地采用了 数字技术。而集成电 路作为 通信、 计算机、 多媒体等众多电 子信息 产品的 核心, 其发展水平对于一个国 科技实力有重 家的大的影响。常用的A C设计方法:      I S() 制 方 Fl uo D i Ap a 是 人机交互图     设计 法 (u- sm sn rc) 利用 1 全定 l t eg p o h C形系统,由版图设计人员从每个半导体器件的图形、尺寸开始设计,直到整个版图的 布局和布线。 全定制的 特点是针对每个元件进行电 路参数和版图参数的优化,它往往采用 自由格式的版图设计规则进行设计,并由设计者不断的完善版图设计,以 使每个元件及内 部连接安 排得最紧凑、 最适合。 这样, 得到 可以 最佳的 性能 ( 包括速度和功耗)以 及最小的芯片尺寸, 有利于提高集成度和降 低生产成本。 它适合用于要求最高速度、 最低功耗和最省面积的设计。 这种设 计方法要求设计者有相当深入的微电子技术和生产工艺方面的专业知识和一定 的设计经验。 这种设计的缺点是设计周期很长、查找错误的困 难较大,而且设计费用很高。() 定      方 Sm- sm  咖 Ap a )这 2 半 制设计 法(eiuo Ds prc ,种设计 法主 Ct e oh 方 要是指标准单元设计法。 在标准单元设计法中,基本的电路单元 ( 如D触发器、 与非门、全加器等) 的版图是预先设计好的,放在 C D工具的版图 A 库中,而 且有统一的高度。这部分版图不 设计者自 必由 行设计, 所以 叫半定制。设计者 利用 C D工具绘制电 A 路方框图或采用 H L描述,然后 C I工具能够利用方 D A〕框图中的单元逻辑电路符号与单元电路版图的对应关系,自动布局布线,生成版图。设计者也可以利用标准单元的版图人工布局布线。标准单元法不要求设 计者必须有专门的半导体工艺知识。()      3 可编程逻辑器件 (L ) O D 设计方法, 它是利用计算机辅助设计, D 用H L 描述或原理图输入, 通过一系列的编译程序,自 动布局布线、模拟仿真等, 最后生成二进制文件,装入 E R M, P D器件 (P AC L PO 对 L F G /P D)器件初始化,实现满足用户要求的专用集成块,真正达到由 用户自 行设计、自 行研制和自 行 生产集成电路的目的。 P AC L FG /P D既继承了A I S C的大规模、 高集成度、 高可 靠性的优点,又克服了普通 A I S C设计周期长、投资大、灵活性差的缺点。但采用 P D 器件设计的 L 功能面积比 较小,与前两种设计方法相比电路速度也较慢。随着 V S      芯片复杂性的增加, LI 在整个芯片中只利用一种设计方法是不经济的, 而提出了 种结 因 一 构化的 层次设 方法 (rt d rcc Dsn 计 Suu Heril i tcr iaha eg eA p a )它是在一个芯片设计时 pr c . oh 采用多 种不同的方 采用这 法。 种方法, 在设计周期上可以大大缩短,而在性能和芯片面积方面也有很大提高。随着设计自动化程度和芯片复杂性的提高,现在的I C设计多采用基于 H L的设计。 D12 L . H 技术[ D a以前,所做的复杂逻辑电路及系统的设计规模比较小也比      较简单,其中所用到的FG P A或 A I S C设计工作往往只能采用厂家提供的专用电 路图输入工具来进行。为了满足设计性能指标,工程师往往需要花费好几天或更长的时间来进行艰苦的手工布线。 工程师还得非常熟悉所选器件的内部结构和外部引线特 点,才能达到设计要求。这种低水平的设计方法大大延长了设计周期。近年来,FG      P A和 A I SC的设计在规模和复杂方面不断取得进展,而对逻 辑电路及系统的设计的时间要求越来越短。这些因素促使设计人员采用高水准的设计 具, 件描述 工 如硬 语言(el H L H L来 设 Vr g  Vr g  或V D ) 进行 计。el H L i D o i D o 是硬件描述语言的一 用于数字电 种, 子系统设计。 设计者可以 用它进行各种级别的逻辑设计, 可以用它进行数字逻辑系统的仿真验证、 时序分析、 逻辑综合。 它是目 前应用最广泛的一种硬件描述语言,于 1 5 9 年成为IE 标准。 9 EE下面以Vr g      l 为例介绍一下 eo i 应用硬件描 述语言(D ) H L 进行电 路设计的流程和优点:应用 H L 采用自 下 〔o-o n 的设计方式,     通常 D 顶向 Tp w ) D 首先有必要阐述 一下自 顶向下设计的基本概念。现代集成电路制造工艺技术的改进,使得在一个芯片上集成数十万乃至数      千万个器件成为可能,但很难设想仅由一个设计师独立设计如此大规模的电路 而不出现错误。利用结构化层次化的设计方法,一个完整的硬件设计任务首先 由总设计师 ( r ic 划分若干个可操作的模块,编制出相应的模型 ( Ac tt he ) 行为 的或结构的) 通过仿真加以验证后, , 再把这些模块分配给下一层的设计师。 这就允许了 多个设计者同时设计一 个硬件系统中的 模块, 每个设计者负 不同 其中 责自 己所承担的部分; 而上一层设计师对其下层设计者完成的设计用行为级的上层模块对其所作的设计进行验证。为了提高设计质量,如果其中一个部分的模块可以由 商业渠道得到, 购买它们的知识产权的使用权 ( 核的重用) 可以 I P , 以节省时间和开发经费。下图为自 顶向下设计的示意图,以设计树形式绘出:图1 Tp on 计思                        . o- w 的设 想 1 D 自      顶向下的设计是从系统级开始,把系统划分为若干个基本单元,然后再 把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接利用E A元件库中的 D 基本原件来实 现为止。 层次管理的基本概念      复杂数字逻辑电路和系统的      层次化、结构化设计隐含着对系统硬件设计方 案的逐次分解。 在设计过程中的 任意层次, 至少有一种形式来描述硬件。 硬件的描述特别是行为的描述通常称为行为建模。在集成电路设计的每一层次,硬 件可以分为一些模块,该层次的硬件结构由这些模块的互连描述,该层次的行为由这些模块的 行为描述。 这些模块称为该层次的基本单元, 而该层次的基本单元又由下一层次的基本单元互连而成,如此下去,完整的硬件设计就可以由 图 1 所示的设计树描述。在不同的层次都可以进行仿真以及对设计思想进行 . 1验证。 D E A工具提供了有效的手段来管理错综复杂的层次, 可以方便的查看某 一层次模块的源代码或电路图,以改正仿真时发现的错误。 完整的采用 D 技术的A I      H L S C设计过程: 通过上面的阐述不难理解在不同的层次做具体模块的设计所用的方法也有      所不同。在高层次上往往编写一些行为级的模块,并通过仿真加以验证,其主 要的目的是对系统性能的总体考虑和各模块的指标分配, 并非具体的电路实现。 而当设计的层次比较接近底层时,行为描述往往用电路逻辑来实现,这时的模 块不仅需要通过仿真加以验证, 还需要进行综合、 优化、 布线和后仿真。 总之,具体电路是从底层 向上逐步实现的。下图为 H L设计流程图: D有 同且 电路 徽 吐 助 工艺文 件成 p 口 p 人码碑图1 H L                          . D 设计流程图 2 从图中可以看出,模块的设计流程主要由两大主要功能部分组成. 1 )设计开发:即从编写设计文件,综合布局布线*投片生成这样一系列s                                              步骤 。         2      )设计验证:也就是进行各种仿真的一系列步骤, 如果在仿真过程中发现问题就返回设计输入进行修改。         下面概括了采用H L      D 技术自 顶向下的A I S C的设计流程: 规格定义:      规定所需的时钟频率、输入/ 输出时序、功能 ( 输入是什么,要 求输出是什么等等) 、面积、功率、信噪比等等。 I      C设计的第一步,是给出设计规格,包括电气规格、 功能规格等。电气规 格是环境所能容忍的电压范围、 直流特性、交流特性等; 功能规格是指电 路要 实现的功能,可以 用真值表、 状态图、时序图 流程图等表示。 此外,还要考虑静电 防护 (S ) I O电 E D ,  / 容、可测性、封装形式等。 工艺选择:选择那种工艺 (        例如, C S 是 MO 还是 GA, 0 微米还是 as . 是 605 . 微米) 2 。架构选择:是并行的还是串行的架构,是否需要流水线。      电路设计:划分模块,定义各模块的功能并定义模块间的连接关系。电路      设计一般要从行为级开始采用 H L描述,在 R L级完成设计。经过综合后, D T 得到门级网表。 电路仿真:      包括功能仿真及时序仿真。 T 在R L级可以 进行功能仿真, 而时 序仿真要在门级才能进行。布局布线:一般自      动完成,必要时要进行手工布线。 布局的验证:包括设计规则检查 ( R )等.      DC 布局后的仿真:通常称为后仿真。      这个时候可以得到布线的延时,因而时 序仿真跟接近真实的情况。 可靠性分析:考虑电子迁移 / S      E D等。Vr g  设计方法与传统的原理图设计方法的比     L el H i D o 较:采用电路原理图输入法进行设计具有设计周期长、需要专门的设计工具、     需 要手工 布线等 。 采用Vr g 入法时,由 el H L 标准 缺陷 而 el 输 i o 于Vr g  的 化, i D o可以很容易的把完成的设计移植到不同厂家的不同芯片中去,并在不同规模应用时可以 很容易的修改。 这不仅是因为用Vr g  L el H 所完成的设计,它的 i o D 信 号位数是很容易改变的,可以 很容易对它进行修改来适应不同规模的 应用;在 仿真验证时,仿真测试矢量还可以用同一种描述语言来完成,而且还因为采用 Vr g L 合器生 数 逻辑是一 标 el H 综 i D o 成的 字 种 准的电 计 换 子设 互 格式 (DF  EI ) 文 独立于 件, 所采用的 现工 有关工 参 描 实 艺。 艺 数的 述可以 通过 Vr g L el H i o D提供的属性包括进去,然后利用不同厂家布局布线工具,在不同工艺的芯片上实现。采用Vr 输入法的     g el i o 最大优点是 其与工艺无关性。 这使得工程师在功能设计逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可以设计出实际电路。实 际上这是利用了计算机的巨大能力并在 E A 工具的帮助下,把逻辑验证与具 D 体工艺库匹配、布线及延迟计算分成不同阶段来实现,从而减轻人们的繁琐劳动。伴随着硬件描述语言的      发展, 其他的电 路描述语言如可 硬件仿真的C 用于语言等也相继的出现了。而且不仅仅是应用于数字电路的硬件描述语言,应用于模拟电 语言 el A也出 路的 如Vr g  现了, 在不断的发展和完善中。 路语 i o 并都 电言的一个共同点都是提高设计的复杂性和规模,同时也增强了设计的自 动化, 减少了设计者的劳动量,从而使超大规模的设计成为可能。 第二章 通用异步收发器的基本结构和工作原理 21 .  接口电 路在计算 统中 作用〔 机系 的 B ]由于本论文所设计的通用异步收发器 ( A T       U R )电路是接 口电路的一种,所以 很有必要先介绍一下什么是接口电 路和接口电 路在计算机系统中 的作用。简单的说, 是介于 C U和外部设备之间的硬件电路,      接口 P 用以来实现和协 调 C U与外部设备之间的数据和信息的传递即通讯。 P 外部设备外什么一定要通过接口和主机总线相连呢?能不能将外部设备和      C U的数据总线、地址总线及控制总线直接连接起来呢? P 从时序上看, P      C U对外部设备的输入 / 输出操作和对存储器的读 / 写操作很类似, 那么,是什么原因决定了存储器不需要接口电 路,可以 直接连在总线 上,而输入 / 输出设备却一定要通过接口电路与总线相连呢?为了回答上面的两个问题,需要分析外部设备的输入 /      输出操作和存储器 读/ 写操作的不同之处。 所有存储器都是用来储存信息的,功能单一;传输方式也单一,一次必定     是传送一个字节或者一个字;品 种很有限,只有只读类型和可读 / 可写类型。 此外, 储存器的存储速度基本上可以和 C U的工作速度匹配。 P 这些决定了存储 器可以通过总线和C U相连,即通常说的直接将存储器挂载到系统总线上。 P 但是,      外部设备的 功能却是多 种多样的。有些外设作为输入设备,有些外 设作为输出设备,也有些外设即作为输入设备又作为输出设备, 还有些外设作 为检测设备和控制设备,而每一类设备本身可能又包含了多种工作原理的不同 的具体设备,对于一个具体设备来说,它所使用的信息可能是数字,也可能是 模拟的,而非数字式信号必须经过转换, 使其成为对应的数字信号才能送到计 算机总线。 这种将模拟信号变为 数字信号、 或者反过来将数字信号变为模拟信号的功能是A/ D/ D.  A接口来完成的。大多数外部设备所用的      信息是数字, 不过, 有些外设的信息是并行的,有 些外设的 信息是串 行的。 串行设备只能接收和发送串 行的数字信息, P 而C U却只能接收和发送并行的信息。这样,串行设备必须用接口 将串行信息变为并行信息, 才能发送给 C U P ;反过来, 要将 C U送出的并行信息变为串 P 行信息, 才能送给串行设各。可见,接口也起到并行数据和串行数据的变换作用。这么说,      如果一个微型机系统连接的是并行设备, 是否可以不用接口了呢? 也不是的,因为 C U通过总线要和多个外设打交道,而在同一时刻 C U通常 P P只和一个外设交换信息,就是说一个外设不能长期和 C U相连,只有被 C U P P 选中的外设,才能接收数据总线上的数据或者将外部信息送到数据总线上。所 以,即使是并行设备, 也同样要通过接口与总线相连。这种接口是并行接口。除了上面这些原因外,      外设的工作速度通常比C U的速度低的多, P 而且各种外设的工作速度互不相同,这就要求接口电路对输入 / 输出过程能起到一个 缓冲和联络的作用。对于输入设备来说,      接口 通常起信息变换和缓冲功能。变换的含义包括模 拟量到数字量的变换、串行数据往并行数据的变换以及电平变换等,总之,目 的是将输入设备送来的信息变换成 C U能接收的格式, P 并将其放在缓冲器中让 C U来接收。对于输出设备来说,接口 P 要将 C U送来的并行数据放到缓冲器 P 中,并将其变成外部设备所需要的信息形式,这种形式可能是串行数据,也可能是模拟量等。可见,输入 输出接口电      / 路是为了解决计算机和外部设备之间信息变换问 题而提出来的,输入 / 输出接口 是计算机和外设之间传送信息的部件,每个外设都要通过接口 和主机系统相连。 技术就是专门 接口 研究C U和外设之间的数 P 据传输方式、接口电路的工作原理和使用方法的。 接口的功能:      简单的说,一个接口的基本功能是在系统总线和I O设备之间传输信号,      / 提供缓冲作用,以满足接口两边的时序要求。接口、系统总线和外设的连接如图 21 .所示。下面是从广义角度概括出来的接口      功能。 对于一个具体接口来说,未必全 部具备这些功能,但必定要具备其中几个。 寻址功能:首先,      接口 要对选择的存储器和 U 0的信号能够做出解释:此 外,要对送来的片选信号进行识别,以 便判断当前本接口是否被访问,如果受 到访问,还要决定是接口中哪个寄存器受到访问。 输入/      功能: 输出 接口 要根据送来的 / 读 写信号决定当前进行的是输入操 作还是输出操作, 并且随之能从总线上接收来自C U的数据和控制信息, P 或者 将数据或状态信息送到总线上。数据转换功能:      接口 不但要从外设输入数据或将数据送往外部设备,并且 还要把 C U输入的并行数据转换成所连的外设可接收的格式 ( P 如串行格式) ; 或者反过来,把从外设输入的信息转换成并行数据送往C U P. 联络功能:当接口从总线上接收一个数据后,或者把一个数据送到总线上      以后, 能发一个就绪信号,以 通知C U 数据传输己 P, 经完成, 从而可以准备进行下一次传输。中断管理功能:作为中      断控制器的接口 应该具有发送中断请求信号和接收中断响应信号的功能,而且还有发送中断类型信号的功能,此外,如果总线控制逻辑中没有中断优先管理电路,那么,接口 应该还具有优先级管理功能。 复位功能:接口应该能接收复位信号,从能而使接口      本身以及所连的外设进行重新启动。可编程功能:为了使一个接口可以工作在不同的方式,而且可以      用软件来决定到底工作在哪一种方式。 此外,为了能够用软件来设置控制信号,一个接 口 应该有可编程功能. 错误检测功能:当前多数可编程接口      芯片一般能够检测下列两类错误:一 类是传输错误;另一类是覆盖错误。数 据 总 钱数据 六寄存丹数据输出 寄存器控帘 惜 器 状态寄存器图2 外设通过接口                          . 1 和系统相连当然了, P      C U与外部设备进行通讯时, 在 也可以用软件来实现串行到并行 以及并行到串行转换, 但这样一来则大大降低了C U的利用率。 P 所以, 通常用硬 AT 路 实 接 。 着 规 集 电 技 的 展 通 的 编 件UR电 来 现 口 随 大 模 成 路 术 发 , 用 可 程的同步和异步的接口片子种类越来越多。1                                              3 22 . 通用异步收发器的基本结构和工作原理『 , 0 1大多数的外部设备和计算机之间是按照串行方式进行通信的。也就是说,      数据是一位一位进行传输的,在传输过程中,每一位数据都占 据一个固定的时 间长度。这种情况下,就要串 行接口 把这个外部设备连接到总线上。221串行接口 .. 当前可编程的串行接口      有很多种,通用异步收发器 ( A T U R )就是最常见的一种串 行接口 。图 2 . 2是串 行接口 部件的典型、 简单的结构,从图中可以见 到,串 行接口部件内部有 4 个主要的寄存器,即控制寄存器、状态寄存器、数 据输入寄存器和数据输出寄存器。申行输出一      习来自 峨址异收图2 可编程串                          . 2 行接口的典型结构控制寄      存器用来容纳C U送给此接口的 P 各种控制信息, 而控制信息决定接 口的工作方式。 状态寄 存器的 各位叫状态位, 每一个状态位都可以 用来指示传 输过程中的某一类错误或者当 前的传输状态。数据输入寄存器总是和串 行输入 / 并行输出移位寄存器配对使用的,在输入过程中,数据一位一位从外部设备 进入接口的移位寄存器, 接收完一个字符以后,数据就从移位寄存器送到 而当 数据输入寄存器, 再等待C U来取走。 P 输出的情况和输入过程类似, 在输出过 程中, 数据输出寄 存器和并行输入/ 行输出 串 移位寄 存器配对使用。 P 当C U往数据输出寄存器中输出一个数据后,数据便传输到移位寄存器,然后一位一位地通过输出线送到外设。C U可以访问串行接口中的四个主要寄存器。      P 从原则上讲, 对四个寄存器 可以通过不同的地址来访问,不过,因为控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的, 所以,可以 用读信号和写信号来 区分这两组寄存器,再用一位地址来区分两个只读寄存器和两个只写寄存器。222串行通信涉及的几个问题 ..1      .全双工方式和半双工方式图2      . 2中所示接口 对接收信息和发送信息采用了不同的 通路。如果一个数 据通信系统中,对数据的两个传输方向 采用不同的通路, 这样的系统可以工作 全双工方式, 采用全双工方式的系统可以同时进行发送和接收。这对串行接口 来说,意味着可以同时进行输入和输出。和全双工方 应的 半 方 在 双工方 , 过      式对 叫 双工 式。 半 式中 输入 程和输出 过程使用同一通路。对于象打印机这样单方向传输的外部设备,当然只要用半双工就能满足。2      .同步方式和异步方式 串行通信可以分为两种类型,一种叫同步通信,另一种叫异步通信。      采用同      步通信时, 将许多 字符组成一个 信息组, 这样, 字符可以 一个接一 个地传输,但是,在每组信息 ( 通常称为信息帧)的开始要加上同步字符,在 没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。 采用异步通信时,两个字符之间的传输间隔是任意的,所以,每个字符的      前后都要用一些数位来作为分隔位。 比较起来,在传输率相同时,同步方式下的信息有效率要比异步方式下的      高, 困为同步方式下的非数据信息比 例较小。 但是从另一方面看, 同步方式下, 要求进行信息传输的双方必须用同 钟进行协调,正是这个时钟确定了同步 一时 串 行传输工程中 位的 每一 位置. 这样一来, 如采用同 步方式, 那么, 在传输数 据的同时,还必须传输时钟信号。而在异步方式下, 接收的时钟频率和发送的 时钟频率不必完全一样,而只要比 较接近,既不超过一定的范围就行了。 图2      . 3是异步通信时的标准数据格式。从图中可以 看出,按标准的异步通 信数据格式, 一个字符 在传输时,除了 传输实际的 编码信息外, 还要传输几个外加数位。具体说,在一个字符开始前,输出线必须在逻辑上处于 “ ” 1 状态, 这称为标识态。 传输一开始, 输出线由标识态变为 “ ” 0 状态, 从而作为起始位。起始位后面为5 个信息位。 -8 信息位由 低往高排列, 即第一位为字符的最低位, 在同一传输系统中,信息位的数目 是固定的。信息位后面为校验位,校验位可以按奇校验设置,也可以按偶检验设置,不过校验位也可以不设置。最后的位数为 “ " 它作为停止位, 1, 停止位可以为 1 3 位或者 2 如果传输完一 位、 / 2 位。个字符以 后,立即传输下一个字符, 那么, 后一个字符的起始位便紧接着前一个字符的停止位了,否则,输出端又会进入标识态。1 0的跳变作为新宇符的开始 _ 到最惬位最高位门一一一一一一一刁 1 —土 一_」__ ! _J } 口 砂 \厂 一奇岛校验位 , f 个停止位 、3 戴2 2图 2 标准的异步通信数据格式 . 3尽 在不同 传输 统中 信息 数目 停 位的 可以      的 系 , 位的 、 止 数目 不相同 校 管 ,验位的设置方法也可以不同,但是,对于同一传输系统,这些是固定的。本论文中要讲到的通用异步收发器 ( A T 这样的可编程接口被用来进行通信时, UR) 可以通过对控制寄存器的编程来对这些参数进行设置。在异步通信时, 送端需要时      发 钟来决定每 1 位对应的时间 长度, 接收端也 需要一个时钟来测定每 l 位的时间 长度, 前一时钟叫发送时钟,后一个时钟叫 接收时钟。 这两种时钟频率可以是位传输率的1 倍、 2 6 3 倍或者6 倍。 4 这个倍数称为波特率因子,而位传输的速率称为波特率。 比如波特率因子为 1。      6 通信时, 接收端在检测到由高到低变化以后, 便开始计数,计数时钟就是接收时钟。当计到8 个时钟以后,就对输入信号进行采 样,如仍为低电平, 确认这是起始位,而不是干扰信号。此后,接收端每隔 1 6个时钟脉冲对输入线进行一次采样,直到各个信息位及停止位都输入以后.妥 样才停止。当下一次出现由 1 0 ‘ 到 的跳变时,接收端重新开始采样。鉴于接收端是用上面的      采样方式来确定起始位和检测信息, 在异步 所以 通信时,发送端可以在字符之间插入不等长的时间间隔。接收端总是在每个字符的头部即起始位进行一次重新定位,因此,      保证每 次采样对应一个位数。只有当接收时钟和发送时钟的频率相差太大,从而引起在起始位之后刚采样几次就造成错位时,才出现采样造成的接收错误。如遇到 这种情况,那么,就会出现停止位 ( 规定停止位应为高电平)为低电平 ( 当然未必每个停止位都为低电平) ,于是,会引起信息帧格式错误。对于这类错误, 大多数串行接口都是有能力检测出来的。这就是说,大多数可编程串行接口可以检测三种错误:奇/ 偶校验错误、覆盖错误和信息帧格式错误。 一个部件如果能够将并行数据转变为串行数据,按图 2 所示的格式把数      . 3 据发送出去,或者反过来,能 够接收按图 2 所示格式的数据,再把它变为并 . 3 行数据,而且能够检测奇 / 偶校验错误、 覆盖错误和信息帧格式错误, 那么通常称这种部件为通用异步收发器 (A T vrl n r os e e ad U R U i s Ayc o u Rcv n n ea s h n e ir  T n i r。 r s t ) 当前, am e 许多电 子器件制造厂家推出了多 A T 种U R, 并将它 们不断的完善和标准化。在有些情况下,U R A T只是接口的一部分,这就是说有这样一种器件,其中既包含了 异步通信接口 部件,也含了同步通信接口 部件, 通过编 程它可以 工作在同步或异步的模式下。 本论文设计的通用异步收发器 (A T      U R )即具备了普通的U R A T的基本成 分和原理也有着 自己的特殊成分和优点。我们将在下一章进行介绍。 第三章 通用异步收发器的设计思想在前面的两章里我们讨论了采用硬件描述语言      设计电路的方法,同时也介 绍了通用异步收发器 ( A T U R )的基本电路结构和工作原理。在这一章将前面两章的内容具体化,首先介绍所要设计的通用异步收发器 (A T U R )的电路结 构和它与普通的、 基本的U R 相比的改进之处, AT 然后介绍采用硬件描述语言 来设计 U R A T的具体步骤。31 .  普通型 UR AT电路的缺点在第二章里已      经介绍了一 种基本的 通用异步收发器(A T正常工作所应 U R)具备的电路结构, 如图2 所示, . 2 一个完整的U R 应包括输入缓冲寄存器 ( AT 数据输入寄存器) 、输出 保持寄存器 ( 数据输出寄存器) 、线性控制寄存器、线性 状态寄存器、外设控制寄存器、 外设状态寄存器、中断使能寄存器、中断控制 寄存器、 接收移位寄存器、发送移位寄存器和与这些寄存器相关的输入 / 输出 端口等。 这种简单的U R A T结构 ( N E 如IT L的85) 21 虽然可以实现从 C U到 P 外设的并行数据到串行数据的转换、 外设到 C U的串 P 行数据到并行数据的转换以及中断信号的产生等等,但它的效率却是极低的。为什么说这种 U R      A T电路的效率极低呢?什么是 U R A T电路的工作效率呢? 从基本U R 的电 A T 路结构 看出由 可以 于输入缓冲寄存器和输出 保持寄存器都是一个只有 8 位的寄存器, 所以当输入缓冲寄存器接收了一个字节的数据后,如果没 有奇偶校验错误、 错误等, 帧格 那么它就会 标志输入缓冲寄 产生 存器已 “ 的中断信号。 满” 这个中断信号的 作用是通知CU输入缓冲寄存器的数据已 P “ 而且没有错误, 满” 这样C U就可以 P 读输入缓冲寄存器, 使输入缓冲寄存器重新回到没有接收数据的 “ 状态。输入缓冲寄存器为 “ 空” 空”就可以继续接 收来自 输入移位寄存器的一个字节的 数据。如果输入缓冲寄存器已 经装满了来 自 输入移位寄存器的数据, 但是没有中断信号以 至于 C U没有读取在输入缓冲 P 寄存器中的数据,同时 输入移位寄存器又向 输入缓冲寄 存器送入了 一个字节的数据, 由于之前送入的 数据还没有被C U读取, P 所以后一个数据就会覆盖前一 个数据, 这样就产生了 标志覆盖错误的中断。同理如果输出保持寄存器己 经向 发送移位寄存器发 一个字节的 送了 数据, 保持寄存器就会处于 “ 的 输出 空” 状态, 那么就会产生中断信号以 通知 C U向输出保持寄存器写入数据以使其重新 P 处于 “ 满”的状态。 如果输出保持寄存器为 “ 空”状态之后,没有中断信号产生以 C U向 使 P 输出保持寄存器写入新的数据, 那么当输出移位寄存器再次读输 出保持寄存器时就会产生U dn n neu 的错误。可见在 U R A T进行 C U与外设间 P 的数据传输时,如果接收时钟和发送时钟都正确设置了之后 ( 这样就大大减少 了奇偶检验错误和帧格错误) 那么标志输入缓冲寄存器 “ 和输出保持寄存 , 满” 器“ 空”的中断非常重要,而且在基本的U R A T电路中非常频繁。U R A T电路 的效率可理解为在每次输出 保持寄存器“ 和输入缓冲寄存器 “ 时, P 空” 满” C U 所能向U R A T中写入或读取的字节数。 于基本U R 路中的 由 A T电 输入缓冲寄存 器和输出保持寄存器都是单字节的存储器,所以 就出现了频繁的输入缓冲寄存 器 “ 和输出 满” 保持寄 存器 t 的中断, ’ 空” 而每次中 P 断C U都只能写或读一个 字节的数据,这势必会大大降低 C U的效率。因为C U的时钟频率与U R P P AT 的发送和接收时钟频率相比高出 几十倍, 所以C U完全可以 P 在很短的时间内 将 UR A T在很多个接收周期内 接收到的数据读取;同理也可以在很短的时间内向U R 写入其需要在很多个发送周期才能发送完的数据,如果这样就减少了 ATC U的被干扰次数即同时提高了C U和 U R P P A T的效率。因为奇偶校验错误、 帧格错误等发生的几率很小, 所以对U R A T的改进主要体现在增加它的存储容 量以减少它对 C U的输入和输出的中断请求上, P 进而提高C U和U R P A T的效 率。本文所设计的U R A T正是主要从这个角度出发的。32 . 改进型 UR 的 AT 原理‘ 〔 〔 , ,, ,, , , ,,既然普通型U R      A T电路的瓶颈 (e bt ) nc ol 是输入缓冲寄存器和输出保持 k e 寄存器的容量, 那么提高U R A T电路的效率也主要从改变输入缓冲寄存器和输 出保持寄存器的电路结构出发的。而改进这两个寄存器的结构并不是输入缓冲 寄存器和输出保持寄存器的有效字节宽度 ( 字节宽 度为8 , 位) 主要是增加了输 入缓冲寄存器和输出保持寄存器中的寄存器深度,也就是把原先的寄存器数目 由1 个变为多个.那么由什么具体的结构去分别代替输入缓冲寄存器和输出保 持寄存器呢?电路经改变后的原理图如下: 图31 .  改进后的UR 的结构框图 AT从图中      看出改 可以 进后的UR 电 构中 AT 路结 用输入FF和输出FF 取代了 I O IO 原先的 输入缓冲寄存器和输出 保持寄 存器。I 是先入先出( s I Fs Ot FF O F t  it ) i n  u 的简称,是一个深度为1 的寄存器组加上时钟、 / 6 读 写控制信号和FF 状态 工O 信号组 成的电 路结构, 在本文设 改进型UR 中FF 是提高UR 效率以 计的 AT 工 O AT 减少 CU中断的关键部件。下面是一个同步的 FF P IO系统框图: d民kdm 口田 a i 二 ned ree e rstn W e t生tot二 au 见 口ep      mt y, f          山图 32                              . 同步FF 的框图 IO从上面的      可以 框图 看出同 I 具有时钟端口 复位端口 读/ 控制端 步FF O 、 、 写 口、 数据输入与输出 和标志 FF 状态的epy fl 端口,同时 FF 端口 工 O mt,  l u 在 IO 内 部还有一些重要的 成分, 它们是FF 的 工 存储体 ( O 即寄存器组) FF 计数器 、工 O (    FF 是 “ 还是 “ , 标志 I O 满” 空” 用以 表示FF 使用了多少) 工O 、读指针和写指 针( 用来指示读操作和写操作的位置) 有了以 。 上提到的这些寄存器再加上时 钟 与读/ 写控制信号,FF 就可以正常工作了。 工O FF 的工作原理如下:在 FF 刚加电的时候加入复位信号使FF 的计数      IO IO IO器、读指针寄存器和写指针寄存器清零,然后在时钟的作用下就可以 进行读写 操作了。需要说明的是必须先向FF IO中写入一些数据,然后才能进行读操作, 当然在写了一些字节的数据后也可以同时对 FF 进行读操作和写操作, 工O 并且两 者的操作速度可以不同。在时钟信号触发沿到来的时刻如果写信号有效,那么 首先检查 FF 的计数器, IO 如果 FF 的计数器已满, IO 则给出覆盖错误 (vru) Oern并且停止写操作, 这时没有数据被写入FF; IO 反之, 如果FF 的计数器未满, IO 那么数据线上的 数据将被写入写指针所指向的地址中, 同时FF 的计数器和写 工O 指针都会加 1 如果写指针指向了最末位的地址, 。 那么将写指针指向FF 的首 IO 地址,如此循环下去直到计数器计满,就不再向FF 写入数据。当FF 的计 IO 工O 数器满的时候标志 FF 工O已满的 fl 会给出信号。在时钟信号触发沿到来的同 ul时如果 读信号 有效, 会检查 FF 的计数器,当计数器为。 则 工 O 的时候 ( I 即FF O中未写入任何数据或 FF IO写入的数据 己被全部读走 ) ,会产生已读空(ne u) 错误, Udr n 的 r 同时没有数据进入数据线。 反之, 如果FF 中的 I O 计数器 未空, 那么由 读指针所指向的FF 中的 工O 数据将被送到数 据线上,同 I 的 时FF O 计数器会减 1 而读指针会加 1 如果读指针已 。 指向了FF 的最后地址, 工O 那么将读指 指向F O 首 址, 此循 针 I 的 地 如 环下去直 计 F 到 数器为 时 不再从F O 空的 候就 I F中 读取数据。 I 的 当FF 计数器空的时 标志FF 已 O 候, I 空的epy O mt 会给出 信号。 在己向FF 工O中写入了一些数据后可以同时对 FF 进行读操作和写操作,这时 工O如果读写时钟相同, TO的计数器不会发生变化, FF 只是读指针和写指针发生变化,也不会产生 Oern Udru 错误。 vru 和 nern3 改进型 UR 的结构 . 3 A下结合图 3 介绍一下改进型 UR 主要输入/     1 .  AT 输出端口的功能和其内部寄存 器的选通地址及具体的作用, 这些端口功能和寄存器功能的代码描述在附录中。先介绍外部端口的作用,如下表:表31  T                        .  R 各输入/ 端口 U A 输出 描述 端 口名A -A O 2方功能描述向IUR 中寄存器的 AT 选通地址。在从UR 的内 AT 部寄存器读 取数据或将数据写入内部的寄存器时,O 2 A-A 指向相应的寄存器。BUOT ADU0波特率输出。 ADU 是UR 的发送时钟, BUOT AT 这个时钟是主时钟被两个 8 位的分频锁存器所决定的整数分频而得到的。 当把 BUOT ADU 接到RL 接收时钟) CK( 端时, 这个 时钟也作为接收数据所使用的时钟了。D -D O 7I0 数据总线。 O 7 3 / D-D 是 态的数据总线, 数据、 控制和状态信息 通过这个双向的通道在 CU UR 之间传 可以 P 和 AT递。XA IXA 2 I0 外部时钟。TL 和 XA2向UR 提供正常工作的主时 T L/T L / XA I TL AT钟。M R I复位端。当 有效时, R M 清零 UR 中大多数寄存器并将 AT各种输出信号设置为相应的状态。SN I SU OTI串行输入端。SN I 是从外设来的串行数据输入端。 串行输出端。SU OT是串行数据向 外设的输出端。当 M R0DR T0有效时,SU 被置为 1 OT . 数据终端准备好信号。 AT 由UR 送往外设, P 通过编程 CU 命令可以 DR 使 T 有效, 从而通知外部设备CU P 当前已经 准备就绪。DR SI数据设备准备好信号。 外设送往 UR, AT 当有效时用来表 示当前设备已 经准备好。当信号有效时会在 UR AT的状 态寄存器第 3 位上反映出来,所以,CU P 通过对状态寄 存器的读取操作,便可实现对 DR S 信号的检测。 请求发送信号。UR 送往外设的,CU AT P 通过编程命令可RS T0以使RS T 有效,己 表示CU 经准备好发送。 P己CS T I清除请求发送信号。 有外设送往UR, RS AT是对 T 的响应, 当有效时 UR AT才能执行发送操作。当信号有效时会在UR 的状态寄存器第 2 AT 位上反映出来,所以, P 通过 CUIIP N RT0对状态寄存器的读取操作, 便可实现对DR S 信号的检测 中断信号。当有效时,工IT NP 通知 CU P 有中断需要被执 行。 有四种条件可以引起中断, 它们是: 接收数据错误、 接收数据已经准备好、输出 FF 工O空和外设送来的中断信号。X 其中工 代表输入,0 代表输出。下面是UR AT中可访问寄存器的地址和作用,寄存器地址如下表:表 32 R 中各寄存器地址                              . AT UDA A LB 2 0 0 x xXA 1 0A O 0 1 0 0 1 0 10 0可寻址的寄存器 输入缓冲寄存器 ( 只读)/ 输出保持寄存器 ( 只写) 中断使能寄存器01 1 1 00 100 01中断标识寄存器 ( 只读) FF 控制寄存器 ( IO 只写)线性控制寄存器 外设控制寄存器 线性状态寄存器 外设状态寄存器 低8 位分频锁存器XX1 1 0X 1000 1} 0} 0} 1高8 位分频锁存器X 其 中的 DA LB是线性控制寄存器的第 7 位需要注意的是,现在的输入缓冲寄存器和输出保持寄存器应该分别是输入     FF IO中读指针所指向的寄存器和输出 FF IO中写指针所指向的寄存器。从上面 的寄存器地址列表中可以看到其中有些寄存器地址相同但是它们可以由其他的 一些信号配合地址信号来分别寻址,如输入缓冲寄存器、输出保持寄存器和低 8位的分频锁存器地址相同,但输入缓冲寄存器与输出保持寄存器可以通过 DA 与低 8 LB 位分频锁存器来区分地址。 LB 时可访问低8 当DA=1 位的时钟分频锁存器, LB 时可访问 当DA 为0 输入缓冲寄 存器或输出 保持寄存器, 同是由于输 入缓冲寄存器为只读而输出 保持寄 存器为只写,所以当DA= 时两者可以 LB O 用 读/ 写信号来分别寻址。 中断标识寄存器和FF 控制寄存器地址相同, I O 但中断 标识寄存器为只读而FF 控制寄存器为只写, IO 所以二者可以由 读/ 写信号来分别寻址。下面介绍几个主要寄存器的具体作用,输出保持寄存器和输入缓冲寄存器      的作用前面已经介绍过了, 分别是接收CU P 送来的UR 准备发送的数据和发送 AT由UR 接收来的数据。 AT中断使能寄存器 仃E)      R 共有四位,其作用是允许或屏蔽某种类型的中断。 而且也可以控制整个中断系统, IR iO i3 当 E 的Bt-Bt 全部清零时, 整个中断系统都被屏蔽了,也就不会再有中断信号产生。其中每一位的作用如下: Bt:当被置 1      iO 时,允许输入 FF 中断或Tmot IO ieu 中断。 Bt:当被置 1      il 时,允许输出FF 中断。 I O Bt:当      i2 被置1 允许接收数据格式错误中断。 时, Bt:当被置 1      i3 时,允许外设输入的中断。 中断标识寄存器 (工)      IR 共有四 其作用是标识中断已 位, 经产生和中断的类型。Bt:当没有中断时Bt 被置 1      iO iO ,当有中断产生时Bt 被清 O iO aBt- i 定义中 优先级,也就是当 类型的中断同时      : il Bt 3 断的 不同 发生时,那种中断先被执行。UR 的中断优先级别分为四种: AT 优先级 1      :接收数据格式错误中断。 优先级 :输入 FF    2 工O中断或 tmot中断。 ieu优先级 :输出FF 中断。    3 工O优先级 :外设输入中断。    4Bt-Bt 对中断的 il i 3 优先级别划分如下表:表 33 R 中中断的优先级别                          . AT U中断使能寄存器Bt Bt Bt Bt i 3 i 2 i l iO0优 先 中断类型 级无1 1 0中断来源 无中断清除方式 无0101无0接收数据格 覆 盖错误 、 读线性状态 式错误 奇偶检验错 寄存器误 、帧格 错误01002输入 FF IO输入 FF 工O中 读输入 FF 工O 的字节数 目 己达到 FF 工O控制寄存器 中设定 的触 发条件1 1 0 0 2Tmot ieu在 4个接收 读输入 FF IO 周期内 FF IO 中没有字符 被读写,但在 FF 中至 IO少还有 1个 字符00103输出FF IO输出FF 空 读中断使能 IO 寄存器或写输出 FF IODR CS S ,  T00004外设输入读外设状态 } }     ! !}}}存 寄器FF 控制寄存器 (C)共有两位,它与 IR      工O FR I 有相同的地址,但 FR C是 只写的,这两位用来设置输入 FF 的中断触发条件 ( 工O 即在输入 FF 中的字 工O 节达到一定数 目后,产生中断通知 CU P 来读取数据) ,具体设置如下表:表 34输入 FF . IO的中断触发条件Bt il Bt iO 01输入 FF IO中断触发条件( 字节)0 1 0 400 1 100 8 1 41线性控制寄存器( R共有 7 编程者通过它来控制数据传输的格式。 L) C 位, Bt-Bt:指定在串 il iO 行发送或接收中每个字符所包含的位数 ( 特征字 即 符的长度) 。具体设置如下表:表 35串行字符的字节长度                             Bt B t il iO字 符 长 度(i) Bt0 0 110 l 0 15 位 6 位 7 位 8 位Bt:定义在发送的字符中有 1      ie 个、3 2 / 个或 2 个定停止位。当Bt 被 i2清0 则有一个停止位; i 被置1 停止位的 依靠Bt和Bt 所 , 当Bt z 时, 数目 il i O确定的字长来决定。而在接收串行数据时,无论停止位的数目是多少,仅接收 第一个停止位。停止位数目 与字长的关系如下表:表36串行字符中停止位的数目                            ,Bt iz由Bt和Bt 所确定的 停止位数 目 il iO 字长度 任何字长10 115 位 6 位 7 位 8 位1 、3 2 /2 2 21 1Bt:      i 奇偶检验使能位。 i3 3 当Bt 被置 1 在串行数据传送过程中在最后 时, 一位与停止位之间插入校验位; 在串行数据接收过程中, i3 B七 被置 1 则奇偶校 验被执行。当Bt 被清 0 i3 没有奇偶检验产生或被检查。 B      A:校验类型选择位。当校验功能有效时,如果 Bt i4被置 1 ,则偶校验 类型被选择 ( 在传输的数据和校验位中共有偶数个 1;当校验功能有效时,如 )果Bt 被清。则奇校 i 4 , 验类型 被选择( 在传输的 数据和校验位中 共有奇数个 10 ) Bt:      i 校验绑定 当Bt,  4 i 被置 1 校验位被设为0 5 位。 i Bt 和Bt 3 i 5 时, 来发送和接收检查;当Bt 和 Bt 被置 1 i3 i5 并且 Bt 被清 0 校验位被设为 1 i4 时, 来发送和接收检查。当Bt 被清 0 i5 时,无校验绑定。 Bt:分频锁存器寻址使能位。当访问产生时钟分频的锁存器时,Bt 必      i6 i6须被置 1 :而在访问 输入 FF,输出FF 和中断使能寄存器时, i 必须被 I O 工O Bt 6清0 .外设控制寄存器( R共有 3      M) C 位,其作用是提供控制外部设备的接口。Bt:控制DR  t tri ray 输出端,当Bt 被置 1      T (aa  mnl  d) iO d e a e iO 时,DR T 有效;当Bt 被清0 DR iO 时, T 无效。Bt: 制RS  u t e ) 端, il      T ( q st s d 输出 当Bt被置1 R 有效; il 控 r e o  e n 时, T S当Bt 被清0 il 时,RS T 无效. Bt:提供给 UR 一个反馈测试的功能。当Bt 被置 1      i2 AT i3 时,下列过程发生:SU 输出端被一直置为 1      OT ;SN      I 输入端被断开; 发送移位寄存器的输出被接到接收移位寄存器的输入;     外设控制端输入端CS DR      T,  被断开; S Bt-Bt 依次被接到外设控制输入端 CS DR      l iO i T,  . S在这种反馈测试模式中发送的串行数据迅速被接收到,这允许处理器去检      验接收和发送数据的路径。接收和发送过程的中断也是完全可操作的, 外设控制的中断也是可操作的,只不过这时的外设中断来源是 MR C 的前两位。所有的 中断还是全被中断使能寄存器 (E )控制。 IR 线性状态寄存器 (S) 位,      LR 共6 主要功能是向CU P 提供数据传输中的状态信』 9.Bt:出示输入 FF 数据准备好。当输入 FF 已      io 工O 工O 经接收到了一个完整的字符时, iO Bt 被置 1 当输入FF 中所有的数据都被读取了之后, iO ; 工O Bt 被清 O e Bt:出示发生覆盖错误。      il 当输入 FF 经满, IO己 而接收移位寄存器又接收了一个完整的字符时, il Bt 被置 1 ,出示发生了

我要回帖

更多关于 e语言时间周期 的文章

 

随机推荐