微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 谷物品质快速检测仪关键部件的设计

谷物品质快速检测仪关键部件的设计

时间:04-16 来源:互联网 点击:

2.2μF电容相连,在ADS7825的转换周期内,这样连接可提供给内置D/A转换器最佳的转换写入电流,同时对缓冲输出也是一种补偿。另外,在BUSY为低电平期间,不再接受新的转换指令。ADS7825在并行输出模式情况下,根据通道选择方式的不同,还可以分为连续转换方式和可编程通道选择方式。在CS、R/C和PWRD同时接低电平的情况下,若CONTC(pin25)脚为高电平时,ADS7825处于连续转换工作模式。此时,ADS7825将按顺序连续采集和转换4路通道中的信号;而在CONTC变为高电平之前,当前通道号就相应存入A0和A1通道选择的寄存器中,也就是说在连续转换模式下(即CONTCE为HIGH),A0和A1为输出端。对于前一个通道来说,输出数据BUSY在跳变为高电平时变为有效。另外,每一次转换结束,BUSY要跳变为高电平时,A0和A1能够输出将要转换信号的通道号。

在可编程通道选择方式下,模拟输入通道的选择是由程序控制指令完成的。控制器发出数据转换指令和要转换的通道号,通过片选信号与A0和A1端译码选择需要的模拟通道,此时A0和A1为数据通道选择输入端。在完成数据通道的选择之后,后续各引脚的工作过程与连续转换方式下的情况类似。

图2. ADS7825并行输出电路原理图

图3. CY7C68013和ADS7825连接原理图

2 USB接口单元

USB接口单元的主要实现芯片是Cypress公司的CY7C68013,负责完成硬件系统和PC上位机之间的数据传输。Cypress公司的EZ-USB FX2系列芯片是世界上第一个集成USB2.0协议的微处理器,它支持12Mb/s的全速传输和480Mb/s的高速传输,可使用4种USB传输方式:控制传输、中断传输、块传输和同步传输,完全适用于USB2.0,并向下兼容USB1.1。其CPU采用增强型8051,它比标准8051的速度更快、功能更强,且指令集和标准8051完全兼容,并可使用C51编译器。FX2内部包含8.5KB的RAM,它们兼做程序存储器和数据存储器,增强型8051的固件代码就存储在该区域内,FX2也具有I2C总线,以使其能从外部EEPROM中下载芯片程序。另外,FX2系列芯片采用3.3V供电,且可使用USB总线电源,但是功耗较大。 [2]

本系统中使用CY7C68013的PA0-PA6管脚作为AD工作状态的控制信号,以决定ADS7825数据采集和存储,PB0-PB7为8位数据总线根据工作状态进行高低8位的数据传输。如图3所示为CY7C68013和ADS7825连接原理图。

2.2 软件程序的编写

软件程序包括包括三部分,芯片固件程序、驱动程序、上位机Win32应用程序。

1 芯片固件程序

CY7C68013芯片固件程序负责PC发来的各种USB请求,以完成主机与外围电路间的数据传输。该固件框架使用Keil C51 C编写,其中使用了许多Keil C对标准C的扩展。固件框架主要包含初始化、处理标准USB设备请求以及USB挂起时的电源管理。

框架完成了一个简单的任务循环(见图4)。首先框架初始化内部的状态变量,然后条用用户初始化函数TD_Init。从该函数返回后,框架初始化USB接口到未配置状态并使能中断。然后每隔1s进行一次设备重枚举,直到端点0接收到一个SETUP包。一旦检测到SETUP包,框架将开始交互的任务调度,其任务调度的步骤如下:

①调用用户函数TD_Poll,实现数据采集。

②判断是否有标准设备请求等待处理,如果有,则分析该请求并响应;其中,DR_VendorCmnd函数负责处理上位机发出的供应商定义请求,通过上位机发送请求来控制AD采集的开始和结束。

③判断USB内核是否收到USB挂起信号。如果收到,则调用用户函数TD_Suspend。从该函数成功返回后,再检测是否发生USB唤醒事件。如果未检测到,则处理器进入挂起方式;如果检测到,则调用用户函数TD_Resume,程序继续运行。如果从TD_Suspend函数返回FALSE,则程序继续运行。

图4. 固件程序流程图

图5. 驱动程序流程图

2 USB驱动程序和应用程序的开发

GPD(General Purpose Driver)是一个通用目的的设备驱动程序,是应用程序与EZ-USB 外设进行通信的桥梁。EZ-USB的GPD 代码Cypress公司提供原型,用户可以在此基础上生成定制驱动程序。

1)定制驱动程序的生成

采用Cypress 提供的GPD,由于GPD 只能执行一些标准的USB 设备请求和数据传输,

不能满足用户特定外设的需要,需进行扩充以生成用户定制驱动程序。对GPD 中的EZUSBSYS. C,EZUSBSYS. H,SOURCES 进行修改,再在WindowsDDK 与VC ++ 6. 0 下利用Build 命令重新编译即可生成用户定制驱动程序。

2)设备驱动程序与应用程序的接口

设备驱动程序介于硬件与用户应用软件之间。用户可以以一种规范的方式调用Win32API函数访问硬件,而不必考虑如何控制硬件。为了方便人们开发新的驱动程序,Windows已经自带了一些

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top