应用笔记 2852

用PC机测试MAX7300/MAX7301的端口扩展功能


摘要 : 该应用笔记介绍了一个可以免费下载的PC程序,用于评估MAX7300和MAX7301 GPIO (扩展口)的功能。

MAX7300和MAX7301是通用的28端口、通用输入/输出口(GPIO)处理器外设。通过高速SPI™ (MAX7301)串行接口或I²C串行接口 (MAX7300)进行控制。该应用笔记介绍了一个实用程序,PC机可以通过它来控制MAX7301或MAX7300驱动器。工程师们也可以用它熟悉驱动器的寄存器和功能。此外,在设备的软件完成之前,它可以用来直接控制MAX7301或MAX7300的寄存器,“验证”实验板原型。

系统要求

一台PC机,运行操作系统为Windows® 95、98、98SE、ME、NT、2000或XP;一个并行打印端口,配置为LPT1或LPT2。

说明

该软件是Visual Basic 5应用程序,文件名为MAX7300.EXE,为保证正常运行,需要标准的Visual Basic运行环境库文件MSVBVM50.DLL。该程序使用DriverLINX™并口驱动免费软件DLPortIO.DLL,提供Win32 DLL的硬件I/O功能,这是标准的Visual Basic所不提供的。Windows NT和2000用户还要求DLPortIO.SYS内核模式驱动。这些驱动软件的版权都归Scientific Software Tools, Inc. (www.driverlinx.com)所有。DriverLINX是Scientific Software Tools, Inc.的注册商标。

安装

在Windows 95、98、98SE和ME平台上安装时,下载MAX7300-01.EXE文件(812kB),这是一个WinZIP自动解压缩文件,其中包括ReadMe.txt、ReadMeSST.txt、MAX7301.EXE、DLPortIO.DLL和MSVBVM50.DLL。默认的下载保存目录为C:\MAX7300。如果您的计算机已经注册有库文件,则可以删除MSVBVM50.DLL。

在Windows NT、2000或XP平台安装时,下载MAX7300-NT.EXE文件(2.3MB),这也是一个WinZIP自动解压缩文件,其中包括ReadMe.txt、ReadMeSST.txt、MAX7300.EXE、PORT95NT.EXE和MSVBVM50.DLL。默认的下载保存目录为C:\MAX7300。PORT95NT.EXE是DriverLINX驱动器的安装程序,通过它可以安装、注册DLPortIO.DLL库和DLPortIO.SYS驱动器。PORT95NT.EXE可以在安装后删除。如果需要,Windows 95、98、98SE和ME用户也可以使用这个安装程序。

MAX7300或MAX7301与并口的连接

该程序利用八根并口打印输出线中的三根,模拟SPI串行接口,另外两根输出线用来模拟I²C串行总线。并口控制输入线用于读取SPI数据、I²C数据和中断状态。可以同时对多片MAX7301 (多达16片,菊花链连接)和/或多片MAX7300 (多达16个,配置为不同的I²C地址)进行操作。软件可以选择LPT1或LPT2端口。该端口可以为标准方式、ECP或EPP方式。并口连接如图1所示。

图1. MAX7300和MAX7301与并口的连接
图1. MAX7300和MAX7301与并口的连接

程序启动时打开三个窗口,它们分别是主控窗口、I/O控制窗口和端口控制窗口。启动过程中寄存器设置映射为MAX7300和MAX7301的上电状态。

主控窗口如下面的图2所示。通过'Driver type'单选按钮选择软件的传送对象:MAX7301 (使用SPI连接)或MAX7300 (使用I²C连接)。

图2. 启动时的程序显示
图2. 启动时的程序显示

SPI模式下,软件可以最多控制16个MAX7301驱动器。假定各驱动器都是级连的(即第一个MAX7301的DOUT引脚和第二个MAX7301的DIN引脚相连,第二个MAX7301的DOUT引脚和第三个MAX7301的DIN引脚相连,依此类推)。MAX7301驱动器的总数由'Number of Drivers'滑动条设定,该值大于1时,'Enable global driver write'和'Enable auto-increment'为可选项。如果清除'Enable global driver write'选择,执行写命令时,只对'Current Driver'滑动条选定的MAX7301驱动器进行写操作,其它驱动器只接收到空操作指令;如果选中'Enable global driver write'项,则所有的MAX7301都将接收同样的数据。如果选择'Enable auto-increment'项,每次写操作后当前驱动器号码自动递增。使得用户可以对一串MAX7301驱动器快速传送数据。

在程序运行时,可以通过'Port Connections and Help...'下的'Test Stream'工具测试SPI接口与并口的连接。'Test Stream'程序不断地向MAX7301 (数量由'Number of Drivers'滑动条设定)传送空指令,能够在不影响各寄存器内容的情况下验证接口连接。

I²C模式下,软件可以最多控制16片MAX7300驱动器。假定第一个驱动器地址设为1000000x,其余的器件地址依次加1,最后一个地址为1001111x。例如,如果要对一个地址为1001111x的驱动器进行配置,只需设定'Number of Drivers'滑动条为16,然后选择'Current Driver'滑动条的值为16,即可对1001111x地址进行操作。I²C模式的主窗口如图3所示。

图3. I2C程序显示
图3. I²C程序显示

在程序运行时,可以通过'Port Connections and Help...'下的'Test Stream'工具测试I²C接口与并口的连接。'Test Stream'程序不断地向MAX7300 (数目由'Number of Drivers'滑动条设定)传送空指令,可以在不改变各寄存器内容的情况下验证连接接口。

'Fast serial interface'选项框可以设定SPI和I²C接口的串口速度。选中该项时,串行接口全速运行,速度取决于机器特性,最高可达1M比特/秒;该项没有被选上时,速度最高只能达到500比特/秒。在长距离电缆连接时低传输率是很有用的。

按下'Write'或'Read'按钮时,程序将与选中的驱动器进行通信。然而,程序会自动对连接到并口第13引脚的中断输出端进行监视。它的状态显示在主窗口,为“High”或“Low”。

选中'Automatic Update control'项时,程序将不断对28个端口输入寄存器和中断寄存器位进行查询。读操作的速度取决于'Fast serial interface'的设置,可以是一秒钟数次(高速),或几秒钟一次(低速)。注意:低速方式非常缓慢! 'Reading driver x'滑动条允许用户设定自动读取的器件,不受'Current driver'控制驱动器读取操作的影响。

从主窗口中可以退出程序运行。在主窗口中按下Exit按钮或按下Esc键将关闭所有三个窗口。在其它两个窗口激活的情况下按下Esc键可以使用户回到主窗口;因此,两次按下Esc键可以迅速关闭该程序。在关闭前,程序将器件配置的最后一次设置保存到MAX7300.ini文件内,该文件与运行程序存放在同一目录下。该操作对Windows的注册表没有任何影响。设置包括三个窗口的位置,主窗口的接口设置。如果文件MAX7300.ini不存在,它将新建一个,否则,文件将被刷新。如需恢复程序的默认设置,或者,该文件已经被破坏,只需将其删除。

图4图5是另外两个窗口的视图。

图4. I/O配置窗口
图4. I/O配置窗口

图5. 端口寄存器窗口
图5. 端口寄存器窗口

下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 2852:
应用笔记 2852,AN2852, AN 2852, APP2852, Appnote2852, Appnote 2852