基于单片机和USB接口的数据采集系统设计.doc_第1页
基于单片机和USB接口的数据采集系统设计.doc_第2页
基于单片机和USB接口的数据采集系统设计.doc_第3页
基于单片机和USB接口的数据采集系统设计.doc_第4页
基于单片机和USB接口的数据采集系统设计.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX 大学毕业设计 论文 I 毕业设计论文毕业设计论文 基于单片机和基于单片机和 USBUSB 接口的数据采集系统设计接口的数据采集系统设计 基于单片机和 USB 接口的数据采集系统设计 II 摘摘 要要 通用串行总线 USB Universal Serial Bus 是一种新型的微机总线接口规范 随着客 户对系统数据采集速度要求的不断提高 USB 以其使用方便 易于扩展 速度快等优点 而越来越多的应用于数据采集系统中 本文介绍了一种基于 USB 总线的数据采集系统的设计方法 采用 PHILIPS 公司的 USB 接口芯片 PDIUSBD12 与单片机 AT89C51 进行通信 并和 PC 机通信 该系统用 传统的 USB 总线取代了 RS232 串行总线 通过对 USB 协议和设备构架的充分理解 对以单片机 89C51 和 USB 接口芯片 PDIUSBD12 为主的数据采集系统进行了硬件设计 和软件编程 并在此设计的基础上给出相应的原理图 硬件设计主要解决的是 PDIUSBD12 和 ADC0809 与单片机之间的接口电路问题 软件编程大致分为三部分 一是为满足 D12 在 USB 上的最大传输速率而编写的固件程 序 二是在 PC 机中的 Windows 2000 工作环境下编写 USB 设备驱动程序 三是充分了 解 D12 的主要功能特点 并编写出应用程序 通过该数据采集系统 我们可以对 USB 协议有很深刻的理解 对 D12 接口芯片有很熟练的应用 能更好领悟 USB 接口的优势 关键词 关键词 单片机 USB 数据采集 固件 Design of Data Acquisition System Based on Single Chip Computer XX 大学毕业设计 论文 III and USB Interface Abstract Universal Serial Bus is a new specification for microcomputer bus interface With the continuing advance of the clients demand for the speed of a data collection system USB is more and more widely used in data collection system for its advantages such as convenience expanding port with ease and high speed etc This paper presents a USB based data acquisition system design methods PHILIPS companies using the USB interface chip with PDIUSBD12 Progressive AT89C51 OK communication and communication and PC The system using traditional USB replace the RS232 serial bus Through the USB framework agreement and equipment with the full understanding right to 89 C51 microcontroller and USB interface chip PDIUSBD12 based data acquisition system for the hardware pieces of software design and programming and in this design is given on the basis of the corresponding diagram The main solution of Hardware design is the Connection between PDIUSBD12 and ADC0809 with the interface between the microcontroller circuit The software programme mainly includes the fireware code in need of D12 s maximum transmission rate USB device driver and client application under the circustance of Win2000 operation system in computer After this data collection system we can understand the USB protocol profoundly and apply the interface chip PDIUSBDI2 proficiently In all the advantages of this interface technique may helps to your design arrangement Keywords MCU USB data collection firmware 目目 录录 引引 言言 1 基于单片机和 USB 接口的数据采集系统设计 IV 第第 1 1 章章 绪论绪论 2 1 1 课题的背景 2 1 2 课题的研究意义与现状 2 1 3 系统的设计方案 4 第第 2 2 章章 USBUSB 协议简介协议简介 5 2 1 USB 传输要件 5 2 2 USB 总线协议层 5 2 3 USB 的传输结构 6 2 4 USB 总线枚举过程 8 2 5 USB 的设备描述符 10 2 6 USB 请求 11 第第 3 3 章章 数据采集系统的硬件设计数据采集系统的硬件设计 12 3 1 硬件系统的结构 12 3 2 芯片选择 12 3 2 1 ADC0809 12 3 2 2 AT89C51 14 3 2 3 PDIUSBD12 16 3 2 4X25045 18 3 3 单片机最小系统 19 3 3 1 单片机的时钟电路 19 3 3 2 单片机的复位电路 19 3 4 电源电路 21 3 5 看门狗电路 21 3 6 接口硬件电路设计 22 3 6 1 A D 与单片机接口电路 23 3 6 2 PDIUSBDI2 与单片机接口电路 23 第第 4 4 章章 数据采集系统软件设计数据采集系统软件设计 24 4 1 A D 转换时序控制 24 4 2 固件的开发 25 4 3 采用 PDIUSBD12 的固件设计 26 4 3 1 固件编程的主要工作 26 4 3 2 PDIUSBD12 固件程序的编写 26 4 4 固件结构 27 4 5 固件的编程实现 28 4 5 1 底层函数 28 4 5 2 命令接口 29 4 5 3 中断服务程序 ISR C 31 4 5 4 主循环 32 4 6 USB 设备驱动程序 32 4 6 1 USB 设备应用程序设计 33 第第 5 5 章章 调试调试 36 5 1 硬件调试 36 5 2 软件调试 36 XX 大学毕业设计 论文 V 结论与展望结论与展望 37 致致 谢谢 38 参考文献参考文献 39 附录附录 A A 系统总图系统总图 40 附录附录 B B 外文文献及译文外文文献及译文 41 附录附录 C C 主要参考文献及摘要主要参考文献及摘要 46 附录附录 D D 源程序源程序 48 插图清单插图清单 图 2 3 1 控制传输结构示意图 6 基于单片机和 USB 接口的数据采集系统设计 VI 图 2 3 2 批量传输结构示意图 7 图 2 3 3 中断传输结构示意图 8 图 2 3 4 同步传输结构示意图 8 图 2 5 1 描述符的树状结构 10 图 3 1 1 数据采集系统硬件组成框图 12 图3 2 1 1 ADC0809的内部逻辑结构 13 图 3 2 2 1 AT89C51 引脚图 15 图 3 2 3 1 PDIUSBD12 内部结构 16 图3 3 1 1 ADC0809与89C51的接口电路 18 图3 3 2 1 PDIUSBD12与89C51的连接电路 19 图 4 1 1 A D 转换程序流程图 20 图 4 4 1 数据采集系统固件结构 22 图 4 4 2 数据采集系统的固件结构 23 图 4 4 内部中断程序流程图 26 图4 5 4 1 主循环流程 27 图4 6 2 1 应用程序流程图 29 XX 大学毕业设计 论文 VII 表格清单表格清单 表 1 2 1 USB 使用分类表 3 表 2 6 1 SETUP 包格式 11 表 3 2 1 1 通道选择表 13 基于单片机和 USB 接口的数据采集系统设计 VIII 安徽工程大学毕业论文 1 引引 言言 在石油 化工 冶金 电力 纺织 轻工 水利等工业及科研领域中 都必须进 行相关的数据采集 随着科学技术的发展与普及 数字设备正越来越多地取代模拟设 备 在生产过程控制和科学研究等广泛领域 计算机控制技术正发挥着越来越重要的 作用 然而外界的大部分信息是以连续变化的物理量形式出现的 例如温度 压力 速度等 要将这些信息送入计算机进行处理 就必须先将这些连续的物理量离散化 并进行量化编码 从而变成数字量 这个过程即是数据采集 数据采集系统是计算机 与外部世界联系的桥梁 数据采集技术是以传感器技术 信号检测与处理 电子学 计算机技术等方面技术为基础而形成的一个综合应用技术学科 已广泛应用于国民经 济和国防建设的各个领域 并且随着科学技术的发展 尤其是计算机技术的发展与普 及 数据采集技术将会有着更广阔的发展前景 USB 是一种 IT 行业新发展起来的通用接口标准 目前很多应用主要集中在 PC 机 的外设和一些消费类电子上 其实 作为一种通用型串行总线标准 USB 不仅仅适用 于 IT 行业 它的应用空间很广泛 完全可以使用在不同的领域和行业 特别是由于 USB 的使用简单 即插即用 热插拔 开放性 高速 稳定 可靠性高等优点 它特 别适用于仪器仪表 虚拟仪器 数据采集 数据采集设备 监控设备和加密设备等等 场合 本数据采集系统硬件模块主要由串行 A D 转换器 89C51 芯片 USB 接口芯片和 多路模拟开关等组成 系统以 AT89C51 单片机为核心 集成电路全部采用 CMOS 器 件 与传统的 8031 单片机数据采集器相比 AT89C51 单片机数据采集器硬件结构简单 价格低廉 由于采用 16 位的 AD0809 精度高 能够满足测量要求 特别是该数据采 集器配有串行通信接口 与微机相联后能够极大地提高测试系统的数据处理能力 容 易实现误差的计算与补偿 校准测量仪器的非线性等 这种单片机控制的数据采集系 统克服了精度低 滞差大 走时短等缺点 并且功耗低 性能可靠 可以长时间连续 工作 有着非常广的应用空间 赵琼 基于单片机和 USB 接口的数据采集器系统设计 2 第第 1 章章 绪论绪论 1 1 课题的背景 随着数字化的广泛应用 数据采集也越来越重要 传统的外设与主机的通信口一 般采用ISA PCI C PCI 1394等标准 基于这些接口的产品 安装麻烦 价格昂贵 并受计算机插槽数量 地址中断资源限制 且可扩展性差 USB的出现 很好地解决 了以上问题 USB作为一种新型的串口通信标准 具有较高的传输速率 可扩展性好 采用总线供电 使用灵活 它共有4种传输模式 控制传输 同步传输 中断传输 批 量传输 以适应不同设备的需要 信息技术与电子技术的迅猛发展 使得计算机和外围设备也得到飞速发展和应用 过去人们单纯追求计算机与外设之间的传输速度 现在纠错能力和操作安装的简易性 也成为人们关注的目标 USB通讯技术的出现 使高传输速度 强纠错能力 易扩展 性 方便的即插即用 有机的结合在一起 USB设备需要依据USB协议进行数据的解 包与打包 底层硬件设备与操作系统之间需要以驱动程序为桥梁 驱动程序以WDM为 模型 以DDK为开发工具 以IRP为消息传播载体 来实现与Windows系统底层核心机 制相交互的功能 1 2 课题的研究意义与现状 尽管RS232是一种十分成熟且应用广泛的通讯方式 但是随着控制系统的日益复杂 所要采集的量也会越来越多 因此寻求一种高速 安全 方便的通讯形式是十分必要 的 USB技术虽然出现的时间并不长 但是由于它的种种优点 被越来越多的厂商和 用户所接受 出现了USB打印机 摄像头等产品 尽管目前USB接口的应用主要集中 在电脑的周边外设 但是USB产品进入工控领域将是必然的趋势 采用PDIUSBD12芯 片和89C51单片机设计的基于USB总线的数据采集系统 具有可靠性高 数据不丢失 抗干扰性强 便于数据传输和处理等优点 可在信号测试 信号采集场合广泛使用 所以本课题的研究是具有一定的现实意义和经济意义的 下面对 USB 的性能做简单的介绍 安徽工程大学毕业论文 3 表 1 2 1 USB 使用分类表 通用串行总线 Universal Serial Bus 简称USB 是康柏 微软 IBM DEC等公司 为了解传统总线的不足推出的一种新型串行总线接口规范 自1995年在Comdex上亮 相以来至今己广泛地为各PC厂家所支持 现在生产的PC机几乎都配备了 USB接口 Microsoft的windows98 NT以及MacOS Linux FreeBSD等流行操作系统都增加了 对USB的支持 USB的主要特点如下 1 速度快 USB 有全速和低速两种方式 主模式为全速模式 速率为12Mbps 从而使一些要求高速数据的外设 如 高速硬盘 摄像头等 都能统一到同一个总线 框架下 另外为了适应一些不需要很大吞吐量但是有很高实时性要求的设备 如鼠标 键盘 游戏杆等 USB还提供低速方式 速率为1 5Mbps 如表1 2 1所示 新推出的 USB2 0协议提供最高达480Mbps的数据传输速率可以适应各种不同类型的外设 2 支持热插拔和即插即用 所有的USB 设备可以随时的插入和拔离系统 USB 主机能够动态的识别设备的状态 并自动给接入的设备分配地址和配置参数 添加 删除设备完全不用关闭计算机 也不必像过去那样需要手动跳线和拨码开关来设置新 的外设 3 易于扩展 USB使用的是一种易于扩展的树状结构 通过使用USB Hub扩展可 连接多达127个外设 标准USB电缆长度为3米 低速为5米 通过Hub或中继器可以使 外设距离达到30米 4 使用灵活 USB共有4种传输模式 控制传输 control 同步传输 synchronization 中断传输 interrupt 批量传输 bulk 适应不同设备的需要 5 能够采用总线供电 普通使用串口 并口的设备都需要单独的供电系统 而 USB设备则不需要 因为USB接口提供了内置电源eUSB电源能向低压设备提供最大 5V 500mA 的电源 从而降低了这些设备的成本并提高了性价比 性能性能应用应用特性特性 低速 交互设备 10 20kb s 键盘 鼠标 游戏棒 低价格 热插拔 易用性 中速 电话 音频 压缩视 频 500kb s 10Mb s ISBN PBX POTS 低价格 易用性 动态插拔 限定带宽和 延迟 高速 音频 磁盘 25 500Mb s 音频 磁盘 高带宽 限定延迟 易用性 赵琼 基于单片机和 USB 接口的数据采集器系统设计 4 6 实现成本低 USB对系统与PC的集成进行了优化 适合于开发低成本的外设 本文设计的基于USB总线的数据采集系统正是充分地利用了USB 总线的上述优点 从而有效地解决了传统数据采集系统的缺陷 很方便地就能够实现低成本 高可靠性 实时的数据采集 适用于对瞬态信号进行采集和处理 1 3 系统的设计方案 本论文所设计的数据采集系统是在单片机 89C51 控制下进行数据采集 并通过 PHILIPS 公司的 USB 接口芯片 PDIUSBD12 上传给 PC 机进行分析 显示和存盘 该 系统用传统的 USB 总线取代了 RS232 串行总线 通过对 USB 协议和设备构架的充分 理解 对以单片机 89C51 和 USB 接口芯片 D12 为主的数据采集系统进行了硬件设计 和软件编程 并在此设计的基础上给出相应的原理图 硬件设计主要解决的是 D12 与 单片机的接口电路的设计 软件设计可分为两部分 一是充分了解 D12 的主要功能特 点 为满足 D12 在 USB 上的最大传输速率而编写固件程序 用 C51 语言编写 二是 了解 USB 的设备驱动程序与应用 本数据采集系统的系统框图如下图所示 M C U USB 接 口 芯 片 PC 机 A D 转 换 器 多 路 模 拟 开 关 安徽工程大学毕业论文 5 第第 2 章章 USB 协议简介协议简介 2 1 USB 传输要件 1 1 设备端点 设备端点 端点是可唯一识别的 USB 设备的一部分 它是主机与设备间通信流的一个结束点 一系列相互独立的端点在一起构成了 USB 逻辑设备 每个逻辑设备有一个唯一的地址 这个地址是在设备连上主机时由主机分配的 而设备中的每个端点在设备内部有唯一 的端点号 这个端点号是在设备设计时给定的 每个端点都是一个简单的连接点 或 者支持数据流进设备 或者支持其流出设备 两者不可兼得 端点号不为 0 的端点在被设置前处于未知状态 是不能被主机访问的 所有 USB 设备都需要实现一个缺省的控制方法 这种方法将端点 0 作为输入端点 和输出端点 USB 系统用这个缺省方法初始化 一旦设备接上并加电 且收到一个总 线复位命令 端点 0 就是可访问的了 除缺省控制通道的缺省端点外 其他端点只有在设备被设置后才可使用 2 2 USB 通道通道 USB 通道是设备上的端点和主机上的软件之间的联系 体现了主机上缓存和端点 间传送数据的能力 USB 有两个不同且互斥的通道通信格式 流 指不具有 USB 定义的格式的数据流 消息 指具有某种 USB 定义的格式的数据流 USB 不解释在通道中传送的数据的内容 消息通道要求数据组织成 USB 定义的格 式 但它的内容 USB 是不管的 2 2 USB 总线协议层总线协议层 2 2 1 位定序 数据位被发送到总线的时候 首先最低有效位 跟着是下一个最低有效位 最后 是最高有效位 2 2 2 同步字段 所有的包都是从同步字段开始的 同步字段是产生最大的边缘转换密度的编码序 列 同步字段作为空闲状态出现在总线上 通过被定义为 8 位长的二进制串 输入电 路以本地时钟对齐输入数据 同步字段的最后 2 位是同步字段结束的记号 并且标志 了包标识符的开始 赵琼 基于单片机和 USB 接口的数据采集器系统设计 6 2 2 3 包标识符 所有 USB 包的同步字段后都紧跟着包标识符 PID 如图 2 2 所示 PID 由 4 位的包 类型字段和其后的 4 位的校验字段构成 PID 指出了包的类型 并由此隐含地指出了 包的格式和包上所用错误检测的类型 PID 的 4 位的校验字段可以保证 PID 译码的可 靠性 这样包的余项也就能被正确地解释 PID 的校验字段通过求包类型字段的二进 制反码产生 如果 4 个 PID 检验位不是它们的各自的包标识符位的补 则说明存在 PID 错 LSb MSb PID0PID1PID2PID3PID0PID1PID2PID3 2 3 USB 的传输结构的传输结构 USB 的传输结构描述的是各个类型 USB 传输的时序 数据包和特征 下面分别介 绍一下 4 种 USB 传输类型的传输结构 1 控制传输 控制传输用于在设备初次连接时对器件进行配置 以及对设备的状态进行实时检 测 还有在设备配置完成后用于特殊传输目的 端点 0 只可以采用控制传送的方式 每一个控制传输都必须有设置与状态阶段 数据阶段则是选择性的 控制传输的设置事务传输结构如图 2 3 1 所示 SETUP ACK DATA0 空闲 标记 数据 握手 空闲 主机 功能部件 图 2 3 1 控制传输结构示意图 安徽工程大学毕业论文 7 控制传送的数据阶段 由一个以上的输入或输出事务构成 遵守和批处理传送相 同的协议规则 所有的数据阶段里的事务都必须有相同的方向 即全部输入或全部输 出 在数据项中要发送的数据的数量和其方向在建立阶段被指定 如果数据的数量超 过了先前确定的数据包的大小 数据在支持最大的包大小的多个事务中被发送 输入 或输出 任何剩下的数据都作为剩余在最后的事务中被发送 2 2 批量传输 批量传输 批量传输包含一个或者多个传输事务 其传输是单方向的 即所有的事务都必须 是输入或输出事务 如果需要双向传数据 需要另建立一个管道 批量传输的传输结构如图 2 3 2 所示 空闲 IN ACK DATA0 DATA1 DATA0 DATA1 OUT 空闲 NAKSTALL 标记 数据 空闲 ACKNAKSTALL握手 数据 出错 数据 出错 主机功能部件 图 2 3 2 批量传输结构示意图 3 3 中断传输 中断传输 中断传输适用于小批量的 点式 非连续的数据传输应用的场合 中断传输必须 在指定的时间内完成 它一般应用于鼠标 键盘 游戏杆等 HID Human Interface Device 类设备以及集线器的状态报表中 中断传输的传输结构如图 2 3 3 所示 赵琼 基于单片机和 USB 接口的数据采集器系统设计 8 空闲 IN ACK DATA0 DATA1 DATA0 DATA1 OUT 空闲 NAKSTALL 标记 数据 空闲 ACKNAKSTALL握手 数据 出错 数据 出错 主机功能部件 图 2 3 3 中断传输结构示意图 4 4 同步传输 同步传输 同步传输的意义在于每一个帧或者微帧内必须传输固定数目的字节数据 它适用 于固定速度或者特定时间的传输 同步传输没有联络阶段 所以不能保证传输的完全 可靠性 同步传输的传输结构如图 2 3 4 所示 INOUT DATA0 DATA0 标记 数据 空闲 空闲 图 2 3 4 同步传输结构示意图 2 42 4 USB 总线枚举过程总线枚举过程 USB 规范定义的设备状态总共有 6 个 分别是连接 Attached 上电 Powered 默认 Default 地址 Address 配置 Configured 和挂起 Suspend USB 总线 安徽工程大学毕业论文 9 枚举过程中 USB 设备需要经历后 4 种状态 USB 集线器负责监测设备的连接情况 而 USB 主机会通过集线器轮询地查询设备 当主机发现一个新的设备时 会要求集线器建立与设备的通信通道 即设备的端点 0 控制传输端点 之后 主机会通过此通道向设备发送一系列的标准 USB 请求以获取所 需的信息 设备必须响应这些请求并且采取适当的动作 这个过程即称为 USB 的总线 枚举 总线枚举的过程如下 设备连接 USB 设备通过 USB 总线与主机相连 设备上电 USB 设备可以采用 USB 总线供电 也可以使用外部电源供电 主机检测到设备 进行复位 设备连接到总线后 主机通过检测设备在差分信号线的上拉电阻检测到有新的设 备连接 并获释该设备是全速设备还是低速设备 如果上拉电阻与 D 线相连 则为全 速设备 如果上拉电阻与 D 线相连 则为低速设备 主机确认有设备连接后 向该 端口发送一个复位信号 设备默认状态 设备收到一个复位信号后 连接到主机的所有设备的地址为默认地址 00H 主 机会首先发送一个获取设备描述符的请求 设备通过这个默认地址向主机发送第一次 设备描述符 地址分配 当主机接收到有设备对默认地址 00H 来响应的时候 就确认有设备连接 主机 对设备分配一个空闲的地址 如 02H 以后设备就只对 02H 地址进行响应 读取 USB 设备描述符 主机分配给设备地址后 通过这个地址主机读取该设备描述符 确认 USB 设备的 属性 设备配置 主机依照读取的 USB 设备描述符来进行配置 如果设备所需的 USB 资源得以满 足 主机就会查找驱动 当正确找到驱动后 主机给设备发送配置命令 配置完毕后 这个 USB 设备就枚举成功了 挂起 为了节省电源 当总线保持空闲状态超过3ms以后 设备驱动程序就会进入挂起状 态 在挂起状态时 设备的消耗电流不超过500 A 当被挂起时 USB设备保留了包括 其地址和配置信息在内的所有的内部状态 赵琼 基于单片机和 USB 接口的数据采集器系统设计 10 2 52 5 USB 的设备描述符的设备描述符 标准的 USB 描述符包括设备 Device 描述符 配置 Configuration 描述符 接口 Interface 描述符 端点 Endpoint 描述符以及字符串 String 描述符 字符 串描述符不是必须的 不同的描述符从不同的层级来表示设备的属性 设备描述符包 含了整个设备的信息以及设备支持的配置号码 每一个设备只能由一个设备描述符 但每一个设备可以有几个配置描述符 它包含了电源管理信息以及所支持的接口号码 接口描述符包含了与端点通信所需要的信息 它可以有零个或多个端点描述符 各个 描述符的树状结构如图 2 5 1 所示 设备描述符 配置描述符配置描述符配置描述符 接口描述符接口描述符 端点 描述符 接口描述符 端点 描述符 端点 描述符 端点 描述符 端点 描述符 端点 描述符 图 2 5 1 描述符的树状结构 设备描述符描述了一个 USB 设备的总体信息 它在枚举过程中主机从设备读取的 第一个描述符 设备描述符总共有 18 个字节 分为 14 个字段 配置 接口以及端点描述符是在主机得到设备描述符之后发送给主机的 配置描 述符描述了一个特定的设备配置信息 主机使用 Set Configuration 请求来选择一个配 置 用 Get Configuration 请求来返回一个配置 当主机请求获取一个配置描述符的时 候 与配置描述符相关的所有接口 端点描述符都会一并返回 配置描述符由 9 个字 节组成 分为 8 个字段 接口描述符描述了一个配置中的特定接口 接口描述符总是作为配置描述符的一 部分被返回 主机不能通过 Get Descriptor 请求直接获取接口描述符 接口描述符由 9 个字节组成 分为 9 个字段 端点描述符包含了主机用来确定一个端点带宽要求的信息 除了端点 0 外 一个 接口所使用的每一个端点都有它自己的描述符 端点 0 不需要描述符 它也不能直接 由 Get Descriptor 请求来获得 端点描述符由 7 个字节组成 分为 6 个字段 安徽工程大学毕业论文 11 2 62 6 USB 请求请求 USB 规范定义了 3 种请求 分别是标准请求 Standard Request 类请求 Class Request 和厂商请求 Vendor Request USB 规范定义了 11 种标准请求 所有设备都必须对这 11 种请求作出响应 即使 当主机没有给设备分配一个地址或者没有配置设备 某些设备的功能类似或者提供类似的服务 USB 协议就将它们归为一类 并且定 义了特定的请求 称为类请求 但是只有类请求是不能满足众多 USB 厂商的需求的 所以 USB 协议允许一个供 应商为它的设备自定义特殊的请求 此类请求称为厂商请求 所有的 USB 总线设备以缺省控制管道响应主机发出的请求 这些请求是通过控制 传输来完成的 请求及请求的参数通过 Setup 包发向设备 由主机负责设置 Setup 包内 的每个域的值 Setup 包格式如表 2 6 1 所示 表 2 6 1 SETUP 包格式 大小 B 11222 域bmRequestTyp e bRequestwValuewIndexwLength 在表 2 4 5 1 中 bmRequestType 表示设备请求类型 D7 数据传输方向 0 主机到设备 1 设备到主机 D6 5 类型 0 标准 1 类型 2 厂商 3 保 留 D4 0 接收方 0 设备 1 接口 2 端点 3 其它 4 31 保留 bRequest 表示 USB 设备请求值 标准请求有 11 个命令 wValue 为值 它根据不同的 请求 以字节来定义 例如 设备请求为 Get Descriptor 06H wValue 为 01H 时 表 明要发送设备描述符 wLength 表示长度 如果传输的是一组数据 则这个长度的值 表示要传输数据的字节数 本章介绍了 USB 协议的相关内容 包括 USB 传输要件 USB 传输中的事务 信 息包和联络信号 USB 的传输结构 USB 的总线枚举过程 USB 的设备描述符以及 USB 请求 本章为本设计下面内容的展开奠定了基础 赵琼 基于单片机和 USB 接口的数据采集器系统设计 12 第第 3 章章 数据采集系统的硬件设计数据采集系统的硬件设计 3 13 1 硬件系统的结构硬件系统的结构 基于 USB 总线的实时数据采集系统硬件组成包括模拟开关 A D 转换器 单片机 USB 接口芯片 该系统能够实现 8 路数据自动采集 系统的组成框图如图 3 1 1 所示 主要包括 5 个组成部分 中央处理器选用 AT89C51 芯片 完成各部分控制功能和 USB 传输协议 A D 转换器和接口电路主要完成数据采集 并读入 MCU 处理 复位电路完 成对 MCU 的上电复位和电源电压监视 电源电路主要为各部分提供要求的电源 外设 与主机间的通信电路采用 USB 接口 单片机通过 位并行接口传送经过 A D 转换的采 集数据 存储在 FIFO 存储器中 一旦存满 串行接口引擎 SIE 立刻对数据进行处理 包括同步模式识别 并 串转换 位填充 不填充 CRC 校验 PID 确认 地址识别以 及握手鉴定 处理完毕后数据由模拟收 发器通过 D D 发送至 PC 上述过程遵循 USB2 0 协议 M C U USB 接 口 芯 片 PC 机 A D 转 换 器 多 路 模 拟 开 关 图 3 1 1 数据采集系统硬件组成框图 3 23 2 芯片选择芯片选择 3 2 1 ADC0809 ADC0809允许的最大时钟频率为1280kHz 主要管脚功能如下 地址输入和控制线 4条 ALE为地址锁存允许输入线 高电平有效 当ALE线为高电平时 地址锁存与译码 器将A B C三条地址线的地址信号进行锁存 经译码后被选中的通道的模拟量进转 换器进行转换 A B和C为地址输入线 用于选通IN0 IN7上的一路模拟量输入 ADC0809对输入模拟量要求信号单极性 电压范围是0 5V 若信号太小 必须进行 放大 输入的模拟量在转换过程中应该保持不变 如若模拟量变化太快 则需在输入 前增加采样保持电路 ADC0809的内部逻辑结构图如图3 2 1 1所示 安徽工程大学毕业论文 13 EOC D0 D1 D2 D3 D5 D6 D7 8 路 模 拟 量 开 关 地址锁存 与译码器 8路 A D 转换 器 ST CLK VREF VREF 三 态 输 出 锁 存 器 D4 OE 图3 2 1 1 ADC0809的内部逻辑结构 通道选择表如下表所示 表3 2 1 1 通道选择表 CBA选择的通道 000 IN0 001 IN1 010 IN2 011 IN3 100 IN4 101 IN5 110 IN6 111 IN7 数字量输出及控制线 11条 ST为转换启动信号 当ST上跳沿时 所有内部寄存器清零 下跳沿时 开始进行 A D转换 在转换期间 ST应保持低电平 EOC为转换结束信号 当EOC为高电平时 表明转换结束 否则 表明正在进行A D转换 OE为输出允许信号 用于控制三条输 出锁存器向单片机输出转换得到的数据 OE 1 输出转换得到的数据 OE 0 输出 数据线呈高阻状态 D7 D0为数字量输出线 VREF VREF 为参考电压输入 赵琼 基于单片机和 USB 接口的数据采集器系统设计 14 CLOCK 时钟输入信号线 因ADC0809的内部没有时钟电路 所需时钟信号必须 由外界提供 通常使用频率为500KHZ START 启动脉冲输入端 在时钟脉冲频率为640kHz时 START脉宽应大于 100ns 200ns EOC EOC为转换结束信号 当EOC为高电平时 表明转换结束 否则 表明正在 进行A D转换 D7 DO 转换所得八位输出数据 D7是最高位 而DO是最低位 OE 允许输出端 OE端控制输出锁存器的三态门 当OE 1时 转换所得数据出 现在D7 DO脚 当OE 0时D7 DO脚对外是高阻抗 ADC0809应用说明 1 ADC0809内部带有输出锁存器 可以与AT89C51单片机直接相连 2 初始化时 使ST和OE信号全为低电平 3 送通道的地址到A B C端口上 4 在ST端给出一个至少有100ns宽的正脉冲信号 5 是否转换完毕 我们根据EOC信号来判断 6 当EOC变为高电平时 这时给OE为高电平 转换的数据就输出给单片机了 3 2 2 AT89C51 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能CMOS8位微处理器 俗称单片机 该器件采用ATMEL高密度非易失存储器制造技术制造 与工业标准的 MCS 51指令集和输出管脚相兼容 由于将多功能8位CPU和闪烁存储器组合在单个芯 片中 ATMEL的AT89C51是一种高效微控制器 为很多嵌入式控制系统提供了一种灵 活性高且价廉的方案 AT89C51引脚图如图3 2 2 1所示 安徽工程大学毕业论文 15 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 a1 a2 a3 a4 b1 b2 b3 b4 Vcc1 0 a1 a2 a3 a4 b1 b2 b3 b4 a1 a2 a3 a4 b1 b2 b3 b4 a1 a2 a3 a4 b1 b2 b3 b4 a1 a2 a3 a4 b1 b2 b3 b4 GND 0 AT89C51 RST XTAL2 XTAL1 GND VCC 7 RD P3 WR P3 6 T1 P3 5 T0 P3 4 INT1 P3 3 INT0 P3 2 TXD P3 1 RXD P3 0 P1 7 P1 6 P1 5 P1 4 P1 3 P1 2 P1 1 0P1 P2 0 A8 P2 1 A9 P2 2 A10 P2 3 A11 P2 4 A12 P2 5 A13 P2 6 A14 P2 7 A15 PSEN ALE PROG EA VPP P0 7 AD7 P0 6 AD6 P0 5 AD5 P0 4 AD4 P0 3 AD3 P0 2 AD2 P0 1 AD1 P0 0 AD0 图 3 2 2 1 AT89C51 引脚图 主要特性 1 4K字节可编程FLASH存储器 寿命 1000写 擦循环 2 全静态工作 0Hz 24KHz 3 三级程序存储器保密锁定 4 128 8位内部RAM 5 32条可编程I O线 6 两个16位定时器 计数器 7 6个中断源 8 可编程串行通道 9 低功耗的闲置和掉电模式 10 片内振荡器和时钟电路 赵琼 基于单片机和 USB 接口的数据采集器系统设计 16 3 2 3 PDIUSBD12 PDIUSBD12是一款性价比很高的USB器件 它通常用作微控制器系统中实现与微 控制器进行通信的高速通用并行接口 它还支持本地的DMA传输 这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择出 最合适的微控制器 这种灵活性减小了开发的时间风险以及费用 从而用最快捷的方 法实现最经济的USB外设的解决方案 PDIUSBD12完全符合USB1 1版的规范 它还符合大多数器件的分类规格 成像类 海量存储器件 通信器件 打印设备以及人机接口设备 同样地 PDIUSBD12理想地 适用于许多外设 例如 打印机 扫描仪 外部的存储设备 Zip驱动器和数码相机等 等 它使得当前使用SCSI的系统可以立即降低成本 PDIUSBD12 所具有的低挂起功耗连同LazyClock输出可以满足使用 ACPI OnNOW和USB电源管理的要求 低的操作功耗可以应用于使用总线供电的外 设 此外它还集成了许多特性包括SoftConnetTM GoodLinkTM 可编程时钟输出 低 频晶振和终止寄存器 集合所有这些特性都为系统显著节约了成本 同时使USB功能 在外设上的应用变得容易 D12 芯片的主要特点包括 1 符合 USB1 1 版本规范 2 可与任何外部微控制器 微处理器实现高速并行接口 2MB s 3 采用 GoodLink 技术的连接指示器 在通信时使 LED 闪烁 4 主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输 5 在批量和等时模式下均可实现 1Mb s 的数据传输率 6 完全自治的直接内存存取 DMA 操作 PDIUSBD12 内部结构如图 3 2 3 1 所示 安徽工程大学毕业论文 17 3 3V 1 5k D 模拟收发器 电压调整器 D D 串行接口引擎 位时钟恢复电路 PLL锁相环 6MHZ 存储管理单元 内部RAM 并口和DMA 接口 图 3 2 3 1 PDIUSBD12 内部结构 说明 1 模拟收发器 集成的收发器接口可通过终端电阻直接与 USB 电缆相连 2 电压调整器 片内集成了一个 3 3V 的调整器用于模拟收发器的供电 该电压 还作为输出连接到外部 1 5K 的上拉电阻 可选择 PDIUSBD12 提供的带 1 5K 内部 上拉电阻的软件连接到外部 1 5K 内部上拉电阻的软件连接技术 3 PLL 锁相环 片内集成了 6MHz 时钟乘法 PLL 这样就可使用低成本的 6MHz 晶振 EMI 也随之降低 PLL 的工作不需要外部元件 4 位时钟恢复 位时钟恢复电路使用 4X 过采样规则 从进入的 USB 数据流中恢 复时钟 能跟踪 USB 规定范围内的抖动和频漂 5 PHILIPS 串行接口引擎 PSIE PSIE 实现了全部的 USB 协议层 且完全由 硬件实现而不需要固件的参与 该模块的功能包括 同步模式的识别 并行 串行转换 位填充 解除填充 CRC 校验 产生 PID 校验 产生 地址识别和握手评估 产生 6 SoftConnectTM SoftConnectTM与 USB 的连接是通过 1 5K 上拉电阻将 D 用于高速 USB 器件 设置为高实现的 1 5K 上拉电阻集成在 PDIUSBD12 片内 默认状态下不与 VCC相连 其连接的建立是通过外部 系统微控制器发送命令来实现 的 这就允许系统微控制器在决定与 USB 建立连接之前完成初始化时序 USB 总线连 接可以重新初始化而不需要拔出电缆 PDIUSBD12 在连接可以建立之前会检测 USB 规格的 5 但用于连接的 VSE 电 压规格仍然有足够的余量 SoftConnectTM是 PHILIPS 半导体一项尚未获批准的专利技 术 7 GoodLinkTM GoodLinkTM技术可提供可提供良好的 USB 连接指示 在枚举中 LED 指示根据通信的状况间歇闪烁 当 PDIUSBD12 成功地枚举和配置后 LED 指示 将一直点亮 随后与 PDIUSBD12 之间成功的传输 带应答 将关闭 LED 处于挂起 状态时 LED 将会关闭 该特性为 USB 器件 集线器和 USB 通信状态提供了用户友好的指示 作为一个 诊断工具它对隔离故障的设备是很有用的 该特性降低了现场支持和热线的成本 赵琼 基于单片机和 USB 接口的数据采集器系统设计 18 8 存储器管理单元 MMU 和集成 RAM 在以 12MB S 的速率传输并与微控制 器并口相连时 MMU 和集成 RAM 作为 USB 之间速度差异和缓冲区 这就允许微控 制器以其自己的速率对 USB 信息包进行读写 9 并行和 DMA 接口 一个普通的并行接口定义成易于使用 快速而且可以主流 的微控制器直接连接的接口 对一个微控制器而言 PDIUSBD12 看起来就像一个带 位数据总线和一个地址 占用 个位置 的存储器件 PDIUSBD12 支持多路复用和非 复用的地址和数据总线 支持主端点与本地共享 RAM 之间直接读取的 DMA 传输 还 支持单周期和突发模式的 DMA 传输 10 DMA 传输 直接存储器寻址 DMA 允许在主端点和本地共享存储器间实 现数据块的有效传输 使用 DMA 控制器 PDIUSBD12 的主端点和本地共享存储器间 的数据传输可自主进行 而不需要本地 CPU 的干预 要处理任何 DMA 传输 本地 CPU 从主机接收必要的 SETUP 信息 并对 DMA 控制器进行正确的编程 典型的 对 DMA 控制器的传输模式 字节计数寄存器和地址计数器进行正确的编程 在该模式下 PDIUSBD12 发出请求时开始传输 当字节计数器减少为零时终止 在 DMA 控制器编 程之后 本地 CPU 在初始化传输时 将 PDIUSBD12 中的 DMA 使能位置位 PDIUSBD12 可编程为单周期 DMA 或突发模式 DMA 在单周期 DMA 中 DMREQ 在每单个应答后直到被 DMACK N 重新激活之前保持无效 在突发模式 DMA 中 DMREQ 器件中突发编程时一直保持有效 该过程持续到 PDIUSBD12 通过 EOT N 接收到一个 DMA 终止信息 这时产生一个中断指示本地 CPU DMA 操作已 经完成 3 2 4X25045 x25045 是美国 xicor 公司的生产的标准化 8 脚集成电路 它将 eeprom 看门狗定 时器 电压监控三种功能组合在单个芯片之内 大大简化了硬件设计 提高了系统的 可靠性 减少了对印制电路板的空间要求 降低了成本和系统功耗 是一种理想的单 片机外围芯片 x25045 引脚如图 3 2 4 1 所示 1 2 3 4 x25045 8 7 6 5 VCC RESET SCK SI CS SO WP VSS 图 3 2 4 1 x25045 引脚图 其引脚功能如下 cs 片选择输入 so 串行输出 数据由此引脚逐位输出 si 串行输入 数据或命令由此引脚逐位写入 x25045 sck 串行时钟输入 其上升沿将数据或命令写入 下降沿将数据输出 安徽工程大学毕业论文 19 wp 写保护输入 当它低电平时 写操作被禁止 vss 地 vcc 电源电压 reset 复位输出 x25045 在读写操作之前 需要先向它发出指令 指令名及指令格式如下表所示 表 3 2 4 1 x25045 指令及其含义 指令名指令格式操作 WREN00000110 设置写使能锁存器 允许写操作 WRDI00000100 复位写使能锁存器 禁止写操作 RDSR00000101 读状态寄存器 WRSR000000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论