捕获时间

2024-08-24

捕获时间(精选3篇)

捕获时间 篇1

0 引言

海洋颗粒物质在其形成、变化和沉降过程中记录了许多生物活动以及物理、化学作用的信息,因此它对颗粒物质通量研究、海洋沉积学研究、全球变化研究及海洋环境检测研究都具有重要意义[1]。最早的沉积物捕获器只能采样单一时间内的沉降颗粒,若想获得具有时间分辨率的样品,需要多次投放,耗时耗力。而时间序列沉积物捕获器是一种沉放在水中一定深度,按照预先设置的工作程序自动定时收集水中沉降颗粒物质[2]的采样设备,其收集到的样品既有准确的时间,又有准确的数量,还有很高的时间分辨率,所以成为了海洋沉降颗粒收集的重要手段。由于该设备最长需要在水下工作一年,所以低功耗控制和设备冗余性设计是研究难点。

1 系统工作原理

捕获器控制系统结构如图1所示。上位机通过RS232串口与控制仓通信,设定工作周期、投放位置(经纬度)、投放时间、工作站位号。入水后设备自动工作,收集瓶保存漏斗收集到的海底沉降颗粒物质,经过预设的工作周期后,控制仓通过步进电机控制转盘转动一定角度,完成收集瓶的切换,磁性开关检测收集瓶位置是否旋转到位。假如旋转到位,控制仓控制温度、倾角传感器工作并保存接收到的检测信息,之后进入休眠模式。反之,控制仓控制步进电机继续转动。设备工作结束回收后,上位机再次和控制仓通信,导出存储的工作状态信息。通过收集瓶切换这个过程,使不同的收集瓶保存着不同时间段内收集到的海底沉降颗粒,这种具有时间分辨率的样品对海洋各领域的研究都有重大价值。

系统设计要求如下:

(1)捕获器可以在水下采样数天到数周,最长工作时间为一年。

(2)设备运行稳定,收集瓶按照预设时间自动切换,工作状态信息记录完整。

2 系统硬件设计

系统的硬件设计如图2所示,主要包含主控模块、传感器模块、时钟模块、步进电机驱动模块和电源。

由于本系统对功耗控制有严格要求,所以选择了美国德州仪器公司的16 bit超低功耗单片机MSP430F149作为主控模块处理器[3]。它的工作电压为1.8 V~3.6 V,正常工作模式下电流为280μA,还具有五级节电模式,RAM保持模式下的最低功耗只有0.1μA。从待机模式下恢复工作,只需要不到6μs时间。另外它还有丰富的片上外围模块,有精密硬件乘法器、一个14路的12 bit数模转换器、USART和SPI通信端口、2个16 bit定时器支持PWM输出等功能[3],完全能满足本系统设计的资源及功耗要求。

沉积物捕获器在海流或波浪的影响下发生倾斜,在一定程度上将会导致高估或低估实际沉降通量。因此,需要根据仪器的倾斜参数进行校正[4]:

式中,F为校正后的沉降通量,FT为实际沉降通量,θ为倾斜角度,△T为采样间隔。

倾角传感器采用的是MPU6050模块,该模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态,精度达0.01°。采用高精度陀螺加速度计MPU6050,通过处理器读取MPU6050的测量输出,通过串口输出。因此,通过串口可以直接读取到所需的X、Y方向的倾角值。温度传感器选用DS18B20,具有体积小、硬件开销小、抗干扰能力强、精度高的特点,仅需要一条口线即可实现与微处理器MSP430的双向通信。

位置检测由SMC磁性开关D-Y7PW完成,它是利用磁场信号来控制的一种开关元件。如图3所示,当样品瓶旋转到位(状态A),磁性开关和样品瓶的距离小于触发距离,磁性开关发送电信号给MSP430。若没有旋转到位(状态B),两者距离大于触发距离,MSP430无法检测到磁性开关的电信号,一段时间后,MSP430控制电机继续旋转,直到检测到到位信息。

