采集存储(精选7篇)
采集存储 篇1
0引言
数字技术的蓬勃发展和广泛应用使人类社会迈入了“数字时代”。今天, 数字技术产品已走进普通百姓的日常生活之中。
数字技术就是用数字编码来描述和表达图像、声音等各种媒体信息。其信息处理的流程是:模拟信息→数字化→压缩编码→存储或传输→解码再现。其中, 压缩编码是一个关键环节。数字化的图像和声音信号数据是非常庞大的, 例如一幅640×480像素中等分辨率的彩色图像 (24 bit/像素) 的数据量约为7.37 Mbit/帧, 如果是运动图像, 以每秒30帧或者25帧的速度播放时, 则视频信号传输速率为220 Mbit/s;如果把这种信号存放在650MB的光盘中, 一张光盘只能播放20多秒钟。所以, 必须对数字化信息进行压缩, 用尽可能少的数据来表达信息, 节省传输和存储的开销。
1视频模型
数字视频就是先用摄像机之类的视频捕捉设备, 将外界影像的颜色和亮度信息转变为电信号, 再记录到储存介质 (如录像带) 。播放时, 视频信号被转变为帧信息, 并以每秒约30帧的速度投影到显示器上, 使人类的眼睛认为它是连续不间断地运动着的。电影播放的帧率大约是每秒24帧。如果用示波器 (一种测试工具) 来观看, 未投影的模拟电信号看起来就像脑电波的扫描图像, 由一些连续锯齿状的山峰和山谷组成。
中国和欧洲采用的是PAL制 (逐行倒相制) , 美国和日本采用的NTSC制, PAL信号有25 fb/s的帧率, NTSC制信号有30 fb/s的帧率。视频信号在质量上可区分为复合视频 (Composite) , S-Vide, YUV和数字 (Digital) 4个级别。复合视频, VHS, VHS-C和VideO8都是把亮度、色差和同步信号复合到一个信号中, 当把复合信号分离时, 滤波器会降低图像的清晰度, 亮度滤波时的带宽是有限的, 否则就会无法分离亮度和色差, 这样亮度的分离受到限制, 对色差来讲也是如此。因此复合信号的质量比较一般, 但他的硬件成本较低, 目前普遍用于家用录像机。S-Vide, S-VHS, S-VHS-C和Hi8都是利用2个信号表现视频信号, 即利用Y表现亮度同步, C信号是编码后的色差信号, 现在很多家用电器 (电视机, VCD, SHVCD, DVD) 上的S端子, 是在信号的传输中, 采用了Y/C独立传输的技术, 避免滤波带来的信号损失, 因此图像质量较好。YUV视频信号是3个信号Y, U, V组成的, Y是亮度和同步信号, U, V是色差信号, 由于无需滤波、编码和解码, 因而图像质量极好, 主要应用于专业视频领域。数字及同步信号利用4个信号:红、绿、蓝及同步信号加于电视机的显像管, 因此图像质量很高。还有一种信号叫射频信号, 他取自复合视频信号, 经过调制到VHF或UHF, 这种信号可长距离发送。现在电视台就采用这种方式, 通过使用不同的发射频率同时发送多套电视节目。
2数字化视频采集
NTSC和PAL视频信号是模拟信号, 但计算机是以数字方式显示信息的, 因此NTSC和PAL信号在能被计算机使用之前, 必须被数字化 (或采样) 。
模拟视频信号携带了由电磁信号变化而建立的图像信息, 可用电压值的不同来表示, 比如黑白信号, 0 V表示黑, 0.7 V表示白, 其他灰度介于两者之间。
数字视频信号是通过把视频帧的每个象素表现为不连续的颜色值来传送图像资料, 并且由计算机使用二进制数据格式来传送和储存象素值, 也就是对模拟信号进行A/D转换后得到的数字化视频信号。
数字视频信号的优点很多:
(1) 数字视频信号没有噪声, 用0和1表示, 不会产生混淆, 而模拟信号要求屏蔽以减少噪声。
(2) 数字视频信号可利用大规模集成电路或微处理器进行各类运算处理, 而模拟信号只能简单地对亮度、对比度和颜色等进行调整。
(3) 数字视频信号可以长距离传输而不产生损失, 可以通过网络线、光纤等介质传输, 很方便地实现资源共享, 而模拟信号在传输过程中会产生信号损失。
一个视频图形适配器 (通常叫做抓帧器或视频采集卡) 经常被用来数字化视频模拟信号, 并将之转换为计算机图形信号。视频信号的数字记录需要大量的磁盘空间, 例如, 一幅640×480中分辨率的彩色图像 (24 b/pixel) , 其数据量约为0.92 Mb/s, 如果存放在650 MB的光盘中, 在不考虑音频信号的情况下, 每张光盘也只能播放24 s, 使用如此巨大的磁盘空间存储数字视频, 是大多数计算机用户所无法接受的。在这种情况下, 将视频带到计算机上, 以有效的帧率播放存储信息, 是使用计算机处理视频能力的最大障碍, 鉴于此种情况, 我们采用数据压缩系统和帧尺寸、色彩深度和图像精度折衷的办法, 对视频数据进行压缩, 以节省磁盘存储空间, 数字化视频采集技术也就变成了现实。
数字化视频的过程, 通常被叫做数字化视频采集。模拟信号到数字信号的转换中通常用8 bit来表示, 对于专业或广播级的信号转换等级会更高。对于彩色信号, 无论是RGB还是YUV方式, 只需用24 bit来表示。因此采样频率的高低是决定数字化视频图像质量的重要指标。
视频采集中计算机的处理设备通常有3种类型, 即帧采集卡、动态图像连续采集卡、电视节目接受卡。帧采集卡的工作原理是把偶合视频信号解码成RGB或YUV, RGB或YUV信号经过A/D转换后进入帧存体, 帧存体内的数据根据同步信号不断被刷新。帧存体内的数据需要保存时, 计算机给出控制信号, 帧存体数据不再被刷新, 这时计算机可以读出帧存体数据传送到计算机内存或存放到硬盘中。由于视频信号是隔行扫描, 在数字化过程中每帧图像分成两场, 每场的分辨率是228行, 因此高速运动的图像采集后有抖动的感觉, 要解决这一问题可以只采集一场或缩短快门时间。采集连续图像到计算机中是比较困难的, 因为单一帧静止图像的数据量已经很大, 而动态图像是25帧/s~30帧/s, 模拟的视频图像数字化后所得到的数据量巨大, 使传输、存储和处理很困难。解决这一问题的办法一般有3种:
(1) 利用局部数据总线, 提高数据传输速度;
(2) 大大降低分辨率;
(3) 采用压缩编码。
3视频压缩
对视频图像进行压缩编码, 是目前最流行的方法。1980年以来, 国际标准化组织 (ISO) 、国际电工委员会 (IEC) 和国际电信联盟 (ITU) 等陆续完成了各种数据压缩标准和建议, 如面向静止图像压缩的JPEG标准, 在运动图像方面用于视频会议的H.261标准、用于可视电话的H.263标准、用于VCD的MPEG1标准、用于广播电视和DVD的MPEG2标准以及最新的采用基于对象的编码理念的MPEG4标准等。MPEG是运动图像专家组的英文首字母缩写。该专家组成立于1988年, 致力于运动图像及其伴音的压缩编码标准化工作。
MPEG1于1993年成为国际标准, 它是对1.5 Mbit/s以下数据传输率的数字存储媒体运动图像及其伴音的压缩编码标准, 适用于CD-ROM、VCD、CD-I (交互式CD) 等。它可对SIF (标准交换格式) 分辨率 (NTSC制式为352×240;PAL制式为352×288) 的图像进行压缩, 传输速率为1.5 Mbit/s, 每秒播放30帧, 具有CD音质, 图像质量基本与VHS家用录像机相当。MPEG1也被用于数字通信网络上的视频传输, 如基于ADSL (非对称数字用户线路) 的视频点播 (VOD) 、远程教育等。
MPEG2于1995年成为国际标准, 其目标是达到高级工业标准的图像质量以及更高的传输率。MPEG2所能提供的传输率在3 Mbit/s~10 Mbit/s之间, 在NTSC制式下的分辨率可达720×486, 可提供广播级的图像质量和CD级的音质, 适用于数字电视广播 (DVB) 、HDTV和DVD的运动图像及其伴音的压缩编码。目前, MPEG2已得到广泛应用, 如美国、欧洲在DVD和数字电视广播方面都采用MPEG2压缩技术。
MPEG3最初是为HDTV开发的编码和压缩标准, 但由于MPEG2的出色性能表现, 已能适用于HDTV, 使得MPEG3还没出世就被抛弃了。
MPEG4于1999年初正式成为国际标准。MPEG4是一个适用于低传输速率应用的方案。与MPEG1和MPEG2相比, MPEG4更加注重多媒体系统的交互性和灵活性。
在视频编码方面, MPEG4支持对自然和合成的视觉对象的编码。合成的视觉对象包括2D、3D动画和人面部表情动画等。在音频编码, MPEG4是在一组编码工具支持下, 对语音、音乐等自然声音对象和具有回响、空间方位感的合成声音对象进行音频编码的。MPEG4音频编码不仅支持自然声音, 而且支持合成声音。
MPEG4的重要特点包括: (1) 基于内容的普遍性。MPEG4能够直接选取音频、视频内容进行编码, 并对其灵活地进行控制和显示, 用户可以自行选择场景中的物体的解码质量, 进行家庭影视节目制作和编辑。 (2) 以AV为对象, 增强了交互性和扩展性, 从而提高了交互应用的灵活性。 (3) 将各种功能应用在自然的和合成的AV对象上, 增强了节目编辑制作能力。 (4) MPEG4在误码环境中, 尤其是在恶劣误码条件下的低比特率应用中的抗误码性, 有利于节目制作、分配和显示。
4结束语
视频信号被采集到计算机后, 就可进入编辑制作阶段, 由于硬盘录像机、数字摄像机、非线性编辑系统等数字产品的快速发展, 将视频制作带入全面数字化时代, 视频的网络化传输和直接播出技术已成为现实。
摘要:介绍了视频信号采集存储的背景和意义, 从几个方面说明了视频处理的过程和技巧。第三部分主要研究了MPEG系列视频编码标准, 对MPEG的数据结构、编解码算法等作了详细介绍。
关键词:视频编码,图像处理,MPEG
参考文献
[1]黎洪松.数字视频技术[M].北京:清华大学出版社, 1997.
[2]赵荣椿.数字图象处理导论[M].西安:西北工业大学出版社, 1995.
[3]张远鹏.计算机图象处理技术基础[M].北京:北京大学出版社, 1998.
高速数据采集存储板卡设计 篇2
高速采集存储系统目前在雷达、图像处理、语音识别、声纳、通信等领域有着广泛地应用。为了满足雷达高速数据采集的需要,要求设计高速大容量的数据存储器,可以在现场采集数据、保存后进行回放和后期处理。特别是随着雷达成像技术逐渐成熟,分辨率和采样率都大幅提升,需要实时保存海量数据。Atmel公司的1 GS/s速率的A/D变换器件,可以工作1 GHz上进行采样。NAND型FLASH芯片,以半导体作为记忆载体,比传统的存储设备可靠性更高,体积及重量更小,日趋成为存储器的主流。
在某机载合成孔径雷达的试验中,雷达以正侧视条带式工作在X波段,空间分辨率达到0.5 m×0.5 m(0.3 m×0.3 m)的高分辨率,I,Q双通道采样,采样频率640 MHz,采样位宽为8 b,场景距离向45 120 (22 560)点,方位向重复频率为2 k/s,要求最小存储速度2×8 b×45 120×2 k/s=180.480 Mb/s。本文将详细介绍所设计的A/D_FLASH系统是如何构建来满足数据采集和存储要求的。
1 核心芯片选择
存储介质采用Samsung公司的NAND FLASH芯片K9WAG08U1A-PIB0,他的外部接口速度为40 MHz,接口宽度8 b。每个芯片含8 192×2个数据块,1个块分64页,每页大小为(2 k+64)B,其中64 B为空闲区,存储总容量为16 Gb。
数据采集芯片采用Atmel公司的AT84A/D001B,他是双通道8位AD,采样速率可达2 Gs/s(此时是2个通道),输入接口是SMA,触发选用外接触发,触发信号为3.3 V的TTL或者CMOS电平。输入信号带宽可为1~1 500 MHz,输入信号幅度为-2 dBm(Vpp=500 mV),输入阻抗50 Ω,信号通过SMA接头接入。
FPGA是控制核心,他非常适合复杂时序逻辑的设计,这里选用Altera公司的STRATIXⅡ系列的EP2S60F1020C5芯片。他的内置存储RAM,可以缓存一定量的数据,支持3.3 V,64 b,66 MHz PCI,可以作CPCI的功能控制。
PCI桥接芯片采用了PIX公司的PCI9656BA芯片,以简化与主机进行通信时PCI部分的设计。借助PCI9656,可实现与主机间进行64 b,66 MHz的PCI总线,与FPGA间实现32 b,66 MHz的局部总线协议,并可实现板卡的热插拔。该芯片应用灵活,性价比较高,是进行CPCI接口开发的一块性能优良的芯片。
2 A/D芯片部分的操作
AT84A/D001B有2路(I,Q)模拟输入,变换的结果可以最多有4路的差分输出,这4路都连到FPGA的差分IObank上,A/D的时钟输入也是差分的,最高可以达1 GHz,如果设定成将这个时钟反相后作为另一路的时钟输入,那么采样速率实际可达2 GS/s,工作模式的设定都是通过FPAG输出时序给A/D,其中要注意的FPGA输出的信号经过一个电平转换芯片后再连到A/D的配置接口上,因为A/D支持电平是2.2 V,可以用FPGA的3.3 VBANK的I/O接口转换。
3 FLASH芯片接口操作
K9WAG08U1A可以看作由2片存储容量为8 Gb的小芯片组成,对此,芯片有2个片选信号ce1和ce2,对应还有2个rdy信号。芯片的各种操作必须写入相应的命令才能顺利执行,由于命令、地址、数据共用I/O,所以要通过命令锁存信号和地址锁存信号共同控制而分时复用。FLASH存储中主要使用的操作简介如下:
(1) 页编程(PAGE PROGRAME)
器件的编程以页为单位,但在一个页编程周期中允许对部分页(一个或连续的多个字节,最多不超过页容量)编程。一个页编程周期由串行数据加载阶段和紧随的编程阶段组成。在数据加载阶段,数据被加载到数据寄存器中;在编程阶段,已加载的数据写入实际的存储单元,编程典型时间为200 μs。
(2) 页读(PAGE REA/D)
器件在上电时,就被初始化为读模式,此时可以不写00h命令,直接写入地址和30h命令即可。有2种类型的读,分别是随机读和顺序页读。命令打入后经过最多20 μs的时间,数据会从选择的页传到数据寄存器中。
(3) 块擦除(BLOCK ERASE)
器件的擦除操作是以块为单位的。块地址加载由擦除建立命令60h启动,然后输入确认命令D0h,执行内部擦除过程。这一先建立再执行的两步命令时序,确保了存储内容不会由外部的干扰而意外擦除。
4 板卡大致布局
板卡有一个高速CPCI接口,方便与CPCI工控机之间的数据交换。此外采用自定义的两个高速数据接口(SCSI)。64片FLASH芯片并行操作,另外8片FLASH芯片专门用于冗余校验, FPGA为整个板卡的控制核心,其硬件结构如图1所示。
由于CPCI的插槽J3,J4和J5用户自定义应用,在这里把J3设计成自定义I/O,总共有80根线连到FPGA的引脚上,这样只要跟这块板卡插在同一块CPCI工控机的底板上,就可以很自由地实现板间通信而不需要主机的太多干预。J4没有连接,而J5则按照TigerShark公司的TS201的链路口协议进行链接,这样以来,这块板卡就可以实现与以TS201为核心的雷达信号处理板卡之间的通信。 布局时要把数字部分和模拟部分尽量彻底分开,模拟部分主要是指A/D上的模拟电源,模拟地,模拟信号等。这块板卡的布局如图1所示:
5 重要模块设计
程序的大致结构流程如图2所示:
FPGA是整个存储卡的控制核心,EP2S60F1020I4实现的内部功能模块如图3所示:
6 A/D的配置及与FPGA数据传输
Atmel的这款A/D变换芯片采用3线式配置其工作方式,通过这个接口配置他的时钟源,单路或是双路模拟输入,以及变换结果的输出通道数,并可以配置2路的增益和补偿。这种配置方式只需往芯片的内部8个寄存器写入相应的配置值即可,并可以根据应用场合及时修改配置参数,适应各种要求的数据采集要求。A/D的3线配置时序如图4所示:
A/D变换工作的频率比较高,FPGA要接收这个数据需采用一个LVDS接收器,这样就可以把接收器的输出直接连到FPGA中的FIFO去,接下来通过FIFO接口把数据传给FLASH模块去存储。A/D变换的结果进入FPGA后,再经过一个解串器,把速度降下来,就可以分到把数据送给FLASH去存储。
6.1 FLASH流水工作
考虑存储速度要求和接口的最高速度,我们以接口速度320 MB/s进行设计,由于每组17片FLASH并行操作,分配到每个FLASH芯片的速度为320/16=20 MB/s。K9K8G08U0M芯片接口的写入速度最高可达40 MB/s,所以工作在20~40 MB之间就可满足所需要求。
考虑FLASH的结构特点,设计过程中基于整个页进行读写操作。数据加载时间,即1页数据写入FLASH寄存器的时间为:页容量/接口速度=102.4 μs。数据加载结束后,进入编程阶段。K9K8G08U0M芯片编程时间的典型值为200 μs,最大值为700 μs。为了系统达到最大稳定,以最大时间700 μs进行设计,编程时间/数据写满每组FLASH一页的时间为:700 μs/102.4 μs=6.8,说明经过7组FLASH的写入加载操作后,第一组FLASH编程结束,又可进行再次加载。由此可见,在一次循环操作中,用8组FLASH是比较合适的,也就是如图5所示的样子。
6.2 用于FLASH存储的坏块列表
NAND FLASH内部有随机分布的坏块,需要建立坏块信息列表,对FLASH的操作都要基于此列表。芯片在出厂的时候,在每块第一页和第二页的空闲区的首字节(第2 048个字节)处留有标记,如果不是FFH则为坏块。建立坏块信息列表如图6所示。
在实际操作中发现,每组17片FLASH总的坏块从80到130不等,但相对于总块数8 192而言仍算少数。所以把每组17片FLASH各自的坏块信息相与,建立一个新的组坏块信息列表,一共8组FLASH所有的坏块信息是8 192个字节,总的大小很小。由于每组FLASH共同控制,那么基于同一个坏块列表操作就显得非常的方便。
存储操作及坏块列表的更新,如图7所示。FLASH在长期使用中,会产生新的坏块,要及时对坏块信息进行更新。更新时,把新的坏块内容写入第一块中去,但不重新写入原来的地址。这样确保原始坏块信息的安全。
6.3 数据的冗余校验
在实际信道传输数据时,如果由于信道传输特性不理想,并且受到噪声和干扰的影响,就会造成接收端误判而发生差错,或者由于个别芯片出现读写失败时,也会造成数据的丢失。为了尽可能的降低通信的误码率,提高数据存储的完整性,同时使用循环冗余校验码CRC(Cyclic Redundancy Check)与奇偶校验码来检查和恢复错误数据,保障存储系统数据的可靠性。
循环冗余码采用CRC-CCITT国际标准,其生成多项式为:G(X)=X16+X12+X5+1。为了提高运算速度,使用并行计算方法。奇偶校验的法则为,数据有奇数个1时,校验码为1,否则为0,在FPGA内部使用异或组合逻辑就可轻松实现所需算法。
7 性能参数
板卡的性能参数如表1所示。
8 FPGA内部实现的功能结构
FPGA内部主要完成的工作主要有,接收从CPCI工控机来的的命令,判断执行的命令的类型(存储、回放、擦除数据等),实现FPGA与PCI9656的通信,对A/D的工作模式进行配置,把A/D变换的结果传给FLASH,建立坏块列表,以及对数据的冗余校验。低速模块对高速输入的处理,是个通过数据流的串并转换,面积换速度的方法达到。
9 结 语
本文对FLASH的固存技术进行研究,所设计的基于FPGA的存储卡,在存储速度、容量、纠错性能上都满足了机载合成孔径雷达成像试验所需的要求。在速度要求愈高的发展趋势下,高速大容量的存储器将在各个领域都会有广泛的应用前景。
参考文献
[1]K9WAG08U1A A/Dvanced FLASH Memory Data SheetSAMSUNG Electronics,2005.
[2]PCI 9656BA Data Book,Version 1.1 2003 PLX Technolo-gy,Inc.
[3]Stratix II Device Handbook Altera Corporation.
[4]李贵山,戚德虎.PCI局部总线开发者指南[M].西安:西安电子科技大学出版社,1997.
波形采集、存储与回放系统的设计 篇3
1.1 系统设计方案
本系统主要由输入电路模块、A/D转换模块、单片机控制和显示模块、D/A转换模块、输出电路模块等组成。具体示意图如图1所示。
采样方式:实时采样。根据采样定理, 采用速率必须高于信号最高频率分量的两倍。对于周期的正弦信号, 一个周期内应该大于两个采样点。电平测量方式:将A/D采样信号的数值进行比较, 得到最大与最小值, 即为高低电平。频率测量方式:将待测信号整形后转换成方波, 由单片机捕获两个方波的上升沿, 计算时间即可得到频率。采样信号处理:通过电阻分压方式实现电压的零点偏置。将电压整体抬高。其电路结构如图2所示。
1.2 总体方案设计及框图
本设计主要有输入电路 (集成运放和整形电路) 、A/D转换电路、单片机和显示电路、D/A转换电路和输出电路 (DA7524转换电路) 。输入信号经电平移位电路, 经A/D转换后存入储存器, 回放时经D/A转换, 显示在示波器上。具体框图如图3所示。
2 电路的设计与流程图设计
2.1 输入电路的设计
由于MSP430F149内置的模数转换器 (ADC) 只能对低于3.3V的电压采样, 为了完成对A通道高电平约4V, 低电平接近0V信号的采样, 本系统在输入部分设计了一个同相比例运放, 将输入信号缩小一倍, 达到单片机对电压的采样要求。该电路如图4所示。
2.2 整形电路
频率测量时, 利用MSP430F149单片机捕获输入信号上升沿, 计算两个上升沿之间的时间即是信号的周期。但是正弦信号没有上升沿, 不能满足电路的要求, 所以采用整形电路将正弦信号转换为同频率的方波信号。整形电路如图5所示。
2.3 单片机与液晶12864的接线
单片机与液晶12864的接线图如图6所示。A通道的输入和B通道的输入经过输入电路送到A/D转换电路, A/D转换电路将模拟信号转换成数字信号。在单片机的液晶上显示采集、回放时显示实际测量值的周期 (以“ms”为单位) 和幅度 (以“m V”为单位) , 而且采用十进制数字显示。
2.4 电源的设计
通过变压器将电压转换为24V交流电压, 利用整流桥整流, 然后用转换芯片分别转换为±3.3V, ±5V, 得到稳定的直流电压。电源电路图如图7所示。
2.5 软件设计
软件部分将AD转换得到的两路数字信号临时存放在单片机内, 进行各种处理和计算, 包括电压最大值和最小值计算, 以及信号周期的分析和计算。并将两路信号分被存入单片机内部FLASH中的不同区段, 保证系统断电后存入的信息不丢失, 当需要对信号回放时, 随时能对FLASH进行读取, 并经DA转换回放。软件设计流程图如图8所示。
3 测试结果与分析 (表)
4 结束语
系统的设计过程中达到了各个指标要求, 能够同时采集、存储与连续回放A、B两路信号, 分别测量和显示A、B两路信号的周期。还可以存储两次采集的信号, 回放时用按键选择显示指定的信号波形。
摘要:本系统利用MSP430F149单片机控制, 能同时采集单极性和双极性两路周期信号, 存储到FLASH存储器, 系统断电重启后, 能连续回放已采集的信号, 同时测量信号周期和电平并显示。系统主要有输入电路模块、信号放大处理模块、单片机控制电路模块、D/A转换模块和输出模块等组成。特点是功耗低, 高输入阻抗, 低输出阻抗, 回放信号与原信号误差小, 能显示信号周期和高低电平。
关键词:MSP430F149单片机,A/D转换器,D/A7524转换器
参考文献
[1]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社, 2008.
对多路数据采集存储的设计实现 篇4
1 系统硬件的实现
1.1 总体模块设计
系统硬件结构如图1所示,采用高性价比STM32F103VC作为系统主机,并将采集数据传入主机,选用CH376作为USB主机控制读写芯片,实现数据的采集存储,同时将采集到的数据在显示屏上进行显示。
1.2 功能模块的实现
采用高精度24位AD7793芯片实现了对数据的采集,使用SPI接口协议,设备使用4线双向接口从主/从模式下通信,其原理如图2所示,通过配置SPI_CNTL[22],MCU也可支持2位数据传输模式,当SPI_CNTL[22]寄存器的TWOB位使能,即可传输2位数据的输入/输出。第一位数据从SPI_TX0输出或从SPI_RX0输入,第二位数据从SPI_TX1输出或从SPI_RX0输入。
采用文件管理CH376芯片控制单片机系统的读写,芯片内置了USB通讯协议的基本固件,可处理海量存储设备的专用通讯协议,并在读写时理解传输USB协议,易于读写控制。通过串行接口,CH376可用最少的连线与STM32F103进行点对点的连接以实现USB_HOST功能,CH376芯片的RXD和TXD分别连接到单片机的串行数据输出/输入引脚,对芯片提供3.3 V电压,Y为芯片的外部晶振,管脚RST为芯片复位管脚,CH376T依靠串口收发指令通知STM32F103,故INT#输出的中断请求管脚悬空。CH376与主机连接如图3所示。
2 系统软件的实现
2.1 数据采集的实现
对数据采集的编程主要是对AD7793芯片初始化,其主要寄存器配置流程如下:(1)选定写配置寄存器,设置单极性编码,Gain=8,设置外部参考源,通道为AIN1;(2)选定写IO寄存器,恒流源1接IOUT1,恒流源2接IOUT2,激励恒流源210μA;(3)选择写模式寄存器,进行内部零电平校准,设置内部时钟,更新速率为16.7 MHz,读状态寄存器,循环判断零电平是否校准;(4)再次写模式寄存器,进行写内部满量程校准,设置内部时钟,更新速率为16.7 MHz,再次选择读状态寄存器,循环判断满量程是否校准;(5)选择写模式寄存器返回连续转换模式,设置内部时钟,更新速率为16.7 MHz,读取状态寄存器,循环判断连续返回位是否设置成功。
2.2 数据采集的存储实现
CH376T支持以Byte为最小单位进行读写。采用默认的9 600 bit·s-1速率,发送两个字节的同步码(57 H,ABH,命令码)在指令之前,用以区分指令和数据。依靠指令用一问一答的形式实现数据的存储。其流程主要包括硬件初始化、数据写入、文档的关闭,具体如图4所示。
发送CMD_CHECK_EXIST命令及5 H数据,若返回0AAH,说明硬件初始化成功。发送CMD_SET_USB_MODE命令,后续数据位选择模式,若返回为CMD_RET_SUCCESS说明选择U盘模式成功。发送CMD_DISK_CONNECT命令检查U盘,返回CMD_INT_CON-NECT说明选择成功;发送CMD_DISK_MOUNT命令初始化U盘,返回成功为CMD_INT_CONNECT,若失败,则需重复5次初始化U盘。
发送CMD_FILE_OPEN命令,若返回CMD_INT_SUCCESS说明打开成功,否则发送CMD_SET_FILE_NAME、CMD_FILE_CREAT命令设置文件名创建文档。若返回CMD_INT_SUCCESS,说明创建成功。接着发送CMD_BYTE_LOCATE命令写入4个字节的偏移量,低字节在前来确定数据读写位置,发送CMD_BYTE_WRITE命令写支持最大数据长度,返回是USB_INT_DISK_WRITE命令时,读取可向CH376中的数据长度,接着循环写数据;写完数据之后再发送CMD_BYTE_WR_GO命令,等待返回,若为USB_INT_DISK_WRITE继续返回写数据,否则此次数据将写入成功。
发送CMD_DIR_INFO_SAVE命令,接着发送数据01H(00H表示不更新文件的长度,01H表示更新长度)。若返回为CMD_INT_SUCCESS,说明保存再发送CMD_FILE_CLOSE命令,若返回CMD_INT_SUCCESS命令,则表明此次数据读写保存、关闭成功。
3 调试
系统硬软件制作完成后,针对系统运行情况进行相应的测试,当数据采集出现延时时,芯片和主机时钟现实中出现不同步,需逐步去调试程序延时达到近似同步,在数据存储时能有效地将数据在U盘中建立txt文档并写入数据,满足控制要求。
4 结束语
采集存储 篇5
随着科学技术的发展, 视觉技术被广泛应用于军事、工业以及测控领域。视觉是人们主要的信息源,通过图像采集系统对周围环境图像数据进行采集,这样机器能够替代人类获得环境信息,此种系统被广泛应用于测控系统,以获得飞行器的环境参数。 利用高性能的FPGA控制图像数据的采集与图像数据处理,通过交错双平面技术对处理后的图像数据进行存储, 通过USB总线, 将处理后的数据传输给上位机进行解包并显示。
1系统的总体设计
系统工作过程:采集存储模块的FPGA通过模拟IIC时序, 对CMOS模拟传感器进行初始化与配置, 并采集图像数据,通过信号调理电路将采集的模拟信号进行滤波放大, 并将调理放大的信号进行A/D转换后输出给FPGA , FPGA将接收的数据通过内部FIFO缓存后传输给Flash芯片进行存储。 FPGA回读Flash芯片内的数据, 通过LVDS总线( 型号DS92LV1023) 发送给监控读数模块, 通过USB接口( 型号CY7C68013) 传输给上位机, 由上位机对图像进行解码显示。 系统的原理框图如图1所示。 FPGA采用XILINX公司的XC3S1400AN,内部包含有丰富的RAM资源,便于数据采集[1,2,3]。
2 CMOS图像数据采集模块
通过FPGA对CMOS图像采集模块进行逻辑控制。 其中采集模块主要完成对视频图像的采集, 对采集到的信号进行模数转换, 并对此信号进行低通滤波及放大后[4,5,6,7]传输给图像数据存储模块进行存储。
在本文的系统设计中,对图像数据的采集是核心模块。 视频前端应用CMOS图像传感器(型号OV7670),输出的图像数据最高为30帧/s,30万像素,芯片内部的寄存器达201个, 通过FPGA控制单片机对传感器寄存器进行配置。 单片机采用IIC总线为传感器寄存器串行传输数据,在对IIC总线时序控制中,利用54个SDA时钟传输32 bit的配置数据, 其中前两个时钟周期完成时序模块的初始化,延时4个周期后,启动串行数据的传输, 传送完一个字节数据后等待从接收器(CMOS图像传感器)的应答信号,当单片机确定从接收器正确接收后,启动发送下一个字节的配置数据,直到发送完4个字节的配置数据后,发送终止信号, 结束IIC总线的传输, 完成传感器的初始化, 从而控制图像数据的质量、 图像数据的制式以及数据的传输方式。 其中IIC总线传输模块的时钟为30 k Hz。
CMOS图像传感器将采集到的光信号转换为模拟信号, 被转换的模拟信号很微弱, 为达到A/D转换芯片对处理信号电平的要求,需要对传感器输出的模拟信号进行放大处理, 经A/D转换芯片将模拟信号转换成数字信号输出。 FPGA的解码部分通过控制3种同步信号(像素时钟同步信号、行同步信号和场同步信号),进而得到8 bit的RGB制式的图像数据信号。 图像传感器的分辨率为640×480,行同步信号为 “1”时有效, 每行显示的有效数据是640 bit; 每列显示的有效数据是480 bit, 场同步信号为 “0” 时输出转化后的有效数据, 当其变为 “1” 时, 表明一帧图像数据传输完成。 采集到的数据通过FPGA芯片的内部FIFO缓存。
3图像数据存储模块
本文采用的FPGA片内存储器有限,考虑到大数据量的图像数据, 需要外部扩展存储器, 选用K9WBG08U1M型号的Flash, 此Flash最大存储4 GB图像数据, 以页为单位对数据进行读写, 以块为单位对数据进行擦除,包含3种地址控制信号(列地址、行地址和块地址)。 图像存储模块在上电初始化后,FPGA控制时序擦除Flash内存,并等待存储视频前端采集到的图像数据。 采用交错双平面式对接收到的图像数据进行存储, 将1片4 GB的Flash分成2片2 GB的Flash, 对其中一片Flash进行写操作的同时对另一片Flash进行读操作, 此种交错方式使输入输出不间断, 实现图像数据的无缝处理, 提高数据传输与处理的效率。
为了方便对图像数据进行读写操作, 引入3种控制信号:地址使能信号、命令使能信号和数据锁存信号。 在FPGA的逻辑时序控制中, 当地址使能信号有效为 “ 0 ” 时,FPGA的8个I/O口并行输出地址, 在对Flash芯片进行寻址时写入32 bit地址(13 bit是字节地址,19 bit是页地址和块地址),分5次输出;当命令使能信号有效为 “ 0 ” 时, 8位I / O口输出命令, 当数据锁存信号有效为 “ 0 ” 时, 8位I / O口输入8 bit图像数据。 图2所示为Flash存储模块工作时序流程图。
4监控读数模块
通过综合考虑,图像数据存储模块与监控读数模块通过低压差分传输方式(LVDS) 进行数据的传输, 此种传输方式适用于高速短距离传输, 但是, 在利用普通双绞线进行数据的传输时,信号的传输损耗随着信号频率的增加而增加。 基于此种限制,在图像数据的发送端加入驱动以增强信号,在图像数据的接收端采用均衡补偿法补偿信号在传输过程中的损耗。
此监控读数模块采用LVDS接口和422接口与图像数据存储模块进行通信。 LVDS接口主要负责存储命令的下发和回读存储模块的图像数据,422接口主要负责对存储模块状态的监控,通过回读存储模块的状态信息以确定存储模块是否正常工作。 图3所示为监控读数模块与数据存储模块的LVDS接口示意图。 存储模块接收到读数命令, 通过LVDS接口, 将数据传输给监控读数模块,监控读数模块通过检测数据的高两位判断是否为有效数据。 若为有效数据,将此数据存储到外部的FIFO中,若为无效数据,则丢弃。 监控读数模块向存储模块发送启动存数数据命令后,数据存储模块通过422接口将本身的状态信息发送给数据监控模块,通过这些状态信息能够判断存储模块是否正常工作。
5系统测试结果
在对本系 统的硬件 和软件模 块调试成 功后 , 对系统的总体功 能进行测 试 。 CMOS模拟传感 器对图像 数据进行 采集后 ,通过数据 存储模块 对采集到 的数据进 行存储 , 由监控读 数模块通 过LVDS接口回读 图像数据 , 并将此数 据通过USB接口上传 给上位机 , 上位机对 此数据进 行解码并 显示 , 图4所示为还 原后的图 像数据 。 其中FAF6为帧开始 标志 , 帧标志前 面的3个字节是 帧计数 。
6结论
本文利用CMOS传感器实现了对图像数据实时采集的要求。 应用K9WBG08U1M型号的Flash芯片通过交叉双平面技术对此图像数据进行存储,实现了数据的无缝传输,以流水线的数据传输方式提高了本系统的传输效率。 监控读数模块通过LVDS接口和422接口对存储模块的数据进行回读并在上位机上显示。 系统充分利用了具有高性能的XC3S1400AN(所用FPGA型号)芯片, 提高了系统的运行速度,具有很高的参考价值。
摘要:设计了一种针对具有大数据量特点图像数据采集、存储及长线回读的测控系统。在控制信号的作用下,此测控系统将CMOS传感器采集的大容量数据存储到Flash芯片中。存储完成后,通过LVDS总线,将Flash芯片中存储的数据回传到上位机进行存盘并显示。实验证明,此系统稳定性高,在工业控制领域具有借鉴意义。
关键词:图像数据,FPGA,Flash,数据存储
参考文献
[1]吴萌.一种高速、大容量图像存储系统设计[D].西安:中国科学院西安光学精密机械研究所,2009.
[2]邢彦梅,董晓倩,张园.一种基于JPEG2000算法的图像传感器设计[J].电视技术,2012,36(11):44-46.
[3]王小艳,张会新,孙永生,等.Camera link协议和FPGA的数字图像信号源设计[J].国外电子元器件,2008,16(7):59-61.
[4]任伟,张彦军,白先民.基于LVDS的高速数据传输装置的设计[J].科学技术与工程,2012,12(29):7759-7763.
[5]郭铮,刘文怡,冯妮.基于FPGA多通道高速数据采集存储器设计[J].电视技术,2012,37(17):55-57.
[6]蒋鹏,吴建峰,董林玺.一种改进的无线多媒体传感器网络分布式图像压缩算法[J].传感技术学报,2012,25(6):815-820.
采集存储 篇6
随着计算机技术和智能仪器仪表的深入发展,以计算机为核心的网络化测控系统得到越来越多的应用,尤其是在航空航天等国防领域。社会的不断进步,在线监测并处理数据显得尤为重要,NI公司发布的可编程控制器可以很好的实现其功能。LabVIEW是虚拟仪器领域中最具有代表性的图形化编程开发平台,是目前国际上首推并应用最广的数据采集和控制开发环境之一,主要应用于仪器控制、数据采集、数据分析等领域,并适用于多种不同的操作系统平台[1,2]。Lab VIEW采用强大的图形化语言( G语言) 编程,用户可根据测试的需要,自己设计所需要的仪器系统,即利用数据采集卡及计算机外围硬件进行信号的采集与检测,然后用计算机所编的软件来实现对信号的处理、计算和分析以及对测试结果进行显示。本文基于Lab VIEW开发工具,研究设计了一套数据采集系统,实现了包括数据采集、数据分析与数据存储,并通过实验和实际调试验证了系统的功能[3,4]。
1 基于 Lab VIEW 数据采集系统整体架构
本系统主要是以电测量传感器、NI数据采集卡、NI实时控制器、NI触摸屏和工控机进行数据的自动采集、数据处理、数据记录、波形显示、存储的系统。其工作过程为: 传感器将相应被测对象的量值转换成电信号,经过采集卡采集上传到实时控制器,通过交换机将数据送入到触摸屏进行实时显示,并将数据经过网线送入工业PC机。对上位机接收到的数据进行数据处理包括数据的低通滤波,采样波形的实时显示,参数修正,历史数据,产生报表等。为防止上位机数据丢失,在控制器上接入外挂硬盘,根据采集速率对数据进行存储。通过上位机SQL Server对历史数据进行检索,显示历史数据与历史波形,如下图1所示数据采集系统结构图。
2 硬件设计
基于虚拟仪器Lab VIEW软件的数据采集系统由硬件部分和软件部分组成。本系统硬件主要包括: 工控机和NI数据采集卡,NI控制器,NI触摸屏,存储硬盘,传感器等。其公司开发的采集卡可工作于扫描模式和FPGA( Field Programmable Gata Array) 模式,NI - 9229是4通道24位同步模拟数据采集卡,采样频率为( 1. 613 k个采样点 ~ 50 k个采样点) ,额定采样范围±60 V。
触摸屏采用交换机通过网线连接上位机,通过上位机创建项目生成EXE运行文件,运行之后便可加载入触摸屏,将触摸屏中的EXE文件复制到C盘ni-start中,开机便可自动运行,方便快捷,操作简单。
通过交换机连接实时控制器NI CompactRIO,其系统主要包括实时控制器、可重配置FPGA、及模块化I/O、CompactRIO的RIO核心内置数据传输机制,负责把数据传到嵌入式处理器以进行实时分析,数据处理,数据记录与存储以及联网主机通信。利用CompactRIO的USB接口线连接硬盘,对采集到的数据进行存储,防止上位机故障数据丢失。
3 软件总体结构与关键技术
本设计主要包括数据采集和数据存储两部分,数据采集主要由下位机NI CompactRIO平台实现,将写好的Lab VIEW代码编译下载到可编程控制器里面,利用采集卡实现数据的采集。为了采集数据的可靠存储,存储系统分为两部分: 一部分由host端VI以同步采样速率将原始数据采用TDMS二进制文件格式存储到720G硬盘中; 另外一部分VI以一定的时间间隔将数据传入到PC机中的SQL Server数据库当中,可以方便的对数据库进行查询,删除,插入等操作。整个系统如图2数据采集系统软件构架图,实现主要功能有: 数据采集、数据处理、数 据存储、生成报表,报警记录等。
本设计采用的主要技术有: 利用FIFO实现下位机FPGA和RT之间的数据传递,再通过网络流技术实现RT与上位机的数据传输,以及利用Lab SQL工具包实现SQL Server的数据库连接,数据的插入,删除,查询等功能。Lab VIEW的FPGA工具包有两种工作模式: 即扫描模式和FPGA模式。在高速采集情况下,控制器需要工作在FPGA模式下,并通过FIFO( First In First Out) 先入先出缓冲区,可以用于多线程中的数据交换,FPGA采集的速率远远快于RT循环的运行速度。RT如果需要读取全部数据,又不能出现数据丢失的情况,就必须采用FIFO方式传递数据[5,6]。
实时控制器与上位PC机之间可以通过不同的方式进行通信,不同的通信方式具有各自的优缺点。常见的通信方式有: 网络共享变量、TCP/IP、网络流/队列等。共享变量传输数据较慢因此不予采用,TCP/IP在通信时必须把其他数据类型转换为字符数据串的格式,给软件带来负担。如下图3网络流示意图,网络流不损耗数据,是单向的一对一通信通道,由写入和读取端点组成。每个网络流端点均使用FIFO缓存传输数据。网络流引擎( NSE) 使用Logos XT将数据从写入端点的FIFO缓存传输至读取端点的FIFO缓存,通过网络流快速准确的实现RT与上位机之间的数据传输。
采用网络流需要以下几个函数: 1创建网络流写入/读取方端点。通过创建网络流写入 /读取方端点函数找到读取方url或该函数的写入方url。2向流中写入/读取单个或者多个数据。3刷新流。保证流中的数据实时刷新。4销毁流。销毁读取方和写入方端点后,可完全销毁流,释放占用的内存。
如图4和图5所示,利用LabV IEW提供的免费Lab SQL工具包。数据存储工具包主要使用ADOCreate Conn. vi,ADO OpenConn. vi建立数据库的连接,ADO SQL Execute. vi中使用Insert语句来实现将数据插入到数据库中,应该注意将数据库的打开和关闭放在While循环之外,避免每次循环都要对数据库进行不必要的操作而影响速度。通过操作数据库可以方便的对数据进行读取,分析,插入等操作。图4为数据库存储和图5为上位机网络流采集程序[7]。
4 实验验证
采集存储 篇7
在国内诸多军用及民用工程车辆上多安装了测量发动机转速、油压、油温等的各种仪表, 但这些仪表多数是模拟仪器, 显示不直观;仪器的基本结构是磁机械式的, 采用模拟器件组成的各种电路, 精度低、速度慢;另一方面, 对于诸如发动机启动时间、熄火时间、工作时长、电池电量等反映车辆工况的基本信息无法显示, 不能记录;当车辆出现工作异常时不能及时给出报警或提示。为此, 设计一种更为完备的综合参数采集系统也就非常急需和必要。
基于单片机的支持USB发动机综合参数采集系统的设计方案, 综合了单片机和传感器技术。该系统以89C52单片机为核心, 应用A/D、D/A模块、液晶显示模块和接口技术实现了对车辆诸多参数的采集、显示、记录、报警等功能, 同时, 利用U盘文件读写模块, 可将采集数据转存至USB移动存储, 方便了维护人员根据所记录的有关数据对车辆进行有效的维护及管理。
一、系统硬件设计
支持USB综合参数采集系统的硬件设计主要包括:单片机控制模块、监控模块、采样模块、信号调理模块、实时时钟模块、显示模块等。
1.1系统概述。根据实际应用要求分析, 本系统需要采集的数据主要有:发动机转速, 发动机工作小时, 发动机油压, 发动机油温, 高压空气瓶气压, 水温, 行驶里程, 蓄电池电量, 车内温度, 油料数量, 冷却水数量等, 其中多数为模拟量, 因此系统需设计多通道的A/D转换模块;为操作方便, 人机界面必须友好, 因此选用汉字图形型液晶显示模块;在记录采集数据的同时应记录时间信息, 因此需要实用日历时钟功能;系统应具备较大的数据存储空间以满足数据存储和数据缓冲;另外, 应当预留接口以扩展。
1.2硬件结构设计
1.2.1主控制板。基于以上要求, 该系统选用了北京蓝海微芯科技公司的LJD-51-XB+单片机控制板作为主控制器, 其结构如图1所示:
该控制板以8 9 C 5 2为核心, 扩展有6 4 K E P R O M (27512) 和32K NVRAM (GK1235带电池保护) ;扩展了一片8255A提供3个8位并行口, 另外还扩充了16路带隔离的I/O口, 可用于连接工业控制现场的各种数字信号或开关量信号以及作为报警信号的输出;通过2个DG508配合AD574, 提供16路模拟信号通道, 2个DAC0832提供2路模拟量的输出;集成日历时钟DS12887, 有年、月、日、分、秒等运行功能, 带停电保护;同时, 为了提高系统的抗干扰能力, 使用MAX813L, 设计了看门狗电路;为便于用户使用, 线路板上还有多个接口用于连接不同的模块, 如微型打印机接口、LED接口、键盘/显示接口、通讯接口等。控制板上的用户扩展口 (CZ8) 提供8位数据线, 读、写、中断等控制信号, 地址信号, 电源信号, 用户可以自己通过扩展口来控制增加的接口电路。
1.2.2数据采样。该参数系统从车辆启动就不停地对车辆的速度、发动机转速和工作时间、水温、油压、开关量进行检测, 并实时保存。为了防止周围环境及本身的干扰, 对车速测量时, 采用单光耦芯片TLP521, 通过屏蔽和光耦隔离, 得到波形干净的信号。取发动机三相电压中的二相, 根据电压高低检测发动机的转速, 根据有无电压确定发动机是否工作。利用三通取水温、油温、油压表处的信号电压和火控工作信号, 检测其各自的值。
1.2.3USB移动存储。该系统数据存储器由内部存储器和外部存储器组成, 内部存储器用来协调单片机的数据处理, 外部存储器用来存储数据。从数据存储器的容量、数据存储的格式、存储的速度和对数据的读写方式来看, 内部存储器选用M62256, 容量32K字节, 外部存储器选用南京沁恒电子公司的U盘文件读写模块, 使系统提供了对标准USB接口的移动存储的支持。该模块基于CH375设计, 基本不需要占用单片机系统的存储空间, 最少只需要几个字节的RAM和几百字节的代码;外围电路精简, 体积小巧;有三种不同接口形式的版本 (标准版、串口版、低电压版) 可供选择, 本系统选择的是标准版。标准版模块具有两个外部接口:P1是USB插座, 可以直接插入U盘或者通过USB延长线连接U盘, 当进行程序升级或者重新配置时应该通过USB对连线连接计算机的USB端口;P2是16脚的双排针或者插座, 包括8位数据线, 1位地址线, 1根片选信号, 电源线、中断请求线和几根控制信号线。本系统把P2口和主控制板的用户扩展口 (CZ8) 连接, 具体方法参照产品资料。
1.2.4信号调理。由于被测车辆发动机综合参数输出阻抗很低, 且车辆的各电器设备所产生的干扰和部分被测参数的采集要经过长线传输, 故需要一个既有很强的抗干扰能力, 又便于长距离传输, 同时还能提供足够精度的信号传输和采集方式。V/F (voltage/frequency) 变换器的信号处理方式能很好的满足这个要求。
从车辆发动机上引出发动机高压转速和低压转速2路频率信号, 为避免记录系统和车辆及发动机之间的影响, 通过光电隔离技术对高、低压转速2路信号进行信号隔离、整形, 将其转换为微控制器可以采集的频率信号。
1.2.5实时时钟。该车辆发动机产生的各参数数据以及各数据记录都与时间相关, 故此对时钟的实时性有很高的要求, 若车辆未工作时, 微控制器也不工作, 为了准确记录车辆工作状态, 并对异常情况进行记录, 因此选择实时时钟芯片来提供日期和时间。实时时钟芯片可为系统提供时间和日期的实时更新。本文采用DALLAS公司的DS12887芯片。DS12887每一秒执行一次更新周期, 保证时间、日历的准确, 同时该时钟电路具有微功耗, 外接口简单, 精度高, 工作稳定可靠等优点。
1.2.6系统监控。为了实现系统安全可靠、稳定、实时运行, 须在测控系统中加入监控模块。本系统的监控模块采用MAX813L。MAX813L是一个外部的“看门狗”电路, 具有重启微控制器、电压监控、看门狗定时器和人工复位等功能, 可以直接与微控制器的I/O端口串联。
1.2.7键盘和显示。为提供友好的操作界面, 人机交互界面设计的目标是在用户和系统间实现中文窗口界面, 用户可以在菜单方式下进行交互, 操作简单、方便、灵活。窗口分为两类:对话框和菜单, 也可能是对话框和菜单的混合。对话框用于参数的输入输出显示, 菜单用于响应用户的选择, 根据用户的选择运行程序。键盘和显示电路部分选择了LJD-IV+键盘/显示板。对于显示模块不仅集成了128×64点阵的汉字图形型液晶显示电路, 其内部集成8192个中文汉字 (16*16点阵) , 128个常用字符 (8*16点阵) , 以及64*256点阵显示RAM。此外, 利用82C79系统设置了4*4的键盘。供用户操作系统。键盘模块还由82C79提供了24个键的键盘, 除RST、CRTL、SHIFT键确定以外其他21个键功能用户可以自己定义。键盘/显示板有一个20引脚的接口, 利用附送的20芯的数据线可以把它连接到单片机控制板的键盘/显示接口, 完成系统的组装。
系统设计时, 应当首先确定系统需要多少个窗口, 每个窗口有多少个菜单, 画出窗口之间的变迁图, 实际上所有的窗口应当组成一个树形结构。为方便程序的编写, 还需要对此处的数据结构合理安排, 例如, 窗口点阵的数据结构按照图2所示。
菜单点阵的数据结构如图3所示。
二、软件设计
2.1开发环境。因为该系统涉及的数据结构较复杂, 故该系统的软件是在Keil C51的开发工具keilµVision3环境下开发的。又因为该系统的硬件设计大多采用了市场上的既有产品模块, 这些产品一般都提供了较为丰富的使用示例程序, 故有些模块的设计无须累述。Keil是系列微处理器的软件开发工具, 具有工业Keil C编辑器、宏编辑器、调试器、实时内核等, 通过JTAG口可对代码进行在线调试。该开发环境能完全满足该记录系统软件的开发需要, 记录系统的全部软件代码在Keil开发环境用标准C语言编写。
2.2软件功能。软件采用模块化的结构设计, 具有数据采集、数据处理、数据显示、数据保存等功能因为系统的硬件设计采用了市场上的既有产品模块, 这些产品一般都提供了较为丰富的使用示例程序, 比如键盘/显示板和U盘文件读写模块的产品资料中都提供了详细的例子, 所以在软件设计时只要对示例进行一定的修改就可以应用到系统中。具体编写程序时, 因为涉及的数据结构较复杂, 采用Keil C51来编写会事半功倍, 可减少很多开发时间。
系统软件设计流程图如上图4所示。
三、结束语
支持USB移动存储的发动机综合参数采集系统, 给予了详细的系统构成和设计方案。以现代微机技术为平台, 对车辆实施科学规范参数采集及存储, 改变了传统复杂的采集与存储方式, 减少了各种因素数据损害及丢失等人为因素干扰, 并能分析数据参数, 遇有异常及时报警, 避免内部事故故障, 由于支持USB方式的数据采集与存储使车辆的管理更加先进便捷, 为数据的批量导入导出提供了接口。因此该系统的研究具有广阔的市场前景和巨大的经济效益。
摘要:基于单片机的支持USB移动存储的车辆综合参数采集系统。系统实现了对多个参数的实时采集、显示、记录、报警功能, 并支持将采集数据转存至USB移动存储, 作为车辆综合参数记录, 提供维修参考及管理。实际测试表明, 系统具有控制精确、稳定性好和结构简单等特点。
关键词:发动机,综合参数,采集,移动存储
参考文献
[1]武景涛, 秦成旭等.Atxmega微处理器构建的线阵CCD尺寸测量系统[J].单片机与嵌入式系统应用, 2013 (03) .
[2]李威, 杨道驰等.基于MCS的实时采集数据存储设计[J].信息化研究, 2010, 03.
[3]韦永办, 图形LCD模块的菜单方式人机交互界面[J].单片机与嵌入式系统应用, 2005.
[4]戴佳.51单片机C语言应用程序设计实例精讲[M].2006年.
[5]王峰, 孟丽凡等.基于RFID技术的TPMS数据采集系统设计[J].单片机与嵌入式系统应用, 2013 (03) .