怎样将一个测量值写进stm32 flash 写不进去中不丢失

Flash游戏自动化的实现—自动化方案分析
来源:博客园
前段时间收到测试经理分配的任务:要求配合自动化组实现体感Flash游戏的自动化,因此根据自己对Flash游戏的测试了解以及其他自动化测试工具的使用经验,首先跟组员一起讨论确定体感Flash游戏的实现方案,Flash游戏的原理是通过ActionScript来控制帧动画的播放、暂停以及鼠标键盘在帧动画中的动作响应,但是体感Flash游戏由于有体感设备,因此与其他的Flash游戏交互上稍有不同:


体感Flash游戏的具体交互过程:
1)首先玩家通过辅助识别设备和识别手柄,在体感设备前进行手臂挥动的动作,这些动作会被体感设备进行捕获,然后通过内置算法将玩家的动作分解为三维空间坐标数据和二维空间坐标数据;
2)体感设备引擎的动作识别模块会建立管道将三维空间坐标数据写入到指定目录下的管道文件中,而二维空间坐标数据则会被体感设备引擎坐标换算模块分解为横坐标数据、鼠标按键数据、键盘Esc按键数据分别写入Linux
input子系统中的系统Event、触摸屏Event、键盘Event中;
3)体感Flash游戏启动之后,会首先调用公共的3D动作模型库,将指定目录中的管道数据作为动作模型的输入进行解析,目的是将玩家的头部、双臂等关键部位通过球状、线形、带状识别点进行区分,并分析出各自的动作轨迹,这些不同的轨迹数据会被Scaleform播放器内置模拟器读取,并进行按键映射。
4)体感Flash游戏启动之后,还会从Linux
input子系统中读取系统Event、触摸屏Event、键盘Event文件,由模拟器传给Flash的ActionScript执行游戏中的人物横坐标的移动、鼠标左键和右键触发的动作、键盘Esc按键操作。
按键映射的作用:
如果是3D的Flash游戏,则会有人物角色或道具在3D场景的前后移动、道具的抛出、物体的旋转等动作,这些动作在Flash游戏中是通过不同的键盘按键来触发的,因此按键映射的作用就是将动作与键盘按键进行关联,模拟器通过键盘事件让Flash游戏知道应该进行怎样的三维动作。
要实现体感Flash游戏的自动化,可以从Flash游戏的数据获取来入手,Flash的播放器Scaleform是通过3D动作模型库的管道文件和Linux
input子系的Event文件获取Flash执行的动作数据,因此自动化实现思路就是Flash自动化工具通过封装好的数据和测试脚本来替换体感设备引擎产生的动作数据,如下图所示:


接下来进行Flash自动化工具实现方案的具体分析:首先是操作模拟,要能够逼真地让自动化工具模拟玩家动作,需要考虑以下几个方面:
『单用户操作模拟』
Flash自动化工具对于游戏需要的三维动作数据可以用事先封装好的一系列动作数据来进行模拟,因为三维动作很难仅仅通过一系列坐标值来进行模拟,二维平面动作数据则通过解析测试脚本,然后将数据写入Linux
input子系统的Event来进行模拟,但是体感设备引擎也会向交互数据文件写入数据,所以Flash自动化工具启动之后,通过脚本来停止体感设备的运行。
『玩家操作多样性』
实际当中用户的操作是多种多样的,没有既定的操作路线来模拟多个用户的不同操作,因此自动化测试工具的操作模拟功能还需考虑不同玩家在同一界面的随机性操作。这方面可以从工具的测试脚本设计中入手,实现思路是:在测试脚本中每个游戏界面的选择项、按键点击加入概率值,来让测试工具通过设置的0~100%之间的概率值增加对用户分支操作的覆盖。
『游戏界面的切换』
玩家在体验Flash游戏时会在主界面、选择界面、游戏中界面、成绩界面等界面进行切换,如果自动化工具不能区分多个游戏界面,并根据界面来执行不同的操作的话,那么自动化工具运行之后,可能就会在Flash游戏的某个界面上无法进入下一个界面操作。因此需要考虑自动化工具如何区分Flash游戏的不同界面,并自动执行相应的测试脚本。实现思路是:Flash游戏在播放器中进行界面切换时,Sacleform调用自动化工具的库文件,将约束好的唯一窗体名写入到系统的共享内存当中,自动化工具会实时监测共享内存中标识位、如果标识位为“未读取”状态,自动化工具则读取此数据,并跟测试脚本的窗体名进行匹配,查看是否存在相同项:如果存在,则执行脚本中的相应操作并将标识位置为“已读取”状态。如果不存在相同项,则工具不进行任何操作,只将标识位置为“已读取”状态。
其次如果自动化工具只是为了能实现自动运行的话,估计有人会说那我使用按键精灵不也可以了吗,要对得起Flash游戏自动化测试工具这个响当当的名号,那么就需要考虑自动化工具能够协助测试人员测试到哪些手工不易测试的内容:
1)基于工具能够摆脱人工操作而自动运行Flash游戏,所以首先就可以测试这个Flash游戏的稳定性,因此要求工具能实时监控Flash游戏的PID是否存在,另外还需要根据进程PID实时记录Flash游戏的cpu占用及内存消耗,因为测试人员很难通过手工记录CPU占用和内存消耗来知道Flash游戏长时间体验过程中其CPU占用和内存消耗(CPU占用太多或内存消耗太大会造成较低配置的用户无法较好体验游戏,而内存泄露则是严重性能缺陷)的变化情况;
2)另外在Flash游戏测试过程中,会有一些概率出现的bug,如果让测试人员一直重复操作来重现这种Bug,无疑是一种人力的浪费,因此通过测试脚本的配置,让自动化工具代替测试人员自动执行这种概率性Bug的重现,然后自动化工具加入每次切换界面或鼠标点击时,就进行屏幕截图,并在日志中记录操作步骤、点击的屏幕坐标点位置,测试人员通过图片和日志来分析概率性bug是否已解决以及能否重现。通过每次点击的自动截图,测试人员还可以查看长时间运行Flash游戏时是否会有其他错误产生,功能测试的场景粒度主要在Flash游戏的各种界面按键、选择项点击触发的异常、还有各种界面跳转错误以及游戏场景中的随机操作可能引发的异常错误上面。
现在Flash自动化测试工具的实现方式和基本功能已经设定完毕,后续自动化工具的开发还需要框架结构、功能模块、测试脚本、日志文件的详细设计,如果大家想预知后事如何、且听下回分解。
言外感受:不要试图让自动化工具既有功能测试、又有性能测试、稳定测试、安全测试从而承载太多的功能,这样的设计意味着复杂的功能设计、更多人力和时间的花费、并且工具开发之后由于过于复杂还需要进行专门的培训、并需要对工具进行自身缺陷的检查。中小型公司的自动化方案,个人认为可以从数据的交互、协议数据的模拟来入手来考虑自动化方案。
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动测·控领域专业互动媒体平台
推动测试测量,检测诊断,传感物联,遥测自控智能化发展
当前位置: &
水平定向钻进技术中的地下探头设计方案
  是非开挖技术领域中占主导地位并且发展最快的高新技术之一,它是利用钻机以可控钻孔轨迹的方式,在不同地层和深度钻进并通过跟踪与导向仪导向抵达设计位置而铺设地下管线的施工新方法。主要用来铺设、更新、维修各种地下管线,也可用于地质勘探与资源开采。随钻测量是指钻机在钻进的同时连续不断地检测有关钻孔或钻头的信息,靠跟踪与导向仪实现。因此,跟踪与导向仪是钻机施工的必备测量设备。典型的跟踪与导向仪由地下传感发射探头、地面手持式定位跟踪仪和远端监视设备三部分组成,而地下传感发射探头是整个导向仪设计的关键。针对国内导向仪全部依赖进口的现状,笔者对导向系统进行了研制开发。本文主要介绍基于单片机MSP430F149和数字信号处理器ADSP2189的地下传感发射探头的设计与实现。
  1 结构设计
  地下传感发射探头放置在钻具的空腔内,受体积限制。为保证通用性,采用与国际上同类产品相一致的尺寸&32cm&380cm。探头结构如图1所示。主要分为电池部分(两节二号电池)、天线部分(带磁芯的线圈)、调制与功放部分以及部分。
  图1 探头结构示意图
  2 硬件设计
  地下传感发射探头主要完成钻头倾角、工具面向角、温度和电池电量等参数的检测以及甚低频电磁波信号的发送。其硬件组成框图如图2所示。为适应野外长时间工作的特点,系统硬件采用了低功耗设计。
  图2 探头硬件框图
  2.1 的选取
  MSP430F149是TI公司生产的一种Flash型超低功耗16位单片机,具有处理能力强、运行速度快、可靠性高等特点,能适应工业级运行环境,特别适合于电池应用的场合或手持设备。本系统选择它作为系统的主控制器。 DSP存储器的读/写:由4个控制输入管脚选择。IDMA接口选择IS和地址锁存使能(IAL)有效时,ADSP2189将地址总线上的地址写入IDMA控制寄存器,被锁存的地址不能由主控制器读回。IDMA接口选择IS和读选通IRD有效时,ADSP2189将IDMA控制寄存器所指的存储单元内容输出到IDMA数据总线上。IDMA接口选择IS和写选通IWR有效时,ADSP2189将数据总线上的输人数据写到IDMA控制寄存器所指的存储单元中。访问应答IACK确认数据读/写操作的完成,作为IDMA接口忙的指示信号。
  同时,本系统采用了AD公司生产的专用数字信号处理器ADSP2189。它具有处理速度快(单周期指令执行时间为16ns)、接口方便、自身资源丰富等特点。在本系统中主要是实现精确数字调制、同步以及相关的数字信号处理等。休眠状态下,其功耗也较低。
  2.2 传感器设计
  传感器均选用低功耗产品。采用新型微硅单轴加速度计,具有高精度(0.1%~1.0%)、高分辨率(2%og~5%og)、宽动态范围、低偏置、低灵敏度漂移、低噪声水平、低功耗等特点。通过配备相应的处理电路完成倾角的测量。面向角传感器采用双轴加速度计,输出环路将模拟信号转换为脉宽占空比的数字信号。这些数字信号直接与MSP430F149定时器输入相连。
  相关模拟信号电压的采集由MSP430F149完成。MSP430F149的ADCl2是12位精度的A/D转换模块,具有高速、通用的特点。其最大采样速率为200kSPS,内装采样/保持电路,可选择软件、采样定时器或其它片内定时器控制采样周期。ADCl2的8个可配置的外部信号采样通道具有单通道单次、单通道重复、序列通道单次等多种转换模式。在此系统中,采用序列通道单次转换模式。
  2.3 MSP430F149与ADSP2189接口设计
  ADSP2189程序的引导、数据输入与输出均通过MSP430F149控制实现。ADSP2189采用IDMA方式与MSP430F149相连,如图3所示。IDMA接口是一个并行的I/O接口,带有16位地址/数据总线。该总线支持对16位数据存储器和24位程序存储器的访问。IDMA接口的读/写访问是完全异步的。在ADSP2189全速运行时,MSP430F149可以通过IDMA接口直接访问处理器的内部存储器,硬件连接简单。
  图3 MSP430f149与ADSP2189接口电路
  2.4 源模块的设计
  地下传感发射探头体积小。由结构设计知,探头只能靠两节二号电池供电。为满足地下长时间工作的需要,探头电源模块的设计非常重要。此电源模块需要给传感器部分、微控制器部分和功率放大部分分别提供+3.3V、+2V、&5V和&12V的电压,并且+5V需提供50mA的输出电流,&12V的输出电流需达到80mA。考虑到成本、效率、输出纹波、噪声及静态电流等问题,最终选择MAXIM公司生产的几款高集成度、高转换效率的可控型DC-DC转换器,将两节锂电池的输入转换为所需的电压值。当传感器、功放等单元处于休眠时,MSP430F149可同时关断相关电源转换模块,以达到省电的目的。通过实验测试证明,探头可连续工作12个小时,电源模块的转换效率达80%以上。
  3 软件设计
  本系统中,MSP430F149作为主控制器,完成对传感器输出信号的采集、DSP的引导、电源模块的管理等工作,总体软件流程如图4所示。ADSP2189主要实现精确数字调制、同步以及相关的数字信号处理。
  图4 MSP430F149软件流程图
  3.1 电池电压检测
  根据电池的特性曲线,通过ADCl2获取的电池电压分为3(强)一2(中)一1(弱)三档。当电池电压降至1档时,MSP430F149自动关断其它功能模块的电源,自身进入待机休眠状态。
  3.2 MSP430F149与DSP通信
  DSP引导:激活RESET,置MMAP=0和BMODE=1(选择IDMA引导);撤消RESET,通过IDMA接口装载ADSP2189程序。程序执行被堵塞,直到程序存储器的地址0写PM(0x0000)。ADSP2189响应IDMA控制信号并提供确认信号IACK。写PM(0x0000),开始DSP程序执行。
  DSP状态检测:将待发射数据以固定的格式存放在DSP的数据区,然后向DSP发中断;DSP接收到中断后,调制及发射过程中会引起DSP-FL0一MSP430F149-P4.2的电平变化。在1ms内若检测到变化,DSP工作正常;未检测到变化,DSP工作不正常,重新调用DSP程序引导模块。
  3.3 传感器检测
  (1)倾角检测:在温度不变的情况下,单轴加速度计输出值与倾角的正弦值成线性关系,主要通过查表的方式得到倾角值,并运用最小二乘法进行相应的温度补偿。
  (2)面向角检测:利用MSP430F149定时器的两个捕获/比较模块实现了对双轴加速度计的双脉宽输出的测量。
  (3)温度检测:通过MSP430F149的I/O引脚直接访问温度传感器,读取温度值,并进行相应的判断。
  此外,还设定了看门狗定时器,防止程序跑飞。
  4 系统安装误差软件修正
  由于探头安装过程中轴线偏移以及相关基准线未能对准等,倾角传感器和面向角传感器总会产生一定误差。也就是说,当探头倾角及面向角处于绝对零位时,对应传感器测量结果并不是零值,存在一定的偏差,且不同探头的初始偏差也不相同。利用MSP430F149的程序存储器是Flash型可在线编程的特点,在整个系统装配完成后第一次上电时用软件实现误差修正。误差修正软件流程图如图5所示。
  图5 误差修正软件流程图
  Flash存储器由很多相对独立的段组成,主要分为信息存储区(A、B段)和主存储区,可在一个段中运行程序,而对另一个段进行擦除或写入数据等操作;主要用于保存用户程序或重要的数据、信息等一些掉电后不丢失的数据。应用程序在主存储区中,主要是对信息存储区中的A段进行擦除和写数据。 第一次上电时探头放置在特定的标定平台上,使探头倾角及面向角处于绝对零位。这时探头上电,运行主程序,传感器测得的数据即为因安装而形成的固定偏差。把测得的数据写入Flash存储模块中锁定,使以后程序不能再对此段程序存储单元进行改写,掉电后也不会被擦除。探头以后上电工作通过对特定存储单元数据进行判断,不再执行上述过程。但将传感器每次测量所得数据减去第一次上电所测偏差值,即得绝对测量值。在对Flash操作前先要停掉看门狗,防止操作期间看门狗定时器溢出。该子程序流程如图6所示。
  图6 子程序流程图
  地下传感发射探头运用单片机MSP430F149方便地实现了对传感器输出信号的采集、DSP的控制与管理、电源模块的管理等。同时,采用先进的DSP技术,实现数字调制、同步以及相关的数字信号处理,为地面接收解调以及定位测深提供了可靠的保障。系统具有:体积小、成本低、可靠性高等一系列优点,并采用低功耗设计,探头在地下可连续工作十余小时,为钻进穿越更长的施工工程提供了有利的条件。
