基于USB总线的实时数据采集系统设计与实现(精选10篇)
摘要:介绍了基于USB总线的实时数据采集系统的USB设备固件程序、驱动程序、应用程序的设计与具体实现。
关键词:通用串行总线 实时数据采集 设备固件 驱动程序
在现代工业生产和科学技术研究的各行业中,通常需要对各种数据进行采集。目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真?熏易受计算机插槽数量和地址、中断资源的`限制,可扩展性差。而通用串行总线USB(Universal Serial Bus)的出现,很好地解决了上述问题,很容易实现便捷、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。
1 系统硬件设计与实现
1.1 硬件总体结构
基于USB总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、USB接口芯片,其硬件总体结构如图1所示。多路模拟信号经过模拟开关传到A/D转换器转换为数字信号?熏单片机控制采集,USB接口芯片存储采集到的数据并将其上传至PC,同时也接收PC机USB控制器的控制信息。
1.2 PDIUSBD12芯片
USB接口芯片采用Philips公司的一种专用芯片PDIUSBD12(以下简称D12)。该芯片完全符合USB1.1规范,集成了SIE、320B的多配置FIFO存储器、收发器、电压调整器、SoftConnect、GoodLink、可编程时钟输出、低频晶振和终端电阻等,支持双电压工作、完全自动DMA 操作、多中断模式,内部结构如图2所示。
单片机通过8位并行接口传送经过A/D转换的采集数据,存储在FIFO存储器中。一旦存满,串行接口引擎SIE立刻对数据进行处理,包括同步模式识别、并/串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定,处理完毕后数据由模拟收/发器通过D+、D-发送至PC。上述过程遵循USB1.1协议。D12与89C51的具体实现电路如图3所示。
2 系统软件设计与实现
系统软件包括USB设备固件编程、驱动程序和应用程序。其中设备固件是整个系统的核心,它控制芯片D12采集数据、接收并处理USB驱动程序的请求和应用程序的控制指令。
2.1 USB设备固件程序设计与实现
设备固件是设备运行的核心,用C语言设计。其主要功能是控制A/D模块的数据采集;接收并处理驱动程序的请求,如请求描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等USB1.1标准请求;控制芯片D12接收应用程序的控制指令等。其程序主框图如图4所示。单片机检测到D12后进入主循环。此时PC机先发令牌包给D12,D12接收到令牌包后给单片机发中断,单片机据中断类型设定标志位Status;最后执行相应标志位的中断服务程序。单片机通过A/D模块的中断入口控制A/D模块的数据采集。
1 系统整体设计
本系统主要由信号调理电路、FPGA控制核心、A/D转换电路、FIFO缓存和USB接口组成。信号调理电路对输入的模拟信号进行预处理, 使其能被ADS8365完整量化;FPGA负责接收所有的指令和控制信号, 并控制ADS8365进行同步模/数转换, 同时将转换后的数据发送到FIFO缓存;ADS8365对模拟信号完成16位量化;FIFO缓存量化后的数字量;USB接口从FIFO中读取数据并上传至计算机。系统采用54 MHz主频, 根据待采集信号的特征对模拟信号进行27 k Hz频率采样。系统采用Xilinx公司的SPARTAN-3AN系列FPGA XC3S200AN, 这款FPGA具有288 KB的Block RAM, 可以用作FIFO数据缓存。此外, XC3S200AN有4 MB的片上闪存, 有助于减小系统的PCB面积和布线难度。USB接口芯片采用CY7C68013, 其内置符合USB2.0协议的收发器、串行接口引擎、增强型8051内核以及可编程外围接口。系统整体结构图如图1所示。
FPGA并行处理的特性为系统的功能扩展提供了很大的灵活性。例如, 添加Flash芯片并配以控制程序就可以实现数据的非易失存储。
2 系统关键模块设计
2.1 信号调理电路设计
要使输入的模拟信号能够被完全量化, 则信号电压要求在ADS8365的转换范围之内, 且要有一定的驱动强度。输入的模拟信号电压范围为0~5 V, 先用高精度电阻将模拟信号分压, 再利用运算放大器OPA4340对分压后的信号进行电压跟随, 以保证输入信号能够被完整采集。信号调理电路如图2所示。
输入信号经分压后与地之间接了一个12 p F电容以滤除信号的高频干扰。
2.2 模/数转换模块设计
为满足多通道、高精度数据采集的要求, 本系统选用16 bit分辨率、6通道、最高250 k Hz采样率的差分输入高性能模/数转换芯片ADS8365。利用其内部2.5 V电压作为参考电压, 经过电压跟随后接入负向输入端, 将经调理后的模拟信号接正向输入端。这样可以有效地降低外界干扰, 保证采样准确度。A/D转换模块电路如图3所示。
FPGA通过控制ADS8365的BYTE (输出位宽) 、RD (读信号) 、CLK (转换时钟) 、HOLD (保持信号) 、A2、A1、A0 (地址) 等信号完成模/数转换, 并将转换后的16位数字量发送到FIFO缓存。
2.3 FIFO缓存模块设计
与FPGA相比, USB2.0接口是一个高速接收单元。数据缓存是不同工作速度的系统之间不可缺少的部分, 使用FIFO可以使各系统工作在自己的时钟频率下, 不需要互相握手就能进行数据交流。为缩短系统开发周期、提高系统稳定性, 本设计利用Xilinx公司的开发软件ISE提供的IP核在XC3S200AN内部构建了功能稳定的FIFO, 其容量大小为8 KB, 读、写宽度都为16 bit, 可以为每通道缓存2 KB数据。FIFO内部结构如图4所示。使用FIFO IP核只需要根据满、空等状态信号就可以进行数据传输, 降低了系统复杂度。
2.4 USB接口设计
FPGA将模/数转换后通过内部FIFO的空、满信号数据发送至USB单片机 (CY7C68013) , 计算机再从单片机中读取数据。本文以FPGA为主控芯片, CY7C68013工作在Slave FIFO模式。FPGA与CY7C68013接口电路如图5所示。
3 逻辑控制
3.1 FPGA逻辑控制
FPGA主要对ADS8365和FIFO进行控制, 其策略是不停地将从ADS8365采集到的数据的高13位连同1 bit指令信息和2 bit通道信息写入FIFO, 数据接收设备则通过FIFO的空信号来决定是否继续读取数据。
通过FPGA对ADS8365中A2、A1、A0 3个地址位的配置可以产生不同的采样顺序, 本设计中采用循环采样方法, 顺序地对4个通道进行采样。
控制ADS8365采集第一个通道数据并写入FIFO的部分Verilog-HDL程序如下 (其中以“2'b00”表示通道1) :
ads_hold A<=0;//hold低电平进行采样
ads_rd<=0;//A/D数据输出使能
data1_temp[15:0]<=ads_data[15:0];//读取量化数据
fifo_wren<=1;//FIFO写使能
ads_rd<=1;//A/D数据输出禁止
//待存入FIFO的数据
fifo_wrclk<=1;//FIFO写时钟上升沿写入数据
本设计将ADS8365模/数转换操作和内部FIFO写操作融合到一个进程中, 在简化时序的同时提高了系统稳定性。对于8 bit数据接口, 可以通过FPGA将ADS6365的16 bit数据配置成2个8 bit数据顺序输出。
3.2 USB接口控制
USB接口应用程序通过驱动程序对USB芯片进行命令控制, 读取FIFO中的数据并发送至计算机。CY7C68013程序开发包提供了USB标准设备请求和数据传输接口。程序首先调用Win32函数Creat File () 得到设备驱动程序的句柄, 再调用Device IOControl () , 通过句柄把IO Control Code (IOCTL) 和输入/输出缓冲提交给驱动程序。程序框图如图6所示。
4验证
利用本系统对噪声传感器输出的频率为26.4 Hz、幅值为4 V的正弦波进行采集, 可以得到8 bit十六进制数据, 所得数据分布符合正弦曲线。根据数据绘出的波形如图7所示。
软件处理的数据只截取量化数据的高8位, 分析图中数据, 最大值为E4h, 最小值为18h, 其差值转换电压为:[ (E4h-18h) /FFh]×5 V=4 V。
本文所设计的基于USB总线的多通道数据采集系统具有实时性好、可靠性高、易与其他设备通信、电路简单和扩展性强等优点, 适合应用于多通道、高精度要求的数据采集设备中, 是一种较理想的数据采集方案。
参考文献
[1]薛园园.USB应用开发技术大全[M].北京:人民邮电出版社, 2007.
[2]李艳军, 郭正刚, 张志新, 等.基于FPGA多通道同步数采集系统设计[J].微计算机信息, 2007 (26) :212-213.
关键词 实时数据库 数据采集 系统设计 实现
中图分类号:TP392 文献标识码:A
这些年,企业进行信息化建设是我国一些大型企业所面临的重大问题。自从新世纪以来,烟草企业也逐渐开始信息化建设。随着MES 系统逐渐被人们认可,在接下来的几年之内,卷烟企业进行战略性调整和信息化建设是关键的工作,这直接决定了中国烟草工业的命运。
1 数据中心框架结构和设计
1.1系统设计的目标
设计出来的实时数据采集系统达到的效果如下:能够建设符合各个领域里面的决策系统;集中了很多小规模范围里面的应用;能够有效分担其它的事物处理系统的负担,提高决策和事物处理的效率。这个系统建设是以公司的业务流程建立的一个管理机制,是可以提供准确相同的分析数据。整个系统采用的是大量数据集中在一起的方式,这样就可以实现数据的自动获取和积累,还有就是业务数据和信息在整个行业里面实现共享。这个系统还能够提供一个相当强大的数据处理平台,能够满足不同种类业务的分析。整个系统的建立还能够提高工作的效率和准确性。这个系统能够满足现代的企业管理模式,这样就可以使得业务流程化和规范化。这样就可以通过智能的商业技术对集团的信息进行分析预测,还可以实现业务的自动化,为企业领导分析决策提供一个准确的依据。
1.2系统的性能指标
在进行实时数据库系统设计的时候需要保证的系统性能如下:(1)可靠性和及时性,设计出来的系统必须能够二十四小时进行工作。这样就可以保证系统在任何情况之下都可以进行资源的分配,这样就可以保证各个板块的功能能够正常进行。(2)系统的整体性和效率性,设计的系统需要是一个高效的一体化管理系统,系统需要能够容纳大量的数据,而且数据的更新还需要在短时间之内完成。整个系统需要在短时间之内完成对数据的处理,而且还需要高效率高质量完成。(3)系统需要先进和实时,整个系统可以运用充分的资源,然后根据客户的要求,把高的工作效率和好的经济效益当作是主要要求,在这个基础上,为客户提供一系列业务服务平台。(4)系统的安全性和实时性,系统采集的数据安全是十分重要的,在系统的设计过程当中,设计人员需要采取严格的技术来对技术进行保密。设计人员需要通过保密技术来保证用户身份的真实性,数据的完整性。在网络连接良好的情况之下,对每一个IP地址请求的操作处理时间需要控制在一分钟时间之内。(5)整个系统需要支持集群技术,设计人员可以通过多个服务器来完成一个集群,当服务器上面的用户达到最大的时候,其它的服务器会开始工作。(6)整个系统需要有一个完好的信息输出端口,整个系统的目标是为了对数据进行分析,而分析的目的是为了借鉴使用。为了能够进行应用,就需要把分析得到的结果数据转化成不同的输出文本,有的人需要把它变成演讲文稿,有的人就需要获得一个Excel数据。一般的开发格式有Excel, PPT, HTML等。
2 系统的结构
烟草企业对过程的监控和数据出来了是通过紫金桥实时数据库来完成的,它把现场的各种数据集中在一起,这些数据包括了生产上面的数据、设备的数据和质量数据等,在此同时整个数据库还包括一个完整的数据查询和分析功能,这可以为企业的生产和决策提供一个可靠的依据。还有生产过程出现状况的时候,系统还能够随时发出警报,这样就能够很方便采取处理解决的措施。整个系统还需要提供各种接口,比如说S Q L 接口、AP I接口等,通过这些接口就可以把各种组件连接到一起,这样就可以实现数据库能够正常工作。
3 实时数据库的功能
实时数据库的作用是对烟草企业的生产过程实施监控管理,但是它在这个系统的作用不只是储存数据,它还需要处理现场采集获得的数据,对获得的数据进行加工分析,一旦出现异常情况发出警报。它需要实现的功能如下:(1)事故的追忆功能。这就需要系统对和事件有关的状态进行记录,这样在事件产生之后就能够进行原因分析了。事件的数量、时间范围等都是可以自由设定的。(2)数据的压缩备份功能,中心的服务器刷新的时间是1 s ,在这样的情况之下,数据库不进行压缩的话是无法容纳这么多数据的。这就要求数据库进行压缩运算,这就可以解决数据量大的问题。(3)物料平衡,系统需要对实际的投料数据、收率数据等进行计算,然后对不同的时间数据进行统计分析。实时数据库当中的数据也是可以来自现场的,也可以通过人工输入的方式。(4)趋势分析,趋势功能主要包括了用户可以选择查看一些含有PID 数值的趋势图,也可以把趋势图打印出来,或者是把图片保存成图片的格式。用户还可以输入开始和结束的时间来查看数据的走向。趋势图如图1 所示。(5)系统还需要有班组考核功能,主要通过对重要工艺数据的追踪,发现生产过程当中的问题,然后提出改进意见。(6)系统还需要有统计分析功能,这样就可以全程监控产品质量。(7)系统还需要有报表系统,这样就可以制作各种各样的报表。
4 总结
考虑到我国烟草企业的规模大,所以系统的点数要多,这样就要有好的数据采集和储存,还需要制定大量的趋势图和报表。实施数据库需要有良好的性能和繁多的数据接口,这样不仅能够满足项目要求,还能够对烟草企业做出评价,推动烟草企业的信息化发展。
参考文献
[1] 张俊良,薛振兴.烟草企业数据中心系统的设计与实现[J].安徽:电脑知识与技术,2009(5) : 2316.
[2] 付文,范广辉.实时数据库实现烟草行业过程管理实时监控系统[J].江苏:工业控制计算机,2009(3) : 17-18.
[3] 徐毅博.烟草一号工程工业数据采集系统设计与实现[J].北京:硅谷,2012(7) : 170-172.
关键词:USB数据采集 PDIUSBD12
1USB协议和芯片选择
理解好USB协议是USB系统开发的第一步。USB协议版本包括1.0、1.1和2.0,USBOTG是对2.0版本协议的补充。虽然USB协议内容繁多且复杂,然而,对USB开发影响较大的却只是少数部分,以下对协议版本1.1[1]中这些部分进行介绍。
1.1USB协议
一般,每个USB设备由一个或多个配置(Configuration)控制其行为。使用多配置原因是对操作系统的支持;一个配置由接口(Interface)组成;接口则是由管道(Pipe)组成;管道与USB设备的端点(Endpoint)对应,一个端点可以配置为输入输出两个管道。在固件编程中,USB设备、配置、接口和管道都用描述符报告其属性。
图1为USB多层次通信模型。端点0默认配置为控制管道,用来完成所规定的设备请求(USB协议第九章)。其它端点可配置为数据管道。对开发而言,主要的大数据传输都是通过数据管道完成的[2]。
USB传输类型包括批量传输、等时传输、中断传输和控制传输,每种传输类型的传输速度、可靠性以及应用范围都不同[3]。控制传输可靠性是最高的,但速度最慢;等时传输速度快,满足实时性,但可靠性低。在具体应用中,端点传输类型可根据传输速度和可靠性选择。
在USB通信协议中,主机取得绝对主动权利,设备只能是“听命令行事”,通过一定的命令格式(设备请求)完成通信。USB设备请求包括标准请求、厂商请求和设备类请求。设备的枚举是标准请求命令完成的;厂商请求是用户定义的请求;设备类请求是特定的USB设备类发出的请求,例如海量储存类、打印机类和HID(人机接口)类。固件编程中设备请求必须遵循一定的格式,包括请求类型、设备请求、值、索引和长度。
1.2USB接口芯片选择
USB接口芯片的类型有:
(1)按传输速度的高低:低速(1.5Mbps)和全速(12Mbps)可选USB1.1接口芯片,例如Philips公司的PDIUSBD12和Cypress公司的EZ-USB2100系列;高速(480Mbps)可选USB2.0接口芯片,例如Philips公司的ISP1581和Cypress公司的CY7C68013。
(2)是否带MCU(微控制器):一般Philips公司的都不带MCU,Cypress公司大多都带,例如AN2131。
(3)是否带主控器功能:不需要主机参与,主从设备间可进行数据传输,芯片有Philips公司的ISP1301和Cypress公司的SL811HS等。
摘要:提出一种使用USB接口实现CAN总线网络与计算机连接的方案。讨论了CAN总线与计算机之间的硬件接口电路,同时分析了固件编程方法及USB驱动程序设计思路。
关键词:USB CAN总线 固件编程 适配器
现场总线作为二十世纪80年代发展起来的新兴技术,在工业现场已有了广泛的应用。在比较有影响力的几种现场总线中,CAN总线以其突出的优点不仅大量应用于工业现场,而且在楼宇自动化、智能终端设备等民用领域也有了长足的发展。
现场总线网络技术的实现需要与计算机相结合。以往CAN总线网络与计算机的连接采用RS232、ISA或PCI接口。但是随着计算机接口技术的发展,ISA接口已经逐渐被淘汰;RS232接口数据传输率太低;PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、设计复杂、需有高质量的驱动程序保证系统的稳定,且无法用于便携式计算机的扩展。随着USB1.1、USB2.0规范的相继制定,为外设与计算机的接口提出了新的发展方向。USB的主要特点有:外设安装简单,可实现热插拨;通讯速率高,USB1.1全速传送速率为12Mbps,与标准串行端口相比,大约快100倍;支持多设备连接;提供内置电源。
本文给出一种在Windows2000下使用USB1.1协议实现CAN总线适配器的设计方法。整个设计主要开发适配器的固件及计算机的驱动程序、应用程序,以达到用USB接口连接现场CAN总线网络的目的。
图1
1 适配器硬件接口设计
适配器硬件电路由微控制器、CAN总线接口、USB总线接口和DC-DC隔离电源模块等组成。原理框图如图1所示。
微控制器P89C51RD2是Philips公司生产的增强型MCS-51兼容单片机,片内集成64KB闪存和1KB扩展RAM,双数据指针,4级中断优先级,7个中断源,(本网网收集整理)内置看门狗,可编程时钟输出,在6时钟模式下工作,速度是标准51单片机的两倍。此时外部最高频率可达20MHz。在高速、大程序容量、中小规模数据处理场合是一款非常理想的单片机型。
CAN总线接口使用Philips公司的独立CAN总线控制器SJA1000,并由光耦6N136进行总线隔离。SJA1000是一种独立控制器,用于移动目标和一般工业环境中的区域网络控制,符合CAN2.0A和2.0B规范,最高速率可在达1Mbps。CAN总线收发器采用PCA82C250。
PDIUSBD12是Philips公司推出的全速USB接口器件,完全兼容USB1.1规范。图1中D+引脚信号电平通过器件SoftConnect命令内部上拉,从而向主机表示为一个全速设备。EOT引脚自动检测USB接口的VBUS电压以确定USB电缆是否连接到了主机。SUSPEND是双向引脚,用以向微控制器指示器件是否挂起。当有USB总线事件发生时,引脚向微控制器发出中断信号。PDIUSBD12支持总线复用和非复用两种并行接口模式,以方便连接不同类型的微控制器。图1中采用总线复用方式,当用奇数地址访问PDIUSBD12时被认为是命令,偶数地址访问则被认为是数据读写。
各器件都需要外部时钟信号,而且它们自身也都有可编程的时钟输出功能,这就给系统的时钟设计带来了便利。图1中微控制器6时钟运行模式下,外部为12MHz晶振。P89C51RD2的P1.1引脚产生6MHz方波作为PDIUSBD12的.输入时钟;通过PDIUSBD12的SetMode寄存器编程使CLKOUT输出时钟频率为24MHz,作为SJA1000的外部输入时钟。
2 软件设计
软件设计包括微控制器的固件设计和计算机端USB驱动程序两部分。
2.1 微控制器固件编程
固件编程是USB数据传输系统中终端设备程序设计的一个重要概念。微控制器通过固件是程序与计算机进行数据交换。固件设计的目的是:使PDIUSBD12在USB上达到最大的传输速率;增加系统的可扩展性和硬件无关性。
固件要实现的内容:一是对SJA1000初始化,接收CAN总线送来的数据,收集CAN网络状态信息,并将主机的数据下发到CAN网络;二是对PDIUSBD12初始化,完成USB总线连接过程,并组织CAN网络和主机之间的数据传送。设计中采用KeilC51软件编译环境,C51和ASM混合编程方式。
SJA1000和PDIUSBD12都有完善的中断机制,微控制器可以通过读它们的中断寄存器获得总线事件。为了提高固件的运行效率,主程序对系统进行实始化后开放中断,在中断服务程序中对事件进行分析和必要的处理,并设置相应的变量标志和数据缓冲区。主程序则循
环查询变量标志,调用相应的子程序进行处理。这种程序结构使得主程序能够在前台处理各种数据传送任务,同时又可以通过中断在后台及时处理总线事件。
2.1.1 CAN协议实现
SJA1000支持BasicCAN和PeliCAN两种协议模式。在适配器设计中采用了BasicCAN模式。中断设为电平中断方式,SJA1000中断服务程序框图如图2所示。
2.1.2 USB1.1协议实现
PDIUSBD12支持所有的四种USB数据传输方式。在适配器的设计中使用了控制传输、中断传输和批量传输。控制传输中只用来传递控制信息,固定使用端点0;中断传输使用端点1,用来传送CAN网络状态信息;批量传输用来实现主机和CAN网络节点之间的数据传送,使用端点2。图3是PDIUSBD12中断服务程序框图。
2.2 驱动程序设计
USB驱动程序属于WDM(Windows driver module)类型。WDM驱动程序是分层的,引入了FDO(Function Device Object)和PDO(Physical Device Object)两个新类来描述硬件,每一个物理硬件有一个PDO,但是可以有多个FDO,在驱动程序中直接操作的是PDO和FDO。系统通过全局唯一标识符GUID实现驱动程序的识别。应用程序和WDM驱动程序通信时,系统为每个用户请求打包形成一个I/O请求包发送到驱动程序。
图4是Windows中USB的通信层次结构模型。图4系统软件方块中的底部是Windows系统提供的驱动程序,包括主控制器驱动程序(OPENHCI.SYS或者UHCD.SYS)、HUB驱动程序(USBHUB.SYS)是一个类驱动程序(USBD.SYS)。
Windows2000下驱动程序的设计工具是VC++和Win2000DDK,但是直接使用DDK编程有相当大的难度。目前有第三方软件厂商提供了一些驱动程序开发工具,如Jungo公司的WinDriver、Compuware公司的DriverStudio等。这些工具仍然是基于WindowsDDK的,但是进行了新的封装,提供了驱动程序设计向导。
适配器设计中采用了DriverStudio作为驱动程序开发工具。利用其中的DriverWorks一步步地作出选择并修改少量参数,即可生成驱动程序框架和测试台应用程序框架,对USB设备的通用性部分支持得很好。在程序框架,对USB设备的通用性部分支持得很好。在VC++中对向导生成的代码作修改,并对设备特殊功能部分添加处理代码,然后用VC++编译为*.SYS文件,就是一个完整的驱动程序。SoftIce是DriverStudio的另一个调试工具,可以对驱动程序进行操作系统内核级的跟踪与调试。
生成驱动程序后,编写相应的INF文件是重要的一步。INF文件在操作系统发现新硬件之后向系统指明应该安装的驱动程序、系统向设备提供的服务以及注册表项要修改的内容。
关键词:USB;心电;数据采集
1引言
心电信号是最广泛的临床检查项目之一。心电信号数据采集系统是心电信号检查的关键部件,它能在较强的噪声背景下,通过电极将0.05~100Hz的微弱心电信号检测出来,然后经放大、A/D转换后送入计算机进行处理。计算机的使用使得该系统在信号分析、储存、打印等方面比传统的心电图机具有明显的优势。但采集系统与计算机的通讯接口都存在插卡插拔麻烦,安全性差,且扩展槽数目有限等不足。为此?本文提出的基于USB接口的心电信号数据采集系统使用了目前最为先进的USB接口技术,能够支持即插即用和热插拔功能。这是其它非USB接口无法比拟的。同时也可以与笔记本电脑相连以构成移动式心电检测分析仪。
2系统的硬件组成
2.1系统组成
图1所示为基于USB接口的心电信号数据采集系统的组成框图。图中?电极传感器检测到的心电信号经输入保护电路进行电压限幅、高频滤波后,再进行前置放大,然后经光电隔离后,再次进行电压放大,最后经干扰抑制电路消除干扰后,在多路模拟开关的控制下将其中某一路信号接入A/D。CY7C64613是带智能USB接口的单片机,通过它可以把A/D转接后的数字信号经USB接口传输到计算机。
下面就数据采集系统的抗干扰措施、信号放大及USB通信等问题进行重点论述。
2.2系统抗干扰
作为医疗器械的心电信号数据采集系统,由于其检测对象是低频、微弱的心电信号,干扰较大,因此?系统的抗干扰能力及安全可靠性至关重要。针对这种情况,本系统采取了多方面措施。图2所示为输入保护电路和高频滤波电路。其中输入保护电路是在每个电极和地之间加入两个并联的硅二极管以进行电压限幅,从而限制输入电压不超过±600mv,确保病人和仪器的.安全。高频滤波电路用于阻止高频干扰信号进入数据采集系统。本设计使用以FX101芯片为核心的低通滤波器。滤波截止频率为:
fc=1/[2p(R1R2C1C2)1/2]
使用光电隔离电路和干扰抑制电路可进一步提高抗干扰能力。干扰抑制电路包括50Hz干扰抑制电路和肌电干扰抑制电路。前者用来滤掉50Hz工频干扰(这是心电信号的主要干扰源),它是一个无源RC双T网络。后者用来抑制电极与皮肤接触时引进的肌电信号,它是一个高载RC滤波器。
此外,还可采用软件滤波的方法。可通过在软件中设置50Hz干扰滤波和漂移滤波等程序来进一步提高系统的抗干扰能力。
2.3放大电路
放大电路也是设计重点之一。一般情况下,心电信号必须进行放大才能送往计算机进行处理。由于极化电压的影响,放大器的增益不能太高,因而本系统采用了前置放大电路和电压放大电路两级放大的方法。对前置放大电路的要求是:输入阻抗高、失调温漂小、共模抑制比高、输入噪声小。为此笔者选用了INA121芯片。INA121是TexasInstrumentsBB公司生产的低功耗仪器放大电路,性能优越,它的差模输入电阻为1012Ω,共模抑制比为106dB,输入失调电压为±200μv,输入失调温漂为±2μv/℃,输入噪声为20nV?Hz?1/2。前置放大电路的放大倍数设置为50。较小的前置放大倍数可以避免极化电压的影响。电压放大电路的放大倍数设置的较高(取为100倍),则可以保证总的放大倍数。
2.4USB专用芯片的选择
目前各个厂商推出的USB芯片类型众多,功能各异。本系统选用Cypress半导体公司推出的EZ-USBFX全速系列中的CY7C64613-128NC芯片。EZ-USBFX系列芯片是带智能USB接口的单片机,它以8051为核心。对于复杂与繁琐的USB通信,该器件可提供EZ-USB固件函数库与固件架构,从而可大幅度地降低编写固件程序代码的困难程度。CY7C64613支持USB协议1.1,同时可支持12Mbps的全速传输。此外,它还带有增强版的8051核心和4kB或8kB的RAM,端点数量为32个,可采用智能型的USB核心程序。
3软件设计
IPTV是基于宽带互联网的一项以数字音视频资源为主体,以电视机、计算机等为显示终端的媒体服务,是互联网业务和传统电视业务融合后产生的新业务[1]。近年来,随着网络带宽的提高以及用户规模的增加,IPTV作为宽带网络的新一代应用越来越受到重视。
IPTV系统需要的大量的数字音视频节目,本文以数字电视DVB信号作为节目源,设计了一套实时采集编码系统,在保证了节目的丰富多样和实效性的同时,通过简单的操作便可实现大批量音视频节目的制作。
1 系统功能模块
DVB信号实时采集编码系统的主要功能是根据用户的设定,完成数字电视DVB信号的自动采集、转码、录制等功能。如图1所示,采集编码系统主要分为4个功能模块:系统管理、任务调度、采集转码、录制。
1) 系统管理。
系统管理模块,提供Web页面供用户进行操作。用户可以浏览近期的节目单,根据需要添加录制任务,录制任务分为一次性任务和周期性任务两种;可以对正在录制的节目进行实时的点播;可以对系统中的设备进行监控、管理。
2) 任务调度。
采集编码系统包含多个采集转码器和录制服务器,可以同时进行多个录制任务,任务调度模块负责对这些服务器进行调度管理。节目管理模块与任务调度模块之间,任务调度模块与采集编码器、录制服务器之间,均使用HTTP协议进行通信。
3) 采集转码。
采集转码器模块,接收任务调度模块的指令,完成DVB信号的采集转码。DVB信号采集后得到的是MPEG-2 TS流,分别对视频流和音频流进行解码、编码。视频编码采用H.264标准,音频编码采用MPEG-4-AAC标准。编码后的视音频数据,通过RTP over TCP的方式[2],对录制服务器和节目管理模块提供流服务。
4) 录制。
录制模块,接收任务调度模块的指令,采集转码模块启动后,录制模块会与采集转码模块建立连接,接收实时的视音频数据并保存为文件,录制任务结束后,将录制好的文件通过FTP协议上传至存储服务器。一台录制服务器,可以同时接收多个采集转码服务器的数据。
2 主要工作流程
2.1 录制任务工作流程
系统管理模块将任务发送到任务调度模块,所有录制任务的信息都保存在录制任务队列中。任务调度模块接收到任务请求后,会根据目前各个采集转码服务器、录制服务器的任务分配情况,将任务分配到空闲的服务器上。任务时间到达后,相关服务器会自动启动录制任务。录制任务的工作流程见图2。
2.2 采集转码工作流程
采集转码模块是系统的核心模块,使用Twinhan 2033 DVB-C PCI接口采集卡对DVB信号进行采集,后续的解码、预处理、编码等均由软件编码实现。采集转码模块详细工作流程如图3所示。
数字电视系统中,模拟视频、音频信号按照MPEG-2标准经过抽样、量化及压缩编码形成基本码流ES,基本码流ES加上头信息打包形成PES包。在传输时,将PES包再分段打成有固定长度188 byte的传送包码流TS。TS流经过复用,并加入PSI/SI及加密信息形成多路节目传输流[3]。
采集得到的TS流数据,要先从码流中找到一个完整的PAT包(PID=0x0000),从中提取出节目的PMT表,解析后得到节目的音频、视频码流的PID,根据这些PID,就可以只接收相应PID的包,解析后得到节目的视频、音频PES数据,用于下一步的解码。
音频、视频解码,分别在不同的线程中进行。解码后,得到视频YUV数据和音频PCM数据。音频、视频同步模块,编码开始前,会对音频、视频数据进行一次同步,确保编码的音频、视频数据从相同的时间点开始;编码过程中,会检测音频、视频帧时间不连续或时间跳变的情况,并重新进行时间同步。
视频预处理,包括帧率变换、去隔行、分辨率转换、亮度、色度、对比度调整;音频预处理,包括重采样、音量调整。
视频编码,采用H.264标准,最高可以支持D1分辨率Main profile格式的编码。编码的各项参数,如码率、分辨率、帧率及B帧个数等均可以在添加任务时指定。
3 视频去隔行算法
视频去隔行算法有3类(算法):线性滤波、非线性自适应滤波和运动补偿滤波[4]。其中非线性自适应滤波算法,由于算法计算量小,便于软件实现,特别适用于对实时性要求比较高的系统。
非线性自适应滤波算法中,中值滤波方法因为隐含了在空间方向上的边界自适应和时间方向上的运动自适应,并具有一定的降噪能力,成为最受欢迎的一种算法。最简单的中值滤波算法是3点中值滤波,但3点中值滤波算法会引入高频混叠,图像边缘容易产生锯齿,也有人提出了多种混和的中值滤波算法[5]。本文提出一种带运动检测的5点中值滤波算法,能够很好地区分图像的运动和静止部分,可以解决一般中值滤波算法图像边缘不平滑的问题,且算法简单,便于使用MMX/SSE指令进行汇编优化。
如图4所示,p为解码器输出第n个隔行帧的偶数场的一点,去隔行算法采用第n帧图像的相邻奇数场数据及第n-1个隔行帧的数据,计算得到p点的值。
式中:g,h表示
式中:
4 应用实例
基于前述的设计原理,本文开发了一套基于DVB信号的H.264实时采集编码系统,并在某数字电视机房对系统进行了实例分析和测试。该系统由一台管理调度服务器,一台采用带运动检测的5点中值滤波去隔行算法的采集转码服务器,一台采用3点中值滤波去隔行算法的采集转码服务器,一台录制服务器,一台存储服务器及一台装有Windows操作系统的客户端组成。整套系统通过客户端的浏览器进行控制,完成节目管理、任务控制和各种监控功能。测试系统结构如图5所示。
所有服务器均安装Debian操作系统,管理调度服务器使用Tomcat作为Web服务器,软件采用Java语言进行开发,采集服务器与录制服务器软件采用C++语言进行开发,存储服务器安装VSFTP作为FTP服务器。
通过客户端添加两个相同的录制任务,分别使用两台不同的采集转码服务器进行采集转码。图6为对静止的台标采用不同去隔行算法的图像局部截图,图7为对运动的图像采用不同去隔行算法的图像局部截图。可以看出使用本文去隔行算法处理的图像,不论是静止的图像还是运动图像,图像的边缘轮廓分明,比较平滑,图像清晰度较高,完全达到了IPTV系统对图像清晰度的要求;使用MMX/SSE指令优化,对于分辨力为720×576的视频帧,算法平均处理速度可以达到2.2 ms/frame(毫秒每帧)。
5 结束语
该方案已成功应用于杭州华数数字电视的IPTV系统,用户通过简单的页面操作,就可以完成各种视频节目的录制,方便地为IPTV系统提供及时、丰富的节目,从而取得良好的经济效益和社会效益。随着IPTV业务的快速发展,该系统必将具有广阔的应用前景。
摘要:基于Twinhan2033 DVB-C数字电视接收卡,设计、开发了一套实时采集编码系统,实现了数字电视视音频信号的采集、解码、编码与网络传输等功能。提出了一种新的带运动检测的5点中值滤波视频去隔行算法,解决了一般中值滤波算法图像边缘不够平滑、出现锯齿等不足。最后给出了系统的应用实例,系统编码输出图像清晰,并且通过简单操作便可以制作出大量的视频节目,具有广阔的应用前景。
关键词:数字电视,实时采集编码,运动检测,中值滤波,去隔行
参考文献
[1]钟玉琢,向哲,沈洪.流媒体和视频服务器[M].北京:清华大学出版社,2003.
[2]SCHULZRINNE H,CASNER S,FREDERICK R,et al.RFC 3550 RTP:a transport protocol for real-time applications[S].2003.
[3]赵蕾,万志卫,李霞.便携式IPTV测试仪TS码流解析的实现[J].电视技术,2011,35(3):117-120.
[4]罗宁,方向忠,张文军.一种带运动检测的去隔行中值滤波算法[J].计算机工程与应用,2004,40(32):62-64.
一、引言
传统的教学模式在目前的教育教学体系中仍然占据着重要的地位,但其仍存在着一些局限性。远程教育利用网络技术实现教学方式在空间层面上的跨地域性,可以利用网络进行实时交互,更可以通过把优秀的教育资源置于网络服务器上,达到资源共享。远程教育是网络教育的重要组成部分,所谓实时双向交互式远程教学,就是利用计算机网络通信技术和多媒体技术,以网络作为载体,进行教学工作,克服地理区域和时间上的限制,使任何地方的用户都能够通过网络进行学习,使师生双方能进行实时的、双向交互的教与学的活动。
二、系统设计的理论依据
(一)设计的理论基础
随着Internet技术的普及,远程教育正经历由“远”到“近”的转变过程。虽然物理距离仍然存在,然而学生之间的实际学习“空间”更近了。网络教学可以传统教室里获得更好的交互性,不仅如此,Internet和WWW的应用和推广,还使得远程教育从行为注意学习理论逐渐向建构注意学习理论转变。由皮亚杰(J.Piaget)提出的建构主义(Constructivism)学习理论认为:知识不是通过教师传授得到,而是学习者在一定的情境即社会文化背景下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得。
通过Internet进行远程教学,在教学上不受时间和地点的限制,教师和学生可以在适合自己的时间、地点上网,能够提供给教师与学生之间、学生与学生之间通过网络进行实时的交互。因此,基于Internet的远程教学更能为学习者提供一个建构主义的学习环境,充分体现学生的首创精神,学生有更多的机会在不同的情境下去运用他们所学的知识,而且学生能根据自身行动的反馈信息来形成对客观事物的认识和解决实际问题的方案。
(二)系统的设计原则
系统的设计目标是在最大程度上满足实时双向交互式远程教学活动的需要,在Internet上实现教学活动的各个环节。系统的基本设计原则有:交互性、开放性、实用性、可扩展性、安全性等。
远程教学的方式是多样化的,信息的交流具有实时性和异步性,比如可以利用流媒体技术把事先录制好的课堂教学视音频信息或事先制作好的多媒体教材,通过网络供学生随时点播学习,这是远程教学方式的异步性体现。远程教学的重点在于教学活动的实时互动性上,而双向实时交互式又是当前采用的先进方式,如数字化的会议电视或视频会议技术,利用视音频交互、文字交互、白板及图片图形等共享,可以让参与到远程教学的师生就像传统的课堂上那样进行实时的互动交流,这也比使用BBS、E-mail、留言板要便捷得多。
系统既要根据国内的网络环境适用不同的带宽,同时也要适应国内信息化教育的总体水平。远程教学系统在结合网络教室中实用的、优秀的功能基础上,应增加大量易操作、实用的功能,如同步浏览课件、网页功能等。系统既要考虑信息资源的充分共享,更应注意信息的保护和隔离,如系统安全机制、数据存取的权限控制等。
三、系统功能设计
要形成基于Internet实时双向交互式远程教学系统,学生和教师拥有一台计算机便可以通过软件进行远距离教学活动,实现实时互动。系统的功能主要分为课件教学功能和交互教学功能。
(一)课件教学功能
1、课件列表。教师可将所需的图片、各种office文档、网页课件等多媒体资源装入课件列表,在上课时实现主控式的同步浏览。
2、课件同步。系统能将课件自动压缩上传服务器,教师和学生可以同步以网页的方式浏览。此外,系统也可以让学生自动下载课件到本地,教师与学生同步浏览时,直接打开本地文件,不用访问,这样可以提高课件访问速度,节省网络带宽。
3、录制播放。教师和学生都能根据自己的需要进行现场课程制作,教师端还支持已录制的课件再次广播。教师可以允许或禁止学生录制课件。
(二)交互教学功能
在这样的系统中,学生可以进行学习、考试、讨论等,学生和教师之间可以传输图像、文字、图形、声音等各种信息。系统的主要功能包括:视音频交互、文字交互、白板交互、文件交互等。
1、视音频交互系统。本系统的用户截面最多可以同时显示八路视频端,用户可以根据自己的需要随时对需要显示的界面进行切换;教师可以将授课内容及教学情景实时的传送到网络教室中去,或者也可以播放某个学生的视频;在教师广播自己视频时,也可以监视某个学生的视频。教师能把自己的声音广播出去,同时可以允许某个学生说话,或者同时允许两个学生广播声音;在系统没有开启语音广播时,教师、学生之间可以私聊,可以一对一,也可以一对多。教师端有学生举手状态的显示框,教师可以选择举手的学生并允许发言。学生在被允许发言时,系统会弹出一个对话框,提醒学生发言。
2、文字交互系统。在文字讨论区,教师可以与全体学生,也可以与某个学生进行文字交流,教师一旦在人员列表中选定对一个人发送信息时,进行一对一的交流,其他教师成员则看不到。文字交互系统中还有关于教师操作信息的系统提示和公告等,如教师允许某人发言,录制课件等。另外,系统还有词典过滤功能,可以过滤那些出现的不文明用语。
3、白板交互系统。教师和学生可以同时在白板上作图、写字、编辑或粘贴现有的图形和图片等。教师可以对白板的使用权限进行控制,允许或禁止其他人使用白板,选择是否显示白板上的对象的创建者,还可以对白板上所创建对象的颜色、字体等属性进行设置。本系统目前支持十页白板,可根据需要加以扩充。
4、文件共享系统。本系统的文件共享系统是基于服务器的FTP服务器的基础之上,各个用户端连接上服务器时,教师批准了文件共享后,FTP服务器中的FTP文件夹中的各种资源就显示在文件的共享区域内,供参加网络教学的学生上传或下载。
四、系统结构设计
本网络课堂教学系统采用客户机/服务器结构,使客户端具有相当的稳定性和易操作性。实现工具采用Microsoft公司的Visual C++,Visual C++是一种非常完善和全面的程序集成开发环境,它采用面向对象的程序设计方法,在多媒体图形处理方面功能强大。Visual C++的核心是Microsoft基本类库(MFC),它一方面用类封装了Windows API,另一方面使用称为“消息映射”的机制把Windows消息和命令传递到窗口、文档、视图及其对象,MFC能成功的把面向对象和事件驱动编程联系起来。在对参与系统的用户的用户名及密码信息的控制是通过与XML(Extensible Markup Language)文档中的数据的交互来实现的。
远程交互式教学系统主要由多媒体授课室、多媒体听课室、多点控制器、信道(传输网络)及控制管理软件组成,基本结构如图1所示。教师在授课室通过电子白板、视音频设备、传输网络将授课内容及教学情景实时传送到远端听课室,同时学生可以在远端听课室现场回答教师提出的问题或向教师提出疑问,教师在授课室可以看到和听到听课室的全貌,还可以看到发问、回答问题的学生的表情和动作,并和学生进行现场交流,可以取得比较好的教学效果,尤其是那些需要学生参与的课程,比如外语教学。
授课室和听课室也即课堂终端包括教师端和学生端,主要功能包括:视音频信息的采集、传输、显示输出,数字信号的压缩编码和解码,最后将符合国际标准的压缩码流经线路接口传送到信道,或从信道上将标准压缩码流经线路接口送到终端中。在课堂终端还可以进行文字、文件、图片信息等输入输出操作。目前,计算机硬件设备基本上可以满足系统的要求,在教师端,对计算机设备、视音频采集设备的要求相对要高些,如尽量采用较高像素的摄像头等采集设备。
多点控制器(Multipoint Control Unit,MCU)是一种桥接设备,是网络课堂教学系统中的关键部分,它的主要作用是对视频、音频、数据信号等数据流进行切换。
五、系统界面设计及系统实现
系统的用户界面设计直观,具有良好的操作性,包括文字、图标、图形、色彩和其他视觉方面的设计。屏幕的界面设计考虑到学习者的视觉心理特点,突出整体,具有统一的界面风格。同时注重了界面内容的交互性和可控制性,以及教学内容超级连接的有序性。界面区域工包括五大控制板块:视频显示区、电子白板、课堂成员列表、文件共享区域、文字交互。用户可以根据自己的需要对各板块自由拖动、改变大小,移动板块改变其在界面中的相对位置,选择或隐藏板块等。
远程多媒体实时交互教学系统,通过压缩教师教学现场的视频、音频流结合同步浏览课件命令,形成教学资源流,利用网络实时传送到远端学生的电脑上,学生可以及时通过举手提问、共享教师端程序、文字交流等方式实现远程互动教学。本系统可运行在Internet、Intranet、卫星网、校园网、局域网,提供文字、音视频、课件、电子白板、互动广播教学的平台,并在虚拟现实中的教室打破时空限制,让异地师生通过音视频实时交互,如同置身于同一课堂之中。
六、结束语
随着Internet的普及和在教育领域中的应用,Internet将会在远程教育中发挥巨大的作用。基于Internet的远程教育,实现了全球信息资源的共享,使教育和科技逐步走向国际化和全球化,这正是远程教育发展的方向和追求的目标。当然远程网络教学需要大量使用各种多媒体信息,而目前视频多媒体的传输受网络传输速度的影响较大,成为了网络教学的瓶颈,尤其是如何实现异地交互式教学是需要解决的关键问题。同时,目前网络安全也是制约Internet发展的一个因素,如何保证信息的安全,怎样做好安全保障,同样也是需要解决的关键问题。
参考文献:
PC104是嵌入式工控机的一种,其外部总线接口为PC104总线。使用堆叠的方式可以将多个PC104主板结合到一起,并通过螺栓固定,保证系统的牢固可靠,应对恶劣的使用环境。由于PC104具有功耗低,体积小,扩展性高,功能强大等优点,其已经在航空航天、军用武器装备、工业控制等领域得到了广泛的使用[1,2]。
在对武器装备进行测试维护时,经常需要对设备中的各类模拟信号进行分析,从而对武器系统的运行情况做出判断。目前常见的测试设备往往实时性不高,无法更多地进行人机交互。同时由于测试设备体积过于庞大,并不方便在外场对武器装备进行直接的测试和维护。随着现阶段军用装备外场测试的信息化程度逐渐提高,迫切需要研制出体积小、结构紧凑的便携式实时测试设备[3]。
目前主流的实时信号采集方式是通过高速A/D转换器件来完成的,其优点是信号精度高,实时的信号采集带来了大量的数据需要处理,对后端的信号处理系统提出了较高的要求。因此本文搭建了基于PC104总线的实时信号采集处理系统,凭借FPGA的高速处理能力控制A/D转换器完成数据的采集,并通过PC104总线将数据提供给上位机完成用户对实时信号的监测。
1 总体设计方案
本文的实时信号采集处理系统主要包括信号采集板和上位机控制板2部分,两者之间通过PC104总线进行通信。上位机控制板以CPU为核心,扩展出VGA,RJ45等人机交互所需要的外围设备接口。信号采集板主要包括了FPGA逻辑控制、A/D转换器、通道选择开关、前端信号调理器等。实时信号采集处理系统的总体结构图如图1所示。
信号采集处理系统进行工作时,上位机控制板的CPU通过PC104总线向底层信号采集板发送命令,对其工作参数进行设置。CPU与FPGA之间通过地址和数据总线完成命令及数据的交互。多通道选择开关对外部输入的模拟信号进行通道选择,在信号调理芯片对模拟信号进行相应的预处理之后,在FPGA的逻辑控制下由A/D转换器完成信号的采集。FPGA通过PC104总线实时地将采集的信号数据传输给CPU,通过运行在上位机控制板的应用程序完成数据的最终分析和处理。信号采集处理系统可以通过FPGA逻辑控制模块灵活地调整采样速率,来满足多种信号不同速率的采样要求。
2 硬件系统设计
2.1 上位机控制板
本系统采用深圳盛博公司的PC104模块SCM9022作为上位机控制系统硬件平台,其处理器为英特尔凌动N455处理器,使用了1 GB的DDR3内存,支持2 GB的SSD和1路SATA接口,支持2个100 Base-T以太网口,具有8路GPIO接口和6个串口,4个USB 2.0接口,标准鼠标键盘接口,支持18位的LVDS和VGA显示。SCM9022的硬件资源可以满足对所需要采集信号的处理,用户可以方便地使用其通用的外设接口完成必要的人机交互[4]。上位机控制板包括了64针脚的双排单列插针J1和40针脚的双排单列插针J2,总共104根信号总线[5]。上位机控制板是标准的PC104模块,其尺寸为96 mm×90 mm。当工作在8 b数据模式下时,J2的针脚信号无效,只有J1针脚有效;当工作在16 b数据模式下时,J1和J2所有针脚都有效。在104个针脚中,包括了16个数据针脚,7个锁存地址针脚,20个地址针脚,32个控制针脚,14个地线和电源线,1个14 MHz的OSC,1个8 MHz的BCLK。其中,SA[0..11]为地址总线;SD[0..7]为数据总线;IOR为输入/输出接口的读控制,低电平有效;IOW为输入/输出接口的写控制,低电平有效;DATA为串行数据;BALE为地址锁存信号;CLK为移位脉冲;SY-CLK为总线时钟;IOCHADY为输入/输出接口的准备就绪信号,该信号由集电极开路门或三态门驱动,低电平时处于无效状态,表示输入/输出接口设备需要将总线的周期延长。时序如图2所示。
2.2 信号采集板
为了能快速高效保证上位机控制板与信号采集板之间的PC104总线数据通信,底层的信号采集板使用了Altera公司的CycloneⅢ系列FPGA芯片EP3C25F256C7N,通过控制逻辑来按照PC104总线的时序进行数据传输。该芯片具有200 Kb逻辑单元、8 Mb嵌入式存储器以及396个嵌入式乘法器能够在控制信号采集芯片的同时,将采集的信号数据传输给上位机[6]。需要注意的是,由于PC104总线的针脚都是5 V电平,而FPGA芯片采用了3.3 V的电平信号,所以在信号采集板上使用了74LVH162245芯片对电平进行转换,调整电气特性,完成由TTL电平向LVTTL电平的转换,并增强驱动能力。在信号的采集过程中,由于外部的多路模拟输入信号往往比较微弱,其电平的幅度很小,为了保证A/D转换模块采集到足够强的信号幅度,在信号采集板中使用了放大器INA103把输入信号进行调理放大到0~10 V之间。INA103是由BB公司生产的低功率增益可调通用仪器放大器,其具有高精度宽带宽的特点[7]。在增益为100时,对应的带宽仍达到200 k Hz。该芯片采用了可调电阻调整放大倍数,具体公式如式(1)所示:
本系统在信号采集板中采用了R=6Ω,故得到的放大倍数在0~1001之间,保证了该芯片输出给A/D转换器的信号电平在0~10 V之间。信号采集板的多路选择开关采用了AD公司的ADG508A八选一高速选通开关。系统通过2片ADG508A并行控制模拟信号的输入,实现了对16路信号的实时采集。多路开关的输入通断是通过控制使能引脚EN以及CH0,CH1,CH2来完成的[8],FPGA输出的地址的最高位分别接到2片ADG508A的使能端,地址低3位分别接入ADG508A的A0,A1,A2。信号采集板的A/D转换芯片采用了BB公司的ADS7805,其具有高速、低功耗的特点。在5 V的工作电压下其最高的转换频率达到了100 kHz。该芯片内部自带有时钟、电压基准和采样保持等电路,极大的简化了用户的电路设计,并且提高了系统的稳定性[9]。ADS7805采用了逐次逼近式工作原理,A/D转换结果通过16位数据总线并行输出,输入的模拟信号电平范围为0~10 V,其工作时序图如图3所示。
3 软件系统设计
实时信号采集处理系统的软件部分包括了信号采集板的FPGA控制逻辑和上位机控制板运行的应用程序。信号采集板在FPGA控制逻辑下实现了信号的采集和传输,上位机控制板通过应用程序完成人机界面的交互和数据控制处理。
3.1 FPGA控制逻辑的设计
FPGA控制逻辑是整个数据采集过程的核心部分,它所实现的功能包括:对多路选通开关ADG508A的控制,对地址总线进行译码,对A/D转换模块ADS7805的控制,将采集的数据在FIFO中进行存储等。FPGA控制逻辑工作时的操作时序如图4所示,其在一个总线操作周期内的工作流程按如下顺序进行:
(1)FPGA上电后,首先进行全局复位,数据总线设置为三态,地址锁存清零。
(2)等待BALE信号进入下降沿的有效状态,对PC104的地址总线进行锁存。
(3)等待IOR/W信号有效,对地址进行解码,将锁存的地址信息译码。
(4)对地址进行比对,若比对正确则准备就绪,若比对不正确则将地址锁存器清零,数据总线设置为三态。
(5)等待PC104数据周期有效时,接收上位机控制板传输过来的动作命令数据。
(6)控制INA103芯片对输入的模拟信号进行调理。
()控制芯片进行通道选择。
(8)控制AD7805芯片开始进行数据采集。
(9)以输入输出端口的OE信号为触发脉冲,对所采集的信号数据进行锁存控制。
(10)等待OE信号拉低,采集数据的锁存结束,将数据通过总线传输给上位机控制板。
(11)等待数据传输周期结束,将地址锁存清零,数据总线设置为三态。
(12)等待下一个时钟周期到来,再次重复进行读写操作。
3.2 应用程序的设计
上位机控制板运行的应用程序主要完成用户对信号采集板的控制和监视,将所采集到的信号实时在显示器上进行更新显示。由于整个系统在外场进行使用时的环境条件往往比较恶劣,且经常会遇到断电的情况,因此在上位机控制板运行了Windows XP Embedded操作系统来代替了传统的Windows XP操作系统,从而提高了系统整体的可靠性[10]。本系统的应用程序采用VC++进行源代码的编写和调试,应用程序调试编译成功后,生成exe可执行程序,在操作系统上电后自动按照默认配置开始运行。应用程序启动后,首先通过PC104总线将用户对信号采集板的配置命令发给FPGA控制逻辑,然后FPGA控制逻辑按照上位机具体的指令对多路控制开关芯片,信号调理芯片和A/D转换芯片进行控制,开始对信号的采集。上位机在接收到中断信号后对缓存中的信号数据进行读取和处理,进而在应用程序中对信号数据进行显示,同时将数据实时进行存储,供事后做进一步的分析和处理。如图5所示。
4 结 语
本文基于PC104总线,采用了上位机控制板和信号采集板相结合的方式,实现了用户对信号的实时采集和处理。信号采集板的所有控制功能由FPGA芯片来完成,大大减少电路板的器件数量,同时降低了系统成本,提高系统的可靠性。运行在上位机控制板嵌入式操作系统的应用程序完成了采集数据的实时显示及用户命令的配置,使用户在使用时可以直观的了解整个系统的工作状况,并根据现场需要对信号采集的工作参数进行调整。该实时信号采集系统具有较低的功耗、稳定的性能、精简的体积、和优良的抗震性能,其已经作为某型装备的便携式外场检测设备进行了实地应用,整体运行可靠稳定,具有较广的推广前景和较好的军事经济效益。
参考文献
[1]刘凤举,吴简彤.惯性导航计算机嵌入式数据采集卡设计[J].微计算机信息,2010,26(17):59-63.
[2]李富栋,丁超.基于PC104的视频采集卡设计[J].光电技术应用,2010,25(3):23-27.
[3]王昊鹏,范惠林,齐铎.基于PC104的电动投弹器检测系统电路设计与实现[J].电子设计工程,2011(17):179-183.
[4]季晓松,李正生.一种高速数据采集卡的设计与实现[J].现代电子技术,2011,34(1):153-157.
[5]马志昕,栾晓明.VxWorks环境下PC104视频采集平台的构建[J].哈尔滨商业大学学报:自然科学版,2011,27(2):45-48.
[6]徐军涛,许化龙.基于FPGA的PC/104-CAN通讯板设计[J].现代电子技术,2009,32(19):83-85.
[7]刘英,张志亮.基于PC104+双通道数据采集系统设计[J].国外电子测量技术,2010,29(2):58-62.
[8]康凯,钟子发,叶春逢,等.基于PC104PLUS的超短波检测系统数据采集平台设计[J].电子测试,2010(4):58-62.
[9]吴芝路,杨水旺,任广辉.高速模数转换器AD9283在中频数字接收机中的应用[J].电子器件,2007,30(3):1088-1090.
一、设计思想
要学好单片机设计关键是动手实验。目前单片机教学中使用的单片机实验箱虽然功能全, 但体积大、成本高, 属于学校的固定资产, 不适宜提供给学生进行课外实践训练。所以, 一部分学有余力的学生想在课外深入学习以能获得更大的提高, 却往往找不到一款合适的、价格低廉的最小系统板。
本文设计的单片机最小系统的目标是实现模块化、在线编程、和PC机采用USB通信、成本低。其中利用USB总线实现在线编程是其最大特色。通常的单片机最小系统板大多采用标准R S-232串行接口与P C机通信, 实现程序的下载或调试。随着USB通用串行总线的发展, USB产品的应用范围不断扩大, PC机上各种端口正逐渐被U S B端口取代。但目前大多数单片机支持的是R S232标准, 很多单片机的开发软件也是基于RS232标准设计的, 为了使单片机系统能够与只有USB接口的PC机或笔记本电脑通信, 需要设计一种USB-UART转换模块。该转换模块可最大限度的降低单片机系统开发的成本, 既保留了单片机内部提供的串口资源, 也不用对PC机的应用开发软件做改动。本文介绍一种基于南京沁恒公司的CH341为USB/RS-232转换芯片的单片机最小系统设计。
二、单片机最小系统硬件设计
最小系统的设计思想是能提供两种运行模式:下载模式和工作模式。当为下载模式时, 最小系统模块和USB-UART转换模块相连, 无需外接电源, 由USB串口下载程序;当为工作模式时, 最小系统既可与USB-UART串口转换模块相连, 由它提供工作电源;也可单独外接电源, 最小系统的RS232端口可作为单独的串口, 以提高系统的灵活性。最小系统与USB-UART转换模块的连接示意图 (如图1所示) 。
1. 最小系统硬件设计
单片机最小系统包括SST51单片机, 复位电路, 系统时钟电路, 标准TTL-RS232电平转换电路, 地址、数据及控制电路总线接口 (38P I N) , 同时提供+5V电源输出。其电路设计如图2所示。其中SST51单片机选用的是具有IAP功能的SST89E52/54/58/516RD单片机, 其指令系统及引脚排列与MCS-51兼容, 但片内资源和性能指标有很大提升。
2. USB-UART串口转换设计
USB-UART串口转换芯片采用的是CH341, 它是由南京沁恒公司提供的一款USB总线转接芯片, 通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。
在异步串口方式下, C H341提供串口发送使能、串口接收就绪等交互式的速率控制信号以及常用的MODEM联络信号, 用于将普通的串口设备直接升级到U S B总线。该芯片的特点是USB固件已被封装到了芯片内部, 兼容USB V2.0, 外围元器件只需晶振和电容, 在应用上CH341就和普通的串转并接口芯片一样, 用户不用了解具体USB协议以及USB固件编程。USB-UART串口转换模块可以将程序下载到单片机上, 同时通过USB口为单片机和其它模块提供电源, 该模块被设计成与最小系统板相对独立的模块 (如图3所示) 。
从图中可以看出, 该模块提供了USB接口电路, 包括4根信号线:D+, D-, VCC, GND, 可直接与PC机的USB口相连, 由PC机的USB口提供电源;CH341的TXD和RXD信号分别与SP3232E电平转换芯片的对应引脚相连, 以实现数据的收发;TEN引脚接地, 保证CH341实现数据的发送。
为了使C H341正常工作, 还需要驱动程序的支持, 南京沁恒公司提供了相关的驱动程序:c h341s98.sys, ch341ser.inf, ch341ser.sys, ch341ser.vxd, 并提供了安装程序。当安装完成后, PC机就能够自动识别由CH341来的串口信息。
三、应用举例
由于系统设计时是以模块化结构为宗旨, 在最小系统板上留出了38PIN的总线接口, 所以在进行应用设计时, 只需保证接口引脚和最小系统板的引脚对应即可, 可以将设计重点放到应用系统本身的功能上。本文以交通灯为例来说明最小系统的应用。
1. 交通灯电路设计
本系统设计的交通灯模块要实现双干线路口的交通信号灯的定时变化。设计12个发光二级管, 分别表示东、西、南、北四个方向红、黄、绿灯;设计8个LED数码管, 用于显示各状态的剩余时间;设计东西方向和南北方向紧急按键各一个, 以便于紧急情况的处理。
要实现上述功能, 模块用到的单片机资源应包括定时器、两个外中断及多个并口。定时器用来实现正常的计时;两个外中断接收按键信号以处理紧急事件;P1口用来控制12个发光二极管, 由于东西和南北方向的信号灯是相同的, 故只用了P1口的6个口线;P0口和P2口的低4位分别作为L E D数码管的位选和片选信号, P2口的高4位用来作为译码信号, 送给L E D数码管的驱动芯片74LS245。该应用模块的接口设计如图4所示。
2. 程序下载
SST89E52系列单片机提供了SSTEasy IAP在线下载软件。安装成功后, 打开SSTEasy IAP软件, 将单片机用USB-UART串口转换模块与计算机相连, 选择CPU型号和串口号, 打开“检测MCU选项”, 点击“检测MCU固件版本号及选项”, 当看到单片机的固件信息时, 说明已连接成功。点击“Open File”, 选择要下载到单片机的hex或bin文件, 可在“文件缓冲区”内看到该文件的数据信息, 点击“下载”, 注意此时需要冷启动单片机, 即可将程序下载到单片机。
四、结束语
本文针对高校学生普遍存在单片机设计训练不足的现状, 设计了一种基于USB串行下载的单片机最小系统板, 它采用模块化设计思想, 能用于各种不同的应用系统。该设计可作为课堂教学、单片机课程设计、毕业设计、课外电子实践和电子竞赛训练等的通用最小系统板, 学生可基于该最小系统板开发各种目标程序, 极大减少了单片机系统的开发周期和成本, 对培养学生应用设计能力和创新意识、提高就业竞争力具有重要意义。
摘要:为解决高校学生单片机设计训练少、实验设备昂贵的问题, 设计了一种基于USB总线的单片机最小系统板。介绍了USB总线转接芯片CH341的功能特点, 给出了利用CH341及RS232电平转换芯片实现USB和RS232转换的硬件电路, 详细介绍了单片机最小系统设计思想和硬件电路设计, 并给出了应用实例。该最小系统板可应用于单片机教学的各个环节。
关键词:单片机最小系统,USB总线转接芯片,RS232
参考文献
[1]余善恩, 尚群立.RS232设备到USB设备的升级及USB设备的开发[J].计算机工程, 2007.2, 256-258.
【基于USB总线的实时数据采集系统设计与实现】推荐阅读:
基于基础地理信息数据库的制图设计与实现11-11
航空雷达数据总线技术研究07-11
基于数据库的自动测试系统(ATS)软件10-09
浅谈基于.NET的高校教材管理系统的分析与设计论文09-23
现场总线06-27