PCI-9054D 32位微机原理说明书

更新时间:2023-04-27 16:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

PCI-9054D 32位微机原理实验指导书

目 录

第一部分 实验平台简介 (3)

第一章概况 (3)

1.1 系统特点 (3)

1.2 总线的基本概念 (6)

1.3 PCI 总线基本知识 (7)

第二章系统安装与使用 (11)

2.1 PCI 接口卡硬件介绍 (11)

2.2 硬件系统的安装 (11)

2.3 软件说明 (12)

2.4 软件系统的安装 (15)

2.5 使用PLXMON软件 (21)

第二部分 微机原理实验 (24)

第三章16位汇编语言编程实验 (24)

3.1 显示程序实验 (24)

3.2 数据传送实验 (25)

3.3 数码转换实验 (26)

3.4 求和程序设计实验 (29)

3.5 分支程序设计实验 (31)

3.6 循环程序设计实验 (32)

3.7 排序程序设计实验 (33)

第四章WIN32汇编语言程序设计实验 (35)

4.1 编程环境 (35)

4.2 实验例程 (44)

第五章微机原理实验 (49)

5.1 查询PCI设备的配置空间 (49)

5.2 实模式保护模式简介 (51)

5.3 中断工作原理实验 (54)

第三部分 基本接口实验 (57)

第六章基本接口实验 (57)

6.1 I/O地址译码 (57)

6.2 基本IO口扩展实验 (58)

6.3 可编程并行接口8255实验 (59)

6.4 通用微型打印机实验 (61)

6.5 直流电机驱动实验 (62)

6.6 步进电机驱动实验 (63)

6.7 开关继电器实验 (63)

6.8 串并转换显示实验 (64)

6.9 竞赛抢答器实验 (64)

1

PCI-9054D 32位微机原理实验指导书

2

6.10 数字式温度测量实验 (65)

6.11 可编程定时器/计数器8253实验 (67)

6.12 电子音乐实验 (68)

6.13 8251可编程串行口通讯实验 (69)

6.14 16C550通用串行通信实验 (73)

6.15 ADC0809 A/D模数转换实验 (77)

6.16 D/A0832转换实验 (79)

6.17 8位存储器读写 (80)

6.18 DMA传送 (81)

第七章扩展接口实验 (87)

7.1 32位IO口扩展实验 (87)

7.2 32位存储器读写实验 (87)

7.3 32位DMA传送 (88)

第四部分 高级实验 (90)

第八章在WINDOWS下C语言编程 (90)

8.1 开发过程简介 (90)

8.2 相关程序 (90)

8.3 创建Windows 应用程序 (90)

8.4 用户接口函数 (92)

第九章驱动程序开发WDM (96)

9.1 系统环境配置 (96)

9.2 利用向导生成程序框架和设备配置信息 (97)

9.3 驱动框架的构成及描述 (105)

9.4 驱动程序的具体编写 (107)

第十章应用程序与WDM通讯程序的编写 (112)

10.1 应用程序访问WDM实验 (112)

10.2 PCI_CON应用程序实验 (114)

10.3 IO读写应用程序实验 (116)

10.4 MEM读写应用程序实验 (116)

10.5 中断应用程序实验 (116)

附 录 (119)

附录A PCI BIOS函数 (119)

附录B PCI-9054D集成操作软件使用说明 (121)

B.1 窗口菜单及其命令 (121)

B.2 调试实例 (123)

附录C调试工具D RIVER M ONITOR 的使用 (124)

附录D T URBO D EBUGGER调试器的使用 (125)

附录E汇编程序使用方法_FOT_NT_2K_XP (129)

附录F WIN32汇编语言在PCI软件包中的使用 (130)

PCI-9054D 32位微机原理实验指导书

第一部分 实验平台简介

第一章 概况

PCI-9054D实验仪是启东市微机应用研究所开发设计的高性能的PCI总线开发平台,采用了PLX 公司的PCI9054芯片作为PCI的接口芯片,PCI90XX系列的PCI接口芯片其低成本、高性能的特点是举世公认的。

1.1 系统特点

完善的基本微机接口技术实验教学平台:

