当前位置:首页 > 智能硬件 > 智能硬件
[导读]  0 引言  在现代工业生产和科学技术研究等各行业中,通常需要对各种数据进行采集。目前常用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,容易受计算机插槽

  0 引言

  在现代工业生产和科学技术研究等各行业中,通常需要对各种数据进行采集。目前常用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真,容易受计算机插槽数量和地址、中断资源的限制,可扩展性差。而带RS-232串口的数据采集器,在需要大批量、高速传输的场合下,其应用也受到限制。通用串行总线USB(Universal Serial Bus)的出现,很好地解决了上述问题,很容易实现便捷、高速、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。

  1 硬件设计与实现

  USB总线传输速度快,为了充分发挥USB总线这一优势,易选用速度较快的微处理器。另外,USB接口设备是采用总线供电的,考虑到总线输出功率有限,尽量采用集成度高的器件有利于降低USB总线的负荷。

  USB接口模块的选择有两种方案:一种是采用带有USB接口的单片机;另一种是采用普通单片机和USB控制芯片。对于第一种方案,不需要设计单片机和USB控制芯片之间的接口电路,简化了电路设计,但是带有USB接口的单片机种类有限,从而限制了单片机的选择。对于后一种方案,可以选择所熟悉的单片机,以减小开发难度,并缩短开发周期。系统采用的是SOC单片机C8051F000,USB控制芯片采用PDIUSBD12

  C8051F000单片机[1]是四边扁平贴片封装,内部集成了8通道的12位A/D转换器, 可编程增益放大器PGA,自带看门狗,具有32位数字I/O端口,体积小巧,集成度高,功耗较小,满足USB总线供电的要求。而且,C8051F000单片机最大工作频率可达到25MIPS,采用流水线结构,是单指令周期单片机,运行速度也较快,适于开发USB设备。

  PDIUSBD12 是Philips 公司推出的符合USB1.1版规范的带并行总线的接口芯片。片内集成了320B的FIFO存储器,在批量模式和同步模式下均可实现1MB/s的数据传输速率,集成了模拟收发器,串行接口引擎,串行接口引擎实现了全部的USB协议层,包括并行/串行转换、位填充/解除填充、CRC校验/产生、地址识别和握手评估/产生等,从而减小了PDIUSBD12驱动程序开发的难度[2,3]。

  系统硬件包括主MCU、USB接口电路、模拟信号输入调理电路和电源转换电路等组成部分,其工作原理图如图1所示。

  系统有8路模拟输入,模拟输入信号经过信号调理电路滤波、放大后送给C8051F000,此单片机自带的A/D转换器将输入的模拟信号转换为数字信号,并通过USB接口传送给计算机。计算机也可以通过USB接口向C8051F000发送命令。系统采用USB总线供电,由于USB总线只能提供+5V供电,而单片机C8051F000所需要的典型供电电压是3.3V,信号调理电路中的多路转换开关和运算放大器所需要的供电电压是+9V和-5V,故须设计电源转换电路将5V电压转换为3.3V、-5V和+9V,以便给相应的芯片提供电压。其中USB接口电路和信号调理电路的设计是最为重要的两个部分。

  1.1 USB接口电路的设计

  USB控制芯片PDIUSBD12与计算机及单片机之间的接口电路如图2所示。USB总线共4条线,两条电源线VCC和GND、两条差分数据线D+和D-。为了防止在读写数据的过程中电压波动,及附近大功率用电设备对电压的影响,在USB总线的两条电源线VCC和GND之间加了去耦电容。USB总线是采用差分数据传输,因此在任意时刻,只能有一个发送器或接收器。在D+/D-线上串接的两个18Ω电阻,及下拉的两个1M电阻是用来进行阻抗匹配的。

  PDIUSBD12的8根数据线D0~D7与单片机的8根数据线分别连接,实现PDIUSBD12与单片机之间8位数据的并行传输,PDIUSBD12的读写引脚与单片机的I/O引脚相连,以实现单片机对PDIUSBD12的读写操作。PDIUSBD12的引脚A0是命令口和数据口的地址线,PDIUSBD12有两种数据总线方式:多路地址/数据总线和单地址数据总线,为了尽量少占用单片机的I/O引脚,系统采用单地址数据总线,PDIUSBD12的引脚ALE接地,引脚A0与单片机的I/O引脚相连,A0为1时,总线D0~D7上传输的是命令,A0为0时,总线D0~D7上传输的是数据。PDIUSBD12的挂起引脚SUSPD和中断引脚INT分别与单片机的一个I/O引脚相连,以实现PDIUSBD12挂起及PDIUSBD12向单片机发出中断。系统中PDIUSBD12的DMA功能没有使用,引脚DMACK和EOT都通过一个上拉电阻连到电源。振荡电路采用6MHz晶振,经过PDIUSBD12内部倍频电路之后,PDIUSBD12内部实际时钟为24MHz 。引脚GL通过一个绿色指示灯和一个电阻连到电源,当该仪器枚举成功以后,该指示灯亮,当计算机与该仪器进行通讯时,此指示灯闪烁。
 1.2 信号调理电路的设计

  信号调理电路主要包括模拟信号多路选择、滤波和信号放大等组成部分,电路如图3所示。

  系统电路设计中,只使用了单片机C8051F000本身自带的一路模拟输入AIN0;在单片机外围用多路模拟开关CD4051扩展了8路模拟输入。当单片机给CD4066的引脚CONT1输入一个低电平、给引脚CONT2输入一个高电平时,CD4066的引脚IN1和OUT1之间断开、引脚IN2和OUT2之间短接,运算放大器ICL7650的负端输入与它的输出断开,此时ICL7650对它的输入信号放大8倍;当单片机给CD4066的引脚CONT1输入一个高电平、引脚CONT2输入一个低电平时,CD4066的引脚IN1和OUT1之间短接、引脚IN2和OUT2之间断开,ICL7650的负端输入与它的输出直接短接,此时ICL7650和它的外围电路一起组成了一个电压跟随器,只是增大A/D转换器的输入阻抗,并不对它的输入信号进行增益放大。

  C8051F000片内集成的增益放大器PGA编程范围为0.5~16,当ICL7650作为一个电压跟随器时,系统可编程增益范围为0.5~16;当ICL7650对输入信号进行8倍放大时,系统可编程增益范围为4~128,由此可见,系统可编程增益范围较宽,满足大多数情况下增益放大需要。

  2 软件设计与实现

  系统软件包括单片机固件程序,USB驱动程序及其链接库,及用户应用程序。为了降低开发难度及缩短开发周期,系统采用了周立功公司开发的D12 SMART套件中的USB驱动程序及其链接库[3],该链接库为用户应用程序提供了API函数,在编写应用程序时,只需调用API函数与采集系统之间交换数据,而不需要关心具体的USB通讯协议。

  单片机固件设计采用中断驱动方式。CPU在前台进行数据采集, USB传输则在后台进行, 而其中断和主循环的数据交换则通过事件标志和数据缓冲区进行。这样既保证了数据采集的实时性,又获得了最佳的传输速率。固件结构如图4 所示。 

                 

  中断服务程序主要负责从PDIUSBD12收集数据, 将建立包和OUT数据存入数据缓冲结构体,并设置相应的标志位;而主循环负责对数据进行处理,根据标志位区分是标准请求还是厂商请求,进而调用标准请求处理程序和厂商请求处理程序。其中标准请求处理程序主要负责在设备枚举过程中主机为识别设备而发送的请求, 主要包括读取USB设备描述符、给USB设备分配地址、配置USB设备等功能。只有在计算机与USB设备建立链接之后,计算机才能识别出USB设备,与USB设备进行通讯。而厂商请求处理中是自行定义的请求处理函数, 用来处理计算机发送给采集系统的各个设定命令,主要包括设定采集系统的量程、读取通道采样数据等命令。标准设备请求是在枚举过程中由安装在PC机中的USB驱动程序发送给USB设备的,而厂商请求是由用户应用程序通过调用USB链接库提供的API函数将命令传递到功能驱动程序后, 通过相应例程发送到USB设备的。

  PDIUSBD12 命令接口是一套访问PDIUSBD12 所有功能的处理函数,主要包括对PDIUSBD12设置地址、设置端点使能、设置模式、读中断寄存器、选择端点、读端点状态、读取缓冲区、清缓冲区等操作。当固件中的其它程序需要对PDIUSBD12 进行操作时, 只须调用其中相应的子程序即可。

  硬件提取层是固件中的最底层代码, 直接对PDIUSBD12访问,其执行与具体硬件电路有关,使用的单片机不同, 或者实现的设备功能不同时这部分代码也有所不同。

  3 结束语

  系统采用高速SOC单片机C8051F000和PDIUSBD12实现了宽量程的数据采集和基于USB接口的数据传输,基于该方案的采集系统已经在实验室调试通过,能够准确地进行数据采样和传输。本文作者创新点:利用了C8051F000片内集成的增益放大器PGA,并结合外围增益放大电路使系统的最大增益放大倍数达到了128倍,从而使系统能完成较宽范围内的电压信号采集;系统在PDIUSBD12与单片机之间的接口电路设计中采用了单地址数据总线方案,相对于通常所采用的多路地址/数据总线方式大大减少了单片机I/O引脚的占用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:研究一类基于STM32的数据采集系统,采集并储存有轨电车车载超级电容的电压/电流数值。首先介绍该数据采集系统中硬件部分的各个功能区域,随后设计了数据采集系统的软件部分,编写了ADC采集的程序并通过GPRS4G无线通...

