为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

采用USB接口的高速数据采集器硬件设计毕业论文

2017-10-23 42页 doc 387KB 8阅读

用户头像

is_212655

暂无简介

举报
采用USB接口的高速数据采集器硬件设计毕业论文采用USB接口的高速数据采集器硬件设计毕业论文 采用USB接口的高速数据采集器硬件设计 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计,论文,~是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知~除文中特别加以标注和致谢的地方外~不包含其他人或组织已经发表或公布过的研究成果~也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体~均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 ...
采用USB接口的高速数据采集器硬件设计毕业论文
采用USB接口的高速数据采集器硬件设计毕业论文 采用USB接口的高速数据采集器硬件设计 毕业设计(论文)原创性声明和使用授权 原创性声明 本人郑重承诺:所呈交的毕业设计,论文,~是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知~除文中特别加以标注和致谢的地方外~不包含其他人或组织已经发表或公布过的研究成果~也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体~均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计,论文,的规定~即:按照学校要求提交毕业设计,论文,的印刷本和电子版本,学校有权保存毕业设计,论文,的印刷本和电子版~并提供目录检索与阅览服务,学校可以采用影印、缩印、数字化或其它复制手段保存论文,在不以赢利为目的前提下~学校可以公布论文的部分或全部内容。 作者签名: 日 期: 第 1 页 共 35 页 采用USB接口的高速数据采集器硬件设计 1 绪论 1.1 课题的提出及意义 在工业生产和科研的各行业,常常利用PC或工控机对各种数据进行采集这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是数据采集板卡,常用的有422、485等总线板卡。采用板卡不仅安装麻烦,容易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制不可能挂接很多设备。 在目前PC的IO模式中,外围设备通常被映射为CPU的IO地址,并且被分配一个指定的IRQ(中断请求),在某些情况下也可以是一个DMA通道。这种地址分配的方法已经成为一种,软件开发者要根据指定的设备进行访问。这给编程者带来了不便,同时消耗了PC的许多系统资源,使许多系统资源不可使用,并且产生了很多冲突,由此造成了很多问题。根据调查显示,70%的严重系统错误和系统崩溃是由硬件冲突引起的。 通用串行总线(Universal Serial Bus,简称USB)的出现,很好的解决了以上这些问题。他不仅解决了I/O插口不够的问题,而且建立了一条连接和访问外设的方法。这些方法可以有效的减少总体成本,减少硬件冲突。因此,我们能够利用USB总线接口比较容易的实现低成本、高可靠性的多点数据采集系统。 这种采集系统由于采用了USB总线接口而具备了如下优点: 1)设备安装和配置容易。USB设备支持即插即用,安装USB设备不必再打开机箱,加减已安装过的设备,完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,不再占用中断资源或者DMA资源,彻底抛弃了过去的跳线和拨码开关设置。USB为接缆和连接头提供了单一模型,解决了外设越来越多造成的插槽紧张问题。 2)接口数目多,每个USB主机通过USB集线器,可以同时挂接最多127个外围设备,有效地解决了多点数据采集系统I/O口不够用的问题。 3)数据传输速度比一般的串行总线(如RS232,RS485等)快,USB1.1标准的接口最快可以达到12Mbps,可以满足绝大多数多点数据采集系统的要求。在PC主机和采集系统都 第 2 页 共 35 页 采用USB接口的高速数据采集器硬件设计 具备支持USB2.0标准的接口芯片时,最快可以达到480Mbps,可以满足高速数据采集系统的要求。 4)有总线电源保护,系统连续3ms没有总线活动,USB自动进入刮起状态。 1.2 课题研究状况 USB在1995年被提出,并由Compaq、Digital Equipment Corp(现在属于Compaq)、 Intel、Microsoft、NEC和Northern Telecom七个计算机与通信工业领先的公司所IBM、 组成的联盟所定义和加以推广。同一年,该联盟建立了实施者论坛(以下简称USB-IF)来加速USB标淮的高质量兼容设备的开发。在1996年,USB-IF公布了USB1.0,这是第一个为所有的USB产品提出设计请求的标淮。1998年,在进一步对以前版本的标准进行阐述和扩充的基础上,发布了USB标准的1.1规范。第三个版本的USB2.0是发布于1999年。之后,随着USB的普及与推广,USB的成员一直持续不断地增加,如今已是非常庞大的推广组织了。 历经8年的发展,USB技术已经非常成熟,也得到了lT业各硬件及件厂商的广泛支持。尤其是Microsoft公司在其WIN98之后的操作系统中加强了对USB的系统支持后,USB总线迅速发展起来。目前,USB总线的协议版本已经达到了2.0,支持的最高速度达到了480Mbps,远远超过了一般并行总线的数据传输速度。随着USB总线的发展,USB总线接口在嵌入式系统以及个人电脑的外围设备中的应用发展非常迅速。计算机外围设备的市场上使用USB接口的数码相机、扫描仪、移动硬盘、鼠标、键盘等设备随处可见。但是USB接口在工业控制领域、数据采集系统以及只能仪器仪表中的应用还不多见。因此,我们提出了基于USB总线接口的数据采集系统。 数据采集是信息科学的一个重要分支,是信息处理系统的最前端。它是以传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,主要研究信息数据的采集、存储、处理以及控制等作业,具有很强的实用性。在工业生产和科学研究中经常需要对一些物理量进行采集,为提高产品质量、降低成本提供信息和手段。在自动飞行控制和航天器的遥测、遥控中以及在国民经济的各个领域中,数据采集技术具有很重要的地位。随着大规模集成电路与计算机科学技术的发展,数据采集技术将在雷达、通信、水声、遥感、语音处理、智能仪器、工业自动化以及生物医学工程等众多领域得到广泛的应用。数据采集技术的发展是人机交互、状态监测、设备控制的基础。随着电子工业的发展,尤其是PC机的出现,大大地促进了工业自动化的程度,现在越来越多 第 3 页 共 35 页 采用USB接口的高速数据采集器硬件设计 设备实现了自动控制和无人职守,而这一切又促进了数据采集技术的发展。在科学技术研究的各行各业中,常常利用PC机或工控机对各种数据进行采集,如液位、温度、压力、频率等。 1.3 本课题的主要内容 本课题的内容按章节大致可以分为4个方面: (1) 了解基于USB接口的数据采集系统的研究背景,提出课题的研究意义,指出了用USB接口相较于其他接口的优势:易实现、成本低、快速、兼容性强。另外还指出了USB接口和数据采集系统的研究现状。 (2) 具体地从USB系统组成、USB的传输、USB的数据单元、USB的设备请求等方面讨论了USBI.0、USB2.0、USBOTG协议。 (3) 提出系统总体#设计#。对PC机与数据采集器的接口方式和USB控制芯片的选取进行了分析,并说明了选用USB 主控芯片PDIUSBD12和USB接口方式原因及其优势。同时简单介绍了PDIUSBD12和单片机AT89C51的特性和功能。最后,阐述了数据采集器的设计实现。 (4) 系统硬件电路设计。详细叙述别介绍低通滤波器电路、采样保持电路、AT89C51和PDIUSBD12连接电路、USB接口硬件设计。 第 4 页 共 35 页 采用USB接口的高速数据采集器硬件设计 2 USB软件通信协议 2.1 USB系统构成 一个USB系统由以下几部分构成: 主机和设备:是指USB系统中的主要构件; 物理构成:是指USB元件的连接方法; 逻辑构成:不同的USB元件所担当的角色和责任,以及从主机和设备的角度出发USB所呈现的结构; 客户软件与设备功能接口的关系。 整个USB系统通信模块具体的参考模型如图2.1所示 图2.1通信模块具体的参考模型 从图2.1中可以看出USB通信的数据流结构。主机和设备被分成如图2.1所示的几层。实箭头表示主机上的实际通信,设备上的相应接口根据不同的仪器而不同。主机和设备间的通信最终发生在物理线路上,然而,在每一水平层之间存在着逻辑接口。主机中客户程序软件与设备功能间的通信代表了设备需求与设备能力之间的约定。其中USB 第 5 页 共 35 页 采用USB接口的高速数据采集器硬件设计 系统软件是由主控制器驱动程序(HCD)、USB驱动程序(USBD)和主机软件组成。 主控制器驱动程序能够更容易的将不同的主控制器设备影射到USB系统中,因此客户可以在不知其设备连接在那个主控制器的情况下与设备相互作用。HCD与USBD间的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系统定义。通用主控制器驱动器(UHCD)处于软结构的最底层,由它来管理和控制主控制器。USB主控制器定义了一个标准硬件接口,以提供一个统一的主控制器可编程接口。UHCD实现了与USB主控制器通信和控制USB主控制器的一些细节,它对系统软件的其它部分是隐蔽的。系统软件中的更高层通过UHCD的软件接口与主控制器通信。 USB驱动程序(USBD)位于UHCD之上,它提供驱动器级的接口,满足现有设备驱动器设计的要求。USBD所实现的准确细节随不同操作系统环境而有所不同,但USBD在不同操作系统环境下完成的是一样的工作。USBD以I/O请求包(IRPS)的形式提供数据传输构架,它由通过特定管道(PIPE)传输数据的需求组成。 客户软件位于软件结构的最高层,它负责处理特定USB设备的设备驱动器,客户程序层描述了所有直接作用于设备的软件入口。当设备被系统检测到时,这些客户程序将直接作用于外围硬件,这个共享的特性将USB系统软件置于客户和它的设备之间,也就是说,一个客户程序不能直接访问设备硬件,而是根据USBD在客户端形成的设备映像由客户程序对它进行处理。 2.2 USB的数据传输方式 虽然USB设备的软硬件会自动处理所有传输的细节,但是如果想要设计USB设备,我们仍然需要对接口的内部工作原理有相当程度的了解。每一次传输是由事务(transaction)所组成,每一笔事务都是由信息包(packet)所组成,每一个信息包则是包含传输的信息。为了满足不同外设和用户的要求,USB提供了四种传输方式:控制传输(Control transfers)、块传输(Bulk transfers)、中断传输(Interrupt transrers)和等时传输(Isochronous transfers)。它们在数据格式、通信流方向、数据包容量限制、总线访问限制、所要求的数据顺序等方面有着各自不同的特征。 控制传输主要用于命令、控制、状态操作(如获取设备的设备描述符,设置设备的USB地址等,可以通过控制传输来定义自己对设备的控制操作,设置采样参数、开始或停止采样等),是由主机软件发起的请求/响应通信过程,具有突发性、非周期性的特点,每个USB设备都必须有控制传输的通道。 第 6 页 共 35 页 采用USB接口的高速数据采集器硬件设计 块传输主要用于完成主机和设备之间的大批量数据传输,这种传输方式可以利用任何可用的带宽进行传输,或可以延迟到有可利用的带宽时再进行传送数据。由于块传输在硬件级上对传输数据进行错误检测(若发生错误,它支持“重传”功能),因此它能保证数据传输的可靠性。块传输支持两个方面的数据传输(即主机到设备和设备到主机),适用于打印机、调制解调器等不定期传送大量数据的中速设备,具有非周期性和突发性强的特点。 中断传输用来完成设备到主机的少量数据传输,它只支持设备到主机方向数据传输(中断传输与我们平常说的“中断”概念没有任何联系),适用于人工输入设备。具有数据量小、非周期性、低频率、延时一定等特点。 等时传输亦称同步传输,主要用于主机和设备与时间有关的信息传输,比如,实时数据的传输(如多媒体、音、视频数据)。同步传输不对传输数据进行错误检测,它主要保证数据的连续传输,适用于实时性要求比较高的场合,具有周期性、连续性的特点。这种传输类型保留了数据中时间压缩的概念,但并不意味着这一类数据传输都是实时的。 在实际开发过程中,我们可以采用其中的一种或几种方式来设计我们的系统。 2.3 USB的数据单元 USB的通信结构一般是以同步域SYNC开始的,接着是PID域,后面紧跟着数据或控制信息,最后是CRC校验。所有的数据通讯过程都可以归结为三种包的传输:令牌包、数据包和应答包,这些包都是由不同的域组成的,格式如表2-1所示。 表2-1各种包的格式 PID ADDR ENDP CRC5 令牌包 SYNC PID DATA CRC16 数据包 PID 握手包 PID CRC5 帧开始 帧标号 同步域(SYNC field):所有的包都起始于同步域,它被用于本地时钟与输入信号的同步,并且在长度上定义为8位,SYNC的最后两位作为一个记号,表明PID域(标识域)的开始。 标识域(PID Paeket Identifier Field):是由一个4位的分组类型码加上4位类型码的 第 7 页 共 35 页 采用USB接口的高速数据采集器硬件设计 反码组成,其格式如图2.2所示。对于每个包(PID)都是紧跟着SYNC的,PID指明了包的类型及其格式。主机和所有的外设都必须对接收到的PID域进行解码,如果出现错误或者解码为未定义的值,那么这个包就会被接收者忽略,如果外设接收到一个PID,它所指明的操作类型或者方向不被支持,外设将不做出响应。 图2.2 PID分组码格式 PID可以分成4个码组:令牌、数据、握手和特定类型,如表2-2所列。 表2-2 PID类型 PID类型 PID 名称 PID[3…0] 说明 OUT 0001b 地址+端点号 令牌 IN 1001b 地址+端点号 (Token) SOF 0101b 帧标志,表示帧标号开始 SETUP 1101b 地址+端点号 数据 DATA0 0011b 数据分组偶PID (DATA) DATA1 1011b 数据分组奇PID ACK 0010b 接收器接受到无误的数据分组 握手 NAK 1010b 接受设备不能接受数据或发送设备不(Handsake) 能发送的数据 SALL 1110b 端点被静止 特殊 PRE 1100b 主机发出低速通信的前导信号 地址域(AddressField):外设端点都是由地址域指明的,它包括两个子域:地址域和端点域,外设必须解读这两个域,其中有任何一个不匹配,这个令牌就会被忽略。外设地址域(ADDR)指定了外设,它根据PID所说明的令牌的类型指明了外设是数据包的发送者或接收者,ADDR共7位,因此最多可以有127个地址。一旦外设被复位或上电,外设的地址被缺省为0,这时必须在主机枚举过程中被赋予一个唯一的地址。0地址只能用于缺省值而不能分配作一般的地址。端点域(ENDP)有4位,它使设备可以拥有几个子通道,所有的设备必须支持一个控制端点0(end point 0)。低速的设备最多支持2个端点0和一个附加端点,高速设备可以支持最多16个端点。 .端点域:附加的4位的端点(ENDP)字段允许对那些需要不只一个子信道的功能部件进行更灵活的寻址。除了端点地址0之外,端点个数是由功能部件决定的。规定端点域只能供IN、SETUP和OUT令牌的PID使用。所有的功能部件都必须在端点0提供一 第 8 页 共 35 页 采用USB接口的高速数据采集器硬件设计 个控制管道(缺省控制管道)。对于低速(Low Speed)设备,每个功能部件最多提供3个管道:在端口0的控制管道加上2个附加管道(或是2个控制管道,或是1个控制管道和1个中断端口,或是2个中断端口)。全速(Full speed)功能部件可以支持最多可达16个任何类型的端点。 帧号域(Frame Number Field:帧号字段是一个11位的字段,主机每过一帧就将其内容加一。帧号字段达到其最大值OX7FFH时归零,这个域只存在于每帧开始时的SOF令牌中。 数据域(Data):数据字段可以在0到1,023字节之间变动,但必须是整数个字节。图2.3为多字节显示格式,每个字节的范围内的数据位移出时都是最低位(Lsb)在前。 图2.3数据域格式 CRC校验:包括令牌校验和数据校验。循环冗余校验(CRC)被用来在标记和数据包中保护所有的非PID字段。CRC也必须满足位填充的要求,这意味着如果前6位都是1的话,就必须在CRC的最后插入一个零。 (1)令牌CRC 标记使用了5位的CRC字段,它覆盖了输入,建立和输出令牌的ADDR和ENDP字段,或SOF标记的时间戳字段。生成多项式如下: 52G(X)=X+X+1 这个多项式的二进制位组合是00101B。如果所有的标记位都被准确无误地收到,接收机中的5位剩余将是01100B。 (2)数据CRC 数据CRC是作用于数据包的数据字段上的16位多项式。产生的多项式是如下: 16152G(X)=X+X+X+1 这个多项式的二进制位组合是1000000000000101B。如果全部的数据和CRC位被准确无误地收到,16位剩余将是1000000000001101B。 2.4 USB标准设备请求 USB标准设备请求是用来完成USB设备枚举的命令,USB设备必须对标准请求做 第 9 页 共 35 页 采用USB接口的高速数据采集器硬件设计 出响应,不管该设备是否己经被分派了一个默认的地址或该设备目前正在配置。所有的标准设备请求都是使用默认管道来传输的。USB设备的请求由8个字节组成,格式定义如表2-3所列。 表2-3 USB设备请求格式 偏移量 域 大小 值 描述 0 请求特征: D7:传输方向 0=主机至设 1=设备至主 D6..5:种类 0=标准 bmRequestType 1 位图 1=类 2=厂商 3=保留 D4..0:接受者 0=设备 1=接口 2=端点 3=其他 1 bRequest 1 数值 USB设备请求 2 wValue 2 值 字长域,根据不同的请求含义改变 4 wIndex 2 索引和偏移 字长域,根据不同的请求含义改变。典 型用于传送索引或偏移 6 wLength 2 计数 如有数据传送阶段,此为数据字节数 USB设备要想工作,必须对USB协议的标准命令请求做出正确响应,只有对标准的请求正确响应,设备才能枚举成功,才能和上位机通信。一般情况下,USB设备必须支持的标准请求有11个命令,对应的代码和说明如表2-4所列。 表2-4 USB标准设备请求 bmRequestType bRequest wValue wIndex wLength Data 00000000B 特性选择0 00000001B CLEAR_FEATURE 符 接口号 0 无 00000010B 端点号 10000000B GET_CONFIGURATION 0 0 1 配置值 10000000B GET_DESCRIPOTR 描述表种零或语言标志 描述表描述表 类和索引 长 第 10 页 共 35 页 采用USB接口的高速数据采集器硬件设计 10000001B GET_INTERFACE 0 接口号 1 可选设置 10000000B 0 设备,接口10000001B GET_STATUS 0 接口号 2 或端点状10000010B 端点号 态 00000000B SET_ADDRESS 设备地址 0 0 无 00000000B SET_CONFIGURTION 配置值 0 0 无 00000000B SET_DESCRIPTO 描述表 0或语言标志 描述表描述表 长 00000000B 描述表种0 00000001B SET_FEATURE 类和索引 接口号 0 无 00000010B 端点号 00000001B SET_INTERFACE 可选设置 接口号 0 无 10000010B SYNCH_FRAME 0 端点号 2 帧标号 2.5 USB设备的描述符 USB设备利用描述符来报告其属性。一个描述符是具有一个确定格式的一个数据结构。每个描述符都以一个一字节宽并包含了该描述符中所有字节数的域为开始,再跟上一个说明描述符类型的一字节宽的域。 使用描述符使得单个配置的特性存储变得简明,因为每个配置可能会重复使用其它有相同特性的配置描述符的部分或全部,用这种方法,描述符用一个关系数据库来表绘一个个的单独数据记录。 标准的USB设备有5种USB描述符,分别是设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。USB的描述符是通过Get Deseriptor来读取的。 设备描述符:是说明整个设备的信息,包括设备描述符长度、描述符类型、USB版本号、设备类、设备子类、设备协议、端点0的最大分组尺寸、厂商ID、产品ID和设备支持的配置数等。它用来配置设备,一个设备只能有一个设备描述符。 配置描述符:定义了设备的配置信息,一个设备对它支持的每一种配置都有一个配置描述符,包括关于配置的一般信息,并且定义了当使用这些配置时接口的数量。一个设备可以有多个配置描述符。 接口描述符:说明了关于接口的一般信息,它指出了特定的接口所支持的设备类,此外,它指出了该接口进行通信时所使用的端口数量。一个设备接口包含一个或多个端点描述符。 端点描述符:包括了端点所支持的传输类型、大小、方向等信息。USB设备的每一个端点都有自己的描述符。 第 11 页 共 35 页 采用USB接口的高速数据采集器硬件设计 字符串描述符:是可有可无的。但是,如果一个设备无字符串描述符,所有其它描述符中有关字符串描述符的索引都必须为0。它可以为所有的设备定义,描述了配置和接口,并且字符串是以UNICODE的形式给出的,它们可以显示出来,而且用户可以读取它们。 在程序设计时,各种描述符的每一个字段必须正确无误,尤其是描述符的长度和类型,否则设备枚举必将失败。 2.6 USB2.0协议的介绍 USB2.0协议是在USB1.1协议的基础上发展起来的,由7家公司在2000年4月份共同制定的,是版本更新的一大跃进,它加入了许多高速传输特性。原来的预测是希望提高到20倍的传输速度,实际上达到了40倍的传输速度(480Mb/s)。对打印机、扫描仪、硬盘、影像设备和高速数据采集系统等,无疑是一大福音,使得原来不能使用USB的视频传输都可以使用了。 USB2.0协议除了满足USB1.1协议的一些特性外,还增加了一些新的特性。在描述符方面,USB2.0除了支持USB1.1的几种标准描述符外,还增加了新的描述符: Device_Qualifier、Other_Speed_Configuration和Interface_Power,这些描述符包含了使用非目前选择的速度时设备的行为,只有同时支持全速与高速的设备才需要。 Device_Qualifier描述符:当设备转换速度时候,设备描述符中的某些字段可能改变。Device_Qualifier描述符储存目前不使用的速度的字段数值。设备描述符与Device_Qualifier描述符中的字段数值,视所选择的速度来做交替。 Other_Speed_Configuration描述符:此描述符的结构与配置描述符相同,唯一的差别是Other_Speed_Configuration描述符描述的是当设备在非作用中速度时的配置。Other_Speed_Configuration描述符的附属描述符与设备配置描述符相同。 Interface_Power描述符:这是USB2.0新增的一个描述符,这个功能使得除了设备层级外,接口层级也能够启用电源管理。 USB2.0完全兼容USB1.1和USB1.0,他们使用相同的连接器与电缆。不过如果要使用最新的高速传输,则必须使用与USB2.0兼容的主机与集线器。USB2.0兼容的主机与集线器,同时也能够与USB1.1的外围设备沟通。如果您将较慢的外围设备连接到USB2.0兼容的集线器上,集线器会自动转换外围设备的速度。 2.7 USBOTG协议的介绍 第 12 页 共 35 页 采用USB接口的高速数据采集器硬件设计 USB的广泛应用正在成为外设与PC及笔记本电脑连接的工业标准。我们开发了基于USB1.1协议的数据采集和控制系统以及USB和串行口通信板,取得了满意的效果。但这些设备都是由一个主计算机来管理所有的通信,外围设备不能够直接彼此沟通。 在2001年,USB开发者论坛(USB Implementers Forum,USBIF)发布了专门用于USB外设间可移动互联的USB2.0补充规范USBOTG(On-The-Go)V1.0。USBOTG为外设之间点对点通信的实现提供了一个完善而经济的解决方案,突破了主PC机的约束,允许一个USB外设拥有受限的主机功能,实现与其它选择的USB外设通信;利用小型的连接器来满足外设接口外形多变的要求;小功率特性延长了电池的使用寿命。USBOTG并没有影响外设到PC的连接能力和要求,而是为在PC机连接不可行或不能实现的情况下提供一个外设之间直接通信的解决方案。 USB己经成为了一种PC和外设之间交换数据的常用接口。由于日益增加的便携式外设都使用USB接口和PC机进行通信,因此如果能实现这些设备相互之间的通信将会带来很大的方便,但是USB的某些规范使之实现起来有困难,尤其是USB通信只发生在一个主机和一个外设之间。为了取的PC主机的资格,设备必须包含以下几个特性: (l)存储大量的设备驱动程序; (2)产生大电流的能力; (3)一个标准主机连接插孔。 要求大量的便携式设备都具有上述特性是不现实的,而且在很多情况下,并不需要使用到这些特性。为了满足这些限制要求,便携式USB的应用是作为USB2.0规范的补充发展起来的。它允许一个便携式设备成为一个USB主机,而不需要支持一个PC主机的所有功能。 这个补充规范的目的是要定义一个对USB2.0规范作最低限度的改变来实现便携式USB设备的应用。USBOTG并不是一个独立的规范,它是USB2.0规范的补充,任何一个在这个规范中没有更改的USB标准仍然受USB2.0规范的约束。这个补充规范并不单是为便携式电子设备制定的,其同样适用于PC机的外设或任何非便挤式设备。 USBOTG在USB2.0规范基础上增加了以下特性: 双重功能设备:允许设备以主机和外设两种形式工作; 主机处理协议(HNP:Host Negotiation Protocol):用于转换USB主机和外设功能; 会话请求协议(SRP:Session Request Protocol):完成与主机的会话; 更具节能性的电源管理:除了小功率和大功率之外,增加了微功率选择。 第 13 页 共 35 页 采用USB接口的高速数据采集器硬件设计 超小连接器:除了标准的A和B系列连接器外,增加了微型连接器Mini-AB,这些连接器比最初的USB连接器要小许多,更适合于便携式设备。USBOTG是一种点到点的通信标准,其仍然保持在任何时候都有主机/从机。 点到点的通信能力建立在定义好的结构上,允许在主机和从机之间的转换。点到点的连接方式并不仅限制在同种类的产品之间,不同类的产品也能相互连接,这使得便携式设备的发展有了更加广阔的空间。USBOTG已受到Cypress等芯片供应商、软件开发商和设备制造商的广泛支持,OTG必将会成为新一代嵌入式设备的解决方案。 2.8本章小结 本节简要地从USB系统组成、USB的传输、USB的数据单元、USB的设备请求等方面讨论了USBI.0、USB2.0、USBOTG协议。从这些介绍中可以看出,USB1.1协议的速度可达1.5Mb/s和12Mb/s,适用于大多数中低速设备;USB2.0协议是在USB1.1基础上版本的一个升级,并增加了一些新的特性,速度可高达480Mb/s,使得原来USB不能用于视频的传输也可以实现;以上这两种协议虽然可以满足大多数系统的需要,但在实际的通信过程中必须有主机的参与,离开了主机,设备便不可工作;而USBOTG的出现正是为了解决这个问题,USBOTG协议是USB2.0协议的一个补充,而不是一个独立规范,任何一个在这个规范中没有更改的USB标准仍授USB2.0规范的约束。USBOTG协议实现了无主机参与的数据通信,可以实现点对点的数据通信,而无须主机的介入,在嵌入式领域必将有广阔的应用前景。 第 14 页 共 35 页 采用USB接口的高速数据采集器硬件设计 3 系统总体设计方案 3.1 设计方案的确定 3.1.1 数据采集器接口的选择 数据采集设备与计算机之间的接口可以有多种方式,如RS232串行口、并行口、ISA总线、PCI总线、USB等。通过分析五种接口方式我决定选择USB接口方式,下面是各接口方式的优缺点: (1)RS232串行接口: 串行接口是微机应用系统的常用接口,现在的PC机一般至少有两个串行口。串行口不同于并行口之处在于它的数据和控制信息是一位接一位串行地传送下去。由于PC机的限制,其最高数据传输率不超过115KbpS,同时传输的距离也不会超过15米,且PC机上的串口数目也很有限。采样系统与PC机接口速度的瓶颈作用会导致一部分数据的丢失,失去连续采样的意义。 2) 并行接口: ( 目前,计算机中的并行接口主要作为打印机端口,并行接口是在多根数据线上以字节为单位与输入/输出设备或被控对象传输信息的,这样数据传送速度大大提高,且并行传送的信息不要求固定的格式,但并行传送的距离受到限制,因为距离增加,干扰就会增加,容易出错。 (3)ISA总线 ISA总线是工业标准结构总线,又称为AT总线。它的数据宽度16位,工作频率8MHz,数据传输率6MB/S,处理器的高速度和总线的低速度不同步,造成硬盘、图形卡和其它外设只能通过一个慢速且狭窄的瓶颈发送和接收数据,使CPU的高性能受到了严重的影响。尽管ISA总线传输速率低、占用硬件中断资源、不支持即插即用,但ISA具有良好的兼容性及广泛的应用,而且这种总线特别适合于控制外设和进行数据通信的功能模块。但是随着计算机技术发展,ISA总线逐渐被淘汰,目前市场上大多PC机主板已经没有ISA插槽。 第 15 页 共 35 页 采用USB接口的高速数据采集器硬件设计 (4)PCI总线 PCI总线是Intel公司推出的外围设备互连总线,是另一种局部总线规范PCI总线具严格的规范,保证了它具有良好的兼容性,符合PCI规范的扩展卡可插入任何PCI系统可靠地工作。PCI总线与CPI无关,与时钟频率亦无关,可适各种平台,支持多处理器和并发工作;PCI总线为外设提供了访问微处理器更宽更快的通路,有效地克服了数据传输的瓶颈现象。PCI总线还具有良好的扩展性,通过PCI桥路,可允许无限地扩展。但PCI总线主要用于提高系统的性能。 (5) 通用串行总线(USB) 上述总线接口虽各具优点,但也都有其难以克服的缺点。它们在使用过程中安装麻烦、易受机箱内环境的干扰,受到计算机系统资源、插槽数量限制,不易扩展。而一种新的总线接口方式-USB,则是对其它总线接口技术扬长避短的产物。由于USB的热插拔特性,使得它的使用很方便,而且与串口、并口相比,USB的速度也快得多。我们可以很方便地对其作一些特殊处理或是更改设置,使用非常方便。USB是一些PC--大厂商,如Microsoft,Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在cmodeX上亮相以来,己广泛地为各CP厂家所支持。 USB主要有以下优点: 速度快。USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,USB2.0版规范允许480Mbps的速率传输数据。另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为12Mbps。相比之下,串口数据传输率是115kbps~230kbps,标准并口的数据传输率为IMbps,这些都远低于UBS的传输速率。 设备安装和配置容易。USB设备支持即插即用,安装UBS设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热插拔,系统对其进行自动配置,不再占用中断资源或者DMA资源,彻底抛弃了过去的跳线和拨码开关设置。USB为接缆和连接头提供了单一模型,解决了外设越来越多所造成的插槽紧张问题。 易于扩展。通过使用Hub扩展,可接多达127个外设。标准USB电缆长度为3m(5m低速),通过Hub或中继器可以使外设距离达到30m 使用灵活。USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。 第 16 页 共 35 页 采用USB接口的高速数据采集器硬件设计 能够采用总线供电。USB总线提供最大达5V,500mA电流,对于功耗较小的设备来说这是非常有效的。 通过分析我们可以看出使用USB接口是最适合我们这个设计的要求。 3.2 USB控制芯片的选择 要实现一个USB设备,首先面对的问题就是选择一种适合的USB控制芯片。从芯片大的构架来分,市面上所有的USB控制器芯片可以分为不需要外接微控制器的芯片和需要外接微控制器的芯片。而不需要外接微控制器的芯片又可以分为专门为USB设计的芯片和嵌入通用微控制器内核的芯片。 (1)专为USB设计的USB控制芯片: 该类芯片是厂商为开发USB应用设备而专门设计的,内部用的是专用的CPU。较为典型的代表为Cypress公司推出的CY7C63101A、CY7C63723等等。 (2)内嵌通用微控制器的芯片: 内嵌通用微控制器的USB控制芯片可以说是在通用微控制器的基础上扩展了USB功能。这些控制器芯片的优点是开发者已经熟悉了这些通用微控制器的结构和指令集,所以开发起来救比较容易。即使用户不熟悉这些芯片的结构,但是介绍这些微控制器的书籍和关于他们的范例程序、开发工具等都可以作为设计时的参考。此类芯片的典型代表有:Cypress公司的EZ_USB系列芯片(内嵌80C186),Amtel公司的AT76C711(内嵌Atmel AVR),SIEMNES公司的C541U(内嵌80C51、80C52)等等。 (3)需外接微控制器的芯片: 这些USB控制芯片只负责处理USB相关的通信工作,而且必须由外部微控制器的控制才能正常工作。如果选择了这种设计方按,那么必须再选择一个微控制器芯片,这样就增加了设备的体积。但其优点是用户可以选择任何一种自己熟悉的微控制器,而且这种芯片价格也相对便宜。既然需要外接微控制器,这些芯片就必须提供一个串行或者并行的数据总线来与微控制器进行连接。另外还需要一个中断引脚,当接口芯片收到或者是发送完USB总线数据时,这个中断引脚会向微控制器发出中断信号。此类芯片的典型代表有:Philips公司的PDIUSBD12、Netchip公司的NET2888芯片、National Semiconductor公司的USBN9603.等等。 第 17 页 共 35 页 采用USB接口的高速数据采集器硬件设计 综合考虑现有工作环境、资料收集情况和价格等因素,本课题采用了需要外接微控制器的PDIUSBD12芯片作为数据采集系统的USB控制芯片。 3.2 PDIUSBD12芯片简介 PDIUSBD12是Philips公司的一款性价比很高的USB器件,其内部无微控制器,需要通过八位并行接口与其他微控制器配合使用,并支持DMA传输。 这种实现USB接口的标准组件,可以使设计者在各种不同类型微控制器中进行选择,最大限度的利用已有的设备和开发环境。微控制器分离的接口器件是开发USB设备较为快捷、经济的选择。PDUISBD12芯片符合USB1.1协议;内部集成T320B的FIFO(先进先出)储存器;支持总线供电(从主机USB插槽获得电源)或设备自供电;提供GoodLink指示器,在设备正确枚举、配置后使LED持续点亮,数据传输时则闪烁;该芯片具有SOP28及TSSOP28两种封装形式。 图3.1 PDIUSD12引脚图 PDIUSD12芯片八位并行I/O口线DATA0至DATA7具有可控的三态门电路,故而 第 18 页 共 35 页 采用USB接口的高速数据采集器硬件设计 PDIUSD12芯片可以直接与AT89C52的数据总线相连。引脚CS_N即为该芯片的片选信号引入端。VDD、GND、D+、D一四引脚与USB电缆的下游插座相连,其中VDD与GND之间的5V电压可为设备提供电源;D+和D一为信号线。 INT_N引脚需与外部微控制器的中断引脚相连,用于在接口芯片收到或者发送完毕USB总线数据时微控制器进入相应的中断处理。XTAL1和XATL2为外部时钟信号引入端,使用6MHz晶振。在一般情况下其该芯片可达到2Mbit /S的传输速率。 芯片中串行输入引擎(SIE)模块起着至关重要的作用,主要完成所有的USB协议层功能,例如同步模式识别、并/串转换、位填充/去填充、CRC检验/产生、包PID产生/确认、地址识别、握手信号包响应/产生。另外PDUISBD12芯片所独有的Sotf Connect功能非常实用,能使外部的USB设备随时可以重新初始化。 在USB的D+和D一数据线上,为了消除连线上可能的外界干扰,需要分别连接一个1兆欧姆的下拉电阻。由于USB的即插即用,实际电路的工作会带来芯片工作状态不定的负面影响,因此在芯片的EOT管脚连接一个1千欧姆的上拉电阻到外接电源,同时连接一个1兆欧姆的下拉电阻到地。这样外围处理器可以处理USB不连接时的工作状态。芯片V3.3 OUT管脚输出3.3V的电压,通过一个1.5千欧姆的上拉电阻到D+线,通知主机外设位全速模式设置。D+和D一管脚上分别接有一个10欧姆的差分传输平衡电阻,以保证数据传送正确。GL_N管脚通过一个上拉电阻接LED,LED的点亮和熄灭可以显示当前设备USB是否正在传输和设备是否正常。ALE管脚与单片机的ALE管脚相连,此时可以把八位数据端口作为地址/数据复用总线使用。它的功能框图如3.2所示: 第 19 页 共 35 页 采用USB接口的高速数据采集器硬件设计 图3.2 PDIUSBD12功能框图 PDIUSBD12提供控制传输、中断传输、批量传输三种传输形式,芯片内除缺省控制管道端点0外,还有两个端点。端点1规定为同步模式的USB数据传输(只能为中断传输或者批量传输),有IN和OUT两个方向。端点2(主端点)的数据传输方向有处理器模块通过“Set Mode”命令配置。如果配置为同步式(只能进行中断或者块传输),则分IN和OUT两个方向;如果配置为等时IN/OUT模式,也有两个方向;如果配置为等时IN或等时OUT则只有一个方向。 3.3 AT89C51介绍 AT89C51单片机是采用高性能的静态SOC51设计。由先进CMOS工艺制造并带有非易失性Flash程序存储器。全部支持12时钟和6时钟操作,包含128字节和256字节RAM、32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信I/O扩展或全双工UART),以及片内振荡器和时钟电路。 此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0)。 可实现两个由软件选择的节电模式空闲模式和掉电模式。空闲模式冻结CPU,但 RAM、定时器、串口和中断系统仍然工作。掉电模式保存RAM的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。 AT89C51的管脚排列如下: 第 20 页 共 35 页 采用USB接口的高速数据采集器硬件设计 图3.3 AT89C51的管脚排列 说明: Vss接地。 Vcc电源:提供掉电、空闲、正常工作电压。 P0(P00-P07):P0口是开漏双向口,可以写为1使其状态为悬浮用作高阻输入。P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出1。 P1(P10一P17):Pl口是带内部上拉的双向I/O口,向P1口写入1时,P1口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的Pl口会因为内部上拉而输出电流。P1口第2功能: T2(Pl0) 定时/计数器2的外部计数输入/时钟输出 T2EX(P11) 定时/计数器2重装载/捕捉/方向控制 .P2(P20一P27):P2口是带内部上拉的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时,分别作为地址高位字节和16位地址(MOVX@DPTR),此时通过内部强上拉传送1。当使用8位寻址方式(MOV@Ri)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容。 P3(P30一P37) :P3口是带内部上拉的双向I/O口,向P3口写入1时,P3口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P3口会因为内部上拉而输出电流。P3口还具有以下特殊功能: 第 21 页 共 35 页 采用USB接口的高速数据采集器硬件设计 RxD(P30)串行输入口 TxD(P31)串行输出口 INT0(P32)外部中断0 INT1(P33)外部中断 T0(P34)定时器0外部输入 Tl(P35)定时器1外部输入 WR (P36)外部数据存储器写信号 RD(P37)外部数据存储器读信号 RST复位:当晶振在运行中只要复位管脚出现2个机器周期高电平即可复位,内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc即可实现上电复位。ALE地址锁存使能:在访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外部数据时一个ALE脉冲将被忽略。ALE可以通过置位SFR的auxlliary.0禁止,置位后ALE只能在执行MOVX指令时被激活。 PSEN程序存储使能:当执行外部程序存储器代码时,PSEN每个机器周期被激活两次,在访问外部数据存储器时PSEN无效,访问内部程序存储器时PSEN无效。 EA/Vpp外部寻址使能/编程电压:在访问整个外部程序存储器时,EA必须外部置低。如果EA为高时,将执行内部程序除,非程序计数器包含大于片内FLASH的地址。该引脚在对FLASH编程时接5V/12V编程电压(Vpp)。如果保密位1已编程,EA在复位时由内部锁存。 XATL1晶体1:反相振荡放大器输入和内部时钟发生电路输入。 .XATL2晶体2:反相振荡放大器输出。 3.4 系统硬件设计方案 第 22 页 共 35 页 采用USB接口的高速数据采集器硬件设计 PC主机 UJ USB接口芯片 PDIUSBD12 八路模拟A/D 单片机 转换开关 AT89C51 转换 UAN 低通光电耦前置放传感器 滤波 合隔离 大电路 图3.4 USB数据采集系统框图 本USB数据采集系统硬件主要由微控制器AT89C51、A/D转换芯片ADC0809、USB接口芯片PDIUSBD12组成。PDIUSBD12芯片需占用AT89C51的一个硬件中断,当接口芯片收到或者是发送完USB总线数据时,这个中断引脚会向微控制器发出中断信号。ADC0809内八通道多路转换器由89C51控制将某一路信号接入系统。转换得到的八位数据不断送入户AT89C52内部数据存储区中目标数组中,并在主机发出要求后经USB接口芯片PDIUSBD12送至主机。每次A/D转换的启动由主机软件的DveiceIoConrtol命令来启动。本系统采用控制传输管道传送主机IO控制信号、瓶量传输管道来传送、转换的数据。数据采集器的系统框图如图所示。 3.5 本章小结 提出系统总体设计方案。对PC机与数据采集器的接口方式和USB控制芯片的选取进行了分析,并说明了选用USB 主控芯片PDIUSBD12和USB接口方式原因及其优势。同时简单介绍了PDIUSBD12和单片机AT89C51的特性和功能。最后,阐述了数据采集器的设计实现。 第 23 页 共 35 页 采用USB接口的高速数据采集器硬件设计 4 采集器硬件设计 4.1 低通滤波电路的设计 采样输入信号,在传输过程中或由于器件本身的原因引入高频噪声信号。由香农采样定理知:要能从不失真地采样信号中复现原连续信号,采样频率必须大于或等于信号频率的两倍。当信号中含有高于一半采样频率的频率成分时,会引入混叠噪声,加入低通滤波器就是为了限制输入信号的最高频率,把输入信号限制在一定范围内,保证进入A/D的信号不会含有超过一半采样频率的成分,从而达到抗混叠的目的。 模拟滤波器通常可分为两大类:无源滤波器,由RLC元件构成;有源滤波器,主要由集成运放和RC元件构成。对于RC有源滤波器,能实现传递函数在S域左半平面上出现共扼极点,得到良好的滤波特性,频率响应具有十分平坦的通带和陡峭的过渡带,但增加装置的复杂性和时延。对于RC无源滤波器,其传递函数的极点永远只能位于S平面的负实轴上,频率特性呈单调衰减,无法做到通带平坦和过渡带陡峭,因此本系统中选用二阶有源滤波器。如图4.1所示: 图4.1 二阶有源滤波电路 上面这个电路也称作Sullen-key低通滤波电路,传递函数式4-1所示: 1 RRCC1212H(s),R,R1212s,,RRCRRCC1211212 (4-1) 可以看出传递函数H(s)有两个极点,而没有零点,因此系统是稳定的。犹豫 第 24 页 共 35 页 采用USB接口的高速数据采集器硬件设计 在这个系统中我取的截止频率wc为200KHZ,因此我可以采用巴特沃斯逼近公式来求R1、R2、C1、C2 如式4-3所示: 12H(jw),2n1,(w)n (4-2) 1H(s),n1n,1n,1ns,as,.....,as,a (4-3) 式4-2中的w是归一化频率,H(s)所式4-3所示的一般形式。 n 4.2 采样保持电路设计 在如上的电路连接情况下,ADC0809芯片的时钟信号为500Hkz,其转换时间为128uS。ADC0809要求输入信号在A/D转换期间保持稳定。ADC0809芯片作为一种普及型的A/D转换芯片,其内部并没有集成采样保持电路,所以在数据采集系统的硬件中必须设计独立的采样保持电路。 在本系统中采用了AD582芯片作为采样保持器件。AD582是低成本单片采样/保持放大器,需要外接保持电容后才能具有完整的采样/保持功能。如下是本系统中采用的采样保持电路连接图如图4.2所示。 图4.2 采样/保持电路图 在上图的采样/保持电路中,采样/保持器的控制脉冲由ADC0809的EOC引脚经两个反相器(增强驱动能力)后得到。这样,当ADC0809处于转换状态(EOC=0)时,采样/ 第 25 页 共 35 页 采用USB接口的高速数据采集器硬件设计 保持器处于保持状态;当ADC0809转换结束(EOC=1)后采样/保持器进入采样状态,采样下一个数据。采样/保持器的模拟电源不能从USB总线电缆得到,需外接独立的稳压电源。 此处选用100pf的保持电容,这样符合精度要求不太高,而速度要求较高的八位A/D转换芯片ADC0809的需要。此外该保持电容对采样/保持电路的性能影响很大,应尽量选择高档的电容。 此外,该采样/保持电路的增益值为(l+RF/R1),而且两电阻的阻值都应在2k以上。当所需增益为1时,省去电阻RF,将9号和8号两个引脚直接连接即可。 4.3 ATC89C51与PDIUSBD12连接电路设计 利用了MCU+D12的结构来设计硬件电路,这种灵活性减少了开发风险和费用,是实现USB外设最经济的解决方案。89C51是应用比较广泛的一种单片机微控制器,因此选用了它进行核心程序的设计,通过D12将数据信号转换为符合USB规则的信号。这样,既可以利用89C51中丰富的软件资源,又可以利用USB总线技术的即插即用、热插拔等特性,可以使开发设备的成本降低、缩短开发时间周期。下图所示为89C51与D12集成电路相互连接的简图: 图4.3 AT89C51与PDIUSBD12连接电路 89C51可以用地址数据总线复用/非复用两种连接方式,设计中采用了非复用方式。因为只需一位地址,所以D12的ALE直接接为低电平,用PDIUSBD12的A0脚作为地址位。A0可与89C51的任意一个I/O口相连。89C51的P1口(P10一P17),是内部上拉的双向I/O口,向P1口写1时,1口被内部上拉为高电平,并且可以用作输入口;当作 第 26 页 共 35 页 采用USB接口的高速数据采集器硬件设计 为输入脚时,P1口管脚被外部拉低,因为外部上拉而产生电流。在这里,A0是与P17相连,A0为高时,表示DATA0-DATA7上收到的是命令字;A0为低时,表明接收到的是数据。 D12的Vdd工作在5V,此时Vout3.3会输出3.3V的电压,用于提供给D+作参考电压。DMACK_N接高电平,CS_N接低电平作为片选。GL_N接发光二极管后加电阻接高电平,它的亮暗将反映USB芯片的工作状态。虽然D12可以编程输出时钟,但由于D12上电复位时默认时钟频率为4MHZ,欲让MCU工作在12MHZ/24MHZ,必须通过软件编程实现,而单片机在程序执行过程中无法改变时钟频率。为解决这一问题,需在设计中加入选频电路,当CLKOUT输出在软件编程下改为12MHz/24MHz时,选频电路脉冲触发单稳态电路,产生单片机复位脉冲,此脉冲持续时间应大于CLKOUT脚输出信号不稳定期(通过调整单稳电路中的电容电阻值来实现),51复位后可运行在新时钟下。但这增加了电路的复杂性。而且,这种方式也增加了电路的不稳定性。尤其是对于MCU的外围设备很多时,更不宜用单一时钟方式。设计中采用了独立时钟方式,即D12与MCU各用一个时钟。 USB协议规定,当总线上3us没有活动时,外设将进入挂起状态。此时,D12的SUSPEND引脚输出高电平。将此引脚与MCU的某个I/O脚相连,当MCU检测到D12进入挂起状态,且它也没有其它待处理事物时,也进入休眠状态。另外,D+与主机端口的连接也需注意。D12提供了两种连接方式:(一)用内部上拉电阻与软件编程。此方式下通过向某一特定寄存器位写1来实现与主机连接,断开连接只需向相应位写0。(二)直接在D+线外接上拉电阻,用插拔电缆实现连接与断开。对于总线供电设备,两种方式都可用;对于自供电设备,建议用前者,因为对于自供电设备,若用方式二,插上电缆后,经常出现系统检测不到设备或主机读取描述符不成功的情况,这与D+的上拉电阻有关。D+上的外接上拉电阻若由HUB的本地电源供电,则可能没有VCC,此时检测不到设备;若上拉电阻采用总线供电,而HUB的主控制器用本地电源供电,则可检测到设备连接,但读取描述符出错。若不加相应电路或软件修改,在操作中必须先拔电缆,再断/接外设电源,操作较麻烦。 4.4 USB接口硬件设计 USB接口部分的硬件电路设计主要实现与USB总线的连接,USB总线的数据传输,检测总线的挂起于复位,USB通讯的状态指示,抗干扰等功能。这些功能由微控制器和 第 27 页 共 35 页 采用USB接口的高速数据采集器硬件设计 PDIUSBD12及相应的外围电路共同实现。另外,为了方便USB接口的硬件调试,系统增加了一个RS232接口。在程序运行过程中,可以把USB接口的配置和状态通过RS232接口发送出来。USB接口部分硬件框图如图4.4所示。 图4.4 USB接口硬件框图 整个硬件系统主要分为下述几个模块: 单片机模块:它是控制的核心,根据设计的要求,写在其内部EPROM中的单片机序需要完成初始化、数据采集、传输数据给PDIUSBD12等功能。 USB协议转换模块:这个模块以PDIUSBD12为核心,将接收到的数据经过转换发送到USB口。 USB接口电路部分:主要是设备检测和抗干扰电路。 复位与挂起恢复电路:处理系统的上电和手动复位,检测PDIUSBD12的挂起状态在其从挂起状态恢复时唤醒(复位)单片机。 扩展端口:用于与数据采集系统连接和系统调试。 下面,对主要的硬件设计和应该注意的问题加以说明。 4.4.1 USB接口电路 USB接口电路如图4.5所示。 第 28 页 共 35 页 采用USB接口的高速数据采集器硬件设计 图4.5 USB接口电路 图中D12DP和D12DM分别接PDIUSBD12的D+和D-;它们是USB的数据线,外接匹配电阻是18欧姆。当USB电缆断开与主机的连接时,D+和D-处于悬浮状态,在噪声环境下,D+和D-的状态可能由于感应噪声而发生变化,SIE有时会误以为是主机产生的恢复信号从而使PDIUSBD12错误的退出挂起状态。因此需要将D+接一个1M的下拉电阻,而D-接一个1M的上拉电阻。 PDIUSBD12本身的ESD(Electro Static Discharge)保护能力是有限的,在严重的情况下,静电放电甚至可能损害到电子元件,为了有效的防止这种情况的出现,可以在D-,D+和地线之间并联一个瞬变电压抑制器。本设计采用的是德州仪器的SN75240芯片。当AB或CD两端出现瞬间高能量冲击时,它能以极高的速度把两端的阻抗值由高阻态变为低阻态,吸收一个大电流,从而把它两端间的电压钳位在一个较小的数值上,保护后面的电路元件不因瞬态高电压的冲击而损坏。 4.4.2 复位与挂起恢复电路 系统中单片机和USB控制芯片都需要复位,PDIUSBD12具有内置的上电复位电路,所以可以将RESET_N引脚直接连到VCC即可实现上电复位。但是这样使得PDIUSBD12在不用的时候也是打开的,在操作或存储时可能产生的静电放电(ESD),导致PDIUSBD12进入不确定的状态。为了避免这种情况出现,我们通过单片机的I/O端口来给PDIUSBD12提供复位信号。 单片机的复位可以有两种途径:一种是上电复位和手动复位,另外一种方式是当PDIUSBD12从挂起状态回复的时候,通过图4.6的复位电路产生一个正脉冲来复位/唤醒单片机。 第 29 页 共 35 页 采用USB接口的高速数据采集器硬件设计 图4.6 USB挂起恢复唤醒电路 如图中所示,当PDIUSBD12从挂起状态恢复时,D12SUSPD端从高电平变成低电平,经过两个单稳态触发器74HC123,RESUME端输出一个正脉冲以复位/唤醒89C52。正脉冲的宽度由74HC123外部连接的电容和电阻决定。这里单稳态触发器74HC123的作用是能够防止D12SUSPD引脚上的干扰脉冲导致单片机复位。当D12SUSPD端出现一个负脉冲时,第一个单稳态触发器的/Q端输出一个负脉冲,使得第二个单稳态触发器不能触发。只有D12SUSPD引脚上的负脉冲保持到第一个单稳态触发器的输出脉冲结束才能使第二个单稳态触发器触发,使单片机复位。 4.5 本章小结 本章详细叙述了基于USB接口的高速数据采集器硬件设计。其中,分别介绍低通滤波器电路、采样保持电路、AT89C51和PDIUSBD12连接电路、USB接口硬件设计,并给出了硬件电路原理图。 第 30 页 共 35 页 采用USB接口的高速数据采集器硬件设计 5 结 论 本数据采集器硬件设计是基于USB接口设计的,利用单片机知识和电子电路知识相联系来实现整个系统。首先我了解基于USB接口的数据采集系统的研究背景,提出课题的研究意义,指出了用USB接口相较于其他接口的优势:易实现、成本低、快速、兼容性强。另外还指出了USB接口和数据采集系统的研究现状。具体地从USB系统组成、USB的传输、USB的数据单元、USB的设备请求等方面讨论了USBI.0、USB2.0、USBOTG协议。提出系统总体设计方案。对PC机与数据采集器的接口方式和USB控制芯片的选取进行了分析,并说明了选用USB 主控芯片PDIUSBD12和USB接口方式原因及其优势。同时简单介绍了PDIUSBD12和单片机AT89C51的特性和功能。最后,阐述了数据采集器的设计实现。 详细叙述别介绍低通滤波器电路、采样保持电路、AT89C51和PDIUSBD12连接电路、USB接口硬件设计。 由于设计是基于USB进行的,在设计过程中查阅了大量的有关USB和数据采集器方面的知识,因此,通过本设计使我对USB的协议和它的结构组成有了一定的了解,对数据器芯片的功能有了深刻的了解。通过本次设计我对数据采集器有了一定的了解。在设计过程中,我们也遇到了很多困难,在硬件方面由于之前没有接触USB接口控制芯片,不知道其工作原理。因而刚开始设计进程很慢,后来通过各种渠道比如到图书馆查阅相关资料、上网等才把其弄懂。在指导老师的精心指导下,得以把整体框架清理出来。 第 31 页 共 35 页 采用USB接口的高速数据采集器硬件设计 参考文献 [1] 高翔. 基于USB的实时数据采集系统的设计和实现[D]. 西北工业大学硕士学位论文,2006. [2] 孟祥军. 基于USB接口的数据采集系统研究 [D]. 山东科技大学硕士学位论文,2004. [3] 段军. 基于USB的数据采集和控制系统的开发与研究[D].南京理工大学硕士学位论文,2004. [4] 王凡,揭晓,潘克修等. 基于USB的高速数据采集系统的设计 [J]. 国外电子测量技术, 2006,25(7):50,52. [5] 马海潮. 超高速数据采集技术发展现状 [J]. 测试技术学报, 2003,17(4):287,292. [6] J. Ludvig, J. Mcarthy, S. Meuendorffer etc. Reprogrammable Platforms for High-Speed Data Acquisition [J]. Design Automation for Embedded Systems,2002(7),pp.341-364. [7] 张剑. 基于USB总线的便携式数据采集系统设计[D]. 南京理工大学硕士学位论文,2004. [8] 曾铮. 基于DSP和USB的声音信号采集系统设计 [D]. 北方工业大学硕士学位论文, 2006. [9] 刘丁,毛德柱,王云飞. USB在数据采集系统中的应用 [J].电子技术应用, 2000,(4):37,39. [10] A. Bogaerts, R. Keyser, G. Mugnai etc. SCI Data Acquisition Systems Doing more with less. 1995. [11] USB Implementer’s Forum Universal Serial Bus Specification Revision 1.1[S],Septermber 23,1998 [12] 许永和.USB外围设备设计与应用[M].北京中国电力出版社,2002 [13]王奕,王凯.基于USB2.0的数据采集系统的设计与实现.电子工程师,2002 第 32 页 共 35 页 采用USB接口的高速数据采集器硬件设计 [14]Universal Serial Bus Specification,Compaq,Intel,Microsoft,NEC Revision 1.1 September23, 1998 [15] Cypress Semiconductor. EZ-USB FX Manual Technical Reference[M]. San Diego,1998. 第 33 页 共 35 页 采用USB接口的高速数据采集器硬件设计 致 谢 在本次设计过程中,我得到了来自学校、院里等方面的帮助,成功的完成了自己毕业设计,达到了应有的目标。在这里特向以下单位和个人致以本人最诚挚的谢意: 首先,感谢学校能够提供我们一个这样锻炼和提高自己能力的机会,使得我们在走入社会之前有了一个深刻的实践经验的体会。这次设计不但检验了自己的知识结构,证实了自己的能力,使自己在进入工作岗位之前有了一次对于工作的直观评估和体会,而且使我们对自己的实践能力建立一些信心。 其次,要特别感谢指导老师刘桥老师,刘老师在整个设计过程中给了我很大的帮助,他的严格要求和对学术的严谨态度,深深的感染了我,我有必要像他那样无论在什么事上,都以自己最认真的态度去对待,正是他不懈的指导和督促,才使得我们的毕业设计得以顺利的完成。还有就是在设计过程中遇到麻烦的时候,刘老师总是很耐心和我一起分析问题,帮我找出问题所在,才使得我解决问题。刘老师严谨的治学作风、忘我的工作精神时时激励着我不断进取。他渊博的学识、敏锐而活跃的思维为我树立了榜样,使我终身受益。在课题设计过程中,我还得到了同组同学的热情帮助,在此,向他们深表谢意~同他们的交流拓宽了我思路,丰富了我的知识。 最后,向所有帮助过我的老师、同学表示感谢~ 第 34 页 共 35 页 采用USB接口的高速数据采集器硬件设计 附录 第 35 页 共 35 页
/
本文档为【采用USB接口的高速数据采集器硬件设计毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索