系统以 PC 微机为主机,由一块PCI9054 为桥接主芯片PCI全隔离总线驱动扩展卡、一个微机接口通用实验箱及软件集成实验环境组成。将PCI-LOCAL_ISA BUS PCI 插卡,安装在PC机的任一PCI插槽内,并有一条34芯和一条40芯的扁平电缆把 LOCAL_ISA BUS 总线信号连接到通用实验箱实验箱内,供作基本接口实验使用。 在微机接口通用实验箱中的全隔离扩展接口;为各种扩展模块、用户的控制板、常用外围接口及其控制应用部件提供了方便的链接接口信号。全面支持“微机接口技术”及“微机控制应用”的各项实验内容。实验箱中的阻容等器件采用贴片在主板背面、每个接口均有限流保护。防止误操作损坏器件,大大提高了整机的可靠性!实验母板上的所有芯片都是安放在

IC插座上的,更换方便;采用的自锁式连接导线,接触十分可靠。

系统采用模块化、积木式设计,清晰明了,提高了灵活性和适应性:

?兼容性强,减少设备投资 :“主控单元+微机接口通用实验箱+扩展模块”分体式结构设计,只需构买一种微机通用接口实验箱,通过更换主控单元便可组成多种实验仪。现提供:Intel 8086 16位微机控制单元;以S5933/PCI9052 /PCI9054三种桥接芯片的PCI 32位微机控制板;以后还将不断推出新的控制板。一机多用,可减少院校设备投资津费,优惠实用。

?开放式结构:通用实验箱具有良好的开放特性,系统总线及各种外围接口器件都可有开放接口,便于老师和学生设计开发新的实验。实验台上除固定电路外还设有用户扩展实验区,用户可以自己设计实验电路,在用户实验区插上所选芯片并连线即可以实验。从而极大地提高了学生的实际和操作能力,避免了单纯验证式实验方式的弊病。

?无限升级,永不淘汰的实验平台:从小到大的模块化设计,无限扩展的组合设计空间为用户提供永不淘汰的实验平台。我们提供几种模块可供用户自由组合。并在以后不断推出新的实验模块,供用户无限升级,永远引领科技潮流。

?目前还提供了32位数据扩展及32位存储器/32位IO读写模块、点阵式LCD中文显示与IC 卡实验模块、8279键盘显示实验模块、16x16点阵式LED及4x4键盘和4位LED八段显示器模块、CPLD可编程逻辑实验模块等多种扩展实验模块供教学实验选择。

3

PCI-9054D 32位微机原理实验指导书

4 集成调试软件,为用户提供了完整的32位微机原理实验调试平台:

z调试界面采用自行开发的 VC++ 风格的 PCI 组合软件包;

z全新的 WINDOWS 界面版本,支持 WIN98/ME/2000/XP/NT 操作系统;

z符合编程语言语法的彩色文本显示,用户可根据个人爱好修改特定和着色功能;

z先进的错误定位,可直接进入错误位置,无需查找错误信息;

z完美的编辑编译集成环境,可在同一个编辑窗口中编辑编译程序,无需做其它任何设置;

z完美的集成调试环境,可在Windows 98/ME及Windows XP环境下,在PCI调试窗口中

直接运行和源程序调试宏汇编程序,无需任何其它烦琐的操作。

标配配置实验内容:

1. 74LS138 I/O地址译码器实验

2. 74LS244并行输入实验

3. 74LS273并行输岀实验

4. 8253可编程定时器/计数器实验

5. 8255可编程并行接口实验

6. 74LS164串并转换八段数码管实验

7. ADC0809模/数转换器实验 8. DAC0832数/模转换器实验

9. 8251串行通信实验 10. 8250/16C550串行双机通信实验

11. 6116存储器读写实验 12. I/O开关电路控制实验

13. 18B20单线数字测温实验 14. 继电器控制实验

15. 竞赛枪答器实验 16. 交通灯控制实验

17. 中断实验 18. DMA传送实验

19. 集成电路测试实验 20. 电子琴实验

21. 步进电机控制实验 22. 直流电机转速控制实验

23.通用微型打印机实验 24. 光/磁控控制风扇实验

高级接口技术实验:

1. Windows驱动程序WDM设计实验;

2.. PCI总线扩展卡驱动程序设计实验;

3. Windows下访问PCI配置空间实验;

4. 在Windows下处理PCI中断实验;

5. 在Windows实现存储器扩展实验;

6. 在Windows实现DMA实验;

7. 在Windows实现各种接口实验。

PCI-9054D 32位微机原理实验指导书