[整理编辑:中国测控网]
&&[4]&&&&[1]&&&&[0]
水平定向相关论文
钻进技术相关论文
版权与免责声明:
①凡本网注明"来源:中国测控网"的所有作品,版权均属于中国测控网,转载请必须注明中国测控网 。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
还没有 钻进技术 相关的测控名词的解释您可以点击
第八届中国卫星导航学术年会(China Satellite Navigation Conference, CSNC 2017)是一个开放的学术交流平台。旨在加强学术创新,
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别
59%的网友读了:
各位工程师在工业通讯现场最担心遇到什么?通信干扰!CAN隔离模块能够有效解决CAN总线通信干扰问题,且
80%的网友读了:
本文采用拉曼光谱分析方法检验人工合成流体包裹体,并与自然包裹体进行比对,验证拉曼在该领域的可行性
注册成为中国测控网会员
可以无需任何费用浏览专业技术文章
&&[4]&&&&[1]&&&&[0]
京公网安备:09号
Copyright (C)
All Rights Reserved 版权所有nand flash存储数据出错怎么办_百度知道
nand flash存储数据出错怎么办
我有更好的答案
重新格式化下,如果还是出错,可能硬件有问题,建议联系官方售后服务中心,由工程师帮助检查处理。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
CRBTM蓄电池监测系统介绍与维护精要.doc 26页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:350 &&
你可能关注的文档:
CR-BTM蓄电池监测系统介绍与维护
第一章 系统概述 2
1.1系统概述 2
1.2系统结构 2
第二章 接口介绍 4
2.1主模块接口 4
2.1.1前面板接口 4
2.1.2后面板接口 4
2.1.3节点模块接口 5
2.2接线方法与连接线制作 6
第三章 菜单操作 10
3.1键盘说明 10
3.2菜单说明 10
第四章 调试软件操作 13
4.1通信线缆连接 13
4.2程序启动 13
4.3主模块设置 14
4.4节点模块参数设置界面 16
4.5主模块数据页面 18
4.6单体数据页面 19
第五章 常见故障解决 20
5.1主控模块RUN灯不闪烁 20
5.2主控模块TXD0灯不闪烁 20
5.3主控模块RXD0灯不闪烁 20
5.4主控模块TXD1灯不闪烁 20
5.5主控模块RXD1灯不闪烁 21
5.6主控模块ERR灯亮 21
5.7节点模块RUN灯不闪烁 21
5.8节点模块RXD灯不闪烁 22
5.9节点模块Res灯亮 22
5.10连续几个模块通信中断 22
本手册介绍了CR-BTM蓄电池监测系统的构成、实现功能、日常维护及常见故障解决等。
第一章 系统概述
1.1系统概述
CR-BTM蓄电池监测系统是本公司自主开发的蓄电池组在线检测设备。该系统能够测量蓄电池组的总电压、总电流、单体蓄电池电压、温度和内阻。该设备具有标准的RS232通信接口,采用ModBus通信协议,具有很好的开放性和系统兼容性。适用于对通信、铁路、石油、电力等行业的无人职守站和设备机房后备直流电源(蓄电池组)的监测和分析。通过对长期积累的测量数据的有效分析,可帮助维护人员减少工作量并提高工作效率,提前发现性能不好的蓄电池单体并及时做出维护计划,从而有助于提高整个后备电源系统的可靠性,减少用户不必要的损失。
1.2系统结构
本系统由主控模块、直流电压互感器、直流电流互感器和多个节点模块组成。节点模块用来测量蓄电池的单体电压、单体温度和单体内阻,主控模块用来测量蓄电池组的总电压、总电流和环境温度。主控模块控制节点模块内阻测量启动和测量时间间隔,并把从节点模块读取来的测量数据缓存在主控模块中,以支持液晶显示和智能口查询。主控模块最多支持120节单体蓄电池。主控模块与节点,以及节点与节点之间实现完全电气隔离。系统图如图1-1所示。
图1-1 CR-BTM典型应用及系统原理框图
第二章 接口介绍
2.1主模块接口
2.1.1前面板接口
图2-1 主控模块前面板
2.1.2后面板接口
主控模块接口顺序示意图
主控模块接线对应关系示意图
ADPwr:对外给传感器供电
ADSin: 传感器信号
PT100: 温度传感器,未用
COM0: 同模块通信接口,RJ45接口
COM1: 同主机通信接口,RJ45接口
2.1.3节点模块接口
图2-4 节点模块接口接线图
此接口用于连接蓄电池,实现蓄电池对节点模块供电和节点模块对蓄电池测量。
节点模块通信接口接线图
USB0:下行通信接口
USB1:上行通信接口
2.2接线方法与连接线制作
通信类电缆建议选用带屏蔽线芯直径为0.5的电缆制作(如KVV2×0.5),其他电缆建议采用BVR2×1.0的电缆连接。
节点模块级连线制作方法:
图2-6 节点模块通信线接线图
主模块与节点模块连线制作方法:
主模块与节点模块接线图
RS-232通信线制作方法:
图2-8 主模块与RS-232接口接线图蓄电池连接线接线方法:
图2-9 节点模块与蓄电池接线图
电流传感器接线方法:
图2-10 电流传感器接线图1
图2-11 电流传感器接线图2电压传感器接线方法:
图2-12 电压传感器接线图1
图2-13 电压传感器接线图2节点安装示意:
图2-14 节点模块安装示意图
第三章 菜单操作
3.1键盘说明
整个菜单采用数形体系结构,采用6键菜单。键盘有输入和导航两种状态。在导航状态下:右箭头表示进入下级菜单,左箭头表示进入上级菜单,上下箭头表示在同级别菜单之间滚动。对于设置参数项目中,按OK键,键盘进入输入状态;按ESC键,从输入状态回到导航状态。在输入状态下:右箭头表示修改下一个数据,左箭头表示删除当前数据,上下键表示从下列数据中选择〔0、1、2、3、4、5、6、7、8、9、+、-和小数点〕。
图3-1 键盘
3.2菜单说明
CR-BTM蓄电池监测系统的菜单采用三级结构方式,如下图:
图3-2 按键操作说明图
参数说明:
单体数量:该参数表示有效节点模块的数量。例如24x2V的蓄电池组,共
正在加载中,请稍后...
312页237页596页267页305页559页279页232页466页199页

我要回帖

更多关于 flashfxp 二进制上传 的文章

 

随机推荐