基于KL25的RFID构件化工程框架研究.docx
《基于KL25的RFID构件化工程框架研究.docx》由会员分享,可在线阅读,更多相关《基于KL25的RFID构件化工程框架研究.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于KL25的RFID构件化工程框架研究0引言目前,射频识别技术(RFID)已在多个领域中被广泛使用,但RFID应用系统是典型的硬件平台相关性系统,通常具有难以维护、更新、移植等特点1,其中存在大量重复工作。软件构件技术是指通过组装一系列可复用的软件构件形成软件系统的软件技术,以软件构件为基础,设计一个合理的构件化工程框架是降低工程开发的难度,提升软件的可重用性、可移植性和可维护性的有效途径2。本文针对RFID应用系统的特点,通过对RFID一般应用模型的分析,封装了构件相关函数,并给出了结构清晰合理的RFID构件化工程框架,有效提高了RFID应用系统的开发效率。同时以思卡尔KL25MCU和射频
2、芯片RC531构成的实验装置为基础,在KinetisDesignStudio集成开发环境中对该构件框架的使用进行了具体测试,并分析了该构件框架在其他嵌入式系统上的移植应用,对提高系统开发的规范性和可移植性具有重要参考意义。1RFID驱动构件的设计及解析构件设计的目标是可重用,达到此目标的关键是构件提供了契约式的接口,它的输入接口代表了环境为它提供的服务,输出接口代表了它为环境提供的服务。一个接口提供一种服务,完成某种逻辑行为3。构件接口由两部分组成:一是署名部分,即构件本身提供服务的描述,由构件头文件(.h)实现;二是行为部分,即构件行为的描述,由源文件(.c)实现。因此,为提高构件可重用性,
3、在设计软件构件时,必须对构件的共性和个性进行分析,抽取出构件的属性和对外接口函数。尽量做到:当一个构件应用到不同系统中时,仅需修改构件的头文件,对于构件的源程序文件则不必修改或改动很小。1.1RFID应用系统的一般模型通过分析RFID应用系统的共性,可以建立一个由3部分组成的一般系统模型4,如图1所示。控制MCU主要提供对射频读写芯片的控制操作;射频读写芯片及辅助电路用于实现与控制MCU的数据通信并控制与标签的通信操作;天线部分则实现电磁波的收发。620)this.style.width=620;border=0alt=基于KL25的RFID构件化工程框架研究src=技术2021/szfwbb
4、xm3dp2021.gifwidth=400以苏州大学飞思卡尔嵌入式中心开发的RFID实验装置为例,KL25作为控制MCU,是整个硬件系统的核心;射频读写芯片RC531与KL25通信实现各种功能。RC531支持并行接口或SPI接口两种方式实现与控制MCU的通信。任意一款MCU只需按表1所示提供对应的GPIO引脚即可以模拟SPI的方式控制RC531芯片。620)this.style.width=620;border=0alt=基于KL25的RFID构件化工程框架研究src=技术2021/hmpgtndcdwh2021.gif1.2构件函数封装在RFID系统中,射频读写芯片RC531作为KL25的
5、外设5-6,是驱动构件的对象。RC531对A类卡的通信处理流程如图2所示。首先,发送Request询卡命令给天线工作范围内的所有卡片,卡片在上电复位后响应该命令;随后通过防冲突循环,根据卡的序列号选中一张卡;接着对准备访问的卡片的存储区的密码进行鉴别;在通过了密码验证后,读写模块可以对该存储区的数据进行读、写、增值、减值以及挂起等操作7。620)this.style.width=620;border=0alt=基于KL25的RFID构件化工程框架研究src=技术2021/fylxfd5r1fx2021.gif根据该处理流程,从上层应用的角度出发,可不必关注防冲突、密码验证等过程,只需要关注对存
6、储区的具体应用。因此RC531构件只需要对A类卡提供初始化、读写数据等功能函数,而防冲突等操作可作为内部函数处理。同理根据B类卡的处理流程,构件需要提供初始化、读取卡号等函数。综合以上分析,在RC531构件头文件中的内容应主要包含外设模块寄存器相关信息的定义和函数原型的声明。前者指明了本“元构件与具体硬件相关的信息,而后者则给出了本驱动构件对上层构件或应用程序所提供的接口函数。另外从硬件的角度看,控制射频模块只需要确定MCU与RC531的接口一个要素即可,但由于KL25的每个引脚都需要确定端口号与引脚号两个部分,所以在应用中将这两个部分组合为一个值,方便理解与调用。通过这种设定,上层构件在使用
7、它时,将具有极大的灵活性。构件源程序文件实现对外接口函数功能,构件内部使用的函数也在构件源程序文件中定义。最终在头文件中应给出MF_Init(初始化)、MF_ReadCardA(读A卡)、MF_WriteCardA(写A卡)、MF_Deduct(电子钱包充值)、MF_Recharge(电子钱包扣款)、MF_Halt(挂起)、MF_ReadCardB(读B卡)等功能函数。以初始化函数为例,其需要完成的功能为:将KL25的GPIO接口初始化为SPI形式,将RC531复位并将天线接口初始化为A类或B类通信状态。因此初始化函数的封装需要提供一个通信协议类型的参数,并需要返回一个状态值反映初始化是否成功
8、。/将KL25部分GPIO口定义为模拟SPI功能/MFRC531的MOSI引脚#defineMF_MOSI_PIN(GPIO_PORT_D<<8)|3/MFRC531的MISO引脚#defineMF_MISO_PIN(GPIO_PORT_D<<8)|5/函数名称:MF_Init/功能概要:复位芯片并根据标签类型初始化/参数说明:ProMode:A类协议Pro_A/B类协议Pro_B/函数返回:错误码MI_OK:初始化成功/MI_NOTAGERR:失败uint_8MF_Init(uint_8ProMode);2工程框架设计2.1工程框架的组织原则按照软件工程的思想,框架是
9、一个能够被开发人员实例化的系统构架,规定了应用软件的体系结构,定义了模块和对象的分割,确定了各部分的主要职责、协作关系及控制流程8。工程框架的设计和组织必须是可复用、可移植和可理解的,以利于提高嵌入式软件的开发效率。因此,本文在设计中遵循以下的原则9-10:(1)系统结构分层,软件与硬件分离。首先,应用系统按照用户、业务逻辑、驱动进行分层,将不同层次的构件文件组织在不同文件夹下,使框架可即插即用替换构件;其次,从不同的层次中分别提炼出高层构件和底层构件,高层构件与硬件无关,而底层构件与硬件密不可分,是硬件驱动程序的封装。高层构件实现一个具体应用,而底层构件是对硬件驱动程序的封装;同时在硬件构件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 KL25 RFID 构件 化工 框架 研究
限制150内