5 标准配置实验程序名称表

号实 验 名 称 实验程序名称 备 注

1 74LS138 I/O 地址译码 D74LS138.ASM

2 74LS244扩展输入端口实验 D74LS244.ASM 备件芯片

3 74LS273扩展输岀端口实验 D74LS273.ASM 备件芯片

4 8255流水灯实验 D8255_1.ASM

5 8255交通灯实验 D8255_2.ASM

6 8255 I/O 输入输出实验 D8255_3.ASM

7 通用微型打印机实验 DPRINT.ASM 自配打印机8 直流电机驱动实验 DZLDJ.ASM

9

步进电机驱动实验 DBJDJ.ASM 1

开关继电器实验 11

74LS164串并转换显示实验 D74LS164.ASM 12

竞赛抢答器实验 DQDQ.ASM 13

DS18B20单总线数字测温实验 D18B20.ASM 备件芯片 14

8253可编程定时器/计数器实验 D8253_1.ASM 15

电子音乐实验 D8253_2.ASM 16

ADC0809 A/D 模数转换实验一 D0809_1.ASM 17

ADC0809 A/D 模数转换实验二 D0809_2.ASM 18

DAC0832转换模块输出方波 D0832_F.ASM 自配示波器19

DAC0832转换模块输出锯齿波 D0832_C.ASM 自配示波器20

DAC0832转换模块输出阶梯波 D0832_J.ASM 自配示波器21

8251自发自收通讯应用实验 D8251_1.ASM 备件芯片 22

8251与PC 机双向通讯实验 D8251_2.ASM 备件芯片 23

16C550自发自收通讯应用实验 D16C550_1.ASM 备件芯片 24

16C550与PC 机双向通讯实验 D16C550_2.ASM 备件芯片 25

HM6116存储器读实验 DMEMWR.ASM 备件芯片 26

HM6116存储器写实验 DMEMRD.ASM 备件芯片 27

DMA 数据块传送实验1 DDMARB.ASM 备件芯片 28

DMA 数据块传送实验2 DDMARD.ASM 备件芯片 29

DMA 74LS273输岀端口实验 DDMA273.ASM 备件芯片 30

DMA 74LS244输入端口实验 DDMA244.ASM 备件芯片 31

DMA 输入端口中断传送实验 DDMAINT.ASM 备件芯片 32

查询PCI 设备的配置空间(DOS) DPCIBIOS.ASM 33

查询PCI 设备的配置空间(XP) DPCIXP.ASM 34

8259 PCI 设备中断实验 DPCIINT.ASM

PCI-9054D 32位微机原理实验指导书

6 1.2 总线的基本概念

总线是微机各部件间进行信息传输的公共通路,微机用总线的形式将微机中的各个模块,包括CPU 主模块,存储器模块,I/O 模块和DMA 模块等互连在一起,按照总线规范传送数据,控制信息和状态信息。

基于PCI 总线的扩展卡设计的特点及问题:

扩展设备设计与系统分离:设计扩展设备时是面向LOCAL 总线而不是系统本身。而LOCAL 总线又是可以自由配置的,因此设计灵活性较大。

资源的自动分配:所有资源的分配都是系统根据当前资源使用情况来配置,不需要用户分配。系统比用户更了解当前资源的使用情况,因此不会出现冲突现像,而且非常方便。

LOCAL 地址空间的重映射:LOCAL 侧的地址可以重映射到系统空间中,实现地址的重定位。

1.2.1 总线的主设备和从设备

微机中的各种设备均挂在总线上,这些设备对于总线来讲有主从之分。能在总线上生成总线周期从而发起对存储器或I/O 访问的设备称为主设备,响应主设备访问的设备称为从设备。例如CPU 可以成为总线的主设备,因为它们能够主动发起对内存或I/O 等从设备的访问。DMA 控制器既可以是总线的主设备(即当它占用总线将外设数据搬到内存时),也可以是从设备(即当CPU 占用总线读写DMA 控制器内部寄存器时)。某一时刻总线上只有一对主从设备在传递信息。

1.2.2 分层的总线结构

图1-2-1 PCI 总线构建的微机系统的结构图

