论文.doc

1.32位微机原理与接口技术”实验系统——CPLD电路设计与制作

收藏

压缩包内文档预览:(预览前20页/共45页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:149922287    类型:共享资源    大小:11.05MB    格式:RAR    上传时间:2021-10-10 上传人:好资料QQ****51605 IP属地:江苏
20
积分
关 键 词:
1.32 微机 原理 接口 技术 实验 系统 CPLD 电路设计 制作
资源描述:
1.32位微机原理与接口技术”实验系统——CPLD电路设计与制作,1.32,微机,原理,接口,技术,实验,系统,CPLD,电路设计,制作
内容简介:
江苏大学本科学位论文“32位微机原理与接口技术”实验系统 CPLD电路设计与制作学院:计算机科学与通信工程班级:通信002学号:004062218学生姓名:程敏锋指导老师:陈祖爵2004年6月 9日-5-摘 要“微机原理与接口技术”是一门实践性较强的课程,要学好该课程必须与配套的教学实验相结合,这样才能巩固和加强对书本知识的认识和理解。目前,32位微机原理与接口技术配套的实验系统功能不强,与微机的快速发展不配套。因此,急需研制开发一套操作简便、功能齐全、结构简单的“32位微机原理与接口技术”实验系统。本文首先对CPLD进行研究与分析,在此基础上将原有的中小规模器件集成到CPLD中,达到了简化电路,减小成本的目的。经过研制开发,已经成功应用于ISA总线的接口电路中。关键词:芯片解密, ADD-ON总线,逻辑电路设计,时序分析 ABSTRACT “Microcomputer principle and interface technology” is a course which needs practices.to learn the course well,it must integrate with the experiment going with the course.In this way,it can strengthen the understanding of the knowledge in book.Presently,the function of the experiment system going with the32-bit microcomputer principle and interface technology is not strong enough,and not fits the fast development of the microcomputer.So ,it is necessary to develop a experiment system which provides easy operation,full functions and brief structure for the 32-bit microcomputer principle and interface technology.Firstly ,the paper analyze the CPLD.Then ,it integrate the mid-mini scale circuit into the CPLD.Thereby,it predigests the circuit and reduces the cost.through the design ,it has already been successfully applied in the interface circuit of ISA bus.KEY WORDS: Chip-Decoding,ADD-ON-bus,Logic-Circuit Designing Scheduling Analysis目 录第一章 绪论11.1 背景.11.1.1 微机系统结构的发展变化11.1.2 基于PCI/XT总线的微机结构.21.1.3 基于PC AT/ISA总线的微机结构21.1.4 基于南北桥结构/中心结构的微机系统.21.2 开发32位微机实验系统的目的3 1.2.1 基本接口原理及常用接口芯片.3 1.2.2 PCI总线的应用与扩展.41.3 论文的内容结构.4第二章 32位微机实验系统的研究.52.1 32微机实验系统的功能.52.2 32微机实验系统的结构.5 2.2.1 实验箱单元结构及其功能.5 2.2.2 PCI总线扩展卡单元结构及其功能.72.3 32位微机实验系统的三种总线.7 2.3.1 PCI总线接口信号概述.7 2.3.2 ADD-ON总线接口信号概述.9 2.3.3 ISA部分仿真信号概述.11第三章 AMCC S5933芯片的应用13 3.1 PCI配置空间和基地址寄存器的使用13 3.2 AMCC S5933总线控制器.14 3. 3 AMCC S5933各接口描述.15第四章 ATF1504芯片的研究.194.1 ATF1504芯片的接口和功能研究. .19 4.1.1 芯片概述19 4.1.2 ATF1504各功能模块的描述194.2 ATF1504逻辑块的分析及引脚分布.21第五章 ATF1504芯片的解密与电路逻辑编程实现. 23 5.1 ATF1504解密的前期准备工作.23 5.2 Pass-Thru区域访问的深入研究.25 5.3 ATF1504输入输出引脚的类型鉴定.27 5.4 使用MAX+PLUS II软件和VHDL语言编程实现电路逻辑.295.5 VHDL源程序.29第六章 结论与展望346.1 结论.346.2 下一步的工作.34参考文献.35致 谢.36附 录.37 江苏大学本科学位论文-40- 第一章 绪 论1.1 背 景科学技术的发展,将微机的应用带入各个领域,于是掌握微机系统知识及微机接口技术就显得尤为重要。纵观微机的发展,无论是微处理器、微机接口还是微机操作平台,都发生了巨大的变化。PC 微机的发展过程中,无论是微处理器还是微机的系统机构始终都保持着向上兼容性。从1PC/XT总线结构开始,系统总线不断升级,相继出现了ISA总线、EISA总线、MCA(微通道结构)总线、VESA 局部总线、PCI 局部总线和AGP接口,微机的整体处理速度和可靠性得到了提高的。本节将简要介绍微机发展中几种主要的微机系统结构。但我们设计的这套系统使用了ADDON总线来实现PCI总线的转换,其中使用了AMCC S5933的总线控制芯片。本章首先对微机的发展变化及微机系统结构变化作一简要介绍。1.1.1 微机系统结构的发展变化微机的发展变化主要体现在两个方面:第一方面属于微处理器的发展变化,第二方面属于微机体系结构及微机操作平台的发展变化。微处理器作为微机中的核心部件,从早期的8088,发展到16位的8086,32位的80386,及奔腾系列,已经历了6代的变化(现在INTEL公司还推出了64位的Itanium)。从80386开始的32位80X86系列CPU提出了实模式、保护模式及虚拟86模式三种工作模式的概念:在实模式下,CPU相当于一个可以进行32位处理的快速8086; 在保护模式下,CPU的工作原理和机制与16位处理器的工作原理及机制产生了本质的不同:它采用了新的应用数据结构、虚拟存储管理方案、新的中断/异常处理机制并从硬件上支持了多任务,目前微机主流操作系统(如Windows 9x)都是基于CPU的保护模式来工作的。而虚拟86模式,是保护模式下一个可以仿真8086的任务。我们现在做的这个系统:使用ISA总线的低级接口部分是实模式下的;使用ADDON总线的高级接口部分是保护模式下的。在微处理器发展的同时,微机体系机构也从早期CPU总线直接与外设相连发展到现在采用的多级总线结构,PC 微机的外围总线也由低速总线发展到以PCI总线为主的高速总线,于是外围高速设备得到越来越广泛的使用,社会对接口应用开发人员掌握的软硬件知识及具备的软硬件开发能力提出了更高的要求。而微机操作平台方面,Windows 9x操作系统已经成为PC微机操作系统的主流,由于Windows是基于CPU保护模式工作的,它与在16位操作系统时代的DOS、Windows 3.1有所不同。如,在以往的操作系统上,用户程序可以通过直接调用BIOS或者DOS功能调用实现对硬件的访问操作。而32位操作系统Windows9x,在CPU保护模式的支持下,对系统核心程序及系统硬件操作采取了屏蔽的策略,若要实现对硬件中断、DMA、I/O或者是绝对存储访问,都必须通过设备驱动程序。这使得系统变得更安全,也使得在Windows上从事核心软件开发及硬件控制对一般程序员变得非常困难。而我们现在做的这个系统不仅有基本的对于硬件系统的操作和访问(如调用BIOS功能),也有通过扩展硬件设备来模拟实模式下的对基本硬件设备的访问(如实现对硬件中断、DMA、I/O和存储器的访问)。1.1.2 基于PCI/XT总线的微机结构在采用8088作为处理器的第一代通用微型计算机中,系统中的所有其他部件直接与处理器相连,处理器作为系统核心,通过PC总线对系统中的其他部件进行控制及数据交换。这种PC总线称为XT总线2,它采用了8位数据总线和20位地址总线,以CPU时钟作为总线时钟,可支持4通道DMA和8级硬件中断。1.1.3 基于PC AT/ISA总线的微机结构1984年IBM公司公布了PC/AT系统总线结构,系统中采用了80286 微处理器和80287协处理器。PC/AT支持与PC/XT兼容的结构,且性能比PC/XT增强了许多。后来Intel公司联合其他几家微处理器生产厂家推出了一个公开的总线标准称为ISA总线规范,它支持了24为地址线、16位数据线、15级硬件中断和 7个 DMA通道。其结构示意如图1-2-2示。其中 PC AT/ISA核心逻辑芯片组中可以实现7个DMA通道、15级中断、时间/计数器、总线缓冲器、扩展总线控制等。1.1.4 基于南北桥结构/中心结构的微机系统随着微处理器和操作系统的变化,用户对微机处理的高速性提出新的要求,为了提高处理器与各部件及部件与部件间传输信息的整体效率,微机系统中采用了十分明确的总线分级结构,即CPU总线、局部总线(PCI总线3)、系统总线结构。连接各级总线的是一些高集成度的多功能桥路芯片,它们可以起到信号速度、电平转换和控制协议转换的作用。按照芯片组功能和连接方法的划分,该结构可以分成南北桥结构和中心结构。在南北桥结构中,各级总线主要通过两片桥芯片进行连接。一片称作北桥的用于连接CPU总线和PCI总线,另一片称作南桥,用于连接PCI总线和系统总线。常用的芯片组有Intel公司的440系列,如 440BX,其南桥芯片为 82371EB,集成了 PCI-ISA连接器、IDE控制器、USB控制器、2个增强型DMA控制器、2个8259中断控制器、8253/8254定时时数器、电源管理逻辑和可选的I/O APIC等。这种总线结构可以使高速外围设备通过 PCI插槽直接与 PCI相连,适应当前高速外设与微处理器连接的需求。在中心机构的微机中,芯片组由3个芯片组成:存储控制中心MCH、I/O控制中心ICH和固件中心FWH。MCH用于提供高速AGP接口、动态显示管理、电源管理和内存管理功能。ICH提供了音频编码和调制解调器编码接口、IDE控制器、USB接口、局域网络接口,并与PCI总线及其插槽连接在一起。ICH还和 SuperI/O控制器相连,而 SuperI/O主要为系统中的慢速设备如串口、并口、键盘、鼠标等,提供与系统通信的数据交换接口。固件中心包含了主板BIOS.显示BIOS和可用于数字加密、安全认证等领域的硬件随机数产生器。1.2 开发32位微机实验系统的目的随着微机在各个领域,特别是计算机在与外部设备的通信中的广泛使用,微机接口技术便成为了非常重要的课题之一。通过设计各种接口,就可以实现CPU与外部扩展存储器,I/O设备,控制,测量,通信等设备的信息交互,学习微机接口技术对微机在这些工业领域中的广泛运用便显得尤为重要。与之相适应的高校的微机接口教学实验对于能给学生提供良好实验功能的实验设备的需求变的日益迫切。为此我们开发了这套实验系统,以满足高校进行教学实验的要求。1.2.1 基本接口原理及常用接口芯片针对PC微机的结构,我们将系统设计为低级接口部分和高级接口部分。低级接口围绕8253/8254定时/计数控制器、8259中断控制器、DMA直接存储器访问控制器,8250/16550串行接口芯片、8255并行接口芯片等芯片的编程和操作;高级接口主要围绕着PCI总线技术及其应用,包括硬件接口设计和软件设计,其中使用AMCCS5933来实现总线转换。随着芯片制作工艺的飞速发展,芯片组已经高度集成化。低速的外围设备需要通过桥芯片或专用控制器才能连接到更高一级的速度的总线上,而8254定时/计数器、8259控制器、DMA控制器等控制芯片也都已经集成到桥芯片当中,而且这种硬件连接都已经固定,大部分硬件资源被系统分配给特定应用,操作系统本身还要对硬件进行直接的管理。而一些常用的芯片例如 A/D D/A转换、存储器等微机内并没有提供接口, 更没有办法进行实验。这对我们的教学和实验无疑带来了很大的局限。为了解决基于PC 微机进行实验教学带来的各种局限和不便,利用总线扩展的方法将微机内部部分硬件资源引出,并通过一定的控制逻辑提供可以在PC 机外部连接使用常用接口芯片的信号,让学生实践接口连接和芯片编程,就是一种可行的方法。这也是我们现在所采用的方式。由于ISA总线已经被淘汰,PC微机提供的总线接口主要是PCI扩展插槽,所以需要从PCI总线扩展出仿真ISA接口,提供部分仿真ISA总线信号,将各种常用接口芯片及典型应用挂接在该接口上。但由于PCI总线支持了总线主控方式、其中断功能也区别于ISA,在PCI总线上不推荐使用8237DMA控制器和 8259中断控制器。有关 8237 DMA控制器和 8259中断控制器的学习,只能基于PC微机本身实现一些特定操作。综上所述,32位微机接口技术的基本教学可以从两个方面来实现,一方面是以PC微机为平台,操作PC微机内部资源,包括对系统8259、8237、键盘、鼠标等的操作应用。另一方面是以PC微机为平台,通过PCI总线扩展出低速总线接口信号,挂接一些常用接口芯片及典型应用,学习其基本编程与应用,包括8254、8255、8250/16550、A/D、D/A和微机控制应用等。1.2.2 PCI总线的应用与扩展PCI总线的原理是为了改善PC数据输入/输出的瓶颈问题,从而提高系统运行的速度和扩展能力、PCI总线将I/O总线上的高速外围设备移出,并将这些设备放置到一个离系统总线更近的地方,使得这些外围设备可以和处理器以更快的速度交换数据。随着PCI线的广泛应用,学习基于PCI总线接口的应用开发变得越来越重要。由于PCI总线规范十分复杂,直接针对PCI接口进行开发设计具有较大的难度。目前广泛采用的基于PCI总线的开发有两种;一种是使用PLD器件,另一种是使用PCI总线的控制芯片,如AMCC的559333,PLX的PC19054等。直接使用PLD器件,开发难度大,费时费力,不适用于教学,而总线控制芯片完成了PCI协议的转换,为用户提供了一个简化的PCI总线,只需要学习控制芯片提供的简化的规范就可以完成PCI总线应用的开发设计,是一种简便快捷的方法。由于现代接口逻辑设计追求高集成度、低功耗等特性,将多种功能集成到一个芯片中,在学习外设与控制芯片连接部分可以使用CPLD器件如 Lattice的ispLSI系列,可以大大提高实验的效率和准确性。1.3 论文的内容结构本篇论文分为四章,第一章是绪论,主要讲述了微机系统结构的变化以及各种总线的演变,开发实验系统的目的。第二章主要是对实验系统各个单元模块的分析,在此基础上画出原理图以及PCB图,并由此最终制作出实用电路板。在这章中对PCI总线,ADDON总线以及仿真的ISA信号做了具体的描述,这几种总线结构都将在系统中使用到。第三章对AMCC S5933和ATF1504芯片做了研究和描述,这一章是很重要的。AMCC S5933是总线控制芯片,借助于它我们实现了PCI总线转换到ADDON总线,而利用可编程的ATF1504芯片,将一部分电路逻辑写入ATF1504并加密,实现了技术保密,而现在的工作是把加密的电路逻辑重新描述出来。要做好这个工作就必须详细了解这两种芯片的结构和功能。第四章是论文的主要部分,它将掌握的所有资料进行综合分析,得出大体的逻辑描述。我使用VHDL语言将逻辑功能实现,并在MAXPLUS II环境下编写源程序,编译,分配引脚,并进行仿真,最后通过编程器下载到ATF1504进行调试。本文最后有VHDL源程序和附录。第二章 32位微机实验系统的结构分析与研究系统为32位微机原理和微机接口技术应用分别提供了实验于台。32位微机原理部分实验平台由一组支持在80386、奔腾及其以上PC 微机上的编程及调试工具组成。微机接口应用部分,系统提供了硬件实验平台,并将实验分为基本接口和高级接口应用两部分。对于基本接口应用学习,系统经PCI总线扩展卡及转接逻辑为用户提供了一个仿真ISA接口,用户可以基于该接口学习常用接口芯片的编程及应用; 对高级按口部分的学习,实验系统提供了全开放的简化PCI总线接口-ADD-ON总线接口及CPLD实验单元,使用户可以直接对PCI总线完成特定应用需要的接口设计,和PCI总线应用扩展实例。32微机实验系统使用了三种总线:PCI BUS(见附录1),ADDON BUS(见附录3)以及ISA BUS的部分信号。通过AMCC S5933实现PCI到ADDON的转换并通过逻辑组合提供ISA的部分信号。2.1 32微机实验系统的功能1. 完善的基本微机接口技术实验教学平台系统以PC 微机为主机,通过PCI总线扩展卡将PCI总线信号经扩展卡上的PCI总线控制芯片进行转换,转换成ADD-ON总线信号引入接口实验平台,再经过逻辑转换而形成仿真ISA总线接口,供作基本接口实验使用。在接口实验单元中,系统提供了各种常用外围接口及其控制应用部件,如定时/计数器8254、并口 8255、串口 16550、静态存贮器 6264、闪存 29256、AD574、DA0832、键盘输入及 LED显示、二进制开关输入及发光管显示、电机及温度控制单元电路。2. 可支持PCI总线扩展开发的高级接口技术实验平台系统以PC 微机为主机,通过PCI总线扩展卡将PCI总线信号经扩展卡上的PCI总线控制芯片进行转换,转换成ADD-ON总线信号引入接口实验平台,并提供CPLD应用开发单元,使用户可以进行各种硬件接口逻辑的设计,由此进行PCI总线扩展应用实验及PCI总线的扩展应用开发。3. 系统提供了FLASH闪存,体现先进存贮技术。2.2 32微机实验系统的单元结构2.2.1 实验箱单元结构及其功能1. ADD-ON总线单元(ADD-ON BUS UNIT) 提供所有的ADD-ON总线信号。以供进行高级接口实验所需。2. 仿真ISA接口单元(SIMULATION ISA INTERFACE)该单元提供的仿真ISA接口信号,用于进行低级接口实验。3. 8254定时/计数器实验单元(8254 UNIT)主要芯片:8254定时/计数芯片主要实验:1. 计数应用实验 2.定时应用实验 3.电子发声装置 4. 8255并行接口实验单元(8255 UNIT)主要芯片:8255并行口芯片主要实验:1. 基本输入输出实验 2.流水灯显示实验 3.键盘及显示实验5. 16550串行接口实验单元(16550 UNIT)主要芯片: 一片16550串口芯片,并配有标准RS232C串行通信接口主要实验: 1.串行通信基础实验 2.串口自发自收应用实验 3.与PC串口通信应用实验 4.串口双机通信应用实验6. 574 A/D转换实验单元(ADC UNIT)主要芯片: ADC574芯片及其电位器电路主要实验: A/D转换实验7. 0832 D/A转换实验单元(DAC UNIT)主要芯片: DAC0836芯片和LM324芯片主要实验: D/A转换实验8. 键盘及LED显示实验单元电路(LEDKEYBOARD UNIT)主要构成: 由4个共阴数码块、2行4列键盘和LED 驱动器电路构成主要实验: PCI中断应用实验9. 静态存储单元(SRAM UNIT)主要芯片: SRAM6264芯片主要实验: 静态存储器扩展实验10. FLASH ROM存储单元(FLASH ROM UNIT) 主要芯片: FLASH ROM 29C256主要实验: FLASH ROM 扩展实验11. 电子发声实验单元(SPEAK UNIT)主要构成: 由一只蜂鸣器和驱动电路构成12. 电机控制实验单元(MOTOR UNIT)主要构成: 由ULN2803电机接口芯片、一台四相八拍步进电机、一台DC12V直流电机及霍尔测速电路构成。主要实验: 1. 步进电机实验 2.计算机综合控制应用实验13. 微型温度控制单元主要构成:由7810芯片产生10V的稳定电压和一个51欧的电阻构成回路。14. CPLD单元(PLD UNIT) 主要芯片: LATTICE ispLSI1032 主要实验: 1. 访问S5933操作寄存器实验 2.邮箱应用实验 3.访问PASS-THRU区域实验 4.用FIFO实现总线DMA实验15 CPLD下载单元(PC DRIVER) 主要构成: 此单元位于实验极左部,芯片编程时,用专用电缆将PC机并口连至PC-PORT排针,而将E-PLD排针连至 PLD UNIT单元的 EPLD单元相应排针即可。16 开关及发光二极管显示灯单元(SW-LED UNIT) 主要构成: 由十六组拨动开关及显示灯,用来指示逻辑电平。注意:当显示灯亮时表示逻辑低电平,灭时表示逻辑高电平。17 单脉冲触发单元(KK UNIT) 主要构成:包括两个单脉冲触发器,由74LS00芯片和微动开关等构成两路R-S触发器。单脉冲输出分上跳和下跳,分别以“”和“-“表示,其输出KKI和KK2是未经过消抖电路的输出端。18 信号源单元(SIGNAL UNIT)19 转接母线 主要构成: 此单元由10组排针引线,圆孔单股导线插座组成,用于将排针形式的电路引脚和单股导线形式的引脚相互转换。从而为各实验单元的相互配合使用提供方便。2.2.2 PCI总线扩展卡单元结构及其功能 主要芯片及其结构: AMCC S5933芯片,24C16芯片,系统芯片。主要功能: 实现PCI总线到ADDON总线的转换,并进行电路初始化工作。2.3 32位微机实验系统的三种总线2.3.1 PCI总线接口信号概述1. 地址和数据信号线: AD31:0 t/s PCI局部总线的地址/数据线.这些管脚位为地址数据所复用。每一个总线操作都包含了一个地址相位和一个或多个数据相位。当FRAME#有效时,表示地址相位。当IRDy#和JDRY#同时有效时,表示数据相位。C/BE3:0# t/s 总线命令和字节使能。复用信号线。在一个地址相位的总线操作之后,这些管脚产生0总线命令。在一个数据相位之后,管脚被用来充当字节使能,说明数据线上的那些字节有效。PAR t/s 奇偶校验。是对AD31:0和C/BE0:3#进行校验的。在地址相位后的一个周期内由控制者发出稳定的PAR。在一个写数据操作之后,紧跟着IRDY#激活信号,总线控制发出一个PAR信号。在一个读数据操作之后,紧跟着JDRY#激活信号,从设备发出一个PAR信号。信号延迟一个时钟周期。2. 接口控制信号线: FRAME# s/t/s 帧周取信号.该信号由当前总线控制,标识了一个总线操作的开始和持续。一开始产生的信号表示了一次总线传的开始,而且有效的地址信号和对应的总线命令产生。在总线操作的数据传输部分该信号的保持,当信号无效说明进入最后一个数据相位。IRDY# s/t/s 主设备Ready。该信号由总线控制者发出,表示总线控制者可以完成当前的数据相位。对写操作,他表示AD31:0上的数据有效。当IRDY#和TRDY#同时有效时,数据传输才能进行,否则进入等待状态。TRDY# s/t/s 从设备Ready。该信号由从设备发出,表示从设备可以完成当前的数据相位。对读操作,他表示从设备在AD31:0上提供了有效的数据。当IRDY#和TRDY#同时有效时,数据传输才能进行,否则进入等待状态。STOP# s/t/s 停止。停止信号由从设备发出,用来向主设备发出停上当前传输的信息。LOCK# in 锁定。该信号表示要独占资源。S5933可能被某一主设备锁定当作一个从设备。但当S5933是一个主设备时,S5933下能被锁定。IDSEL in 初始化设备选择。在配制读写操作时,该信号为片选信号。DEVSEL# s/t/s 设备选择。该信号由一个激活的从设备发出,译码为地址和总线指令有效。对于主设备, 它表示是否有设备对当前时钟周期进行译码。错误反应信号线: PERR# s/t/s 校验错。这信号报告了除特殊周期外其他任何周期在总线传输的数据相位中出现校验错误。SERR# o/d 系统错。该信号用来报告地址奇偶错。特殊命令周期中的数据奇偶错以及任何错误可能引起灾难性后果的系统错误。仲裁信号线: REQ# out 请求信号。该信号由一个想要成为主控的设备发出。他是一个点对点的信号并且每一个设备都有自己的 REQGNT# in 应答信号。是一个点对点的允许信号,表示每一个潜在的设备已经取得了控制总线的权利。3. 系统信号线: CLK# in 时钟信号。除了RST#和 IRQA#,CLK对所有信号上升沿有效。其频率最高为 33MHZ,最低为DC(0HZ)。RST# in 复位。将信号复位到一个已知的状态。所有的PCI总线的输出接口信号不能被驱动,而把极开路信号象SERR#被置为高阻状态。4 中断信号线:INTA# o/d 中断A。该信号是一个电平触发,低电平有效的信号。2.3.2 ADDON总线接口信号概述1 4寄存器访问信号线:DQ31:0 t/s 数据通路。代表了为外围设备的数据总线提供的数据通路。它提供了控制器的FIFO和其他寄存器的接口。这些信号线需要加上拉电阻。ADR6:2 in ADD-ON地址线,用来选择控制器中16个双字寄存器的哪个用来获得读写周期。 ADR6:2 Register Name 00000 Add-On输入邮箱寄存器1 00001 Add-On输入邮箱寄存器2 00010 Add-On输入邮箱寄存器3 00011 Add-On输入邮箱寄存器4 001O0 Add-On 输出出邮箱寄存器1 00101 Add-On输出邮箱寄存器2 00110 Add-On输出邮箱寄存器3 00111 Add-On输出邮箱寄存器4 01000 Add-OnFIFO端口 01001 总线控制写地址寄存器 01010 Add-On Pass-Thru地址 01011 Add-On Pass-Thru数据 01100 总线控制读地址寄存器 01101 Add-On邮箱空/满状态 01110 Add-On中断控制 01111 Add-On通用控制/状态 10110 总线控制写传输计数 10111 总线控制读传输计数BE3# in 字节使能3(32位模式)。用来连接读写选通(RD#,WR#)和ADD-ON选择信号 SELECT#。作为字节使能时,当对由 ADR6:2 指定区域的 D24:31 进行读写操作时,这个信号必须被声明。BE3#有内部的上拉电阻。BE2:0 in 字节使能2:0。SELECT# in ADD-ON接口选择。任何读/写ADD-ON寄存器的动作都必须在SELECT#为低时进行。在声明RD#和WR#时该信号必须有效WR# in 写选通RD# in 读选通MODE in 控制在DQ总线上的S5933数据是32位(MODE=LOW)还是16位(MODE=HIGH)。16 位模式时,BE3#被定义成地址信号ADR1。该信号有一个上拉电阻5 FIFO访问信号线:WRFIFO# in 写FIFO。不用发SELECT#或ADR6:2就直接访问FIFO。访问宽度依赖于数据总线可用的大小。这个信号意味着用 ADD-ON系统执行 PCI DMA传递。拥有上拉电阻。RDFIFO# in 读FIFO。不用发SELFCT#或ADR6:2就直接访问FIFO。访问宽度由MODE决定。这个信号意味着用 ADD-ON系统执行 PCI DMA传递。拥有上达电阻。WRFULL out 写 FIFO满。它表示 ADD-ON到 PCI总线的 FIFO是否能接收更多的数据。管脚的逻辑低可以代表一个DMA写请求(ADD-ON到 PCI FIFO)RDEMPTY out 读FIFO空。它表示PCI到ADD-ON总线的FIFO是否包含了数据。管脚的逻辑低可以代表一个 DMA读请求(PCI到 ADD-ON FIFO)。6 Pass-Thru访问信号线:PTATN# out PASS-THRU注意信号。该信号指示一个激活的 PCI总线周期被译码,数据必须被读出或写入 PASS-THRU数据寄存器PTBURST# out PASS-THRU突发请求。包含了当前PASS-THRU周期的PCI总线操作请求突发传输PTRDY# in PASS-THRU就绪。表示ADD-ON已经完成了一个PASS-THRU周期,另一个周期可以开始了。PTNUM1:0 out PASS-THRU数据。指示由哪个基地址寄存器解码PASS-THRU动作。00对应1,依次类推。PTBE3:0 out PASS-THRU字节使能。表示哪个字节被用来请求完成PASS-THRU操作。PTATN#有效时有效PTADR# in PASS-THRU地址。这个信号引起PASS-THRU请求的真实地址出现在DQ信号线上。对32位ADD-ON总线,使用DQ31:0,对16位ADD-ON总线,使用DQ15:0。PTWR out PASS-THRU写。该信号指示 PASS-THRU操作是读操作还是写操作。只有在 PTATN#有效时有效7 System信号线:SYSRST# out 系统复位。该信号是低电平激活输出,是PCI复位(RST#)的缓冲形式。它不同步于PCI接口控制器内的任何时钟。而且该信号可以从PCI主机接口通过软件激活。BPCLK out 缓冲的PCI时钟。是PCI时钟的一种缓冲形式,具有PCI时钟的一切特征。IRQ# out 中断。这个信号通知ADD-0N系统产生了一个有意义的事件,这个事件代表了PCI控制器一个动作的结果FLT# in 漂浮。当声明时,S5933的所有管脚都漂浮。在内部有一个上拉电阻。8 ADDON发起DMA传输使用的控制信号线:FWE ADDON到PCI的FIFO“寄存器空”信号。FRF PCI到ADDON FIFO“寄存器满”信号。FRC FIFO读控制信号。FWC FIFO写控制信号AMWEN DMA写允许信号AMREN DMA读允许信号9 访问邮箱部分字节的信号线:EA7: 0 连接邮箱4字节3的信号EMBCLK 邮箱4字节3的载入时钟信号2.3.3 ISA部分仿真信号概述1 地址与数据信号线:XA15:0 地址线输出,用来指出内存地址或I/O地址,在系统总线周期中由CPU驱动。XD7:0 双向数据通路,连接I/O和外部存储器的数据接口,用来在CPU,存储器及I/O端口之间传送数据,可利用XIOW,XIOR,XMEW,XMER来进行数据选通。XIOW I/O写命令输出,低电平有效。该信号由CPU或DMA控制器产生,由总线控制器驱动后送至总线。该信号指明在地址总线上有一个I/O端口地址,并指明数据总线上有一个要写至I/O端口数据。这一信号变成低电平时开始写操作,数据总线上的数据在XIOW上升沿时刻才能写入被寻址的端口。XIOR I/O读命令输出,低电平有效。该信号指明当前的总线周期是一个I/O端口读周期,同时地址总线上的地址是一个I/O端口地址,被寻址的数据送上数据总线由微处理器读取。在I/O信号上升沿由微处理器输入有效的数据。XMEW 存储器写命令输出,低电平有效,用于请求从存储器读取数据。该信号由总线控制器驱动,它表明地址总线上有一个有效的存储器单元地址,数据数据总线上的数据要XMEW信号的上升沿写入这个单元。XMER 存储器读命令输出,低电平有效,用于请求从存储器读取数据。 该信号由总线控制器驱动,它表明地址总线上有一个有效的存储器读地址,在XMER信号上升沿由微处理器读入有效的数据。IRQ 中断信号(下降沿)。IOY4:0 I/O设备片选。MY1:0 存储器设备片选。第三章 AMCC S5933芯片的应用3.1 PCI配置空间和基地址寄存器的使用PCI总线的原理是为了改善PC数据输入/输出的瓶颈问题,从而提高系统运行的速度和扩展能力。PCI总线将I/O总线上的高速外围设备移出,并将这些设备放置到一个离系统总线更近的地方,使得这些外围设备可以和处理器以更快的速度交换数据。由于PCI总线规范十分复杂,直接针对PCI接口进行开发设计具有较大的难度。目前广泛采用的基于PCI总线的开发有两种:一种是使用PLD器件,另一种是使用PCI总线的控制芯片,我们采用的就是AMCC的S5933。使用控制芯片只需要学习控制芯片提供的简化的规范就可以完成PCI总线应用的开发设计,是一种简便快捷的方法。1. PCI的配置空间PCI总线上定义了三种物理地址空间:内容地址空间、I/O地址空间和配置地址空间,其中内存地址空间和I/O地址空间为通常意义地址空间,而配置地址空间用于支持PCI的硬件配置。PCI总线设备中的配置地址空间是一个容量为256字节并具有特定记录结构或模型的地址空间。该空间又分为头标区和设备有关区两部分。头标区的长度为64字节,是每个PCI设备都必须支持的寄存器分配区域。该区中的各个字段用来唯一的识别设备,并使设备可以得到控制。头标区的前16个字节定义在各种类型的设备中都是一样的,而其余48字节可以根据设备支持的基本功能进行不同的配置。2. 基地址寄存器PCI设备的地址空间可以在系统中浮动是PCI总线中的重要功能之一,它能够简化设备的配置过程。在系统上电时,与设备无关的系统软件将确定系统中有那些设备存在,并建立一个统一的地址映射关系,确定一个设备是否有扩展ROM。上电软件在引导操作系统之前必须要建立一个统一的地址映射,以确定系统中有多少的存储器、多少的I/O设备以及这些存储器、I/O设备占用的空间。当确定这些信息后,上电软件就可以把I/O控制器及存储器映射到系统的合理地址空间并引导系统。为了使这种映射能够与设备无关,从而在配置空间的头标区中安排了一个供地址映射使用的基地址寄存器。所有的基地址寄存器的第0位均为只读位,其0/1 值可以表示该寄存器映射的地址空间是存储器空间/I/O空间。从表4-3-1可以看出,从头标区的10H字节开始有6个基地址寄存器,每个基地址寄存器占用4字节的地址。总线扩展卡一共可以使用5个基地址寄存器,其中基地址0寄存器映射到一个64字节的I/O空间中,是控制芯片给用户提供控制接口。另外4个基地址寄存器分别映射到不同大小的I/O空间和存储器空间中。总线扩展卡资源申请情况: 寄存器空间类型大小BASEOI/O空间64BBASE1I/O空间64BBASE2I/O空间256BBASE3存储器空间64KBBASE4I/O空间64B注:PTNU1:0 :00 =BASE1 ; 01 =BASE2 ; 10 = BASE3 ; 11 = BASE43.2 AMCC S5933总线控制器作为一个中间媒介,S5933具有功能强,使用灵活的特点。它符合PCI局部总线规范2.1版,可以在PCI总线上充当从设备和主控设备。S5933允许在PCI总线和用户应用间进行特殊的直接数据存取,这是通过4个已经定义好的Pass-Thru数据通道来实现的。每个数据通道都通过定义一个主控内存寄存器尺寸和8/16/32位的用户总线宽度来实现传输。在S5933作为总线主控设备应用时,附加的两个32位的FIFO提供了更通用的数据传输功能。FIFO DMA传输支持使用地址和传输计数寄存器。4个邮箱寄存器都配有一个状态寄存器和扩展的中断功能,它们使得两种总线之间可以灵活的进行用户命令和消息传递。另外,S5933也允许使用外部串口,或单字节非易失存储器进行一些预登录初始化的需求,也提供用户扩展BIOS或POST代码的功能。S5933提供了3个物理总线的接口:PCI总线接口、Add-On总线(用户总线)和一个可选的串行或并行非易失存储部总线。总线之间的数据传输可以通过邮箱寄存器、FIFO数据通道或者使用PASS-THRU数据通道来实现。S5933主控总线或DMA数据传输是通过软件或硬件信号对FIFO数据通道进行控制来实现的,S5933还能用于I/O Audio,ISDN/FDDI/ATM,Graphics/MPEG,卫星接收器/Modem。3.3 AMCC S5933各接口描述1) PCI总线接口(见书后附图31) S5933对所有的PCI总线地址周期进行解码,如果当前的地址周期指向S5933 PASS-THRU区域的其中之一,则DEVEL被声明.如果PASS-THRU逻辑当前处于空闲,则总线周期类型被解码,并且ADD-ON的PASS-THRU状态信号输出来自于初始化ADD-ON端的一个传输如果PASS-THRU逻辑当前忙于完成前一个访问,则S5933给PCI初始器发一个重试信号.2) ADD-ON总线接口 (见书后附图32)S5933提供一个简单得,通用得ADD-On总线接口.S5933上的ADD-ON数据线宽度是一个32位的.数据与S5933内部寄存器的双向传输是通过一个片选来解码读/写信号的,S5933提供提供引脚来允许它的FIFOS进行DMA传输.ADD-ON接口中的输出引脚包括一个中断源,一个PCI缓冲时钟,一个软件控制重置信号,中断输出引脚用来当一个选中的邮箱或自测事件发生时提供一个中断信号.缓冲时钟输出为PASS-THRU的数据传输提供同步信号,来自S5933的软件控制重置信号以一种系统软引导的处理方式为ADD-ON硬件提供重置.3) S5933的PCI操作寄存器 OBM1 -输出邮箱寄存器1OBM2 -输出邮箱寄存器2OBM3 -输出邮箱寄存器3OBM4 -输出邮箱寄存器4IMB1 -输入邮箱寄存器1IMB2 -输入邮箱寄存器2IMB3 -输入邮箱寄存器3IMB4 -输入邮箱寄存器4FIFO -FIFO端口寄存器MWAR -主控写地址寄存器MRAR -主控读地址寄存器MRTC -主控读传输寄存器MBEF -邮箱空/满状态寄存器INTCSR -中断/控制/状态寄存器MCSR -总线主控控制/状态寄存器4) 5.3.4 S5933的ADD-ON操作寄存器AIMB1 -ADD-ON输入邮箱寄存器1AIMB2 -ADD-ON输入邮箱寄存器2AIMB3 -ADD-ON输入邮箱寄存器3AIMB4 -ADD-ON输入邮箱寄存器4OIMB1 -ADD-ON输出邮箱寄存器1OIMB2 -ADD-ON输出邮箱寄存器2OIMB3 -ADD-ON输出邮箱寄存器3OIMB4 -ADD-ON输出邮箱寄存器4AFIFO -ADD-ON FIFO端口寄存器MWAR -ADD-ON主控写地址寄存器APTA -ADD-ON直通地址寄存器APTD -ADD-ON直通数据寄存器MRAR -主控读地址寄存器AMBEF -邮箱空/满状态寄存器AINT -中断控制寄存器AGCSTS -ADD-ON通用控制状态寄存器MWTC -主控写传输计数寄存器MRTC -主控读传输计数寄存器5) 邮箱寄存器S5933中使用了两组各四个32位的邮箱寄存器。每组寄存器都是用来从一总线向另一总线传输数据的。邮箱寄存器为用户提供了一种简便的方法在两种总线间传输用户信息(如命令、状态、参数等)。每个邮箱寄存器都对应了一个标志位用来标识邮箱的空/满状态,该标志位存在于状态寄存器中,可以从PCI或ADD-ON端获取。6) FIFO寄存器在S5933的内部有两个单向的FIFO,一个用来将PCI总线上的数据传送给ADD-ON总线,另一个用来将ADD-ON总线上的数据传送给PCI总线。每个FIFO拥有8个32位的寄存器,它们和特定的PCI/ADD-ON操作寄存器相连,通过这两个操作寄存器可以实现对FIFO的访问。对FIFO的访问可以采用同步和异步两种方式,至于是哪个FIFO被访问。取决于是读操作还是写操作。FIFO可以作为一个PCI目标或PCI发起者。作为目标,FIFO允许PCI总线主控器存取ADD-ON的数据。FIFO允许S5933成为一个PCI的发起者。55933提供的读写地址寄存器和计数寄存器允许S5933通过PCI总线完成DMA传输,且FIFO可以在一个应用中的不同时刻扮演目标和发起者的角色。FIFO可以被配置用来支持多样的ADD-ON总线配置,亦可以支持ADD-ON总线采用8/16/32位接口。FIFO具有在PCI端和ADO-ON端产生中断的能力,这使得S5933可以支持总线主控传输。在FIFO作为一个发起者时,通过特殊的设置可以从PCI接口端或ADD-ON接口端启动一个总线主设各传输。7) 无源存储器接口1. Serial NV Devices信号线SCL t/s 串行时钟。这个输出是为了驱动一个作为总线的控制的两线串行接口和函数。该信号直接接入一个串行的非易失RAMS或EEPROMS。该信号和ERD#信号公用一个管脚。SDA t/s 串行地址/数据信号。这个双向管脚是用来读写一个nvRAM或EEPROM的。他是一个漏极开路输出信号SNV in 串行非易失设备选择。当该值为高时,表示一个serial boot device2. Byte-Wide NV Devices信号线EA15:0 t/s 外部nv存储器地址。这组信号线直接连接到外部BIOS(或EEPROM)或EPROM的地址线。PCI接口控制器通过多个读周期操作一个8位设备实现一个32位的存取。地址空间从0040H-0070H用来预装入一些数据。初始化PCI的配置寄存器。外部存储器的存储范围必须在128B到64KB之间.当一个串行存储器被连接到S5933时EA7:0被从新配置,并且充当ADD-ON到PCI的邮箱寄存器,同时E8被用来充当邮箱的“装入锁”。而EA15用来充当PCI到ADD-ON的FIFO“寄存器满”信号 (FRF),EA14则充当ADD-ON到PCI的FIFO“寄存器空”信号(FWE)。ERD# out 外部nv存储器读控制。当该信号由低向高转换时,数据传人S5933。该信号和SCL共享一个管脚。EWR# t/s 外部nv存储器写控制。读过程EQ7:0上放数据,EA15:0上放地址。该信号和SDA共享一个管脚。 EQ7:0 t/s 外部存储器数据总线。这些线直接连接到外部存储器上。当一个串行存储器连接到S5933上时, EQ4,EQS,EQ6,EQ7i被新配置以获得 ADD-ON接口传来的总线控制信号。8) PASS-THRU概述S5933为PCI总线提供了一个简单的寄存器访问端口,通过与ADD-ON逻辑使用握手协议PCI总线可以直接访问ADD-ON上的资源. PASS-THRU的数据传输方法对于直接访问ADD-ON卡上的外设如:存储器和寄存器时很有用的. PASS-THRU操作要求外部NV存储器引导设备来定义和配置S5933 PASS-THRU区域。S5933为用户提供4个可配置的PASS-THRU区域.每个区域对应一个PCI配置基地址寄存器(BADR-4).一个地址代表一个地址空间块.每个块能映射到存储器和I/O空间.可以寻址1M字节以内(对应于PC实模式地址空间).每个区域同样为ADD-ON总线备有可配置的总线宽度.一个8,16,32-bitADD-ON接口可以被选择用来与各种ADD-ON存储器或外设进行通信.PASS-THRU的这些特性只能在S5933作为从设备时,才能被使用.S5933 PASS-THRU模式支持单周期数据传输和突发传输.S5933支持全带宽下的数据传输.且数据率仅受限于执行访问的PCI初始化器和ADD-ON逻辑的速度.为提供PCI总线直接访问ADD-ON资源的功能,S5933配备了一个内部PASS-THRU接口和ADD-ON总线接口相连.这就使得PCI初始器可以执行PASS-THRU写(数据传输从PCI总线到ADD-ON总线).或者PASS-THRU读(PCI总线向ADD-ON请求数据).S5933 PASS-THRU接口同时支持单周期和突发的访问.第四章 ATF1504芯片的研究4.1 ATF1504芯片的接口和功能研究4.1.1 ATF1504芯片6概述 ATF1504(见附录2)是一个告诉的,高密度的,复杂的可编程逻辑设备(CPLD),它使用了ATMEL公司成熟的电可擦除存储器技术.它有64个逻辑宏单元并有36个I/O引脚.它可以很容易的将多个TTL,SSI,MSI,LSI和Classic PLDS集成为具有一定功能的逻辑. ATF1504的强大的循序开关矩阵交换电路增加了可使用的门数,同时也增加了成功进行引脚锁定的设计更正的可能性. ATF1504有36个双向的I/O引脚和4个专门的输入引脚,这个引脚取决于设备选择包的类型.每一个专门的引脚可同时作为一个全局控制信号,寄存器时钟,寄存器重置或输出使能.这些控制信号中的没一个都可以选取单独用于每一个宏单元. 64个宏单元中的任一个都能产生一个隐藏的反馈至全局总线.每个输入和I/O引脚同样要进入全局总线.在每个逻辑块中的开关矩阵交换电路选取来自全局总线的40个单个信号.每个宏单元同时产生一个反馈逻辑进入一个区域总线周期.在ATF1504的宏单元间的CASCADE逻辑可以快速,高效的生成复杂的逻辑功能. ATF1504拥有4个这样的逻辑链,每个逻辑链都能用40个Product Terms中的一个扇入来生成Sum Term逻辑. ATF1504的宏单元有足够的弹性来支持一个高复杂性,高速运行的逻辑功能.每个宏单元包括5个部分:Product Terms和Product Term多路选择器,OR/XOR/CASCADE逻辑,一个flip-flop,数促选择和使能,以及逻辑阵列输入.未使用的Product Terms由编译器自动使之无效,以减少功耗,一个安全熔丝,在编程是会保护ATF1504中的内容.两个字节(16位)的用户签名为用户可访问的,它的作用是用来存储工程名,部分号,修正或日期记录.用户签名的访问与安全熔丝的状态无关.ATF1504设备是一个在系统可编程的(ISP)设备.它使用工业标准4引脚的JTAG接口(IEEE std.1149.1),并且与JTAG的边界扫描描述语言(BSDL)是全兼容的.ISP允许设备在设备没有从印制电路板上移除的状态下进行编程.因此,简化了生产流程,ISP同时也允许使用软件来制作和设计.4.1.2 ATF1504各功能模块的描述1. Product Terms多路选择器每个ATF1504单元都有5个Product Terms.每两个Product Term作为可能的输入来接收同时来自全局总线和区域总线的所有信号.Product Term多路选择器(PTMUX)为宏单元的逻辑门和控制信号分配了5个必须的Product Term.PTMUX的编程取决于设计编译器.它会自动选择最佳的宏单元配置.2. OR/XOR/CASCADE逻辑ATF1504逻辑结构的设计可以高效的支持所有的逻辑类型.在单个宏单元中,所有的Product Terms能被部成OR门,生成一个5-input的AND/OR Sum Term.借助于来自相邻宏单元的CASIN,这些逻辑门可扩展成40个只带有一点额外的延迟Product Terms.宏单元的XOR门可以进行高效的比较和算术功能.XOR的一个input来自OR Sum Term.另一个XOR input可作为一个Product Term或者是接高/低电平.对于组合outputs,固定电平input允许极性选择.对于寄存器功能,固定电平允许进行Product Terms的德摩根最小化.XOR门能与T型和JK型flip-flops.3. Flip-flopATF1504的flip-flop具有非常弹性的数据和控制功能.数据输入可以来自独立的Product Term中的XOR门,也可以直接来自I/O引脚.选择独立的Product Term允许在组合的输出宏单元中生成一个寄存器的反馈.(这个特性由优化软件自动执行).此外,和D,T,JK和SR操作一样,flip-flop同样能为数据锁存之用.在这种模式下,数据在时钟为高电平是通过,在时钟低电平时锁存.时钟本身既可以作为全局时钟信号(GCK0:2)之一,也可以作为一个独立的Product Term. flip-flop在时钟的上升沿改变状态.当GCK信号作为时钟信号时,宏单元的Product Term其中之一可以被用来作为时钟使能.当时钟使能功能有效,此时使能信号为低电平,所有的时钟边沿被忽略掉. flip-flop的异步重置(AR)信号既可以是一个Product Term的GCLEAR,也可以是总是关闭.AR可同时是Product Term的GCLEAR的一个逻辑OR.异步预重置(AP)可以是一个Product Term或者总是关闭.4. Output 选择与使能ATF1504的宏单元的输出可以作为寄存器输出或者组合输出.隐藏的反馈信号既可作为组合信号,也可作为寄存器信号,而不论输出是组合的还是寄存器的.多路输出使能器(MOE).控制输出使能信号.任何缓冲器可以永久的有效用于简单的输出操作.缓冲器同样也可以永久的无效从而允许将引脚用作输入.在这样的配置下,所有的宏单元资源依然是有效的,包括隐藏的反馈信号,扩展器和CASCADE逻辑.每个宏单元的输出使能既可被用做两个专用的OE输入引脚也可用做一个I/O输入引脚,或者作为一个独立的Product Term.5. Global Bus/Switch Matrix全局总线包括所有的inpu和I/O引脚信号,以及来自64个宏单元的隐藏反馈信号.在每个逻辑块中的开关矩阵交换电路尽可能的接收来自全局总线的所有信号.在软件控制下,40多个这种信号可以作为逻辑块得输入.6. Foldback Bus每个宏单元同样生成一个Foldback Product Term.这个信号进入区域总线,并且对于4个宏单元都有效. Foldback是宏单元的Product Term中的一个相反的极性.在每个区域中的16个Foldback Term允许生成高Fan-in sum terms并带有一般的附加延时.7. Programmable Pin-Keeper Option for Inputs and I/OsATF1504提供对所有input和I/O引脚的编程属性从而可以利用Pin-Keeper电路。当任一引脚以高/低电平驱动,并随后左悬浮,它仍然会保持之前的高会低电平。这个电路可以阻止未被使用的input和I/O线由于悬空而影响电压,并由此而引起的不必要的功耗和系统噪声。Keeper电路的存在可以取消外部的上拉电阻和它们的DC功耗。8. Speed/Power ManagementATF1504有多个内建的速度和电源管理特性。ATF1504设有一个电路。它可以在电路没有逻辑相互发生时自动将设备至于低源的可靠的模式。这样不仅减少了电路在空闲期的功耗而且能够工作在5MHz以下的尽可能多的应用提供适当的能量节约。这个特性可以作为一台设备的速度属性。9. I/O Diagram为了进一步减少功耗,每个ATF1504宏单元设置了一个Reduced Power比特位特性。这个特性允许独立的宏单元配置成最大能量节约。这也可以最为一台设备的选择选择。ATF1504同样有一个可选的Power-Down模式。在这个模式下,电流会降到10mA以下。当Power-Down属性选取后,不论PD1或者PD2引脚都可用作Power-Down的一部分。在设计资源文件里,Power-Down属性会被选取。当这属性有效时,不论PD1,PD2那个是高,设备都会进入Power-Down状态。在Power-Down模式下,所有的内部逻辑信号都被锁存和保持,作为任意的可输出引脚。一直到PD为Low,所有的引脚交互才生效,当Power-Down特性有效时,PD1或PD2引脚不能用作一个逻辑输入或输出。但是,引脚的宏单元仍然可用于生成隐藏的反馈和CASCADE逻辑信号。所有的Power-Down AC特性参数被来自外部的input或I/O引脚计算,此时Reduced Power位时开启的。对于在Reduced Power模式下的宏单元,Reduced Power adder tRPT,必需要被加到AC参数中,它包括数据路径,tLAD,tLAC,tIC,tACL,tACH和tSEXP.ATF1504宏单元同样有这个属性,由此能耗可以在每个宏单元的基础上减少。通过使Power-Down属性有效,那些没被使用的宏单元就可被关闭,从而就能减少整个设备的功耗。4.2 ATF1504逻辑块的分析及引脚分布ATF1504的逻辑块的分析及引脚分布。ATF1504具有4个逻辑块和44个引脚,其中36个是I/O引脚,如下表:BLOCK A,B,C,D。BLOCK A & Pins :4,5,6,7(*),8,9,11,12BLOCK B & Pins :13(*),14,16,17,18,19,20,21BLOCK C & Pins :32(*),33,34,36,37,39,40,41BLOCK D & Pins :24,25,26,27,28,29,31,38(*)INPUT/GCLK1 :43INPUT/GCLRn :1INPUT/OE1 :44INPUT/OE2/GCLK2 :2TDI :7TMS :13TCK :32TDO :38GND :10, 22, 30, 42VCC :3, 15, 23, 35注: TDI,TMS,TCK,TD0供编程下载用。第五章 ATF1504芯片的解密与电路逻辑编程实现5.1 ATF1504解密的前期准备工作1. 步骤1 :由于加密的芯片型号被打磨掉了,所以解密的第一步是分析加密芯片的型号,采用的方法是:首先确定芯片的引脚数;接着搜集有这类引脚数的芯片,并进一步分析它的电源和接地引脚的数目,电源和接地引脚的分析是通过芯片在电路中的连接情况得到,这需要一定的工作量。经过这两个步骤就可以基本确定芯片的型号,找到两种芯片满足上述特征Altera EPM7064和ATMEL ATF1504AS,由于这两种芯片是完全可替换的,出于成本考虑我们选择了ATMEL ATF1504AS。2. 步骤2 :基于对实验有了一定的了解,接着拆分每一个单元模块,特别是注意每个模块中使用到的芯片的功能及使用方法,详细查看其中的重要芯片的结构和功能。以及每个引脚的意义,以下是这些芯片的具体名称和逻辑功能:A) 74LS245 双向8总线接收器DIR G 逻辑功能L L B TO A L H 无效 H L A TO B H H 无效 B) 74LS374 8位单向地址锁存器OC CLK D Q(输出)L H HL L LL L Q0H Z C) SRAM 6264 静态存储器WE CS1 CS2 OE MODE I/O PinH L H H 输出无效 高阻态H L H L 读 DoutL L H H 写 DinL L H L 写 DinD) 74LS138 38译码器E) 74LS32 两输入或门F) 74LS244 八缓冲器/线驱动器/线接收器G) 74LS390 双十进制计数器H) 74LS74 正边沿触发器双D型触发器I) LM7810 三端口电压调整器这也是非常关键的一步,因为在本系统中这些芯片的某些I/O引脚与加密的ATF1504芯片的引脚有关联,所以了解这些芯片的逻辑功能是非常必要的。3. 步骤3 :经过对上述芯片的了解之后,下一部要画出基本接口部分详细的电路连接草图,在草图中注明每块芯片的输入输入信号。这些信号的标注都采用了实验中的实际的信号名称,具有特定的意义。特别是对ATF1504芯片与其他芯片的引脚以及它的其他信号线做了详细的标注。制作这张草图可为今后的分析带来极大的帮助。4. 步骤4 :使用7Protel99 SE练习将电路图制作成原理图(*.SCH)以及生成8PCB图(*.PCB),学习和使用Protel99 SE是为了修改原有电路板中存在的问题,因为在进行调试时会发现原有电路板存在着引脚连接错误或跳线的一些问题,要及时纠正,需要修改原先的PCB图,以达到完美。5. 步骤5 :深入了解ADDON的总线规范。ADDON总线在本实验系统有着举足轻重的作用。高级接口实验中直接使用ADDON总线来实现通信;在基本接口部分则需要利用ADDON提供部分ISA总线的仿真信号。关于ADDON总线的资料非常有限。因而只能通过从实验板上的实际电路的连接情况以及对照每个高级实验中所使用的信号名称并进行整理总结。最终画出ADDON的总线接口图(见附录3)本系统中将ADDON总线分别用两个40-pin和50-pin的牛角尖将信号从S5933上引入实验板中。其中40-pin牛角尖是AD31:0复用信号和EA7:0,50-pin牛角尖是各种控制信号。本系统使用了8片74LS245芯片将ADDON Connector与ADD-ON BUS UNIT信号线进行连接。6. 步骤6 :学习和了解PCI 2.1的总线规范。因为32位微机实验系统第一步就是进行PCI总线与ADDON总线间的数据交互以及各控制信号的传送因而要认识ADDON必须要了解PCI 2.1总线的各个信号(此处只讨论本系统所用到的PCI总线信号)的作用。因为这样可以从整体把握加密芯片中哪些信号肯定是输入的,哪些信号肯定是输出的。这就大大的减少了对加密芯片的信号输入输出的鉴定时间,而且可以更有效,更准确的进行判别。其中C/BE3:0,FRAME,TRDY,IRDY,DEVSEL,CLK,INTA信号是非常重要的。C/BE3:0在地址周期时指示了总线操作的类型,经S5933后PTNUM1:0信号线指示总线操作类型。其中00,01,11都表示I/O空间访问,只有10表示是存储器空间访问。CLK信号经S5933后有BPCLK来同步PCI时钟。INTA经S5933后由IRQ来接收外部设备产生的中断。读写操作得过程是:首先由PCI声明FRAME,表示要进行总线数据传输。S5933探测到FRAME有效候就声明DEVSEL,即通知PCI它已成为从设备,两者可以建立传输关系,接着就有两种情况:A 在写周期内,IRDY信号有效,表示有效的数据信号已在AD0AD31引脚中建立,只要TRDY信号有效,即从设备已做好了接收数据的准备。于是数据将从PCI总线传到S5933的ADDON总线; B 在读周期内,TRDY有效表示数据送入AD0AD31的引脚中。只要IRDY有效,即主设备已做好了接收数据的准备。于是数据将从ADD-ON总线传到PCI总线。7. 步骤7 :学习和了解ISA的总线接口信号(只说明本系统中用到的信号)。本系统的ISA使用的是8位数据总线和16地址总线。其中数据总线与低8位地址总线复用,这将到后面做具体的分析,还有I/O片选信号和存储器信号,以及I/O读/写选通和存储器读/写选通,并且提供了一个中断信号接口。所有这些信号通过两片74LS374,两片74LS245,一片74LS08以及ATF1504芯片组成的逻辑电路将ADDON总线的部分信号转换而得到。5.2 Pass-Thru区域访问的深入研究8. 步骤8 :PASSTHRU访问的深入研究。PASSTHRU区域具有直通访问的功能并且可进行8/16/32-bit的数据传输,因此加密的ATF1504芯片中的的逻辑就是采用的PASSTHRU的单周期的访问方式。因而非常需要对PASSTHRU的传输方式进行深入分析。PASSTHRU的数据传输(PASSTHRU的单周期传输):单周期传输是最简单的PCI总线传输。单周期传输有一个地址阶段和一个数据阶段。当初始器将地址和指令信息驱动到PCI总线并且声明FRAME,则PCI总线事务开始。初始器总是在最后一个数据阶段之前撤销FRAME的声明。对于单周期的传输,FRAME仅仅在地址阶段时才声明(表明第一数据阶段也是最后一个阶段)。当S5933探测到FRAME被声明,它就俘获地址和指令信息并判断是否是总线所期待的传输。如果地址是在定义的PASSTHRU区域的范围内,那么S5933就接受这一传输(声明DEVSEL),并且将PCI地址存储在PASSTHRU地址寄存器(APTA)中。对于PASSTHRU写,S5933会立即响应并把数据从PCI总线传送到PASSTHRU数据寄存器(APTD)。S5933随后通知ADDON接口PASSTHRU写正在发生,同时等着ADDON逻辑去读取APTD寄存器,一旦S5933已经从PCI总线俘获了数据,则传输就完成了(PTRDY),传输从PCI总线正确的结束,此时PCI总线可以为其他传输服务。对于PASSTHRU读,S5933通知ADDON接口PASSTHRU读正在发生并等待ADDON逻辑去写PASSTHRU数据寄存器(APTD)并且完成传输(声明PTRDY)。当数据被写入数据寄存器,则S5933完成一个传输周期。如果S5933不能尽快的写的话,则S5933会向初始器请求重试。会看到目标请求无连接信息。数据在PCI和ADDON总线之间传输使用的PASS-THRU接口是使用握手协议的一种工具如果PCI总线写入一个S5933的PASSTHRU区域,那么ADDON必须从那个区域读取数据并将数据存储到ADDON。如果PCI从一个PASSTHRU区域读,那么ADDON逻辑必须把数据先写入S5933。一些应用可以要求一个地址传递到ADDON以用于PASSTHRU的访问。例如,PCI上的一个4K字节的PASSTHRU区域可以对应于ADDON卡上的一个4K字节的SRAM块如果PCI初始器要访问这个区域,那么ADDON就需要获得那个存储设备访问的地址偏移量PASSTHRU地址寄存器(APTA)允许ADDON在当前PCI周期访问地址信息。当PCI总线执行突发访问时,APTA寄存器被S5933更新来反映当前数据阶段的地址。对于PCI写,S5933将数据从PCI总线写入PASSTHRU数据寄存器(APTD)。当TRDY被声明时S5933从PCI总线获取数据。此时PCI对于其他传输都有效。当PASSTHRU数据寄存器变的满时,S5933声明PASSTHRU的状态信号来表明ADDON上有数据。ADDON逻辑可以读数据寄存器并且声明PTRDY来表明访问完成。只有在当前访问完成后,S5933才会响应重试对PASSTHRU的进一步访问。对于PCI读,S5933声明PASSTHRU的状态信号来表明ADDON上要求数据。这是ADDON逻辑要将数据写入PASSTHRU的数据寄存器并声明PTRDY来结束访问。只有在ADDON逻辑声明了PTRDY后,S5933给PCI总线声明TRDY。如果ADDON无法尽可能快的提供数据,那么S5933会发一个重试(retry)信号给PCI总线。这样PCI总线就可以去执行其他任务,而不必一直等待处理这个慢速的目标。访问PASSTHRU区域需要用到的状态控制信号:PTATN 功能:这个输出表明一个PASSTHRU访问发生。 PTNUM1:0 功能:这些输出表明由哪个PASSTHRU区域来解码PCI地址。 PTBE3:0 功能:这些输出表明那些字节有效(PCI写)或者被请求(PCI读)。 PTWR 功能:这个输出表明PASSTHRU访问是一个PCI读还是写。 PTADR 功能:当被声明时,这个输入将PASSTHRU地址寄存器的内容驱动到ADDON数据总线。 PTRDY 功能:当被声明时,这个输入表明当前PASSTHRU传输已经被ADDON完成。BPCLK 功能:缓冲的PCI总线时钟信号输出基本接口部分使用的是8位数据总线,所以我们需要用到PTBE3:0来进行8位数据读写操作。对于PASSTHRU读(ADDON对APTD写),PCI初始器要求的字节有PTBE3:0输出信号来标识。ADDON逻辑使用PTBE3:0信号来决定哪个字节必须被写(哪个字节已经被写)。而BYTEn信号表示了PASSTHRU数据寄存器的数据字节。5.3 ATF1504输入输出引脚的类型鉴定9. 步骤9 : ATF1504输入输出引脚的详细分析,前面所做的一系列步骤都是为准确的确定加密芯片中所用到的引脚哪些是input,哪些是output(这里没有使用到同时用作in&out)。在前面已经提到过仿真ISA信号使用了PASSTHRU的读/写方式,因此我们将参考PASSTHRU的单周期访问方式来具体确定加密芯片引脚的使用情况,在画的草图中已经把ATF1504芯片引脚列出并给予接入信号名称标注,下面对每个引脚的连接情况做详细说明:Pin174LS08的Pin6,从对74LS08的分析可知,Pin1就相当于连接了实验电路板上的RESET按钮(即电路整体重置),所以I/O类型为input,且为低电平有效;Pin43ADDON的BPCLK信号线,是PCI总线的同步时钟信号,所以I/O类型为input;Pin33仿真信号的IRQ,这是外部设备的中断信号线,所以I/O类型为input;Pin4,5分别连接了ADDON的PTNUM1:0,在步骤9中我们已经知道这两个信号是解析总线的使用类型(即存储器空间或者I/O空间访问),所以I/O类型为input; Pin36ADDOn的PTATN,这是从S5933上送过来的信号,指示一个激活的PCI总线周期被译码,所以I/O类型是input,且为低电平有效。Pin9ADDON的PTWR,对PASSTHRU的APTD寄存器的读/写信号,由S5933发出,所以I/O类型为input,高电平表示一个PASSTHRU写(数据从PCI总线传到ADDON总线),低电平表示PASSTHRU读(数据从ADDON总线传到PCI总线),Pin44,41,25,24分别连接ADDON的PTBE3:0,它指示了ADDON读取APTD寄存器的哪个或哪些字节要被读取或写入,这四个信号是进行数据传输的基础,由S5933发出,所以I /O 类型为input;以上就是加密芯片ATF1504的输入引脚,共11个,这些输入通过设计一定的逻辑关系就可以得到下面的19个输出信号。为了便于设计逻辑,将输出信号分为3类,第一类输出信号送往其它芯片的(74LS374,74LS245),第二类输出信号是送往其它芯片的一部分,第三类输出信号送往ADDOn。接着就将按分类将输出加以说明。第一类输出信号 :Pin1474LS245(2)的B1引脚,对74LS245(2)的分析可知,它实际上就是连接了ADDON的SELECT信号,所以I /O类型为output,且为低电平有效;Pin2674LS374 1/2的CLK引脚,分析PASSTHRU的访问周期可知,该信号为了在地址周期时锁存地址信息,所以I/O类型为output,且为高电平有效;Pin2774LS374 1/2的OC引脚,分析74LS374的逻辑功能可知这是一个地址输出使能信号,所以I/O类型为output。且为低电平有效;Pin28,29分别连接74LS374(1)的D2:1,这两位充当了ISA地址总线的最低两位,用于指示不同的I /O端口及寄存器空间,非常重要,通过分析后知它就是由PTNUM1:0提供,所以I/O类型为output。第二类输出信号 :Pin20仿真ISA的XMER引脚,指示进行存储器读周期,I/O类型为output,且低电平有效;Pin21仿真ISA的XMEW引脚,指示进行存储器写周期,I/O类型为output,且低电平有效;Pin31仿真ISA的XIOR引脚,指示进行输入输出端口读,I/O类型为output,且低电平有效;Pin34仿真ISA的XIOW引脚,指示进行输入输出端口写,I/O类型为output,且低电平有效。通过查阅大量资料,以及进行必要的猜测合论证,最终确定以上的信号是由PTNUM1:0和PTWR信号联合产生的,具体逻辑关系将在后面的源程序中加以描述。第三类输出信号 :Pin20ADDON的ADR4信号,且在步骤3时发现其余的ADR6,5,3,2分别接GND,VCC,VCC,VCC,而当ADR4为低电平时,即指示访问APTD寄存器,所以I/O类型为output;Pin11ADDON的RD信号,作用是通知S5933要读APTD寄存器,所以其I/O类型为output;Pin16,19,17,18分别连接ADDON的BE3:0,也是用来指示APTD的哪个或哪些字节将被访问,通过分析后知道,基本接口使用的是8位单周期访问,因此是由PTBE3:0产生,所以I/O类型为output。Pin37ADDON的PTADR信号,其作用是通知S5933此刻是地址周期,应该要将地址信息读取并锁存,所以其I/O类型为output,且低电平有效;Pin39ADDON的PTRDY信号,其作用是通知S5933读/写完成,当S5933在上升沿检测到该信号就立即使PTATN无效,从而结束访问所以I/O类型为output,且低电平有效;Pin8ADDON的EMBCLK,由仿真ISA完成总线的IRQ引脚产生的中断信号就直接送到EMBCLK,从而实现中断,所以其I/O类型为output。其中Pin3,15,23,35固定的连接VCC,Pin10,22,30,42固定的连接GND。Pin2,4未用,Pin7,13,32,38用于编程下载具体的引脚情况(见附录2)。通过上述的分析和整理之后,即可形成大体的逻辑关系。5.4 使用MAX+PLUS II软件和VHDL语言编程实现电路逻辑10. 步骤10 :通过以上的各步骤的工作,已经掌握加密芯片的基本的逻辑情况,现在所需要的是使用一种硬件描述语言和一个软件编辑环境将这种逻辑结构描述出来并编译,下载输出(以备调试之用)这里选用9VHDL语言并使用10MAX+PLUS II 10.2版的软件环境。下面将对MAX+PLUS II的使用情况做一个简要叙述。因为使用的是VHDL,所以仅使用到其中的文本编辑器来进行编辑,并选用MAX系列的EPM7064LC芯片,该款芯片与ATF1504可实现完全替代。程序写完之后,下一步就是编译,通过编译后,就会将输入输出分配到所选芯片的引脚上面,因为是要解密,为保持原有芯片各引脚的布局,将各输入输出信号分配到原来所使用的芯片引脚上,使用MAX+PLUS II完全可以做到这一点,然后重新编译,将生成一个编程目标文件(*.pof),将这个文件通过下载电缆下载到新的空白芯片中即可,最后调试。在这个VHDL程序中,仅包括三个部分:1. USE定义区(定义元件库); 2.ENTITY定义区(定义电路实体的I/O引脚); 3.ARCHITECTURE定义区(描述电路内部的功能,说明电路执行的动作)。5.5 VHDL源程序- USE 定义区library IEEE ;use IEEE.STD_LOGIC_1164.ALL ;use IEEE.STD_LOGIC_ARITH.ALL ;- ENTINIY 定义区entity Altera_Chip isport ( - INPUT PINS BPCLK : in STD_LOGIC ; - pin1 ISA_RESET:in STD_LOGIC ; -pin43 PTNUM : in STD_LOGIC_VECTOR(1 downto 0) ; -pin4,5PTWR :in STD_LOGIC ; -pin9 PTATN : in STD_LOGIC ; -pin36 PTBE : in STD_LOGIC_VECTOR(3 downto 0) ; -pin41,40,25,24 IRQ : in STD_LOGIC ; -pin33 - OUTPUT PINS EMBCLK : out STD_LOGIC ; -pin8 ADR4 : out STD_LOGIC ; -pin6 WR : out STD_LOGIC ; -pin12 RD : out STD_LOGIC ; -pin11 SEL : out STD_LOGIC ; -pin14 BE : out STD_LOGIC_VECTOR(3 downto 0) ; -pin16,19,17,18 PTADR : out STD_LOGIC ; -pin37 PTRDY : out STD_LOGIC ; -pin39 XMER : out STD_LOGIC ; -pin20 XMEW : out STD_LOGIC ; -pin21 XIOW : out STD_LOGIC ; -pin34 XIOR : out STD_LOGIC ; -pin31 CLK : out STD_LOGIC ; -pin26 OC : out STD_LOGIC ; -pin27 D : out STD_LOGIC_VECTOR(2 downto 1) -pin28,29 );END Altera_Chip ;- ARCHITECTURE 定义区architecture Decoding of Altera_Chip istype STATE is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9); -使用了10个状态 signal PresentState : STATE ; signal NextState : STATE ; signal XBE : STD_LOGIC_VECTOR(3 downto 0); begin SwitchToNextState : process (BPCLK) begin if BPCLK EVENT and BPCLK = 1 then PresentState = NextState ; end if ; end process SwitchToNextState ; ChangeStateMode:process(ISA_RESET,PTATN,PTWR,PresentStat
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:1.32位微机原理与接口技术”实验系统——CPLD电路设计与制作
链接地址:https://www.renrendoc.com/paper/149922287.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!