7.1 并行接口概述并行接口和串行接口的结构示意图并行接口传输速率高,一般不要求固定格式,但不适合长距离数据传输7.2 可编程并行接口芯片82C55 7.2.1 8255的基本功能 8255具有2个独立的8位I/O口(A口和B口)和2个独立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。其中,A口具有双向传输功能。8255有3种工作方式,方式0、方式1和方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。B口和C口的引脚具有达林顿复合晶体管驱动能力,在1.5V时输出1mA电流,适于作输出端口。C口除用做数据口外,当8255工作在方式1和方式2时,C口的部分引脚作为固定的联络信号线。
标签: 并行接口
上传时间: 2013-10-25
上传用户:oooool
3.1 总线与接口概述 3.1.1 总线和接口及其标准的概念 总线:是在模块和模块之间或设备与设备之间的一组进行互连和传输信息的信号线,信息包括指令、数据和地址。 总线标准 指芯片之间、扩展卡之间以及系统之间,通过总线进行连接和传输信息时,应该遵守的一些协议与规范。 接口标准 外设接口的规范,涉及接口信号线定义、信号传输速率、传输方向和拓扑结构,以及电气特性和机械特性等多个方面。 3.1.2 总线的分类 1) 按总线功能或信号类型划分为: 数据总线:双向三态逻辑,线宽表示了总线数据传输的能力。地址总线:单向三态逻辑,线宽决定了系统的寻址能力。控制总线:就某根来说是单向或双向。控制总线最能体现总线特点,决定总线功能的强弱和适应性。2) 按总线的层次结构分为: CPU总线:微机系统中速度最快的总线,主要在CPU内部,连接CPU内部部件,在CPU周围的小范围内也分布该总线,提供系统原始的控制和命令。局部总线:在系统总线和CPU总线之间的一级总线,提供CPU和主板器件之间以及CPU到高速外设之间的快速信息通道。系统总线:也称为I/O总线,是传统的通过总线扩展卡连接外部设备的总线。由于速度慢,其功能已经被局部总线替代。通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线。3.1.3 总线的主要性能参数1.总线频率:MHz表示的工作频率,是总线速率的一个重要参数。2.总线宽度:指数据总线的位数。3.总线的数据传输率 总线的数据传输率=(总线宽度/8位)×总线频率 例:PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266MB/s 。
上传时间: 2013-11-17
上传用户:shen954166632
2.1.1 I/O接口基本概念1.为什么要引入接口微机和I/O设备的信息类型和格式可能不一样。微机和I/O设备信号传输处理的速度可能不匹配。不用接口, I/O直接接CPU,随着外设增加,会大大降低CPU的效率。I/O直接接CPU,会使外设硬件结构过于依赖CPU,对外设本身发展不利。2.接口的概念 定义:接口是CPU与“外部世界”的连接电路,负责“中转”各种信息。 分类:存储器接口和I/O接口。 位置:介于系统总线与外部设备之间。3.I/O接口与I/O设备不同I/O设备对应I/O接口不同。I/O接口受CPU控制,I/O设备受I/O接口控制。为增加通用性,I/O接口电路一般均具有可编程功能。微机的应用离不开外部设备接口的设计、选用和连接。2.1.2、I/O接口功能 数据缓冲功能:通过寄存器或锁存器实现。 存放数据的寄存器或锁存器称之为数据口。 接受和执行CPU命令功能: 存放CPU命令代码的寄存器称之为命令口, 存放执行状态信息的寄存器称之为状态口。 设备选择功能:CPU通过地址译码选择不同外设。 即CPU通过地址译码选择不同I/O接口和I/O接口中连接的不同的设备。 信号转换功能:协调总线信号与I/O设备信号。 转换包括信号的逻辑关系、时序配合和电平转换。 可编程功能:增加接口的灵活性和智能性。
上传时间: 2013-11-05
上传用户:jixingjie
掌握先进微处理器芯片结构、微型计算机实现技术、计算机主板构成、各种接口技术原理及其应用编程方法;掌握汇编语言程序的编写方法,尤其掌握接口访问的方法。了解微机技术新的发展趋势,系统科学地获得分析问题和解决问题的训练;提高分析和设计接口的能力。不仅要学习微机各种接口电路的原理与作用,熟悉PC系列机接口电路,而且还要掌握常用接口的设计与分析方法,学会使用汇编语言和C语言对接口进行编程,并具有一定的动手实验能力和接口应用程序的编写能力,为微机的深入应用和嵌入式系统SOC设计等的学习与实践打下良好基础。同时有兴趣的同学自学Windows 2000/XP驱动程序的编写方法。一定要下载和打印或复印电子讲义,课堂上注意听讲并及时记录教师课堂上补充的内容,认真独立完成作业,做好课程实验和自修实验、做好课前预习和课后复习。1)抓住IBM PC/XT机基本结构这条主线,分析其基本结构,掌握各接口电路及可编程接口芯片的应用。2)进一步扩展和延伸CPU—从8086~Core 2 Duo,从实模式~保护模式;汇编语言-CPU及接口直接控制,16位~32位汇编;总线—PCI,USB等; 中断—从实模式下的中断向量~保护模式下的中断描述符;从传统中断~PCI中断~串行中断 芯片组—从中大规模集成电路(8237、8254、8255、8259等)~ 超大规模集成电路(82815EP、82801BA)。第1章—CPU与整机:CPU的信号与工作模式、PC结构第11章--软件如何控制CPU和接口:指令系统和汇编编程(在教师讲授重点的基础上,通过预习、实验与练习自学) 第2章--CPU如何与MEM或I/O设备通信:I/O接口与译码 第3章--总线如何工作:总线标准(PCI、USB) 第4章--I/O接口直接和MEM通信:DMA(8237,全自学) 第5章--I/O接口如何主动与CPU通信:中断技术(8259) 第6章--I/O接口的定时与计数功能:(8254) 第7章--I/O接口的并行通信:8255与打印机接口标准 第8章--I/O接口的串行通信:串行通信协议与8250 第10章--I/O软接口技术:保护模式存储,WDM驱动程序编写(全自学)
上传时间: 2014-01-21
上传用户:徐孺
有两种方式可以让设备和应用程序之间联系:1. 通过为设备创建的一个符号链;2. 通过输出到一个接口WDM驱动程序建议使用输出到一个接口而不推荐使用创建符号链的方法。这个接口保证PDO的安全,也保证安全地创建一个惟一的、独立于语言的访问设备的方法。一个应用程序使用Win32APIs来调用设备。在某个Win32 APIs和设备对象的分发函数之间存在一个映射关系。获得对设备对象访问的第一步就是打开一个设备对象的句柄。 用符号链打开一个设备的句柄为了打开一个设备,应用程序需要使用CreateFile。如果该设备有一个符号链出口,应用程序可以用下面这个例子的形式打开句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路径名的前缀“\\.\”告诉系统本调用希望打开一个设备。这个设备必须有一个符号链,以便应用程序能够打开它。有关细节查看有关Kdevice和CreateLink的内容。在上述调用中第一个参数中前缀后的部分就是这个符号链的名字。注意:CreatFile中的第一个参数不是Windows 98/2000中驱动程序(.sys文件)的路径。是到设备对象的符号链。如果使用DriverWizard产生驱动程序,它通常使用类KunitizedName来构成设备的符号链。这意味着符号链名有一个附加的数字,通常是0。例如:如果链接名称的主干是L“TestDevice”那么在CreateFile中的串就该是“\\\\.\\TestDevice0”。如果应用程序需要被覆盖的I/O,第六个参数(Flags)必须或上FILE_FLAG_OVERLAPPED。 使用一个输出接口打开句柄用这种方式打开一个句柄会稍微麻烦一些。DriverWorks库提供两个助手类来使获得对该接口的访问容易一些,这两个类是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass类封装了一个设备信息集,该信息集包含了特殊类中的所有设备接口信息。应用程序能有用CdeviceInterfaceClass类的一个实例来获得一个或更多的CdeviceInterface类的实例。CdeviceInterface类是一个单一设备接口的抽象。它的成员函数DevicePath()返回一个路径名的指针,该指针可以在CreateFile中使用来打开设备。下面用一个小例子来显示这些类最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface( GUID* pClassGuid, DWORD instance, PDWORD pError){ CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; cout << "The device path is " << DevInterface.DevicePath() << endl; HANDLE hDev; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev;} 在设备中执行I/O操作一旦应用程序获得一个有效的设备句柄,它就能使用Win32 APIs来产生到设备对象的IRPs。下面的表显示了这种对应关系。Win32 API DRIVER_FUNCTION_xxxIRP_MJ_xxx KDevice subclass member function CreateFile CREATE Create ReadFile READ Read WriteFile WRITE Write DeviceIoControl DEVICE_CONTROL DeviceControl CloseHandle CLOSECLEANUP CloseCleanUp 需要解释一下设备类成员的Close和CleanUp:CreateFile使内核为设备创建一个新的文件对象。这使得多个句柄可以映射同一个文件对象。当这个文件对象的最后一个用户级句柄被撤销后,I/O管理器调用CleanUp。当没有任何用户级和核心级的对文件对象的访问的时候,I/O管理器调用Close。如果被打开的设备不支持指定的功能,则调用相应的Win32将引起错误(无效功能)。以前为Windows95编写的VxD的应用程序代码中可能会在打开设备的时候使用FILE_FLAG_DELETE_ON_CLOSE属性。在Windows NT/2000中,建议不要使用这个属性,因为它将导致没有特权的用户企图打开这个设备,这是不可能成功的。I/O管理器将ReadFile和WriteFile的buff参数转换成IRP域的方法依赖于设备对象的属性。当设备设置DO_DIRECT_IO标志,I/O管理器将buff锁住在存储器中,并且创建了一个存储在IRP中的MDL域。一个设备可以通过调用Kirp::Mdl来存取MDL。当设备设置DO_BUFFERED_IO标志,设备对象分别通过KIrp::BufferedReadDest或 KIrp::BufferedWriteSource为读或写操作获得buff地址。当设备不设置DO_BUFFERED_IO标志也不设置DO_DIRECT_IO,内核设置IRP 的UserBuffer域来对应ReadFile或WriteFile中的buff参数。然而,存储区并没有被锁住而且地址只对调用进程有效。驱动程序可以使用KIrp::UserBuffer来存取IRP域。对于DeviceIoControl调用,buffer参数的转换依赖于特殊的I/O控制代码,它不在设备对象的特性中。宏CTL_CODE(在winioctl.h中定义)用来构造控制代码。这个宏的其中一个参数指明缓冲方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表显示了这些方法和与之对应的能获得输入缓冲与输出缓冲的KIrp中的成员函数:Method Input Buffer Parameter Output Buffer Parameter METHOD_BUFFERED KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代码指明METHOD_BUFFERED,系统分配一个单一的缓冲来作为输入与输出。驱动程序必须在向输出缓冲放数据之前拷贝输入数据。驱动程序通过调用KIrp::IoctlBuffer获得缓冲地址。在完成时,I/O管理器从系统缓冲拷贝数据到提供给Ring 3级调用者使用的缓冲中。驱动程序必须在结束前存储拷贝到IRP的Information成员中的数据个数。如果控制代码不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,则DeviceIoControl的参数呈现不同的含义。参数InputBuffer被拷贝到一个系统缓冲,这个缓冲驱动程序可以通过调用KIrp::IoctlBuffer。参数OutputBuffer被映射到KMemory对象,驱动程序对这个对象的访问通过调用KIrp::Mdl来实现。对于METHOD_OUT_DIRECT,调用者必须有对缓冲的写访问权限。注意,对METHOD_NEITHER,内核只提供虚拟地址;它不会做映射来配置缓冲。虚拟地址只对调用进程有效。这里是一个用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE来定义一个IOCTL代码:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)现在使用一个DeviceIoControl调用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING, NULL, // no input 注意,这里放的是包含有执行操作命令的字符串指针 0, FirmwareRev, //这里是output串指针,存放从驱动程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果输出缓冲足够大,设备拷贝串到里面并将拷贝的资结束设置到FirmwareRevSize中。在驱动程序中,代码看起来如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){ ULONG fwLength=0; switch ( I.IoctlCode() ) { case IOCTL_MYDEV_GET_FIRMWARE_REV: fwLength = strlen(FIRMWARE_REV)+1; if (I.IoctlOutputBufferSize() >= fwLength) { strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV); I.Information() = fwLength; return I.Complete(STATUS_SUCCESS); } else { } case . . . } }
上传时间: 2013-10-17
上传用户:gai928943
MSP430仿真器(机)接口电路图-原理图
上传时间: 2013-11-05
上传用户:cjf0304
特性• 一系列方法支持不同的照明概念/原理UHP CCFL等• 快速执行标准80C51 器件的两倍• 工作范围宽2.7V~6.0V 而且在125 仍可工作• 带晶振/谐振器和RC 的用户可配置振荡器不要求外部元件• 低电流操作• 丰富的特性集包括UART和I2C 串行通讯低电压检测和上电复位• 两个比较器• 在系统可编程ISP• 专用的模拟和数字外围设备• ADC 快速PWM 和DAC特殊控制的专用外围设备• PFC 功率因素修正• 带软开关PWM 的半桥和全桥控制• 使用ADC 和比较器进行照明管理• 与几乎所有远程协议接口DALI IR RF 等• 带镇流ASIC 带DAC 或PWM 的快速控制回路• 与存储设备的I2C 接口
上传时间: 2014-03-24
上传用户:ming529
单片机实用接口技术介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及调试;打印机和显示器接口及设计实例;模拟输入通道接口技术;A/D、D/A、接口技术及在控制系统中的应用设计;V/F转换器接口技术、串行通讯接口技术以及其它与应用系统设计有关的实用技术等。本书是为满足广大科技工作者从事单片机应用系统软件、硬件设计的需要而编写的,具有内容新颖、实用、全面的特色。所有的接口设计都包括详细的设计步骤、硬件线路图及故障分析,并附有测试程序清单。书中大部分接口软、硬件设计实例都是作者多年来从事单片机应用和开发工作的经验总结,实用性和工程性较强,尤其是对应用系统中必备的键盘、显示器、打印机、A/D、D/A通讯接口设计、模拟信号处理及开发系统应用举例甚多,目的是让将要开始和正在从事单片机应用开发的科研人员根据自己的实际需要来选择应用,一书在手即可基本完成单片机应用系统的开发工作。 MCS-51系列单片机实用接口技术目录 第一章 MCS51系列单片机组成原理第二章 MCS-51单片机系统扩展第三章 MCS-51单片机应用系统的开发第四章 键盘及其按口技术第五章 显示器接口设计第六章 打印机接口设计第七章 模拟输入通道接口技术第八章 D/A转换器与MSC-51单片机的接口设计与实践第九章 A/D转换器与MCS-51单片机的接口设计与实践 第十章 V/F转换器接口技术 第十一章 串行通讯按日技术第十二章应用系统设计中的实用技术附录AMCS51单片机指令速查表附录一常用EPROM固化电压参考表
上传时间: 2013-11-24
上传用户:hfnishi
MCS-51系列单片机实用接口技术全面、系统地介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及调试;打印机和显示器接口及设计实例;模拟输入通道接口技术;A/D、D/A、接口技术及在控制系统中的应用设计;V/F转换器接口技术、串行通讯接口技术以及其它与应用系统设计有关的实用技术等。本书是为满足广大科技工作者从事单片机应用系统软件、硬件设计的需要而编写的,具有内容新颖、实用、全面的特色。所有的接口设计都包括详细的设计步骤、硬件线路图及故障分析,并附有测试程序清单。书中大部分接口软、硬件设计实例都是作者多年来从事单片机应用和开发工作的经验总结,实用性和工程性较强,尤其是对应用系统中必备的键盘、显示器、打印机、A/D、D/A通讯接口设计、模拟信号处理及开发系统应用举例甚多,目的是让将要开始和正在从事单片机应用开发的科研人员根据自己的实际需要来选择应用,一书在手即可基本完成单片机应用系统的开发工作。 MCS-51系列单片机实用接口技术目录 第一章 MCS51系列单片机组成原理第二章 MCS-51单片机系统扩展第三章 MCS-51单片机应用系统的开发第四章 键盘及其按口技术第五章 显示器接口设计第六章 打印机接口设计第七章 模拟输入通道接口技术第八章 D/A转换器与MSC-51单片机的接口设计与实践第九章 A/D转换器与MCS-51单片机的接口设计与实践 第十章 V/F转换器接口技术 第十一章 串行通讯按日技术第十二章应用系统设计中的实用技术附录AMCS51单片机指令速查表附录一常用EPROM固化电压参考表
上传时间: 2013-11-04
上传用户:3294322651
1. 使用单片机内部复位电路的可靠性设计LPC932 单片机只能工作在3V 供电电压下其外围器件既可以选用3V 接口器件也可以选用5V 接口器件当用户决定使用内部复位时为了保证单片机上电复位100 可靠必须在复位引脚接一上拉电阻如5 10K 如果单片机使用3V 电源电压外围器件使用5V 电源电压准确的复位电路设计方法如图1 所示如果单片机使用3V 电源电压外围器件使用3V 电源电压准确的复位电路设计方法如图2 所示 2. 使用单片机外部复位电路的可靠性设计LPC932 单片机只能工作在3V 供电电压下其外围器件既可以选用3V 接口器件也可以选用5V 接口器件当用户决定使用外部复位电源监控器件时为了保证单片机上电复位100 可靠一定要注意根据外围器件的供电电源方式选择复位电源监控器件如果单片机使用3V 电源电压外围器件使用5V 电源电压准确的复位电路设计方法如图3 所示请选择PHILIPS 半导体公司生产的MAX809L 等合适的电源监控器件如果单片机使用3V 电源电压外围器件使用3V 电源电压准确的复位电路设计方法如图4 所示请选择PHILIPS 半导体公司生产的MAX809R 等合适的电源监控器件.
上传时间: 2014-03-24
上传用户:aix008