如图1-2-1 所示是一个PCI 总线构建的微机系统,可见现在的Pentuim 机都是以PCI 总线为中心,CPU 的Host 总线通过Bridge/Memory Controller 和PCI 总线相连,图中网卡、声卡、图形卡等高速设备直接挂在PCI 总线上,而一些较慢的ISA 遗留设备则挂在ISA 总线上,这样就形成了一个分层的总线结构。Bridge/Memory Controller 也叫做北桥,负责cache 控制,主存访问和Host-PCI

PCI-9054D 32位微机原理实验指导书

7 线周期的转换,在配有AGP 总线的系统里,北桥还负责AGP 总线事务处理,而Exp Bus Xface 也叫做南桥,集成PCI-ISA 桥,PCI 总线仲裁,电源管理,DMA 控制器和中断控制器。

1.3 PCI 总线基本知识

1.3.1 PCI 总线引脚定义

PCI 能够作为32或64位总线使用,它们可以按照功能不同化为以下几组:

1. 系统引脚:包括时钟和重启引脚。

2. 地址和数据引脚:包括32条传输地址和数据的引线,其余的引线是为了配合它而使用的。

3. 接口控制引脚:用来保持Master 和Target 之间通信的一致性。

4. 仲裁引脚:和其他的PCI 信号线不同,这些不是共享的数据线,每一个PCI Master 都有它自己的仲裁信号线来直接和ARBITOR 相连接。

5. 错误监测引脚:用于奇偶校验和其他错误的报告。

除此之外,PCI 还提供了另外50条可选的信号线来支持中断缓存及64位扩展等功能。

对于只做从设备的PCI 设备而言,至少需要47个管脚;而对于用作主设备而言,至少需要48个管脚。下图是对主从兼容设备管脚定义的说明。左边的管脚是必需的,右边的是可选的。

图1-3-1 主从兼容设备管脚定义

1.3.2 PCI 总线基本时序

AD[31~0]:地址数据多路复用信号。在FRAME 有效的第一个周期为地址,在IRDY 与TRDY 同时有效的时候为数据。

C/BE[3~0]:总线命令与字节使能控制信号。在地址期内传输的是总线命令;在数据期内是字节使能控制信号,表示

AD[31~0]中那些字节是有效数据。下表是总线命令编码的说明。

PCI-9054D 32位微机原理实验指导书

8

表1-3-1 总线命令表

C/BE[3~0]# 命令类型说明C/BE[3~0]#命令类型说明 0 0 0 0 中断应答 1 0 0 0 保留

0 0 0 1 特殊周期 1 0 0 1 保留

0 0 1 0 I/O读 1 0 1 0 配置读

0 0 1 1 I/O写 1 0 1 1 配置写

0 1 0 0 保留 1 1 0 0 存储器多行读 0 1 0 1 保留 1 1 0 1 双地址周期 0 1 1 0 存储器读 1 1 1 0 存储器一行读 0 1 1 1 存储器写 1 1 1 1 存储器写并无效

PCI总线上所有的数据传输基本上都由以下三条信号线控制。

1.FRAME:帧周期信号。由主设备驱动,表示一次访问的开始和持续时间。FRAME有效时(0为有效,下同)表示数据传输进行中,失效后,为数据传输最后一个周期。

2.IRDY:主设备准备好信号。由主设备驱动,表示主设备已经准备好进行数据传输。

3.TRDY:从设备准备好信号。由从设备驱动,表示从设备已经准备好进行数据传输。当IRDY 与TRDY同时有效时,数据传输才会真正发生。

另外,还有IDSEL信号用来在配置空间读写期间作为片选信号。对于只有一个PCI从设备的情况,它总可以接高电平。IDSEL信号由从设备驱动,表示该设备已成为当前访问的从设备,可以不理会。

在PCI总线上进行读写操作时,PCI总线上的各种信号除了RST、IRQ、IRQC、IRQ之外,只有时钟的下降沿信号会发生变化,而在时钟上升沿信号必须保持稳定。

1.3.3 配置寄存器

一般来讲,PC机有4种资源,即IO空间,MEM空间,中断和DMA。Windows下用户可以通过设备管理器查看。

在早期的PC机中,每种板卡上都有许多跳线和拨动开关。用户用它们来设置所需要的各种计算机资源,如地址空间、中断号、DMA通道号等,防止板卡之间的资源冲突。这就对用户提出了很高的要求,限制了PC机的使用。为此,Pentium级处理器以上的PC机推出了有计算机自动配置各种资源的方法——即插即用Plug and Play ,从而最大限度的避免了人工干预资源的配置,这就完全解放了用户,降低了对用户的要求。使得PC的使用得到了极大的普及。