时钟模块选用的是PHILIPS公司的PCF8563多功能时钟/日历芯片,具有宽电压和低功耗的特点。它采用I2C串行总线,最大传输速度为400 kb/s,提供一个可编程时钟输出和一个中断输出。后者用来唤醒处于待机状态的MSP430。

电机驱动采用减速步进电机齿轮传动方式,驱动器型号SD366。SD366三相混合式步进驱动器采用伺服原理工作,输入电压18 V~60 V DC,最大驱动相电流6.0 A,采用脉冲“+”方向以及双脉冲信号对步进电机进行控制,具有性能稳定可靠、发热量小等优点。

捕获器电由舱内锂锰电池组提供,单节电压为3.0 V。在水下工作过程中供电机驱动由7节电池串联后得到21 V电源提供。微处理器和各传感器所需3.3 V电源可由电池组经降压后提供。

3 系统软件设计

本系统软件设计包括主控程序、电机驱动程序和传感器数据采集3个部分。软件流程图如图4所示。

3.1 主控程序

(1)系统初始化

包括关闭看门狗定时器,以及系统时钟、I/O口、ADC、中断、时钟芯片初始化和串口配置。

(2)设定工作模式

MSP430接收到串口中断后,提取上位机发送数据包中的内容,将当前时间通过I2C总线写入PCF8563内存地址02H~08H时钟计数器中。将工作周期写入内存地址0FH的计数器和0EH的控制寄存器,8位计数器中存放的是定时器倒计数数值,控制寄存器用于设定定时器时钟源(4 096 Hz、64 Hz、1 Hz或1/60 Hz)。

(3)低功耗模式

在完成工作模式设定后,处理器需要进入低功耗模式,直到时钟芯片或串口发送中断唤醒。MSP430一共有LPM0~LPM4 5种低功耗模式。由于串口时钟需要用到ACLK时钟,所以选择仅ACLK时钟处于工作状态的LPM3模式。

3.2 电机驱动

SD366驱动器的脉冲时序图如图5所示。T1取值要大于5μs,表示方向信号要先与脉冲信号建立,滞后于脉冲信号消失;T2表示有效电平宽度,要大于2μs;T3表示无效电平宽度,要大于2μs;T4表示电机转动前,从释放状态进入锁轴状态所需要的时间,大于20μs。根据这个时序图,MSP430通过I/O口先发送一个低电平使能信号,延迟T4时间后发送方向信号,再通过PWM波的脉冲个数控制电机的转动角度,每1 200个脉冲转动1.8°。

3.3 传感器数据采集

温度传感器数据获取包括DS18B20初始化、复位和温度转换。而倾角传感器数据可直接由串口2得到。MSP430将温度、倾角和位置检测的数据打包通过SPI总线存储到Flash中。

4 系统调试

在实验室环境下进行一个星期的测试,供电电压为27 V,设置样品瓶个数为7个。经过试验,每天中午12点电机准时转动,转动角度为18°,采样数据记录完整。测得整个系统在睡眠模式下的电流为0.87 m A,电机转动时电流为429.5 m A左右。若工作一年,睡眠模式时间近似为一年,功耗为7.62 Ah,电机转动时间为4 min,功耗为0.03 Ah,总功耗为7.65 Ah。电池组容量为10.5 Ah,满足了该系统低功耗的要求。

本文通过软硬件低功耗设计和错误处理设计实现了捕获器控制系统低功耗及可靠性的要求[5]。该系统在设计时还保留了一些传感器接口,以便于系统的扩展升级。

参考文献

[1]WAKEHAM S G.Sampling and experimental challenges for the next decade in marine organic chemistry---a prospectus[J].Marine Chemistry,1992,39(s1-3):239-242.

[2]朱光文.海洋环境观测取样技术[J].气象水文海洋仪器,1996(1):1-4.

