基于CRC报文缓存技术IC水卡预付费终端设计.docVIP

基于CRC报文缓存技术IC水卡预付费终端设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CRC报文缓存技术IC水卡预付费终端设计

基于CRC报文缓存技术IC水卡预付费终端设计   摘 要:以STM32为控制核心,IC卡为预付费载体,文章设计了IC水卡预付费终端,其中IC卡模块完成IC卡的读写,GPRS模块基于Socket与消息服务器完成数据传输,消息服务器基于Web服务完成了水务数据库业务流程。为了保障系统在恶劣网络环境的容错性能,文章提出基于CRC报文缓存技术的解决方案,很好地处理了网络异常下刷卡未同步数据库的问题。   关键词:GPRS; CRC报文;缓存技术   当前,在“智慧城市”建设大背景下,智慧水务的构想应运而生,而收费业务的信息化、智能化是实现智慧水务的第一止,目前国内出现了很多IC水卡预付费终端,然而这些终端大都采用CAN总线或采用485总线与服务器通信,由于分布零散等因素,造成系统的建设投资大、运营费用高、监控维护不及时等缺点。而小部分GPRS无线传输预付费终端,也会出现因外部因素干扰导致数据传输不稳定。针对这种情况,本文提出采用GPRS无线网络与微信支付、IC卡读写相结合的方式对自来水公司收费业务进行智能化改造的方案,该方案投资小、维护成本低,特别适合大面积实施。同时提出CRC报文缓存技术,显著改善了网络异常下刷卡未同步数据库的问题。   1 IC水卡预付费终端硬件设计   IC水卡预付费终端工作流程大致如下:首先用户通过微信关注自来水公司的公众号,输入卡号、充值金额等信息进行预付费。用户收到预付费成功的消息之后将IC水卡插入预付费终端完成充值,交易完成之后预付费终端语音播报同时屏幕显示充值量、充值结果等信息。根据预付费终端的业务特点将硬件分为两大部分:主板部分和外设部分。外设部分主要由处理器通过串口驱动,主要有语音显示模块、屏幕显示模块,负责用户刷卡过程中的语音提示和屏幕展示,提升了人机交互体验。主板部分主要用于读取用户IC水卡信息并上传以及解析服务器返回的报文最终写卡。   设计目的主要实现用户预付费完成之后刷卡充值时,预付费刷卡终端读取卡内用户号、余额(量)等信息通过GPRS上传服务器,服务器下传充值金额(量)等信息,最终完成充值。因此按功能分为读写卡模块和GPRS子模块。读写卡模块通过端口与预付费刷卡终端的主控制器相连,GPRS模块则为串口。这种设计方案硬件实现简单、易于调试,另外为软件的编写也带来很大的便利。这一切都归功于基于ARM Cortex-M3内核STM32系列单片机的广泛应用。此外预付费刷卡终端还需具有存储模块和供电模块,整体结构如图1所示。   2 lC水卡预付费终端软件设计   2.1 软件概述   软件主要采用C语言在Keil平台下编写,除完成对STM32及各个子模块的初始化之外主要编写与服务器之间的通信程序,读T5557卡时的曼彻斯特解码程序以及模拟IIC读写24卡程序。   预付费终端开机后初始化流程如图2所示。终端上电后首先进行中断优先级、各端口串口的初始化,然后读取存储模块中的服务器IP、机器号等信息,接着M6311上电、初始化,向服务器发送心跳包,20 s内收到服务器返回报文则初始化成功,5次未收到则初始化失败,进入错误处理程序。初始化完成后进入自检程序如图3所示:系统通过对存储模块、语音模块显示模块、GPRS信号强度等检测后语音播报自检成功,若某一模块故障则退出进入错误处理程序。   此外,为了解决在外部电磁环境恶劣的情况下,GPRS无线网络数据传输过程中出现的误码率升高和网络中断的问题。为此设计了基于循环冗余码校验(Cyclic RedundancyCheck,CRC)的报文缓存技术,良好地解决了这一问题。   2.2 CRC报文缓存技术的实现   2.2.1 CRC报文设计   CRC算法是计算机网络通信中常用的差错检测控制方法,其主要目的是减少数据通信线路的传输错误。其原理是:在发送端将发送的数据追加CRC校验码,CRC校验码是由原数据与选取的多项式数学运算所得,追加CRC校验码的原数据发送到接收端后,接收端检验原数据和CRC校验码的数学关系是否正确,正确则数据传输无误。CRC算法的关键是多项式的选取,本系统选用了国际电报电话咨询委员会(Comite Consultatif International Telephoniqueet Telegraphique,CCITT)推荐的CRC16(多项式是G(X)=X16+X12+X5+1)作为报文的多项式,其对于大于16位的突发性错误检测出的概率为99.9%,非常适用于抗干扰能力弱的GPRS网络。   参照自来水公司收费业务逻辑在预付费终端与服务器之间设计了如表1所示的CRC报文。   字段?要说明:报头表示前两个字节为固定,第3个字节为应答字,其中Ox00为发送端报文,Oxll表示应答成功报文,Oxl0为应答失败

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档