所谓即插即用,其原理就是在每块支持PNP的板卡上都有一组称为配置空间的寄存器,在这些寄存器中保存有自己对系统资源的需求参数。当Windows启动时其BIOS引导程序首先读出这些参数,然后综合每块板卡的对资源的需求,统一对整个系统的资源进行分配。从而避免用户干预。为了BIOS 引导程序能够正确的对板卡所需的资源进行动态分配,其配置空间寄存器中存储的是物理空间大小等相对信息,而不是绝对的物理地址。当然对于不支持PNP的板卡,用户仍需进行手动配置资源。

PCI 配置空间:是长度为256个字节的一段内存空间,其前64个字节包含PCI接口的信息,我们可以通过它来访问PCI接口。如下表所示:

表1-3-2 PCI配置寄存器

字节3 字节2 字节1 字节0 配置空间地址设备识别(DID) 供应商代码(VID) 00H

状态寄存器 命令寄存器 04H

PCI-9054D 32位微机原理实验指导书

9

分类代码

修改版本 08H 内含自测试

头标类型

延时计数

缓冲区大小

0CH 基地址寄存器0 10H 基地址寄存器1 14H 基地址寄存器2 18H 基地址寄存器3 1CH 基地址寄存器4 20H 基地址寄存器5 24H Card Bus 卡信息结构指针

28H

子系统ID

子系统供应商ID

2CH 扩展ROM 基地址寄存器 30H 保留

功能指针 34H 保留

38H 优先级请求

时间片请求

中断管脚

中断线

3CH

这64个字节中,第一个32位的双字包含了DeviceID 和VendorID。DeviceID 是一个16位的数,如果这个单元没有安装,在启动时,计算机就会显示FFFFH;如果安装了,在0000H 和FFFFH 之间就会有一个确定的数代表它。类代码用来区分PCI 接口类别,VendorID 由PCISIG 来分配。头标区中比较重要的有Base Address, Interrupt Pin, Interrupt Line。它们主要用来指明设备所需的资源。

LOCAL 配置空间:

PCI 协议中只定义了PCI 配置空间的格式,为了实现PCI 总线到LOCAL 总线的桥接,PLX9054中也实现了LOCAL 配置空间,该配置空间的主要作用是实现LOCAL 总线的配置。如LOCAL 侧的IO 基地址/存储器基地址和LOCAL 侧需要的资源大小等。

LOCAL 基地址寄存器组: 1. Space0

① Space0 Range Register ② Space0 Remap Register ③ Space0 Descriptors Register 2. Space1

① Space1 Range Register ② Space1 Remap Register ③ Space1 Descriptors Register

LOCAL 地址寄存器格式LOCAL:基地址寄存器格式如下图所示最低位表示映射的使能位,为0表示不允许映射,为1表示允许映射。当该寄存器为IO 地址时其各位的作用如图1-3-2,若该寄存器为存储器地址时,其各位的作用如图1-3-3。

表1-3-3 LOCAL 配置寄存器

字节3

字节2

字节1

字节0

PCI 空间地址

LOCAL 空间地址

Range for PCI-to-Local Address Space 0

00H 80H Local Base Address (Remap) for PCI-to-Local Address Space 0

04H 84H Mode/DMA Arbitration

08H

88H

PCI-9054D 32位微机原理实验指导书

10

Reserved

Serial EEPROM Write-Protected Address Boundary

Local

Miscellaneous

Control

Big/Little Endian Descriptor

0CH

8CH

Range for PCI-to-Local Expansion ROM

10H 90H Local Base Address (Remap) for PCI-to-Local Expansion ROM

and BREQo Control

14H

94H

Local Bus Region Descriptors (Space 0 and Expansion ROM) for

PCI-to-Local Accesses 18H

98H

Range for PCI Initiator-to-PCI

1CH 9CH Local Base Address for PCI Initiator-to-PCI Memory 20H A0H Local Base Address for PCI Initiator-to-PCI I/O Configuration

24H A4H PCI Base Address (Remap) for PCI Initiator-to-PCI 28H A8H PCI Configuration Address Register for PCI Initiator-to

-PCI I/O Configuration