[3]张毅,孙思萍,齐尔麦,等.海床基自动监测系统中央控制单元设计与实验[J].海洋技术学报,2007,26(4):1-3.

[4]BONNIN J,RAAPHORST W V,BRUMMER G J,et al.Intense mid-slope resuspension of particulate matter in the Faeroe-Shetland Channel:short-term deployment of nearbottom sediment traps[J].Deep Sea Research Part IOceanographic Research Papers,2002,49(8):1485-1505.

[5]姜兴杰,杨峰辉.软件可靠性分析与设计[J].现代电子技术,2011,34(7):135-137.

捕获精彩的瞬间 篇2

【案例】那是在教学人教版九年级语文下《鱼我所欲》这一课时, 在疏通完字词教学后, 围绕着“舍生取义”这一中心进行讨论时, 出现了意想不到的插曲:

师:“孟子指出, ‘义’超过了‘生’, 所以人能够不贪生, 不避死, 应当‘舍生取义’。羞恶之心, 人人皆有, 贤者更能保存而不丧失。接着举例说明, 人即使在饥饿时仍有羞恶之心, 自古以来就有宁死不食‘嗟来之食’的人。你是如何看待这一问题的?”

生1:“我认为, 这位廉者为了‘义’, 不愿接受侮辱性的施舍, 我觉得做得应当, 人要为了自尊而生。”

生2:“我也认为他做得对, 他这样宁愿死也不受辱的节气值得我们学习, 义, 就是气节, 就是坚持正义……”

生3:“如果这样说, 那韩信受‘胯下之辱’就不应当了, 那就该拿刀同那个侮辱者相拼, 但如果这样历史上岂不少了个英雄?又怎会有韩信能忍的美谈?”

这一石立刻在班内引起千层浪, 学生意见不同, 群情涌动, 大有争论之势。

生3:“是呀, 小不忍则乱大谋又该怎么解释呀?”

生4:“宁死不屈方为大丈夫, 文天祥正是因为宁死不屈才成为千古不朽的民族英雄!”

生5:“革命战争年代, 不少仁人志士忍辱负重打入敌人内部, 为新中国的成立做出了贡献, 我们能说他们不是君子吗?司马迁忍受奇耻大辱, 含泪完成《史记》, 我们能认为他不伟大吗?”……

学生的争先发言完全打乱了我的教学设计。我知道, 如果不让争论停止, 这节课的教学目标肯定完成不了;但如果强制学生停止讨论, 肯定会浇灭学生自主求知创新的思维火花。这时, 一个念头在我脑中闪现:“这不正是引导学生进行主动探讨学习的有效契机吗?学生在主动探讨中既进行了思维训练, 又能对学生进行正确的人生观教育, 这也是我们语文教学的目标之一呀!何必为了教学形式而放弃良好的教学契机呢?”于是, 我干脆脱离教案, 顺势引导:

“在什么情况下可以舍生取义, 而在什么情况下则可以不这么做呢?”学生参与的热情愈加高涨, 在反复争论中, 学生渐渐明白:

“当义等同于国家、民族、集体的利益时, 义大于生命;当把义狭隘地理解为个人私利、为了所谓的面子、哥们义气时, 则小于生命。因而当义与生命冲突时, 应当视具体情况分清是非, 而不是随意践踏生命”。最后, 我用司马迁的话作结:“人固有一死, 或重于泰山, 或轻于鸿毛!”同学们在齐声诵读中结束了本堂课的学习。

就这样, 一个小小的问题引发了一场热烈的讨论, 学生的思维在讨论的撞击中迸发出了创新的火花, 课堂教学真正“活”了起来。虽然这个节外生枝打乱了我的教学设想, 但认真反思本节课的得失, 我认为本节课最大的可取之处, 却正是这“节外生枝”完全确立了学生学习的主体地位, 充分培养了学生的自主探究意识。看着同学们那真情涌动、全身心投入的学习热情, 我感受到, 虽没有完成这节所谓的教学目标, 但我相信, 学生在这一节课中学到的, 远远超过了我的预想。

