DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1003|回复: 0
打印 上一主题 下一主题

[接口电路] 基于USB数据采集系统的设计开发

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-22 00:22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引 言      目前,国内外的数据采集系统常用的数据采集卡有RS-232、RS-485卡、PCI卡、ISA卡等。这些数据采集卡虽然有各自的优点,但是也有各自的缺点。例如:RS-232、RS-485卡的传输速度较慢,PCI卡、ISA卡需要插在主机的PCI插槽或ISA插槽上,使用不方便等。通用串行总线(USb)是一种新的接口方式,具有连接方便、支持热插拔、无需外接电源、传输速度高、功耗低等优点。USb 2.0的最大传输速率高达480Mbps。因此,基于USb的数据采集系统在通信、遥感、智能仪器仪表、工业自动化等领域得到了广泛应用。       1 系统硬件设计      该数据采集系统的硬件部分主要由A/D转换器AD7829,LPC2132微处理器,USb2.0接口芯片ISP1581和PC机组成。USb数据采集系统硬件结构图如图1所示。

图1  系统硬件结构框图     数据采集系统的工作原理:由传感器采集的信号经调制电路放大、滤波等处理后,进入由微处理器控制的AD7829进行模数转换,转换后的数字量进入微处理器LPC2132并暂存在其中,随后由USb接口芯片将数字量传递给PC机进行数据处理,同时将PC机端的客户应用程序发出的控制信号通过USb接口传送到以LPC2132为核心的数据采集系统[1]。      1.1 USb接口芯片      该数据采集系统选用ISP1581作为USb接口芯片,ISP1581是Philips公司推出的一款高性价比的USb2.0接口电路,支持7个IN端点,7个OUT端点和一个固定控制IN/OUT端点。ISP1581支持SUb2.0的自检工作模式和USb1.1的返回工作模式,可以在高速或全速条件下正常运行。内部集成有串行接口引擎(SIE)、PIE、8Kb的FIFO存储器、数据收发器、PLL的12MHz晶体振荡器和3.3V的电压调整器。该电路可直接与ATA/ATAPI外设相连,并具有高速DMA接口。传输速率最高可达480Mbps/s[2]。      1.2主控芯片和A/D转换芯片      为了满足速度的要求,主控芯片选用LPC2132。LPC2132是Philips公司的一款基于ARM7TDMI-STM 内核的微控制器,带有64kb的嵌入的高速Flash存储器和16kb片内静态RAM。多达47个5V的通用I/O口,1个8路10位A/D转换器,1个10位D/A转换器,可提供不同的模拟输出。多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM 和SSP。通过片内PLL可实现最大为60MHz的CPU操作频率[3]。虽然LPC2132自带1个8路A/D转换器,但是其每通道转换时间是2.44us,达不到高速数据采集的要求,因此选用AD7829模数转换器。AD7829是一个8路8位模数转换器,最大转换率2Mbps,可以满足系统设计要求。      1.3硬件接口电路      该数据采集系统硬件连接图如图2所示。              

                                         图2硬件连接示意图      模拟信号经AD7829转换后变为数字量,数据先存放在LPC2132的寄存器里,再由LPC2132将数据传送给ISP1581,在此将ISP1581的缓冲区定义为8个,分别写入8路转换后的数据。而PC机通过USb接口与ISP1581连接,ISP1581负责分类和解释PC机发来的信号,具体操作流程如下:PC机发送给USb设备的数据以包的形式写入ISP1581的缓存中,当缓存被写满或数据发送完毕后,ISP1581就给LPC2132发中断信号,LPC2132 响应中断信号进入中断服务程序执行相应的包处理。USb设备不能主动向主机发送数据,只有当PC机要求USb设备发送数据时,LPC2132才将主机需要的数据写入ISP1581相应端点的缓存中[4]。
                          
                       
                          
                                      2 系统软件设计      本数据采集系统的软件部分主要由:固件程序设计、应用程序设计和USb驱动程序设计三部分组成。      2.1固件程序设计      固件程序中AD7829的转换脉冲/CONVST是由LPC2132 的P0.18 口发出,当AD7829转换结束后输出有效低电平,LPC2132接到有效电平后,发下一路地址(通过A0,A1,A2的高低电平配置)给AD7829,然后读数据,当AD7829的/RD和/CS信号有效时,将数据读人LPC2132的数据缓冲区的同时将下一路的地址打人,这样循环采集8路模拟输入,直到数据采集结束。      LPC2132与ISP1581之间的通信时靠LPC2132给ISP1581发送命令和数据来实现的。通过ISP1581的INT中断信号与微控制器LPC2132的EINT0口相连,当接收或发送数据成功时会产生中断,固件程序对这些中断进行响应并完成设备的配置。设备固件程序采用Keil C进行编写,包括主循环程序、中断服务程序、USb标准请求处理和批量数据传送请求处理4部分。如图3所示。        

               图3 固件程序框图      2.2 应用程序设计      应用程序包括Win32DLL程序和用户应用程序。Win32动态连接库是包含共享函数库的二进制文件,可以被多个应用程序同时使用。客户应用程序则是实现数据采集系统功能的软件程序,在本系统中采用Visual C++进行编写。      2.3 USb系统驱动程序设计      USb系统驱动程序采用分层结构模型,如图 4 所示。选用Microsoft公司提供的Windows驱动开发工具Windows DDK。      

             图 4 USb分层驱动模型      应用程序通过Win32 子系统利用一个Windows定义的软件接口(API)来同根集线器驱动程序进行通信。而USb根集线器驱动程序则要通过USbDI(通用串行总线驱动程序接口) 来实现同通用串行总线驱动程序(USbD)的通信。然后, US2bD会选择两种主控制器驱动程序之一来同其下方的主控制器进行通信。最后,主控制器驱动程序会直接实现对USb 物理总线的访问。在USb可用之前, 必须对其进行配置和接口选择, 然后所选择接口的各个管道才是可用的。在USbDI的基础上进行编程将大大简化, 用户不用关心IRP的类型, 而只需要在相应的分发例程中通过构造USb块并将其通过USbDI发送下去,就可以实现对USb设备的控制[5]。      3 结束语      USb数据采集系统优于传统的实时数据采集系统,它具有安装方便,支持即插即用,易于扩展,电磁干扰小,性价比高等优点。系统采用ARM7 芯片LPC2132和USb 2.0接口控制芯片ISP1581,实现数据采集系统的软硬件设计开发。在实验测试中,使用信号发生器生成8路模拟信号并将其接到数据采集系统的输入端,在PC机上可显示出对应的8路模拟信号波形,单路采样率为150 kSPS,达到系统设计的要求,证明了设计的正确性和实用性。      参考文献      [1] 王立萍,吴黎明.基于嵌入式USb数据采集系统的设计开发 [J]. 电子测量技术,2007,30(9):24"26      [2] ISP1581 Users Manual [Z].Philips Corp      [3] 周立功,张华.深入浅出ARM7[M].北京:北京航空航天大学出版社,2005.52"53.      [4] 张广利,阎有运.基于AT89S52的USb数据采集系统的设计[J] .仪器仪表用户,2008,03:33"35.      [5] 周冲,刘镇.基于AT89S52的USb数据采集系统的设计[J] .科学技术与工程,2007,7(22):5935"5938   
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-12 11:15 , 耗时 0.097052 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表