2CH

ACH

Range for PCI-to-Local Address Space 1

F0H 170H Local Base Address (Remap) for PCI-to-Local Address Space 1 F4H 174H Local Bus Region Descriptor (Space 1) for PCI-to-Local Accesses

F8H 178H PCI Base Dual Address Cycle (Remap) for PCI Initiator-to

-PCI (Upper 32 bits)

FCH

17CH

图1-3-2映射到IO 空间的格式图 图1-3-3 映射到存储空间的格式图

PCI-9054D 32位微机原理实验指导书

第二章 系统安装与使用

2.1 PCI 接口卡硬件介绍

PCI接口卡主要由PCI9054、93C56、XILINX CPLD 95108、信号隔离电路组成,如图2-1-1所示。PCI9054是PLX公司的PCI90XX系列芯片中的一款从模式桥芯片(其硬件与PCI9050相兼容),93C56(EEPROM)用于存放PCI9054初始化设置信息,在开发板上还提供了一个ISA总线扩展插座,可提供8位和16位的总线宽度。可与PLX公司的开发软件PlxMon联合使用,用户可重新定义总线宽度,IO、MEMORY地址空间,中断方式等。CPLD中集成了相当简单的逻辑,便于用户重新设计和升级,板上留有烧写CPLD的插座。该9054卡是连接PC机和PCI-9054D实验机的桥梁,实现用户资源到系统的双向映射,真正的32位实验设备。

图2-1-19054板卡图

2.2 硬件系统的安装

1.关掉计算机并拔掉它的电源,打开机箱,将PCI总线驱动板在PCI插槽内插好,并旋紧固定螺钉。注意!驱动板的金手指一定要和机内插槽的插孔对齐,并且一定要插到位,否则会造成严重后果。

2.将DB62芯插头与驱动板的62芯插座对接,注意方向,不要用力过猛,以免损坏插座。

3.在做8位实验时将扁平电缆的另一端与实验箱右边的40芯和34芯插座对接。在做32位实验时将扁平电缆的另一端与实验箱左边的40芯和34芯插座对接。至此,基本系统就安装完毕。

4.在开电源之前,先作电源负载阻抗测试,以检查系统的电源线路是否有短路。其方法是采用万用表的欧姆档,将两根表笔一根接地(GND),另一根接+5V电源(VCC),所测得的阻抗应有几百欧姆左右。若只有几十欧姆,甚至几欧姆,这说明可能存在电源线路短路,或是某些集成芯片(IC)元件器损坏。请先找出故障,再进行下一步骤。

5.先打开微机电源,再打开实验箱的电源开关,实验箱上的电源指示灯LED发光。上电后即可启动实验箱基本系统。

6.在作基本8位的接口实验时与驱动卡相连的扁平电缆插在实验箱右边的两个牛角上,当做

32/16位实验时扁平电缆插在实验箱左边的两个牛角上。

11

PCI-9054D 32位微机原理实验指导书

12 2.3 软件说明

2.3.1 驱动程序

本实验的驱动程序编制所采用的软件有三种,分别是Microsoft 的Visual C++ 6.0、DriverWorks 及所用的驱动程序调试工具是DriverMonitor。使用这些软件,可以在短期内快速准确的构成驱动程序的框架,便于驱动的编写。同时调试工具能准确地了解驱动的运行情况,对驱动进行跟踪,便于修改。

本实验的应用程序全部采用Visual C++ 6.0开发,其与驱动的通讯方法将在之后介绍,因为驱动是在VC 基础上开发的,所以应用程序也利用VC,其优点是显而易见的。驱动程序的开发在后面章节中再作详细介绍。

2.3.2 实验程序(汇编)开发集成环境

软件安装好后,示范程序在PCI9054\ASM 文件夹中。

PCI-9054D 开发环境是集编辑、编译/汇编、调试为一体,VC 风格的用户界面,是理想的开发工具。

图2-3-1 PCI-9054D 开发环境

开发环境操作说明如下:

第一步:关闭当前项目

菜单命令:[项目|关闭项目]

当用户要调用新的文件时必须关闭已经打开的项目,此时PCI 集成开发环境关闭界面上所有的窗口。因为当打开项目文件后,PCI 集成开发环境默认所有编译/汇编、产生代码的过程都是对当前项

目进行的。

PCI-9054D 32位微机原理实验指导书