面对学生的多元理解和独特感受, 面对学生与众不同的回答, 面对这种无预设的“生成”, 我觉得教师不能只关注课堂环节是否完整, 更要关注课文潜在的认识价值。语文学科是人文学科, 教材价值取向的核心与灵魂, 教师要始终把握住和引导好学生, 在珍惜学生自由感悟的同时, 循循善诱, 培养他们树立正确的价值观、人生观。

语文学习既是一种学生个性化的活动, 也是一种学生创造性的活动。作为教师不仅要珍惜学生的感悟、体验, 更要保护他们的智慧火花。这样更有利于开发学生的创造性潜能。人们常说:“一千个读者就有一千个哈姆雷特”。作为教师, 认真备课, 把握教材重、难点, 完成教学任务固然很重要, 但我认为更重要的是把语文教“活”、让学生“活”好, 这才是语文学习的灵魂。如果教师死守教案, 那么最好的教案也会成为束缚教学的桎梏, 活生生的学生也会变成课本的奴隶。相反, 课堂灵活地放开一些, 反而更能充分发挥教师的主导作用, 更能活跃思维, 激发学生学习的积极性, 收到意想不到的效果。

课堂教学是师生、生生之间有效互动的过程。在课堂教学双边参与的动态进程中, 教师应准确洞察学生心灵的秘密, 敏捷地捕捉学生在课堂稍纵即逝的变化;不断捕捉、判断、重组从学生那里涌现出来的各种信息, 见机而作, 对有价值的信息资源应及时纳入课堂临场设计的范畴之中, 适时调控, 充分利用, 激活课堂教学, 促进课堂有效生成。面对学生的“胡思乱想”、“节外生枝”, 不要限制学生思维的自由, 束缚学生表达的欲望。要把它当作一种重要的积极的教学资源, 适时调整自己的教学行为。或顺水推舟, 让学生对话, 引导动态生成的流向, 以判断是否值得生成;或将错就错, 顺势利导, 妙用学生的“出错”以求思维的广度;或乘思追问, 巧妙延伸, 巧用学生的“怪问”, 以求思维的深度。让学生在充分自由与平等的对话交流中, 畅所欲言, 碰撞思维的火花, 彰显学生的个性, 生成精彩的瞬间。

网络数据捕获机制研究 篇3

网络数据捕获就是将某个网络设备看到的数据报文完整的收集起来,不管这些报文是发往哪个地址,哪个端口[2]。然后对其进行分析、过滤等处理,送往上层作进一步的处理。网络数据捕获是网络安全监测的基础。通常网络数据包的捕获是使用传统的网络数据捕获方式来获取的。系统对网络数据包的处理流程图如图1所示。

从网卡的工作方式分析,使用的是动态内存分配,对每一个数据包的接收都是采用动态内存临时申请、释放,在大流量网络下,将是一个较大的系统开销。从网卡通常的工作模式分析,是每包一个中断,而进出中断带来的进程场景切换必将消耗大量的系统资源,而且容易出现活锁。从收包的过程分析,一个数据包从进入网卡到到达上层应用程序的过程中,发生了多次内存拷贝和系统调用,其中最致命的一次是将数据从内核区拷贝到用户区。而系统调用要进行安全性检查和上下文切换,这是一个很耗费资源的操作。下面我将对各个因素逐一阐述。

1 系统调用

操作系统的主要目标[3]就是将应用进程与I/O等外部世界隔离开来,给它们二者提供一个交互的接口,并将内存、CPU等资源共享给不同的应用程序。用户程序要与I/O设备打交道必须通过系统调用,经由操作系统来完成。而系统调用由于要进行安全性检查和上下文的切换,会耗费大量的资源和时间,是一个沉重的负担。

2 用户态和内核态之间的数据包拷贝

