基于TPCUSB实验系统的时钟系统设计.doc
《基于TPCUSB实验系统的时钟系统设计.doc》由会员分享,可在线阅读,更多相关《基于TPCUSB实验系统的时钟系统设计.doc(26页珍藏版)》请在三一办公上搜索。
1、基于TPC-USB实验系统的时钟系统设计目录第一部分 概论2第二部分 硬件设计21.硬件基础22. 硬件设计32.1 基于TPC-USB实验系统总线与时钟系统的连接32.2可编程计数/定时器825352.2.1 8253主要特性52.2.2 8253的内部结构和引脚52.2.3 8253的工作方式62.3可编程并行I/O接口8255A72.3.1 可编程并行输入输出接口8255A 的结构72.3.2 8255A有三种基本的工作方式92.4 LED七段显示器92.4.1 共阳极LED显示器102.4.2 共阴极LED显示器102.4.3 多位数字静态显示及其接口102.4.4 多位数字动态显示及
2、其接口102.5 硬件测试10第三部分 软件设计113.1 8253、8255、8259的初始化113.1.1 8253的初始化113.1.28255的初始化123.1.2.1设置8255的方式字123.1.38259的初始化133.1.3.1 设置8259的方式字133.2 时钟程序设计143.3程序清单16第四部分 系统测试与性能分析234.1系统测试234.2性能分析25第五部分 系统展望25第六部分 实验过程中的问题与解决方法25第七部分 实验感想及对课程的建议26第一部分 概论随着计算机使用的日益普及,计算机已成为了人们日常生活中不可分割的一部分。而时钟,不仅早已是人们日常生活的必需
3、品,更是计算机系统核心运行中作为中流砥柱的其中一部分。这点在分时操作系统中尤为体现。微机系统常需要为处理机和外设提供时间标记,或对外部事件进行技术。例如系统的程序切换,向外设定是周期性地输出控制信号,外部事件发生次数达到规定值后产生中断,以及统计外部事件发生的次数等,因此,需要解决系统的定时问题。定时的本质就是计数。只要把若干小片计时单元累加起来,就可获得一段时间。而微机系统中的定时分为两类:一类是计算机本身运行的时间基准内部定时,是计算机每种操作按照严格的时间节拍执行;另一类是外部设备实现某种功能时,在外设与CPU之间,或外设与外设之间的时间配合外部定时。前者,已由CPU硬件结构确定,有固定
4、的时许关系,无法修改;后者,由于外设或被控对象的任务不同,功能各异,没有一定的模式,需要用户自己设定。而用户在考虑外设和CPU连接时,不能脱离计算机的定时要求,应以计算机的时序关系作为一句,设计外部定时机构,以满足计算机的时序要求,进行时序配合。至于在一个过程控制中,用户可以按照各个控制对象的性质和规律独立进行设计各自的定时关系。本文基于TPC-USB试验系统,通过可编程计数/定时器8253、可编程并行I/O接口8255A及LED七段显示器进行具有可取当前系统时间、可自定义时间并运行及显示功能的时钟系统设计。经实验验证,该设计方案是完全可行的。第二部分 硬件设计1. 硬件基础1.1 TPC-U
5、SB实验系统简介 TPC-USB通用微机接口实验系统是清华大学计算机系研制,清华大学科教仪器厂生产的学生实验系统。该系统由一块USB总线接口模块、一个扩展实验台及软件集成实验环境组成。USB总线接口模块直接通过USB总线电缆与PC机相连,模块与实验台之间由一条50芯扁平电缆连接。 (1)50芯总线信号插座及总线信号插孔50芯总线信号插座在实验台左上方,总线插座信号安排如上表。各总线信号采用“自锁紧”插孔在标有“总线”的区域引出,有数据线D0-D7、地址线A19-A0、I/O读写信号IOR IOW、存储器读写信号 MEMR MEMW、中断请求 IRQ、DMA申请DRQ、DMA回答DACK、AEN
6、 等。(2)时钟电路 如下图所示,输出1MHZ、2MHZ两种信号,供定时器/计数器、A/D转换器、串行接口实验使用。2. 硬件设计2.1 基于TPC-USB实验系统总线与时钟系统的连接基于TPC-USB实验系统总线与时钟系统的连接入下图2.1:8253芯片8255芯片图2.1:系统连接框图(1)如图2.1所示,频率为1MHZ的脉冲输入经过8253通道0的CLK1,变成频率为100HZ的方波由OUT0输入,再将OUT0输出的脉冲由CLK1输送给8253的通道1,最后由OUT1输出1个每秒产生一个长度为1/100秒长度的低电平的脉冲信号;再将这个信号经过反相输入到TPC-USB实验系统的中断口IR
7、Q3,从而实现每秒送出一个中断信号给CPU,CPU实现计时功能。CPU经由8255芯片将时间信息输送到7段数码管显示。(2)主要信号线连接论述:D0D7:TPC-USB实验系统上的D0D7是8088上的数据线,用来传送数据;而8255、8253是I/O芯片,它们的数据线是用于CPU与芯片间传送数据的,因此可以把8255、8253上的数据线直接与TPC-USB实验系统上的D0D7相连。RD与WR:8255、8253芯片对于CPU来说是I/O设备,要使8255、8253芯片上的RD和WR信号有效,必须使CPU的I/O与WR、RD同时有效,而PC/XT总线上的IOR和IOW是I/O读和I/O写,所以
8、只要把8255、8253芯片上的WR、RD分别与PC/XT总线上的IOR和IOW直接相连就可以了。当CPU执行外设写操作时,WR有效;当CPU执行外设读操作时,RD有效。CLK:TPC-USB实验系统上提供了1MHZ和2MHZ的时钟,因此,只需把TPC-USB系统板上的1MHZ直接连接到8253的CLK0信号.A0、A1:A0、A1是8255、8253芯片的控制/与端口选择,分时复用。用来区分当前读/写的是控制端口还是其他端口(8255为A、B、C口地址;8253则为选择3个通道中的一个)。将A0、A1直接与8255、8253芯片相连,通过改变A0、A1的值可以实现片内选。PA0PA6:PA0
9、PA6是8255 端口A的口,与7段数码管的ag直接相连,输送时间信息.PC0、PC1:PC0、PC1是8255端口C的口,与7段数码管的s1、s2直接相连,其中s1、s2是7段数码管的端口,系统通过C口输送信息到s1、s2选通数码管工作.GATE0、GATE1:门控输入信号控制计数器工作(允许/禁止计数,启动/停止计数),可分成电平控制和上升沿控制两种类型。用于系统要求门控信号总为高,因此直接与5V相连CLK1-OUT0:由于系统要求获得1HZ的中断频率,TPC-USB只能提供1MHZ的脉冲信号,而8253的初始字最大为65563,不能满足要求.因此需把1MHZ的脉冲信号降频来满足8253对
10、输入频率的要求.因此先将1MHZ经过8253通道0降频后由OUT0输出到通道1的CLK1,因此直接将CLK1连接到OUT0上。OUT1-非门:由8253通道1产生的1MHZ的脉冲信号通过中断IRQ3引起系统中断程序实现时钟功能。IRQ3当有高电平时就向CPU发出个中断请求,而通道1产生的脉冲信号为每秒由OUT1发出个长度为0.01秒的低电平;因此需要通过非门将信号转换成高电平。2.2可编程计数/定时器82532.2.1 8253主要特性 有3个独立的16位计数器/定时器,即3个独立通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 计数脉冲可以是系统脉冲,也可以是外部事件 触发方
11、式可以是软禁啊出发或硬件触发2.2.2 8253的内部结构和引脚8253为24脚,双列直插式芯片。其引脚排列与内部结构如图所示。和8255A一样,其内部有一个三态数据缓冲器,以保证未选中时内部数据线和系统数据总线是“脱开”的。三个计数器在使用时是独立的。每一个计数器对外有三个引脚:CLK为计数脉冲输入,GATE为门控信号(允许禁止计数),OUT为输出信号。每一个计数器占用一个IO端口地址,加上控制字口,一片8253共占用4个IO端口地址。和8255A一样,8253也设置了两个用于端口寻址的引脚A1和A0。这两个信号与片选信号、CPu读写信号相配合,实现对8253内部端口的操作。CLK时钟输入信
12、号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号控制计数器工作(允许/禁止计数,启动/停止计数),可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号2.2.3 8253的工作方式 8253共有6种工作方式,下面分别说明每一种方式的要点。 2.2.3.1 方式0计数到终点输出变为高电平 当将某计数器设置成方式0后,其输出OUT变低电平,装入初值后,仍保持低电平。门控为高电平开始计数。每来一个计数脉冲CLK,计数器的值减1,当计数到达终点即计数器的值变为0时,OUT变为高电平。在计数期
13、间可用门控信号暂停计数(即门控为低电平时,计数暂停)。 输出端OUT由低变高可以用来作为中断请求信号,也可作为查询信号,也可直接去控制某个操作,如让某个开关动作。 2.2.3.2方式1可编程单稳 所谓单稳,是指这样的电路,它有两种状态,但只能稳定在一种状态。在一定的外界作用下,它能从这一种状态进入到另一种状态,但经过一定时间后,又自动恢复到原来的状态。 这个时间参数一般是由外加电阻、电容的值决定的。8253的方式1就是模拟单稳电路,其处于非稳定状态的时间可通过程序进行设置。 一旦8253的某计数器被设置成方式1后,其OUT变高电平,装入初值后,仍保持高电平,等待门控上升沿到来。门控为电平高后的
14、第一个CLK下降沿时0UT变低电平,初值又被重新装入一次,并开始计数,每来一个计数脉冲,计数器的值减1。当减到0时OUT变高电平。此后门控的上升沿可再次启动此过程。门控上升沿的到来使得OUT开始输出负脉冲(这种现象叫触发),其宽度为CLK的周期乘以预置值。如果在负脉冲期间,即计数未到达终点,GATE再来一个上升沿,则再次赋初值,重新开始计数。2.2.3.3 方式2分频脉冲发生器(分频器) 方式2用来对输入脉冲(即计数脉冲CLK)N分频(N为预置的初值),在输出信号周期中低电平的时间为一个CLK周期。设置此方式后,OUT变高电平,装入初值后便自动开始计数,减到1时OUT变低电平。经过一个CLK周
15、期,OUT恢复高电平,且计数器又自动装入初值,重新开始计数。如此循环下去。如图623所示是工作在方式2的示意图。在上述过程中GATE应一直保持高电平。若GATE变低电平将禁止计数,并使输出为高电平。在GATE再次变高电平时,计数器将重新装入预置的初值,并开始计数。2.2.3.4 方式3方波发生器 方式3类似于方式2,输出是周期性的。不同的是方式3输出方波。如果预置的初值N为偶数,则输出周期中高电平和低电平的宽度相等;如果N为奇数,则输出周期中高电平比低电平多一个CLK周期的时间,当N相当大时,也可认为是方波。当然,一般采用方式3时,置初值为偶数。 设置成方式3后,OUT变高电平,装入初值后便自
16、动开始计数。如初值为偶数,每个CLK使计数器减2,计到终点改变电平。如初值为奇数,则输出为高电平时第一个CLK使计数器减1,随后每个CLK使计数器减2;输出为低电平时第一个CLK使计数器减3,随后每个CLK使计数器减2。每当计数到终点都会改变电平,初值又被重新装入,并开始计数。如此循环下去,如图624所示。和方式2一样,GATE变低可暂停计数。2.2.3.5 方式4软件触发选通 设置成方式4后,OUT变高电平,写入计数值后自动开始计数(所以称之为软件触发),计数到终点输出一个CLK周期的低电平脉冲。GATE变低可暂停计数,用GATE的上升沿可重新赋初值,并开始计数。 2.2.3.6 方式5硬件
17、触发选通 设置成该方式后,OUT变高电平,写入计数值后需等待GATE上升沿的到来才开始计数(所以称之为硬件触发)。计数到终点也输出一个CLK周期的低电平脉冲。计数过程中不受GATE电平的影响。此后,用GATE的上升沿可重新赋初值,并开始计数。 在本时钟系统设计中,分别使用了8253的方式3和方式2作为系统工作的方式。2.3可编程并行I/O接口8255A2.3.1 可编程并行输入输出接口8255A 的结构Intel8255A是一种可编程并行输入输出接口。所谓并行,是指数据的各位同时传送。 8255A只支持字节数据的并行传送。 8255A为40引脚、双列直插封装。其引脚排列及内部结构示意图如图所示
18、。由图可看出,它由数据端口、组控制电路、数据总线缓冲器、读写控制逻辑等组成。 2.3.1.1数据端口 8255A有3个8位数据端口:端口A、端口B和端口c,分别简称为A口、B口和C口。它们对外的引线分别是PA7PA0、PB7PB0和PC7PC0。每一个端口都可由程序设定为输入或输出。c口可分成两个4位的端口:c高4位口(Pc7PC4)和c低4位口(PC3PC0)。2.3.1.2 A组、B组控制电路 在8255A内部,3个端口分成两组来管理。A口及c高4位口为A组,B口及c低4位 口为B组。两组分别设有控制电路,控制电路根据“控制字”进行相应的控制。 2.3.1.3 数据总线缓冲器 这是一个8位
19、三态双向缓冲器,作为8255A与系统总线的接口。对于和系统数据总线直接相连的接口芯片来说,一般都应具有三态缓冲器,以保证在芯片未被选中时和系统总线处于“脱开”状态。数据总线缓冲器还有抑制噪音、增强驱动能力的功能。 2.3.1.4 读写控制逻辑 该电路根据CPU读、写等有关信号对8255A内部进行读、写控制,用于管理所有的数据、控制字和状态字的传送。对8255A进行控制的信号有:CS(上划线)片选信号,低电平有效。为低时,8255A被选中。 RD(上划线)读信号,低电平有效。该信号为低且CS(上划线)有效时,8255A送指定端口的数据或状态至CPU。 WR(上划线)写信号,低电平有效。该信号为低
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TPCUSB 实验 系统 时钟 设计
链接地址:https://www.31ppt.com/p-2388219.html