微机原理PPT 第十一章 微机接口技术应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第十一章微机接口技术应用本章结构第一节:在自动控制系统中的应用第二节:在数据采集和自动测量系统中的应用11.1:在自动控制系统中的应用如何把微机系统与外部设备通过合适的总线标准连接起来,是微机接口技术所研究的最终目的。总线的标准化为微机接口技术的应用奠定了基础,板卡上带有符合这些标准的接口,这些部件就成了一个标准的插卡,可以插入标准的系统总线的扩展插槽上。11.1:在自动控制系统中的应用基于微机的应用系统的设计包括硬件设计和软件设计两大部分。11.1.1:温度自动控制系统设计系统需求分析①可以对设备的温度进行实时检测并本地显示②可以对设备按照要求进行线性升温和降温③可以通过自动控制系统使设备温度恒定在某个值11.1.1:温度自动控制系统设计④低于最低温度或高于最高温度可发出报警信号⑤备有通信功能,可与类似设备组成网络系统硬件电路框图如图所示,由温度检测、信号放大、A/D转器换、MCS-51单片机、功率放大及执行电路、8279键盘显示模块、485通信模块、蜂鸣器等部分组成。11.1.1:温度自动控制系统设计下位机系统硬件电路图11.1.1:温度自动控制系统设计温度传感器模块。采用铂电阻作为温度测量元件。这类材料有性能稳定、抗氧化能力强、测量精度高的特点。采用三线式接线法。显然,外界温度变化对连接导线电阻r的影响在桥路中相互抵消了。11.1.1:温度自动控制系统设计温度传感器电路及信号放大电路11.1.1:温度自动控制系统设计传感信号放大电路传感信号放大电路由单芯片集成精密放大器AD522组成,AD522是AD公司推出的高精度数据采集放大器,利用它可在恶劣工作环境下获得高精度数据11.1.1:温度自动控制系统设计AD522引脚图11.1.1:温度自动控制系统设计A/D转换电路采用12位A/D转换器AD574A组成转换电路。AD574A运行方式灵活,可进行12位A/D转换,也可进行8位A/D转换AD574A与MCS-51单片机主要连接线如下图所示11.1.1:温度自动控制系统设计AD574A与MCS-51单片机接口图11.1.1:温度自动控制系统设计由图可以看出,在D0上扩展了一位输入口作为状态信号STS的输入端口,可通过读入此端口的数值来判断D0的状态,查询到系统转换完毕之后,读入数据。11.1.1:温度自动控制系统设计功率放大及执行模块功率放大及执行模块由8255和功率放大执行电路组成。8255的A口的PA0、PA1、PA2分别作为步进电动机的三相控制端口,这一部分的电路接口如图所示:11.1.1:温度自动控制系统设计功率放大及执行模块电路图11.1.1:温度自动控制系统设计执行元件为步进电动机,由于步进电动机具有快速起停、精确步进以及直接接受数字量等特点,因而在工业控制中应用很广泛步进电动机驱动电路部分采用光耦将单片机与步进电动机驱动电路隔离,以增强系统的抗干扰能力,并能防止三极管的损坏时电动机驱动电路的高压对单片机安全造成的威胁。11.1.1:温度自动控制系统设计键盘及显示模块8279是一种通用可编程键盘、显示器接口,它能完成键盘输入和显示控制两种功能。键盘部分采用扫描工作方式,可与64个按键的矩阵键盘连接,能对键盘不断扫描,自动消抖,自动识别出按下的键并给出编码,能对多个键同时按下进行保护。11.1.1:温度自动控制系统设计键盘及显示模块电路图11.1.1:温度自动控制系统设计由2-4译码器对SL0~SL1译出键扫描线,查询线由反馈输入RL0提供,由3-8译码器对SL0~SL2译出显示器位扫描线,段选线由B3~B0、A3~A0通过驱动器提供,信号用来控制译码器,实现显示器的消隐。对8279的编程可分为初始化、向显示器RAM写入数据和读键盘数据三部分11.1.1:温度自动控制系统设计MAIN:MOVSP,#63HMOVDPTR,#conport;指向命令/状态口MOVA,#0D1H;清除命令MOVX@DPTR,A;送入命令字WAIT:MOVXA,@DPTR;读入状态字JBACC.7,WAIT;等待清除MOVA,#2AH;置分频命令字MOVX@DPTR,A;送入命令字MOVIE,#84H;开中断11.1.1:温度自动控制系统设计DIR:MOVDPTR,#conport;指向命令/状态口MOVA,#90H;写显示命令字MOVX@DPTR,A;命令字写入MOVR0,#30H;段选码存放地址MOVR7.#05H;置显示5位的初值MOVDPTR,#dataport;指向数据端口LOOP:MOVA,@R0;取显示数据11.1.1:温度自动控制系统设计MOVX@DPTR,A;段选码送入RAMINCR0;指向下一个段选码DJNZR7,LOOP;判断是否送完RET;返回11.1.1:温度自动控制系统设计KEY:PUSHPSW;保护现场PUSHAMOVA,#40H;设置读FIFO命令字MOVDPTR,#conport;指向命令/状态端口MOVX@DPTR,A;送入命令字MOVDPTR,#dataport;指向数据口MOVXA,@DPTR;读入键值LJMPKEYPROCESS;转键值处理程序POPAPOPPSWRETI;中断返回11.1.1:温度自动控制系统设计通讯模块本系统采用MAX485来扩展485通讯接口,详细连线连线如图所示11.1.1:温度自动控制系统设计在程序设计中,必须要使设备遵从以下几项原则来工作①复位时,设备应处于接收状态②控制端/RE,DE的信号的有效脉宽应该大于发送或接收一帧信号的宽度③总线上所连接的各单机的发送控制信号在时序上完全隔开11.1.2:上位机软件设计温度控制系统整体结构图11.1.2:上位机软件设计在Windows环境下,由于系统硬件的无关性,不再允许用户直接操作串行口地址。如果用户要进行串行通信,可以调用Windows的API应用程序接口函数,但是由于其专业化程度较高,应用起来比较复杂。微软公司的VisualBasic提供了一个通讯控件(Mscomm),使用它可以很容易地解决这一问题。11.1.2:上位机软件设计Mscomm控件有许多重要的属性,主要的有:①CommPort设置并返回通讯端口号②Settings以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位③PortOpen设置并返回通讯端口的状态。也可以打开和关闭端口11.1.2:上位机软件设计④Input从接收缓冲区返回和删除字符⑤Output向传输缓冲区写一个字符串借助这个控件可以很容易的实现上下位机之间的通信,根据实际需要编程11.1.2:上位机软件设计上下位机通信协议①上位机机每发一帧命令,采用如下过程:清空发送与接受缓冲区→发送命令→等待→超时错→退出报错→接收到响应帧→判断正误→退出11.1.2:上位机软件设计②上位机每发一帧命令必须收到响应帧后才能开始与单片机的下一次通讯③上位机在不发命令字的期间与非等待响应期间,间隔一定时间间隔向单片机发送状态查询命令,显示当前系统状态11.2:数据采集和自动测量系统利用微机接口技术,可在众多的工业场合中实现数据采集和自动测量,本节以USB接口为例,设计了一个基于USB的数据采集系统。带有USB接口的产品的研究开发,尤其是嵌入式USB产品的开发是目前的一个热点。11.2.1:系统硬件结构USB数据采集系统硬件模块一般包括微控制器、传感器、多路模拟开关、A/D转换器和USB接口,如图所示11.2.1:系统硬件结构多个传感器送出模拟传感变量,多路模拟开关选择其中的一路送入A/D转换器,USB接口芯片将所得的数据送入PC机或者工控机进行分析和处理。USB接口芯片负责处理USB通信,微控制器(MCU)负责管理USB接口芯片的寄存器、设备描述符的获取和数据包的交换等11.2.1:系统硬件结构在USB接口芯片方面可选择的范围很大,如NS(NationalSemiconductor)公司的USBN9604、朗讯公司的USB820/825、NetChip公司的NET2888、飞利浦公司的PDIUSB11和PDIUSB12.本采集系统中,选用飞利浦公司的PDIUSB12,整个系统详细电路图如下:11.2.1:系统硬件结构采用PDIUSBD的数据采集系统电路图11.2.2:PDIUSBD12芯片介绍PDIUSBD12是一款性能优化的USB器件,它通过高速并行接口和DMA数据传输于微控制器进行通信,通常用于基于微控制器的系统。PDIUSBD12完全符合USB1.1规范,也能适应大多数设备类规范的设计,如成像类、大容量存储类、通信类、打印类和人工输入设备等11.2.2:PDIUSBD12芯片介绍PDIUSBD12芯片管脚如图所示:11.2.2:PDIUSBD12芯片介绍PDIUSBD12芯片管脚详细功能:11.2.2:PDIUSBD12芯片介绍PDIUSBD12芯片管脚详细功能:11.2.2:PDIUSBD12芯片介绍PDIUSBD12芯片管脚详细功能:11.2.2:PDIUSBD12芯片介绍PDIUSBD12内部功能结构框图:11.2.2:PDIUSBD12芯片介绍①模拟收发器:集成的收发器直接通过终端电阻与USB电缆接口②电压校准器③PLL。PLL的工作不需要外部器件④位时钟恢复⑤PHILIPS串行接口引擎PSIE⑥SoftConnect技术。11.2.2:PDIUSBD12芯片介绍⑦GoodLink技术⑧存储器管理单元MMU和集成RAM⑨并行和DMA接口11.2.3:软件设计主机侧软件设计主机侧软件包括应用程序、设备驱动程序和一些调试软件。应用软件可以使用任何能访问API函数的编程语言。WindowsAPI提供两种途径来访问设备:使用ReadFile/WriteFile或DeviceIOControl调用。11.2.3:软件设计一般采用WindowsDDK实现驱动程序的编写,目前很多软件厂商提供了各种各样的生成工具,像Compuware的DriverWorks,BlueWaters的DriverWizard等,它们能够很容易地在几分钟之内生成高质量的USB驱动程序。11.2.3:软件设计设备侧软件设计USB微处理器控制程序通常由三部分组成:①初始化微处理器和所有的外围电路②主循环部分,其任务是可以中断的③中断服务程序,其任务是对时间敏感的,必须马上执行11.2.3:软件设计固件的编程问题固件设计的目标就是使PDIUSBD12在USB上达到最大的传输速率。PDIUSBD12的固件可设计为完全的中断驱动,当MCU处理前台任务时USB的传输可在后台进行。这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。11.2.3:软件设计固件程序结构11.2.3:软件设计PDIUSBD的批量输出端点可使用循环的数据缓冲区,当PDIUSBD12从USB收到一个数据包,那么就对MCU产生一个中断请求,MCU立即响应中断MCU可以继续完成当前的前台任务,然后返到主循环,检查缓冲区内是否由新的数据并开始其他的前台任务。11.2.3:软件设计SMART评估板的固件有着如图所示的积木式结构11.2.3:软件设计①硬件提取层EPPHAL.C②PDIUSBD12命令接口D12CI.C③中断服务程序ISR.C④主循环程序MAINLOOP.C⑤协议层CHAP_9.C和PROTODMA.C11.2.3:软件设计使用不同的MCU平台时,固件接口的变化情况。11.2.3:软件设计固件命令格式解析为了得到需要的设备功能,就要对固件程序做相应的修改,在对程序结构理解的基础上,还要熟悉固件本身支持的命令格式。DIUSBD12命令分为三种:初始化命令字、数据流命令字和通用命令字。11.2.3:软件设计固件命令格式解析为了得到需要的设备功能,就要对固件程序做相应的修改,在对程序结构理解的基础上,还要熟悉固件本身支持的命令格式。DIUSBD12命令分为三种:初始化命令字、数据流命令字和通用命令字。具体参看程序说明11.2

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功