基于usb的数据采集系统的研究与设计毕业论文(编辑修改稿)内容摘要:

片机连接电路 在没有外部扩展总线的单片机系统中,单片机也可以用普通的 I/O 引脚模拟出 8 位并口时序操作 CH372芯片。 在普通的 MCS51系列简化单片机的典型应用电路中, CH372的 __CS 固定为低电平,一直处于片选状态, U5 的 P1 端口作为 8 位双向数据总线,在单片机程序中,可以控制各个 I/O 引脚模拟并口时序与 CH372 进行数据交换。 周边电路设计 由于系统要求必须由 16 路开关量以及 8 路脉冲信号输入,因此周边电路的设计包括开关量输入电路、脉冲输 入电路以及多路开关电路,完成信号的输入处理及输出工作。 开关量输入电路设计 74LS244 为三态输出的八组缓冲器和总线驱动器。 由于系统要求有 16 路开关量输入,因此,开关量输入电路由 2 片 74LS244 组成。 开关量输入电路如图 26 所示: 1A 121A 241A 361A 482A 1112A 2132A 3152A 4171G12G191Y 1181Y 2161Y 3141Y 4122Y 192Y 272Y 352Y 43V cc20GND1074 L S 24 4A1A2A3A4A5A6A7A8 P 0. 7P 0. 6P 0. 5P 0. 4P 0. 3P 0. 2P 0. 1P 0. 0Y5+5V 图 26 开关量输入电路 开关量输出电路设计 74LS273 是带有清除功能的 8D 触发器。 低电平清除,上升沿锁存。 满足所需建立时间的 D 输入信息在时钟脉冲正边沿作用下传送到 Q 输出端,时钟触发发生在一个特定的电平上,它不直接和正脉冲的 过渡时间有关。 当时钟输入为高电平或低电平时, D 输入信号对输出无影响。 触发器保证对 0 到 30M 的时钟频率范围响应,而最高时钟频率的典型值是 40M。 对于 273 每个触发器的功耗典型值为39mW,对于 LS273 为 10mW。 由于系统要求有 16 路开关量输出,因此,开关量输出电路由 2 片 74LS273 组成。 电路如图 27 所示: 菏泽学院本科毕业设计(论文) 8 D13D24D37D48D513D614D717D818C L K11C L R1Q12Q25Q36Q49Q512Q615Q716Q819V cc20GND1074 L S 27 3P 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7Y3Q 16Q 15Q 14Q 13Q 12Q 11Q 10Q9+5V 图 27 开关量输出电路 脉冲输入电路设计 8253 是可编程的定时器 /计数器,其内部有三个独立的 16位定时器 /计数器,每个通道都可以按二或十进制计数,并且每个通道都可按 6 种不 同的方式工作。 其 GATE0~ GATE2 是门控脉冲输入端, CLK0~ CLK2 是计数器 0~ 2 的时钟脉冲输入端, OUT0~ OUT2 是输出端。 当 8253 做外部事件计数器时,在 CLK 端所加的计数脉冲由外部事件产生,这些脉冲的间隔可以不相等。 这时, 8253 所能实现的定时时间决定于计数脉冲的频率和计数器的初值,即定时时间 =预置的计数初值 n时钟脉冲周期 t[8]。 由于系统要求有 8 路脉冲量输入,因此,脉冲量输入电路由 3 片 8253 组成。 电路如图 28 示: P P P P P P P P Y0RDWRA0A1+ 5V+ 5VC1C2D08D17D26D35D44D53D62D71CS21RD22WR23A019A120O U T 010G A T E 011C L K 09O U T 113G A T E 114C L K 115O U T 217G A T E 216C L K 218GND12V cc2482 5 3 图 28 8 路脉冲输入电路 多路开关电路设计 CD4051 是单 8 通道数字控制模拟开关,有三个二进制控制输入端 A0、 A A2 和 INH 输入,具有低导通阻抗和很低的截止漏电流。 这些开关电路在整个 VDDVSS 和 VDDVEE 电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。 当 INH 输入端为 1 时,所有的通道截止。 三位二进制信号选 8 通道中的某一通道,可连接该输入端至输出。 系统要求有 16 路模拟量输入及输出,模拟量输入输出信号分别经过 2 片 CD4051选择。 多路开关图如图 29 所示: 数据采集系统 USB 接口的实现 9 图 29 多路开关电路 其中 A0A3 为地址, S0S15 为模拟信号, IN/OUT 为总输入输出。 CD4051 带有三个通道选择输入端 A、 B、 C 和一个禁止端 INH。 当 CBA 为 000~111B时,可产生 8 选 1 控制信号,使 8 路通道中的某一通道的输入与输出接通。 当 INH 为 0时,允许通道接通;当 INH为 1 时,禁止通道接通。 改变 CD4051 的 IN/OUT0~7 及 OUT/IN的传递方向,可用做多路开 关和反多路开关 [9]。 使用禁止端 INH,可以很方便地实现通道数的扩展。 本系统使用两片 CD4051 组成16 路的多路开关。 当通道选择码取 0000~1111B 之一时,便唯一地选中这 16 路通道中的某一通道。 3 软件系统的设计 基于 USB 的数据采集系统软件部分总共分为三块:采集设备固件程序、采集设备驱动程序和用户应用程序。 采集设备固件的作用是辅助硬件,任何基于微处理器及外围电路的功能设备正常工作都离不开固件的参与;驱动程序采用基于 WDM 模型的驱动程序;对于基于 USB 的数据采集系统,用户应用程序也是必须存在的,功 能是开启、关闭 USB 设备,检测 USB 设备,显示分析数据等。 下面对软件的设计详细介绍。 USB 固件程序设计 所有基于微处理器及其外围电路的功能设备保证正常工作都离不开固件的参与,固件的作用就是辅助硬件,即控制硬件来完成预期的功能,若没有固件的控制和参与,硬菏泽学院本科毕业设计(论文) 10 件设备只是简单的芯片堆砌,无法达到预期的功能。 因此,用户必须编写固件程序去辅助硬件完成 USB 的通信任务。 具体如下: (1)初始化。 设置一些特殊寄存器的初始值,以实现所需的设备功能或属性,例如使能端点、开中断、配置端口等。 (2)辅助硬件完成设备的重 新枚举过程。 包括模拟设备的重新连接与断开,对收到的设置包进行判断分析,从而对主设备的请求做出适当的响应,完成对设备的配置任务。 (3)对中断的处理。 (4)数据的接收发送。 (5)外围电路的控制 [10]。 固件程序采用模块化设计设计成中断驱动模式,其总体结构如图 31 所示。 图 31 固件程序结构和数据流向 各模块主要功能如下: 主程序:完成 USB 接口芯片及数字信号处理器的初始化、数据接收 /发送标志位的判断和中断请求等待。 中断服务程序:固件程序设计的重中之重就是中断服务程序。 首先读取中断寄存 器的值判断所发生中断的类型,然后根据具体的中断类型进入相应的处理子程序或设置相应的标志位。 请求处理程序: USB 标准请求处理程序来负责处理枚举阶段主机发给设备的标准请求,以及正常工作时主机发送的厂商的请求。 固件接收第 1 个 SETUP 中断开始,就进入 USB 枚举的过程,枚举过程是由主机发出一系列的请求并要求及时得到设备的响应,如果不需要操作,也必须指示出一个空响应,使主机能为其准备所请求的资源,建立好主机和设备之间的信息沟通机制 [11]。 数据接收 /发送程序:当用户通过主机端应用程序向设备发送或索要数据时,数字信号处理器调用数据接受 /发送的子程序完成数据的接受 /发送。 数据的接收和发送过程如下: 选 择 端 点 索 引写 发 送 缓 冲 区长 度 寄 存 器写 发 送 数 据 到数 据 端 口 寄 存 器等 待 发 送 完 毕 标 志图 32 发送数据过程 请求处理程序 中断服务程序 数据接收 /发送 主程序 硬件接口访问程序 数据采集系统 USB 接口的实现 11 选 择 端 点 索 引写 发 送 缓 冲 区长 度 寄 存 器从 数 据 端 口 寄 存 器读 取 接 收 到 的 数 据 图 33 接收数据过程 硬件接口访问程序:硬件接口程序负责完成数字信号处理器对芯片的读写操作,它是整个固件程序中的最底层,同时也是使用最频繁的部分。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。