IO接口卡设计.docx
- 文档编号:7768571
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:19
- 大小:227.28KB
IO接口卡设计.docx
《IO接口卡设计.docx》由会员分享,可在线阅读,更多相关《IO接口卡设计.docx(19页珍藏版)》请在冰豆网上搜索。
IO接口卡设计
摘要
计算机控制是自动控制理论与计算机技术相结合而产生的一门新兴学科,计算机控制技术是随着计算机技术的发展而发展起来的。
自动控制技术在许多工业领域获得了广泛的应用,但是由于生产工艺日益复杂,控制品质的要求越来越高,简单的控制理论有时无法解决复杂的控制问题。
计算机的应用促进了控制理论的发展,先进的控制理论和计算机技术相合推动计算机控制技术不断前进。
自从1971年美国Intel公司生产出世界上第一台微处理器Intel4004以来,微处理器的性能和集成度几乎每两年就提高一倍,而价格却大幅度下降。
在随后30多年的时间里,微型计算机经历了4位机、8位机、16位机、32位机几个大的发展阶段,至今64位机也已经问世。
微型计算机的出现,在科学技术上引起了一场深刻的变革。
随着半导体集成电路技术的发展,微型计算机的运行速度越来越快,可靠性大大提高,体积越来越小,功能越来越齐全,成本却越来越低,使微型计算机的应用越来越广泛。
微型计算机不仅可应用于科学计算、信息处理、办公娱乐、民用产品、家用电器等领域,而且在仪器、仪表及过程控制领域也得到了广泛的应用。
仪器、仪表在测量过程自动化、测量结果的数据处理及系统控制等方面有着重要的应用,在许多高精度、高性能、多功能的测量仪器中都采用了微处理器技术。
过程控制也是微型计算机应用最多的一个方面,控制对象已从单一的工艺流程扩展到整个企业的生产、管理以及现场各种设备的控制中,采用分布式计算机控制,实现了企业的控制和管理一体化,大大提高了企业的自动化程度。
1引言
1.1Protel软件简介
PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。
早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到PROTEL99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。
在国内PROTEL软件较易买到,有关PROTEL软件和使用说明的书也有很多,这为它的普及提供了基础。
想更多地了解PROTEL的软件功能或者下载PROTEL99的试用版。
2005年年底,Protel软件的原厂商Altium公司推出了Protel系列的最新高端版本AltiumDesigner6.0。
AltiumDesigner6.0,它是完全一体化电子产品开发系统的一个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。
AltiumDesigner是业界首例将设计流程、集成化PCB设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。
1.2I/O接口介绍
I/O接口是一电子电路(以IC芯片或接口板形式出现),其内有若干专用寄存器和相应的控制逻辑电路构成.它是CPU和I/O设备之间交换信息的媒介和桥梁.
1.2.1I/O接口的基本功能:
•进行端口地址译码设备选择
•向CPU提供I/O设备的状态信息和进行命令译码
•进行定时和相应时序控制。
•对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。
•提供计算机与外设间有关信息格式的相容性变换。
•还可以中断方式实现CPU与外设之间信息的交换
主板接口基础知识
CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。
存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
1.2.2I/0接口的概念
接口的组成:
包括硬件电路和软件编程两部分
图2-1I/O接口
硬件电路包括基本逻辑电路,端口译、码电路和供选电路等。
软件编程包括初始化程序段,传送方式处理程序段,主控程序段程序终止与退出程序段及辅助程序段等
接口的分类:
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片 这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。
(2)
(2)I/O接口控制卡 有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。
接口的功能:
由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题:
速度不匹配:
I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
时序不匹配:
各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。
信息格式不匹配:
不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。
信息类型不匹配:
不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
1.2.3I/0接口的控制方式
CPU通过接口对外设进行控制的方式有以下几种:
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低。
(2)中断处理方式
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去
执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。
但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA(直接存储器存取)传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。
1.3设计工作任务及工作量的要求
(1)据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
(2)画出电路原理图,分析主要模块功能及他们之间的数据传输和控制关系。
(3)用protel或proteus软件绘制电路原理图。
(4)软件设计,给出流程图及源代码并加注释。
2系统总体方案
2.1系统设计目的
本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,使学生进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。
2.2系统内容和要求
设计一块I/O卡,该卡具有3个8位I/O口(A、B、C口),利用该I/O卡控制一个四位的LED显示器,该卡插在PC机的IMB—PC扩展总线插槽上,选用8255接口芯片。
2.3系统设计原理
首先由I/O卡的RESET将8255A芯片复位,由微机系统的扩展槽中20根地址线来决定8255A片选信号是否选通,由其工作原理图可知A端口地址40H,B端口地址41H,C端口地址42H,控制口地址43H。
由于是I/O防止地址重叠,从而将20根地址线全部作为译码器的输入,唯一确定I/O卡的地址。
经MS—DOS功能调用从键盘输入一串字符,(调用OAH号功能,其入口参数为DS:
DX,在DX第一个单元存放输入字符的最大允许值,第二个单元存放是实际输入字符的个数,接下来的单元存放输入的字符串),不管输入多少个数,始终只显示最后输入的四个数。
通过软件设计将由键盘输入的四个ASCII码数转换成相应的BCD码,取个位数,将此BCD码转换成字形码,在将字形码送入到8255A的A端口,而将OEH送入C端口,用来控制哪一个显示器亮,并调用10ms延迟程序。
依此类推,取十位,百位,千位进行相同的操作,只是送C端口的数据不同,依次为ODH,OBH,07H。
将键盘输入的数显示完以后,读入B端口的数,看是否再有键输入,若有,开始依据上述步骤显示新数据;若无,则一直显示此数。
3硬件电路设计及描述
3.18255芯片及工作原理
3.1.1基本组成及工作原理
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
3.1.28255的工作特性
(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.
(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.
3.1.38255的引脚功能
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
'
A0,A1:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择; 当A0=1.A1=1时,控制寄存器被选择.
8255管脚
图3-1数码管原理图
3.2LED显示部分接线及工作原理
3.2.1LED显示工作原理
现在一般把显示图形或文字的LED显示屏成为图文屏,其实LED图文显示屏并没有一个公认的严格的定义,这里所谓的图形,是由单色固定亮度的点阵线条组成的任意图形,其中LED点阵发光器件或发光或熄灭,即只有这两种状态。
单个LED数码管又叫七段数码管,分为共阴极和共阳级两种,多位七段LED数码显示器结构利用人的视觉延迟的特点,采用扫描的方式驱动多位七段LED数码管,节省驱动电路,降低功耗。
保证一定的扫描循环频率,得到较好的显示质量。
各位七段LED数码管公用一个段驱动器、一个段码锁存器,为段驱动器提供逻辑输入。
每位七段LED数码管的公共端连接一个位驱动器,控制各位数码管的点亮。
位驱动器由一个位码锁存器提供。
单片机系统中常用的显示器有:
发光二极管LED(LightEmittingDiode)、显示器、液晶LCD(LiquidCrystalDisplay)显示器、CRT显示器等。
LED、LCD显示器有两种显示结构:
段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。
图3-2数码管原理图
使用LED显示器时,要注意区分这两种不同的接法。
为了显示数字或字符,必须对数字或字符进行编码。
七段数码管加上一个小数点,共计8段。
因此为LED显示器提供的编码正好是一个字节。
本实验采用的是共阳接法,共阳数码管码编码如下:
0-9:
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
F:
0x88,0x83,0xc6,0xa1,0x86,0x8e
3.2.2LED显示部分接线
LED数码管采用共阳极接法,段选端由8255的PA口控制,位选由P1.0、P1.1决定。
采用NPN的三极管作为数码管的驱动放大电路,详图如3-2。
4软件设计流程及描述
4.1主程序设计思路
系统初始化
8255A初始化
读字符
是否为数字N
Y
转换为BCD码
取个位数
转化为字形码
字形码送A口
C口←01H
CALLDELAY
取十位数
转化为字形码
字形码送A口
C口←03H
CALLDELAY
取百位数
转化为字形码
字形码送A口
C口←05H
CALLDELAY
取千位数
转化为字形码
字形码送A口
C口←07H
CALLDELAY
读B口
YZF=1N
图4-1主程序流程图
4.2设计原理图
图4-2设计原理图
4.3单片机流程图
图4-3单片机流程图
4.4显示系统
图4-4显示系统
4.5设计程序
DATASEGMENT
DISP2DB100DUP(?
)
DISP3DB"pleaseinputchar"
DATAENDS
STACKSEGMENT
TOPEQULENGTHSTA
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX;设数据段寄存器的值
MOVAX,STACK
MOVSS,AX;设堆栈段寄存器的值
NEXT:
MOVDI,OFFSETDISP3
MOVAH,09H;显示字符串功能
INT21H;读入路径名
MOVDX,OFFSETDISP2
MOVAH,0AH;从键盘读入字符功能号
INT21H
TEXTDX,30H;检查输入数字否
JZNEXT;不为数字则继续取字符
MOVDI,BX
MOVSI,DX
INCSI
MOVAL,[SI];取字符
ANDAL,0FH
MOV[DI],AL
INCSI
MOVAL,[SI]
ANDAL,0FH
MOV[DI+1],AL
INCSI
MOVAL,[SI]
ANDAL,0FH
MOV[DI+2],AL
INCSI
MOVAL,[SI]
ANDAL,0FH
MOV[DI+3],AL
NEXT2:
MOVAL,[DI+3];取要显示的数字
MOVBX,OFFSETLEDADD;取显示代码表首址
XLAT;将数字转换成显示代码
MOV0FF00H,AL;将显示代码送入A口
MOVDX,0FF02H
MOVDX,01H;将01H送入C口
CALLDELAY
MOVAL,[DI+2]
MOVBX,OFFSETLEDADD
XLAT
MOV0FF00H,AL
MOVDX,0FF02H
MOVDX,03H
CALLDELAY
MOVAL,[DI+1]
MOVBX,OFFSETLEDADD
XLAT
MOV0FF00H,AL
MOVDX,0FF02H
MOVDX,05H
CALLDELAY
MOVAL,[DI]
MOVBX,OFFSETLEDADD
XLAT
MOV0FF00H,AL
MOVDX,0FF02H
MOVDX,07H
CALLDELAY
DELAYMOVCX,0500H
P1:
MOVDX,0500H
P2:
DECDX
JNZP2
DECCX
JNZP1
RET
LEDADD:
DB40H
DB79H
DB24H
DB30H
DB19H
DB12H
DB02H
DB78H
DB00H
DB10H
CODEENDS
END
5课程设计体会
通过这次课程设计,我受益匪浅。
最大的收获就是将理论与实际相结合,但同时也知道了自己的操作能力不行,希望以后加强这方面的锻炼。
在做完这个设计后发现自己所学知识有限觉的惭愧,以后会加强对这方面的知识的学习。
本次设计过程中,我了解了计算机控制技术发展史,I/O接口、8255芯片、PROTEL发展和使用等。
使我巩固了在课堂上学到的东西,加深了印象。
本次课程设计,使我进一步学习与理解计算机控制系统的构成原理、接口电路与应用程序,还进一步了解了波形发生器的原理及汇编语言的应用,加深了自己对理论知识的理解,提高了动手能力,独立分析问题、解决问题能力,协调能力和创造性思维能力。
提高了在应用方面的实技践能,树立了严谨的科学作风。
通过电路和程序的设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。
通过课程设计要实现以下两个目标:
第一,让学生初步掌握计算机控制技术的试验、设计方法。
即学生根据设计要求和性能参数,查阅文献资料,收集、分析类似电路的性能,并通过组装调试等实践活动,使电路达到性能指标;第二,课程设计为后续的毕业设计打好基。
通过实验训练,掌握单片机应用的基本操作方法,为今后从事相关工作打下扎实的基础,在此过程中培养从事设计工作的整体观念。
参考文献
[1]雷德水.计算机控制技术(第二版).北京邮电大学出版社,2005.48
[2]李顺增吴国东赵河明乔志伟.微机原理及接口技术.北京:
机械工业出版社,2004.
[3]李朝青.单片机原理及接口技术(第三版).北京:
北京航空航天大学出版社,2006.
[4]林敏编著.《微机控制技术及应用》.北京:
高等教育出版社,2004
[5]于海生编著.《微型计算机控制技术》.北京:
清华大学出版社,1999
[6]张大明编著.《单片微机控制应用技术》.机械工业出版社,2006
[7]张雪兰、谭毓安编著.《C语言程序设计(第二版)》.北京:
北京理工大学出版社,2004
[8]彭沛夫张桂芳编著.《微机控制技术与实验指导》.北京:
清华大学出版社,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IO 接口卡 设计