关键字: STM32 数据采集系统 寿命预测

中国广州,2021 年 6 月——广东高云半导体科技股份有限公司(以下简称“高云半导体”)推出其 GoBridge ASSP 产品线,同时发布 GWU2X 和 GWU2U USB 接口桥接器件。GWU2X ASSP可以将...

关键字: 高云半导体 USB接口

通过消除对定制ASIC的需求并简化前端设计,测试和测量工程师可以节省数月的设计时间 北京2022...

关键字: 缓冲放大器 数据采集系统 TI

(全球TMT2022年1月20日讯)德州仪器(TI)推出具有业界超宽带宽的高输入阻抗(Hi-Z)缓冲放大器BUF802,能够支持高达3GHz的频率带宽。BUF802具有更宽的带宽和高压摆率,从而能够实现更高的信号吞吐量...

关键字: 德州仪器 缓冲放大器 数据采集系统

本文来源面包板社区现在,工程师做SMT贴片已经越来越方便,但是,对SMT中的各项工艺,作为工程师的你真的了解“透”了吗?本文整理了“五大SMT常见工艺缺陷”,帮你填坑,速速get吧!缺陷一:“立碑”现象即片式元器件发生“...

关键字: SMT GE 元件 引脚

本文来源于信号完整性作者:Hank ZumbahlenHankZumbahlen1989年进入ADI公司,最初担任驻加州的现场应用工程师。在过去数年中,他还作为高级应用工程师,参与了培训和研讨会发展工作。此前,他在Sig...

关键字: 接地 引脚 ADC 混合信号

双列直插封装(英语:dual in-line package) 也称为DIP封装或DIP包装,简称为DIP或DIL,是一种集成电路的封装方式,集成电路的外形为长方形,在其两侧则有两排平行的金属引脚,称为排针。DIP包装的...

关键字: DIP 引脚 通孔插装

行业新闻早知道,点赞关注不迷路!你能想象一台轿车上没了充电功能,车主会有多无助吗?而这一幕竟然出现在了特斯拉的身上。 近日,据国外媒体报道,部分特斯拉车主在社交平台表示,最新购买的特斯拉轿车的内饰中控和后排的USB-C接...

关键字: USB接口 特斯拉

CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。

关键字: cc2530 引脚

摘要:介绍了一种通过USB总线进行数据传输,并通过上位机软件对数据进行显示和记录的便携、易用、经济的新型USB虚拟光功率计的谖计方法。该方法通过InGaAs—PIN30613光电二极管采集光功率,并通过MAX4238和C...

关键字: 虚拟测量 光功率计 USB接口 LabVIEW

智能硬件

22092 篇文章

关注

发布文章

编辑精选

技术子站

关闭