13 第二步:在文件菜单下打开应用程序。

如果您要创建一个新的程序文件,使用菜单命令:[文件|新建]。或使用工具栏中“新建”钮。 如果您要打开一个已存在的程序文件,使用菜单命令:[文件|打开]。或使用工具栏中“打开”命令钮。

第三步:编译当前文件、编译连接当前项目。

使用菜单命令:[项目|编译当前文件] 或使用工具栏中“编译”命令钮。编译通过后还必须进行连接操作,您也可以直接对当前文件进行编译连接操作。此命令自动地对修改过的源程序进行编译或汇编,然后连接所有的 OBJ,LIB 文件,完成调试程序所需的准备工作。 使用菜单命令:[项目|编译连接]或工具栏中‘编译连接’命令钮。

第四步:执行[项目|编译]命令后产生的结果显示在消息框中,当PCI 发生错误时,消息窗口中的错误信息自动与源文件关联,提示出错的位置。在消息窗口中错误提示处双击鼠标左键,也可将错误信息与源文件的错误位置关联。如果编译出现错误,在修改文件后重复进行第三步操作。 第五步:编译连接通过后,按连续运行程序,按按钮进入TD 调试器,如图2-3-2。

按ALT+ENTER 键进入全屏模式后按F9连续执行。你也可以单步、宏单步、断点的调试,详细参见附录D Turbo Debugger 调试器的使用。

注:在实验过程中需要进行人机交互的(键盘输入)必须先进入TD 调试器后按ALT+ENTER、F9连续运行。

图 2-3-2 TD 调试器

2.3.3 实验程序(VC++)开发环境

软件安装好后,WINXP/2000的示范程序在PCI9054\WinXP\CPP 文件夹中。WinME/98的示范程序在PCI9054\WinME\Win9054APP 文件夹中。

第一步:安装VC 程序

第二步:安装盘上所带的DS2.7的setup,序列号见Serial.txt。

第三步: 安装完后进入VC 界面,打开tools\options,选择Directories——Show directories for:选择Include files,然后在下面的Directories:中添加DS2.7

安装后的编译程序所需要的

PCI-9054D 32位微机原理实验指导书

14 include 路径,如: C:\Program Files\Compuware\DriverStudio\DriverWorks\include,见下图2-3-6。

第四步:选择Directories——Show directories for:选择 Library files,然后在下面的Directories:中添加DS2.7安装后的编译程序所需要的LIB 路径:C:\Program

Files\Compuware\DriverStudio\DriverWorks\lib,见图2-3-7。

第五步:然后就可以打开程序进行调试,如:

C:\PCI9054\WinXP\CPP\164\164.dsp,用VC File 菜单Open Workpace 打开。XXXDlg.cpp 文件,包含要调试的代码,Comd 函数即对应原来的main,其它要调用的函数与原来名称基本一样,还有的就不用管它。

图 2-3-6 添加include 文件路径

图 2-3-7 添加Lib 文件路径

PCI-9054D 32位微机原理实验指导书

15 2.4 软件系统的安装

2.4.1 设备驱动程序的安装

PCI-9054D 在使用之前,无论操作汇编实验程序还是VC 实验程序,都必须安装好板卡的驱动程序。驱动程序位于附带光盘的\Driver 目录下, WIN98/ME 驱动位于\Driver\WINME 目录下,WINXP/WIN2000驱动位于\Driver\WinXP 目录下。PCI9054芯片自带的驱动位于\Driver\PLXDRV 目录下。

一、WINME/WIN98系统驱动的安装

在PC 机PCI 槽中插入PCI9054卡,开机进入WINME/WIN98系统,系统会提示发现新的设备,自动进入添加新硬件向导,查找驱动程序,如下图2-4-1所示。

选择“指定驱动程序的位置”,点击下一步,然后选“指定位置”,图2-4-2。

(2) 按“下一步”。显示选择驱动程序位置对话框,浏览找到驱动程序所在的路径,单击“下一步”。

(3) 图2-4-3显示搜索到的设备和驱动器位置,确定无误后,单击“下一步”。

(4) 系统提示已经安装好设备驱动程序,单击“完成”。如图2-4-4所示。

(5) 系统提示重新启动计算机,单击“是(Y)”。

图2-4-1 发现新硬件向导

2-4-2 指定驱动程序位置