在数据包从网卡经过协议栈,最终到达用户态的过程中要经过数次内存拷贝。在高速网络下,将数据包进行一次拷贝和不拷贝由应用程序直接送到网络有明显的性能差别,做内存拷贝,就像数据包做了一次存储转发一样,会成为网络数据包处理的瓶颈之一。

另外数据包经过从内核态到用户态的拷贝,这是最耗费CPU的一个操作,大约占一个数据包从进入网卡到进入应用程序总时间的50%。而且,应用程序的内存空间和物理内存空间之间要进行映射,因为用户空间使用虚地址,一段连续的用户空间在物理内存上可能分开很远,所以通常用户缓冲区不是一段连续的物理内存空间,而内核缓冲区,却强制使用连续的物理内存空间以实现DMA等操作,这就需要进行地址映射。

3 网卡动态内存分配方式

网卡驱动为每个数据分组动态地分配内存,内存的分配和释放占用时间较多。以1Gbps线路为例,每秒到达的包的数量能够达到几十万,如此频繁分配内存的资源消耗是非常大的。

4 计算校验和

网络数据在用户态和核心态之间的拷贝过程中,内核还需要计算整个缓冲区内容的校验和。这个校验和存储在协议头部中,用于数据包接收者检查数据是否正确。即使不作这次拷贝,内核仍需遍历缓冲区内容以计算校验和,因为内存带宽是一个最重要的性能因素,这个过程几乎要和内存拷贝消耗同样的时间。

5 网卡的每包中断方式

系统在每次中断操作都需要保护现场,切换上下文等操作。在千兆网络环境下,每秒会有几万甚至几十万个包,如果每个分组到达都产生中断,中断之间的时间间隔可能只有几微秒,当前计算机系统很难达到这个处理能力。即使计算机系统能够应付频繁的中断,也将极大地浪费系统资源。而且由于中断具有较高的优先级,在高速环境下,频繁的中断势必将长时间占据系统资源,导致系统没有时间对捕获得数据进行处理,进而导致无法接收新来的数据包,最终出现接收活锁。

6 填充协议头和分片重组

填充协议头必须由内核来做。发包时内核协议栈的各个协议层需要将数据包封装,收包时又需要将各分片重组,这两个过程都需要内存拷贝。

综上所述,可以看出,基于传统的网络数据捕获技术,在一个数据包的收取或者发送过程中,会发生多次内存拷贝和系统调用,加上频繁的中断处理,这些将耗费大部分的CPU时间。

很明显,要想提高系统的捕发包效率,需要下面两方面的改进:

a.减少内存拷贝的次数,节省大部分的CPU时间。

b.改进中断方式,减少不必要的CPU周期。

网络流量和带宽依然在飞速发展,新的网络应用不断涌现,对网络的性能、实时控制和合理调度的需求依然迫切。就目前来讲,对于一般的网络出口的流量已经达到1G以上了,所以随着千兆网络的普及和网络带宽、流量的增加,必然使网络内容分析、监控,网络安全和网络流量分析等方面应用对网络流量的测量与监控提出更高的要求。

摘要:近年来,随着网络技术的迅速发展,人类对互联网依赖程度的日益增强,网络流量和带宽迅速增长,在网络流量监控的各种应用(如防火墙、入侵检测系统等)中对海量数据进行捕获和分析至关重要。主要对数据捕获机制的现状进行分析,提出数据捕获机制及其改进思路。

关键词:网络数据捕获,内存分配,系统调用

参考文献

[1]J.Michael,H.Braun and I.Graham,Stor-age and bandwidth requirements For passive.Internet header traces,Proc.of the Workshopon Network-Related Data Management 2001,Santa Barbara,California,USA,May 2001.

[2]Packet Capture With libpcap and otherLow Level Network Tricks.http://www.cse.nau.e-du/~mc8/Socket/Tutorials/section1.html

上一篇:改、扩建工程下一篇:核桃树的栽植与管理论文