rss 推荐阅读 wap

聚焦天津_旅游论坛房产新闻资讯!

热门关键词:  代理  as  www.59ri1.com   女郎  xxx
首页 时事热点 焦点资讯 股票财经 消费指南 投资理财 人文社科 娱乐头条 科技创新 商务营销 微商创业

基于状态机实现公交车智能IC卡收费机的应用系统设计

发布时间:2020-09-16 03:23:59 已有: 人阅读

  有限状态机是根据当前状态以及触发条件进行状态转换的一种机制,包含一组状态集(state)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算模型。当输入符号串时,模型随即进入起始状态。要让状态机改变到新的状态,依赖于系统的转换函数。有限状态机中有许多变量,例如,与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换或指定符号和状态(非定有限状态机)的多个转换、指派给接收状态(识别者)的一个或多个状态。有限状态机多应用于硬件时序

  有限状态机也可以应用到嵌入式软件设计中。在进行嵌入式软件设计时,通常的做法是按照信息流程进行顺序编程。例如对串行数据的处理,一般是等待接收数据,分析数据,进行数据处理,然后发送处理结果。使用这种软件设计方法,最突出的一点就是在任务的处理过程中,任务基本上独占了MCU的资源,即在处理串口数据的过程中,不会再去处理其他消息(中断除外)。采用这种方式,MCU会在相当长的一段时间内只处理一个任务。如果合理运用状态机机制开发系统软件,就可以让MCU进行多任务的分时处理。

  其实在平时的程序设计中,开发人员已经不知不觉地使用了状态机,如按键状态转换、菜单显示状态的转换等。但是,很少有系统会使用状态机进行多任务处理。在单片机系统中,通过对系统各功能模块的分析,可以建立有限状态机的模型,继而在系统的软件设计中利用状态机的特点,开发出结构清晰的高效率嵌入式软件。

  具有GPS、GPRS功能的公交车智能IC卡收费机,其功能包括对乘客使用的非接触式IC卡进行刷卡消费,使用GPS进行自动报站[2],以及使用GPRS进行实时调度[3]等。按照独占式处理模式,智能收费机的软件系统会把多个任务按照信息流程进行排队,处理完一个任务后,再进行下一个任务的处理。使用状态机进行软件编程,可以把每一个任务分解为多个状态,在某个状态处理时,同时检查其他任务是否需要进行信息处理,并进行状态的转换。这样就可以让MCU在等待的空闲时间内进行多个消息的处理。

  对IC卡的操作可以分为以下几个部分:接口芯片的初始化、查询卡片、防冲突处理、选择卡片、对操作扇区授权验证、读卡、写卡。根据对IC卡的操作,可以建立IC卡操作的相应状态作为状态机。建立状态机的模型如图1所示。类似地,对于GPRS、GPS等功能模块,也可以进行相应的状态机建模。

  利用前面所建立的状态机模型,可以方便地进行相应的程序设计。软件的主要工作是进行正确的状态切换和在每个状态下执行相应的动作。对单个状态机处理的程序设计,可以使用“横式”或“竖式”两种设计方法。“横式”设计是把每个状态的功能作为一个子函数处理,在子函数外部进行状态的切换。“竖式”设计是在单个switch语句中对所有的状态进行判断,执行相应动作并进行状态切换。

  “横式”设计是把每个状态及所要执行的动作单独放到一个子函数中处理,有RC500Config()、RC500Request()、 RC500Anticoll()等。工作状态的确定可以通过查询状态表获得,找到相应的状态后运行相应的子函数。在每个子函数中,既有该状态下应该执行的动作,也有状态的转换。然后在主程序中判断状态是否发生了转换,再转到相应的状态子程序中执行。

  横竖两种写法,实现的功能完全相同,但是“竖式”隐含了优先级排序,破坏了事件间原有的关系。同时,由于处在每个状态的事件数目不一致,而且事件发生的时间是随机的,“竖式”设计为顺序查询方式,因此大量时间被浪费。“横式”设计,在某个时间点状态是唯一确定的,延迟时间可以预先准确估算。而且在事件发生时,系统会调用相应的事件函数,在函数里查找唯一确定的状态,并根据其状态执行动作和状态转移。使用这种方式设计的软件思路清晰简洁,效率高,故使用“横式”方法设计程序更好。

  类似地,对于GPRS、GPS等功能模块也可以运用状态机机制进行程序设计,从而在整个智能收费机的软件设计中,对所有任务的处理都可以运用状态机机制进行相应的程序设计。

  在很多嵌入式系统软件设计中都可以用到类似状态机的设计思想,比较常用的地方就是各种液晶界面的设计。使用状态机机制设计软件,可以使设计思路清晰、灵活,软件的可读性强,便于以后的维护。如果合理地使用状态机,还可以较大幅度地提高MCU的运行效率。下面以非接触式IC卡的软件设计流程为例讨论。

  图2(a)是传统的嵌入式软件设计流程,使用这种流程设计的系统软件按部就班地先执行RC500Config(),再执行 RC500Request(),然后是RC500Anticoll(),直到对IC卡操作完成,再转到其他任务(如GPS)。这样IC卡的操作任务占用了整个MCU资源。图2(b)是使用状态机设计系统软件的流程。在使用状态机的同时设定一个软件时钟,用来为系统的各个任务进行计时,并进行任务的调度。软件时钟使用一个长整型变量进行计时,利用MCU定时器1 ms或10 ms的中断来实现,从而使时钟不受任务执行过程的影响。当某个任务执行过程需要等待延时,执行子函数返回main()函数,让其他任务使用MCU资源。这样实现的软件,在处理某个任务的空隙可以同时处理其他任务的操作,有效地提高了MCU处理事件的能力。具体实现方法如下:

  当延时不够200 ms时,函数RC500Request()直接返回而没有改变IC卡操作的状态,因此MCU下一次进行IC卡操作时,继续执行函数 RC500Request(),直到IC卡操作状态改变。同时,函数RC500Request()返回后,main()函数会检查GPS、GPRS等工作模块,执行其中的某些动作。也就是说,在执行IC卡操作的同时,可以执行其他任务的操作;同理,在执行其他任务的操作时,也可以执行IC卡的一些操作。这样就可以充分利用MCU的资源,提高MCU对多任务的处理效率。

  使用上述状态机机制设计的智能公交车IC卡收费机的系统软件,能够及时处理IC卡信息、GPS定位信息、GPRS通信等多个任务的操作,运行稳定,完全满足实际应用的要求。该机制非常适合功能较多的嵌入式软件系统设计。

  电子发烧友网报道(文/黄晶晶)2020年9月9日中国光博会在深圳国际会展中心开幕,电子发烧友网记者在....

  作为全包式前端成像系统,此 2MP模组可为客户大幅缩减开发时间和降低成本。安装模组时只需用到几颗螺钉....

  来源:21ic电子网 嵌入式行业需要什么样的技术人才? 仔细观察各种招聘的岗位 要求吧,无非是两方面....

  目前,在面向应用的嵌入式体系结构的研究中,为了能同时利用通用处理器(CPU)的灵活性和专用集成电路(....

  灵动微课堂 (第136讲) 基于MM32 MCU的OS移植与应用——RT-Thread 电源管理

  简介 随着物联网(IoT)的兴起,产品对功耗的需求越来越强烈。作为数据采集的传感器节点通常需要在电池供电时长期工作,而作为联...

  Jini是一种全新的构建分布式系统的技术,具有动态的、自形成的和自管理的特性,它是一种真正的基于服务....

  前言:本期我们邀请到了从事物联网技术开发的资深工程师王城老师,在本期高手问答中老师将为我们解答有关HarmonyOS系统的问题...

  ARM开发板,即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU....

  徐青表示,当前开发区正呈现良好发展势头,优质的企业遇到浦口多重叠加的发展机遇,必然会迸发出更强大的力....

  交流桩相对技术复杂度低,成本要求高,主要包含充电控制单元、充电机、通讯单元。当前的存量以及后续的增量....

  形成性人工智能是Gartner预测中的一个新的技术类别,它将能够感知并动态响应不断变化的情况。形成性....

  通过嵌入式GPU加速技术,与传统的,不太复杂的计算基础架构相比,处理和计算时间可以缩短为完成时间的一....

  根据IC Insights在8月份发布的数据,2019年全球MCU市场规模为160亿美元,由于受新馆....

  在国内,MCU的市场规模约为500亿人民币左右,看起来MCU的市场规模很大,但其实国产MCU产品的占....

  在嵌入式系统中,为了便于对闪存(Flash)空间进行管理,会采用文件的形式来访问Flash。目前,可....

  特征 •易于集成 •占地面积小1.00“x 2.50” •全双工2400bps •低功耗 •V.24 DTE接口 •单+5V电源操作 •支持的协...

  来源:SiliconLabs Silicon Labs(亦称芯科科技)近期接受行业媒体中国电子报的专....

  系统断电管理方案即为对整个系统电源进行自动控制,当系统未测距时间超过10s,那整个系统的供电系统就会....

  1.14USB接口读写测试USB DRD支持软件切换为HOST/DEVICE模式,USB DRD和USB OTG的区别在于:US...

  Hegde在初创公司和大型上市公司(包括Cavium(被Marvell收购),Calxeda,Cis....

  前言本指导文档适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit Linux开发环境:Ubuntu 14.04.3 64b...

  RT-Thread Smart开源混合微内核操作系统横空出世,替换智能设备中的Linux! 来源:嵌....

  针对嵌入式车辆动力学仿真平台开发需求,基于吉林大学汽车仿真与控制国家重点实验室的车辆动力学模型,研究....

  在专业监控系统中,管理平台具有对多种设备的兼容能力。可以同时兼容硬盘录像机、嵌入式、网络视频产品等。....

  01 故事的起源 知乎上的TopSemic是一名2011年本科自动化专业毕业,他的经历是这样的大学时....

  TLZ7xH-EVM是一款由创龙基于SOM-TLZ7xH核心板设计的开发板,底板采用沉金无铅工艺的6层板设计,为用户提供了SOM...

  今天给小伙伴们分享的是电源设计方面和 STM32 微,以及一款 ARM 处理器,有需要的小伙伴....

  今天给小伙伴们分享的是电源设计方面和STM32微,以及一款ARM处理器,有需要的小伙伴赶快下载查阅吧! 本次分享...

  由于绝大多数中断服务程序处理来自于系统设备的中断,这样它们的执行必将会带来系统状态的改变。这种状态的....

  开发一个占先式实时内核与一般软件的开发一样,必然要经过开发的分析、设计、编码、测试四个阶段。在嵌入式....

  软件设计中,代码优化是一件非常有意义的事情。优化的本质是对代码进行等价变换,使变换前后的代码运行结果....

  EFM32PG1具有功能强大的32位ARM®Cortex-M4和多种外设,包括支持AES,ECC和SHA的独特加密硬件引擎。 这些功能...

  按照现代技术的标准,C是一种相当古老的语言。最初的开发发生在70年代初,随后在70年代后期进行了修订,并在80年代实现了标准化...

  前言TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心...

  今天分享的是小伙伴们在设计过程中会遇到的一些问题的方法和经验总结以及一些设计资料手册,需要的小伙伴赶....

  很多电子软件工程师使用STM32系列的单片机入门,学习Linux是技术升级的最好选择之一。很多小伙伴....

  三电功率级联调实验室主要实现新能源汽车VCU、BMS及MCU控制功能的联合集成验证,主要设备包....

  E9100整机具备高可靠性、高集成度,在紧凑的外形基础上,拥有SDI,Ethernet,USB3.0....

  变频车牌识别专用快速道闸,起落杆时间1-3秒可调,杆长4米,一体化机芯结构,同时适应压缩弹簧和拉伸弹....

  继计算机和互联网之后,物联网(IoT)就被认为是世界信息产业的第三次浪潮。据《财富》商业见解(For....

  交通信号机, 主控制箱由 3块板组成:电源板 ( 包含电源和主控制两个部分 ) 、灯驱板和检测板,细....

  首先我们需要仔细分析设计需求。客户把16个输入的完整采样视为一个采样周期。如图1所示,一个采样周期的....

  eCos(embedded Configurable operating system)最初是由Cy....

  Symbian操作系统是智能手机市场中的主要成员,其市场份额超过70%。该操作系统由英国Symbia....

  今天给大家带来的是 意法半导体 STM32 系列以及STM8系列MCU的一些介绍和相关的资料手册,希....

  据IHS iSuppli公司的中国研究服务,全球宏观经济担忧与中国政府支出减少,正在给2012年中国....

  在嵌入式软件开发中,我们不可避免的需要接触优先级的概念,掌握优先级的概念对于设计一个好的软件系统尤为....

  设计一款模拟芯片,就像打磨一件艺术品,设计师需要有丰富的经验、可意会不可言传的know-how,以及....

  嵌入式中,调试手段通常有两种,一是远程gdb,一是直接printf。如果是调试自己玩的小板子,用gd....

  随着对移动和有线设备的能源效率需求的增长,系统开发人员会越来越多地使用功率智能型硬件解决方案,而更加....

  本方案所选用的基本芯片包括Blackfin处理器ADSP-BF533、以太网DM9000AE等....

  如今,万物互联已经成为全球最重要的发展趋势之一,而MCU几乎是每一个联网设备的关键元件,可以说是万物....

  NSITEXE 首席技术官杉本英树(Hideki Sugimoto)表示:“汽车电子平台市场发展迅速....

  据报道,西门子智能基础设施部已经推出了其新的楼宇自动化Desigo PXC4和PXC5,以将建....

  1)硬件——硬件包括PCB、数据处理器、传感器、电池、天线和麦克风阵列。所有这些设备的装配都是在一个....

  随着生活质量的提高,热水器作为家电走入家家户户,最近就有客户在选型热水器面板液晶屏的类型,在点阵液晶....

  Linux支持PowerPC、MIPS、ARM、DSP等多种嵌入式处理器,逐渐被用于多种关键性场合。....

  随着嵌入式Linux系统的广泛应用,对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,....

  “新兴技术具有颠覆潜力,但其带来的竞争优势很少有人了解,或尚未经过市场验证。多数技术要经过5到1....

  据IC Insights市场研究报告显示,2015年全球MCU市场规模达到168亿美元,出货量255....

  C2000™32位微在处理,传感和驱动方面进行了优化,可提高实时控制应用中的闭环性能,例如工业电机驱动,光伏逆变器和数字电源,电动车辆与运输,电机控制以及传感和信号处理.C2000产品线包括Delfino™高端性能系列和Piccolo™入门级性能系列。 TMS320F2807x微平台属于Piccolo™系列,适用于高级闭环控制应用,例如工业电机驱动,光伏逆变器和数字电源,电动车辆与运输以及传感和信号处理。数字电源和工业驱动器的完整开发包作为powerSUITE和DesignDRIVE方案的一部分提供。 F2807x是基于TI行业领先的C28x内核的32位浮点微。此内核的性能通过三角运算硬件加速器得到了提升,该加速器利用CPU指令(如正弦,余弦和反正切函数)提高了转矩环路和位置计算中常见的基于三角运算的算法性能。 F2807x微系列采用一个CLA实时控制协处理器.CLA是一款独立的32位浮点处理器,运行速度与主CPU相同。该CLA会对外设触发器作响响应,并与主C28x CPU同时执行代码。这种并行处理功能可有效加倍实时控制系统的计算性能。通过利用CLA执行时间关键型功能,主C28x CPU可以得到释放,以便用于执行通信和诊断等其...

  CC3200MOD SimpleLink Wi-Fi CC3200 片上因特网无线 MCU 模块

  使用业界首款可编程FCC,IC,CE和Wi-Fi认证无线微(MCU)模块,内置Wi-Fi,开始您的设计连接。 SimpleLink CC3200MOD专为物联网(IoT)而创建,是一个集成了ARM Cortex-M4 MCU的无线MCU模块,允许客户使用单个设备开发整个应用程序。凭借片上Wi-Fi,互联网和强大的安全协议,无需先前的Wi-Fi体验即可加快开发速度。 CC3200MOD将所有必需的系统级硬件组件(包括时钟,SPI闪存,RF开关和无源元件)集成到LGA封装中,以便于组装和低成本PCB设计。 CC3200MOD作为完整的平台解决方案提供,包括软件,样本应用,工具,用户和编程指南,参考设计以及TI E2E支持社区。 应用MCU子系统包含行业标准的ARM Cortex- M4内核以80 MHz运行。 该器件包括各种外设,包括快速并行相机接口,I2S,SD /MMC,UART,SPI,I2C和四通道ADC。 CC3200系列包括用于代码和数据的灵活嵌入式RAM;带外部串行闪存引导程序和外设驱动程序的ROM;用于Wi-Fi网络处理器服务包,Wi-Fi证书和凭证的SPI闪存。 Wi-Fi网络处理器子系统具有Wi-Fi片上网络,并包含一个附加功能专用的ARM...

首页 | 时事热点 | 焦点资讯 | 股票财经 | 消费指南 | 投资理财 | 人文社科 | 娱乐头条 | 科技创新 | 商务营销 |免责声明

Copyright2008-2020 聚焦天津 www.jin022.net 版权所有 业务QQ:17468920 Power by DedeCms 京ICP备13004639号

电脑版 | wap