PCI-9054D 32位微机原理实验指导书

(6) 重新启动计算机后,用鼠标右键单击桌面上“我的电脑”图标,点击“属性”,在弹出的窗口点击“设备管理器”标签,可以看到硬件列表中出现“PCI-9054D实验系统”一项,如图2-4-5所示。

(7) 单击“属性”,可以查看设备驱动程序的状态和设备所申请的资源。如图2-4-6所示。

图2-4-3 搜索到设备名及驱动器

16

PCI-9054D 32位微机原理实验指导书

17 图2-4-4 驱动程序安装完成

(8) 关闭系统属性窗口,在任务栏的“开始”菜单中单击“运行”,在输入框中键入“regedit”,单击“确定”,在打开的注册表编辑器中,可以找到已添加的PCI 设备节点。至此,设备驱动程序的安装及查看完毕。

2-4-5 查看设备管理器

PCI-9054D 32位微机原理实验指导书

18 图2-4-6 查看设备资源

二、WinXP系统驱动的安装。

在PC机PCI槽中插入PCI9054卡,开机进入WinXP系统,系统会提示发现新的设备,自动进入“找到新的硬件向导”,如图2-4-7所示。

在图2-4-7中单击“下一步”,进入图2-4-8,选择“从列表或指定位置安装(高级)”,然后单击“下一步”。

PCI-9054D 32位微机原理实验指导书

图2-4-8 选择安装方式

(1) 在图2-4-9中单击“在搜索中包括这个位置”,然后单击“浏览”,在弹出的对话框(图2-4-10)中选择驱动程序所在位置。(光盘中“PCI-9054D\ Driver\WinXP”文件夹下的“PCI9054.inf”),单击“确定”。

图2-4-9 搜索驱动程序位置

19

PCI-9054D 32位微机原理实验指导书

20 (2) 在图2-4-10中确认驱动程序位置正确后,单击“确定”。

图2-4-10 指定驱动程序位置

(3) 系统开始进行驱动程序的安装,如图2-4-11所示。

(4) 安装完成后,在图2-4-12中单击“完成”。

2-4-11 正在安装驱动程序

PCI-9054D 32位微机原理实验指导书

21

图2-4-12 驱动程序安装完毕

2.4.2 集成开发环境的安装

运行光盘自启动安装软件,根据提示一步一步安装,默认安装在C 盘中,自动生成一个PCI9054的文件夹。该文件夹中有以下几个文件:ASM32存放的是微机原理软件实验的汇编语言;DASM86中存放的是8/32位接口实验的汇编程序;ASM32WIN 存放的是32位Windows 软件实验的汇编程序;C86中存放的是接口实验的Turbo C 程序;WinXP 存放的是接口实验在XP 上的VC++程序;EXE 存放的是接口实验的可执行文件;BIN 中存放的是编译器应用程序等。

2.5 使用PLXMON 软件

本装置的PCI 接口芯片使用9054 ,该芯片即支持8位数据宽度的工作模式也可以设置为32位数据宽度的工作模式。初始状态下该芯片被设置为8位数据宽度的工作模式。8位数据宽度对于一般的I/O 操作可以满足其要求,但PCI 总线的实际数据宽度是32位,高档的服务器用64位的PCI 总线在相同的传输速率的情况下,32位宽度将比8位宽度的数据吞吐量大4倍,这也是PCI 总线的一大特点。工作在8位数据宽度的情况下不能将PCI 总线的大数据吞吐量的优势发挥出来,对于存储器读写DMA 传送等工作8位数据宽度也难于满足其快速传输数据的要求,对于PCI 总线而言使用32位数据宽度是必然的一个选择。

PLXMON 是PLX 公司针对PCI90XX 系列芯片的读写而开发的软件(运行\PLX 目录下的setup.exe 来安装此程序)。在此运行此程序前必须修改PCI 卡的驱动,驱动文件在\ Driver\PLXDRV 下,这是PCI9054芯片自带的驱动。驱动文件的安装见2.4节。

通过PLXMON 用户可方便的修改EEPROM 中的各个寄存器来实现用户的各种自定义功能,包括数据宽度的设置。运行PLXMON 后,出现主窗口如图2-5-2后从键盘输入CTRL+E 弹出设置窗口如图

2-5-3,

本文来源:https://www.bwwdw.com/article/m8pq.html

Top