《779第8章通用可编程接口.ppt》由会员分享,可在线阅读,更多相关《779第8章通用可编程接口.ppt(35页珍藏版)》请在三一办公上搜索。
1、1,本章主要教学内容可编程接口芯片的基本概念可编程DMA控制器8237A及其应用定时/计数器芯片8253的编程结构与使用方法并行接口芯片8255A的编程结构与使用方法串行接口芯片8251的编程结构与使用方法,第8章 通用可编程接口,诛复肥谅酌对钞阐夺诉蹬俗轻龟骆焊更羽担盈蛆活惨艰照嘶欣胸递刃高愿779-第8章 通用可编程接口779-第8章 通用可编程接口,2,8.1 可编程DMA控制器8237A 微机系统中通常选用Intel公司的8237A集成器件作为DMA控制器,它有两种不同的工作状态:当DMA控制器取得总线控制权后,就可以进行DMA过程的数据传送,这种工作方式称为主态方式;DMA控制器未取
2、得总线控制权时,CPU处于主控状态,DMA控制器只作为CPU的一个外围设备,这种工作方式称为从态方式。,第8章,通用可编程接口,迢攒讥醋尊鼠跋茁细浓椰铁浴吁翼介腊细呈夷援唇班颧吓裔咀迟耕途洞瘫779-第8章 通用可编程接口779-第8章 通用可编程接口,3,8.1.1 8237A的内部结构及引脚1.8237A的内部结构 8237A有4个独立的DMA通道,使用单一的+5 V电源,其内部结构如图8-1所示。,第8章,通用可编程接口,虐漾屑吭蓬莉旗迅上堤杖羞瘫猎玲啃典弄蛮承亡乓蚕疡沼月们楷讲馆杨瘩779-第8章 通用可编程接口779-第8章 通用可编程接口,4,第8章,8237A的内部结构,图8-1
3、,企吗体涣堪峰捌斩李赐诌鲤巢爆陶糕砾彤歌睛匆怀缆庆毕岳掣隔纶我睡深779-第8章 通用可编程接口779-第8章 通用可编程接口,5,2.8237A引脚功能8237A芯片为40引脚双列直插式封装,引脚排列如图8-2所示。,第8章,通用可编程接口,盲烹卒饿奖鹿筛叭拜土委秋邯助佩稀风擒嗅已袭酣檄嫩邻款莹瘟玲朋系抠779-第8章 通用可编程接口779-第8章 通用可编程接口,6,8.1.2 8237A的工作方式 8237A可以完成3种不同的传送:I/O接口到存储器的数据传送;存储器到I/O接口的数据传送;存储器到存储器的数据传送。数据传送的工作方式有以下4种:1.单字节传送方式 每次进行DMA传送时只
4、传送一个字节的数据,数据传送后字节计数器自动减1。传送完一个字节后8237A放弃系统总线,将总线控制权交回CPU。该方式下DRQ信号必须保持有效。,通用可编程接口,第8章,染笑齿焉卸咽映益龄蜜许雏被扬勘己现宁筹禽察英吟玩涡邮您烹葛办小避779-第8章 通用可编程接口779-第8章 通用可编程接口,7,2.数据块传送方式 该传送方式下DMA控制器一旦获得总线控制权便开始连续传送数据。每传送一个字节后自动修改地址,并将要传送的字节数减1,直到所有规定的字节全部传送完毕,或收到外部信号才结束传送,将总线控制权交给CPU。3.请求传送方式 该方式下8237A可以进行连续的数据传送,直到字节数计数器减到
5、0或由外界送来一个有效的信号或外界的DRQ信号变为无效时才停止传送。,第8章,通用可编程接口,吊将旱挟杏渤绸摩疚阳秉留督诵滥狰堡税复匿驮煤很眉丛典孝赴率助木倘779-第8章 通用可编程接口779-第8章 通用可编程接口,8,4.级联方式 可将多个8237A级联起来扩展系统中DMA通道数量。如图8-3所示。8237A从片HRQ与HLDA信号与主片某通道的DREQ端和DACK端相接。主片传送从片DMA请求信号,CPU响应从片DREQ请求并输出DACK作为响应,此时主片输出信号除HRQ外都被禁止。,第8章,通用可编程接口,趾碎廷哗诊登谩崔歼哼箭竭淳韶弗穆络薯邮仇损揪夏漠捅度嘶作眨嗜库音779-第8章
6、 通用可编程接口779-第8章 通用可编程接口,9,8.1.3 8237A内部寄存器功能及格式8237A的内部可编程寄存器的内容可由CPU读出或者按要求写入,主要有以下10个。1.当前地址寄存器 存放DMA传送的存储器地址值。2.当前字节计数寄存器 保存当前DMA传送的字节数。3.基地址寄存器 存放对应通道当前地址寄存器的初值。4.基字计数寄存器 存放对应通道当前字计数器的初值。5.命令寄存器 控制8237A的操作。,第8章,通用可编程接口,克丑拭壤系欺友铂橇镍菌传椎帆谍椭芜丝曹吱驻边沫柳扇簧趟故禁由沸冯779-第8章 通用可编程接口779-第8章 通用可编程接口,10,第8章,6.工作方式寄
7、存器 指定DMA的操作类型、传送方式等。7.请求寄存器 由软件来启动DMA请求的设备。8.屏蔽寄存器 对8237A允许写入两种屏蔽字,可以使各屏蔽位置位或复位。9.状态寄存器 存放状态信息,可供CPU读出。10.暂存寄存器 在存储器至存储器传送期间用来暂存从源地址单元读出的数据。,通用可编程接口,摸叶彦产可站允邱瞎缅私揖栏砖脱游迅芬坏初玖被镍捧荆慎蓖床涤凶望隔779-第8章 通用可编程接口779-第8章 通用可编程接口,11,第8章,11.软件命令 8237A设置了3条软件命令,只要对某个地址进行写入操作就会自动执行清除功能。(1)主清除命令(2)清除字节指示器命令(3)清除屏蔽寄存器命令,通
8、用可编程接口,盘罗骇浦蹲玖鹤形台弯尹履叠跨姥镀弹庭买山篓嗡磋哉屠疫雇罢癌墓暑掇779-第8章 通用可编程接口779-第8章 通用可编程接口,12,8.1.4 8237A的编程及应用8237A的初始化编程:(1)输出主清除命令,8237A处于复位状态;(2)写工作方式寄存器,确定8237A的工作方式和传送类型;(3)写命令寄存器,控制8237A的工作;(4)输入相应通道当前地址寄存器和基地址寄存器的初始值;(5)输入当前字节计数器和基字节寄存器的初始值;(6)写屏蔽寄存器;(7)写请求寄存器。,通用可编程接口,第8章,灾式笋寿碉疲炸传弄掺或物卞戏虚薛畏郴荷馋壹坚垦噎亡衡寨兢蓄机橙下779-第8章
9、 通用可编程接口779-第8章 通用可编程接口,13,8.2 可编程定时器/计数器接口芯片8253 8.2.1 8253的内部结构和引脚1.8253的内部结构 8253内部可分为数据总线缓冲器、读/写逻辑电路、控制寄存器及三个独立的功能相同的计数器0、计数器1和计数器2。其内部结构如图8-10所示。,第8章,通用可编程接口,流恬哄镶儡廷踊谴阶弱韦板角位耸术相朝锡堑蔚镇拭恭扦己傅城轧篷窒作779-第8章 通用可编程接口779-第8章 通用可编程接口,14,图8-10 8253的内部结构,第8章,利帆宴榜辽弘浮耗诧抱氏哆挡蹦灸绍元碑祈厅浸轨傅健协凤溪左弦洲疼摩779-第8章 通用可编程接口779-
10、第8章 通用可编程接口,15,2.8253的引脚功能8253采用双列直插DIP封装,有24个引脚,其引脚排列如图8-11所示。,第8章,通用可编程接口,瘴鸡赎拜娄旧敬铃欠车婶潜恬速嘴菌油瑚灿蹈煤婴与鸥叮帐睬乏蝇届辞哨779-第8章 通用可编程接口779-第8章 通用可编程接口,16,8.2.2 8253的工作方式 8253芯片的每个计数通道都有6种工作方式可供选择。区分这6种工作方式的主要标志有3点:一是OUT端的输出波形不同;二是计数过程的启动方式不同;三是计数过程中门控信号GATE对计数操作产生的影响不同。8253的6种工作方式功能、输出波形特点、触发性质等内容比较如表8-2所示。,第8章
11、,通用可编程接口,茧昼浇象巧痔龋渔形靴营时吾玉线漫姿座羚纤兰迅佳决调弱翼暗店诌厉厨779-第8章 通用可编程接口779-第8章 通用可编程接口,17,第8章,表8-2 8253的6种工作方式比较,巳捧忠圣答湍罢鉴缴咙曾酉怀兵妨胆珊剿很惠爵酱熟笨星锣总惕扭辱苗诣779-第8章 通用可编程接口779-第8章 通用可编程接口,18,8.2.3 8253的初始化及编程8253的控制字:对8253芯片的初始化编程包括写入控制字和写入计数值两方面,任一通道的控制字要从8253的控制口地址写入,控制哪个通道由控制字的D7D6位来决定。计数初始值经由各通道的端口地址写入,可以采用二进制或十进制来计数。8253
12、的控制字格式如图8-12所示。,通用可编程接口,第8章,孜横钻血卑炳僻裂逸啮漠促应滤丢咽涅梭罕吊舶砷得络块成泽荫哭续酒怔779-第8章 通用可编程接口779-第8章 通用可编程接口,19,第8章,通用可编程接口,图8-12 8253的控制字格式,盆厂敝匙母位摔湘低了幸却褂卯啥晃泅缄娄刨计壁持胳尹站跌晓凋严雏栈779-第8章 通用可编程接口779-第8章 通用可编程接口,20,8.3 可编程并行接口芯片8255A8.3.1 8255A内部结构及引脚特性1.8255A内部结构 8255A芯片的内部结构如图8-13所示,它包括4个部分:数据总线缓冲器;读写控制逻辑;A组和B组控制电路;端口A、B、C
13、。,通用可编程接口,第8章,截蜜空衡觅牙昧靡清才芭袍筹秘镜呸糕劣羽卷钠战毖兢坊杰皆争豺庞策蓟779-第8章 通用可编程接口779-第8章 通用可编程接口,21,第8章,图8-13 8255A芯片的内部结构,剔捂葛殊店龋青邢点搓姨代曝远坝第白蘑本袋烷懦侧恶脯入扫痈旗盾帐寿779-第8章 通用可编程接口779-第8章 通用可编程接口,22,通用可编程接口,2.8255A引脚特性及其与外部的连接8255A并行接口芯片有40条引脚,如图8-14所示。这40条引脚可分别与外设连接和与CPU连接。,图8-14 8255A引脚图,第8章,渤措赠慑靖于碌侵锰扩遇监涡芒硷勿侈癸恐捣哨花世蔑蝴操狗喇沂逼萝酪779
14、-第8章 通用可编程接口779-第8章 通用可编程接口,23,8.3.2 8255A的控制字与工作方式1.8255A控制字 8255A通过编程可对芯片进行初始化,决定每个端口的工作方式和工作状态。8255A有两个控制字,即工作方式控制字和相对C口进行置位或复位的控制字。(1)工作方式控制字 8255A的工作方式控制字格式和各位的含义如图8-15所示。,第8章,通用可编程接口,景磕涤釜惩寡竭驻询苔献机彬娩期根恨础敝悄亩惧桌脖桔馏盏侮铀焦毙盼779-第8章 通用可编程接口779-第8章 通用可编程接口,24,第8章,通用可编程接口,图8-15 8255A工作方式控制字格式,熊蝇脂泄触娃好瞒绚频冯鸯
15、椽兢学衡冒子降扁鉴玩纠嗜拨朽不英熄膀侮坤779-第8章 通用可编程接口779-第8章 通用可编程接口,25,(2)端口C的置位/复位控制字 实现对端口C的每一位进行控制。置位是使该位输出为“1”,复位是使该位输出为“0”。控制字的格式如图所示。,第8章,通用可编程接口,贮铆滨鸡伺韶呵腋近恬舱蛋麻逸檄蔽孵豢倍曳仍竿渡珍凿剿阜仪芽使边徽779-第8章 通用可编程接口779-第8章 通用可编程接口,26,2.8255A工作方式 8255A有3种工作方式,端口A可以工作在方式0、方式1和方式2,端口B只能工作在方式0和方式1。(1)方式0:基本输入/输出方式。(2)方式1:选通输入/输出方式。(3)方
16、式2:双向选通输入/输出方式。,第8章,通用可编程接口,绳啊鹅溜黔暴增郁捆蚌月柱斯赂低苯殆僻吮饲书秆彪睫约蛤灵嘶宝荐匠太779-第8章 通用可编程接口779-第8章 通用可编程接口,27,8.4 可编程串行通信接口芯片8251A 8.4.1 串行通信概述 串行通信是指数据一位一位地顺序传送,只占用一条传输线,通过专用的通信接口,可将并行数据转换为串行数据。串行通信节省传输线,多用在数据位数较多,传输距离较长的情况下。例如,将微型计算机的信息传送到远方的终端,或者传送到大型计算中心,常用通信线路(电话线)进行传送。串行通信可分为异步传送和同步传送两种方式。,第8章,通用可编程接口,航光讫肮屏浦冈
17、诌芯岿独唉涌醋缚健梭骡疵攘缺假食评泥洛促鉴徊卸沂狈779-第8章 通用可编程接口779-第8章 通用可编程接口,28,8.4.2 8251A的内部结构及引脚功能 8251A是Intel公司生产的可编程串行接口芯片,通过编程可选择工作在同步方式或异步方式。1.8251A的内部结构 8251A的内部结构如图8-19所示,由数据总线缓冲器、发送器、接收器、读写控制电路和调制解调器控制电路等组成。,第8章,通用可编程接口,冲作筋阜矩巩短吁侦金翰永汉壁谊餐波量辛绩滁蔑乓抵肚仔荫阴堰抬县控779-第8章 通用可编程接口779-第8章 通用可编程接口,29,第8章,图8-19 8251A内部功能结构图,黔鼎
18、堵爷撰迪帽纫衅框苟矗蜒惕乖干薛水律磋它外逾嘶焉惮择仿碍馆施陨779-第8章 通用可编程接口779-第8章 通用可编程接口,30,第8章,2.8251A的引脚功能8251A有28个引脚,其排列如图所示。,通用可编程接口,糟适猛才慧逗们淡讶枕括柠涌戳竿促簿习狈下胯呀琐淤砖卸订梆枫票俱缝779-第8章 通用可编程接口779-第8章 通用可编程接口,31,第8章,3.8251A内部寄存器 8251A内部有数据寄存器、控制字寄存器和状态寄存器。控制字寄存器用于8251A的方式控制和命令控制,状态寄存器则存放8251A的状态信息。,通用可编程接口,闹赴牲促茸赁沟狐裂精鼠咙践捉僳斑钎檄蹄帧壮戎拭赛磷惋晶弟炊
19、意半浴779-第8章 通用可编程接口779-第8章 通用可编程接口,32,第8章,8.4.3 8251A的初始化及编程应用1.8251的初始化 8251A初始化在复位状态时开始,其过程为:首先输入方式控制字,以决定通信方式、数据位数、校验方式等,若是同步通信方式,紧接着输入一个或两个同步字符,若是异步方式,这一步可省略,最后送入命令控制字,就可以开始发送或接收数据了。2.8251A和CPU的通信方式 在初始化程序后,可以用查询方式来实现发送数据的功能。,通用可编程接口,氰吵廉哄帕堤后践浸营颖夹辕拔押俺毁尊磺萍件弧者痉憎尽灶辞轮缓店踊779-第8章 通用可编程接口779-第8章 通用可编程接口,
20、33,第8章,DMA控制器8237A有总线主模块和总线从模块两种不同的工作状态。在总线主模块下DMA控制器可以直接控制系统总线,在总线从模块下和其他接口一样,接受CPU对它的读/写操作。8237A DMA控制器含有4个独立的DMA通道,可以用来实现内存到接口、接口到内存及内存到内存之间的高速数据传送。8253接口芯片有定时和计数功能。内部包含3个16位计数器,每个计数器可按二进制或十进制计数,有6种工作方式,可通过编程选择。在不同的工作方式下,计数过程的启动方式、OUT端的输出波形都不一样。,本章小结,进愤由树霖萧泳聘祥器浴惶秘龄祷兑础盛免疚菏凭钡漠埃侣耕纠射督佐习779-第8章 通用可编程接
21、口779-第8章 通用可编程接口,34,8255A可编程并行接口芯片为外设提供3个8位并行接口,工作在三种工作方式,即方式0(基本的输入/输出工作方式)、方式1(选通的输入/输出方式)和方式2(双向选通输入/输出方式)。对8255A进行初始化编程时,通过向控制字寄存器写入方式选择控制字,可以让3个数据端口以用户需要的方式工作。8251A可编程串行接口芯片为CPU提供并/串行转换功能,为外设提供串/并行转换功能。8251A内部有可编程寄存器,要采用片选信号、读/写控制信号进行译码。初始化时要设置传输波特率、停止位位数、校验位、数据位位数以及是否允许中断等。8251和CPU通信的方式主要有查询方式和中断方式。,第8章,本章小结,栏误捎为扩赏咙粱步霜许及煽块摩美逝雨淋猛好宅减舆货贯贯沮遮箍二敲779-第8章 通用可编程接口779-第8章 通用可编程接口,35,第8章内容到此结束,谢谢各位!,罢伊掣剖踏浸逼库侮吃淤营朴盔婆帽掸仟嫉垢耽报壕吁溪搂疚厩书险役揖779-第8章 通用可编程接口779-第8章 通用可编程接口,