基于C8051F410单片机实现双频固定式阅读器的应用方案

发布时间:2024-02-26  

随着当前物流行业的快速发展。作为物流主要运输方式的集装箱运输.其运输效率及货运安全性日益受到人们关注。近几年来,随着RFID技术的发展和推广,将RFID技术用于集装箱信息识别.实现集装箱运输的智能化已经成为各集装箱厂家竞相开发的目标。RFID技术是一种利用射频通信方法实现的非接触式、快速、实时和准确的采集与处理信息的自动射频识别技术。目前集装箱运输上对RFlD技术的应用仅仅限于利用阅读器射频信道识别电子标签内集装箱信息.并有实现其运输安全上的保证。本文设计了一种基于C8051F410单片机的双频固定式阅读器。该阅读器与智能集装箱安全设备及路标设备配合实用.不仅能快速识别集装箱信息,而且能监测集装箱内货物的安全。一旦集装箱被非法打开阀读器就能侦查到并将相关信息发送到监控中心报警。


1 ICSD系统介绍及阅读器在ICSD系统中的作用

ICSD(Intelligent Container Safe Device)系统即智能集装箱安全设备系统就是一种用于集装箱的安全监测装置及系统.其可以在集装箱箱门被非法打开时自动侦测并且记录信息.可以通过有效监测系统将记录信息传送到管理中心数据库,为相关工作人员提供信息。完整的ICSD系统包括ICSD、手持/固定式阅读器、路标设备、监控软件。数据中心和用户查询终端六个部分。各部分的功能及联系如图1所示:


集装箱在运输过程中要经过三个主要站点:货运出发点堆场、海关检查站点和货运目的地港口。在运输过程中整个系统工作方式是:在货运是出发点,工作人员利用阅读器向ICSD写入本次运输的相关信息,并进行电子施封。在货运出发点出口ICSD通过阅读器将其状态信息上传到数据中心。在海关检查站点,海关人员利用手持设备对ICSD进行海关用户电子解封,检查完毕后冉用海关命令电子施封,之后,ICSD更新相关信息并在海关人口处通过阅读器再次将其状态信息上传至数据中心。到达货运目的地港口后.丁作人员利用阅读器解封并禁能ICSD。出目的地港口时.阅读器将ICSD信息上传至数据中心。同时,在整个运输过程中.用户可随时通过用户查询终端追踪集装箱的状态及所处位置。


由ICSD系统功能流程原理分析可以看出,阅读器在ICSD系统中起通信桥梁的作用。上位机监控软件与ICSD之间必须通过阅读器的作用才能成功实现通信。


2 阅读器硬件设计

2.1阅读器总体结构

为了能使ICSD准确的定位和通信.阅读器与ICSD之间的通信采用了高、低频两种数据传输类型。采用433MHz或2.4GHz高频作为远距离数据链路通信频段.采用125KHz低频作为短距离数据链路通信频段。根据阅读器在ICSD系统中的功能和特性。本固定式阅读器硬件总体设计为五个模块:控制模块、高频收发模块,低频发射模块、串口通信模块和其他功能模块。其总体结构框架图如图2所示:

图2阅读器总体结构框图

2.2阅读器各模块的功能介绍

控制模块即MCU控制电路.选择的芯片是C8051F410。C8051F410是一款完全集成的低功耗混合信号片上系统型MCU。它具有功耗低、片内存储空间大、端口资源丰富、功能强大等特点。可以在阅读器基础卜进行其他功能的扩展。控制模块功能是完成低频信号的发射和高频信号的收发、解码。以及系统其他部分的控制。


串口通信模块主要用于完成单片机与上位机的串口通信。本部分设计为可选择的RS232和RS485电平转换电路。RS485电平转换芯片采用MAX485,RS232电平转换芯片采用SP3232 EE。


高频收发模块包括高频收发电路和高频天线两部分。高频模块选用的芯片是CC2500。CC2500是一款低成本真正单片的超高频收发器,是专为低功耗无线应用而设计。C2500射频收发器具有可编程的数据传输率。可达500kbps。内部集成了前向误差校正选项。大大提高了芯片的性能。另外.CC2500还为数据包处理、数据缓冲、突发数据传输、清晰信道评估、连接质量指示和电磁波激发提供广泛的硬件支持。高频收发模块主要功能就是完成高频信息的收发。当PC通过串口向阅读器发送对ICSD的相关操作指令信息时,控制部分的MCU通过SPI总线与CC2500通信,由CC2500射频电路转发PC命令至ICSD。ICSD在接收到阅读器转发的PC命令并且响应对应操作指令后,向阅读器回发响应信息。此时CC2500高频部分再次接收ICSD的此响应信息并通过串口上传至PC机。


低频发射模块包括低频电路和低频天线两部分。低频发射模块选择的主要芯片是TA5275。ATA5275是ATMEL公司开发的一款用于汽车轮胎压力监测系统frPMS)。工作频率为125KHz的BCDMOS天线驱动器Ic。该芯片具有超低功耗,驱动器过电流保护,过热保护,低频唤醒芯片等功能。低频发射模块主要功能就是向ICSD发送低频唤醒信号,唤醒休眠的ICSD.使其与阅读器进行通信.并响应相关操作指令。当装有ICSD的集装箱进入读写器的识别范围时候上位机软件发送ICSD唤醒指令到阅读器阅读器再通过低频发射电路转发至ICSD.唤醒ICSD。


其他功能模块包括三个部分,电源部分、JTAG接口编程电路部分、报警电路部分。电源部分主要包括AC—DC转换模块、SIPEXlll7 3.3V电源芯片和SIPEXlll7 5.0V电源芯片。220V交流电通过AC—DC转换模块转换为12V DC.再通过两个电源芯片的稳压输送到各自所需的模块供电。JTAG接口电路功能就是实现在片编程和调试。报警部分电路主要芯片是FM3130.由电源或后备电源供电。FM3130是一个高度集成的器件内部集成块了64Kb的串行非易失性RAM、带有报警功能的RTC和可编程频率的时钟输出。报警模块的功能就是提供实时报警。


3 通信协议的制定

根据阅读器在ICSD系统中的作用,总体上可将通信协议设计为两个部分:PC机与阅读器的通信协议格式和阅读器与ICSD的通信协议格式。这两种协议又可以向下细分为命令数据包格式和响应数据包格式。又因为阅读器与ICSD的通信包括高频和低频两种方式,也必须分开制定两种方式的协议格式。由于ICSD和阅读器各种应用环境十分恶劣,从系统可靠性和稳定性要求出发.本协议的制定考虑使阅读器功能尽量简化。阅读器f或Pcl对ICSD的高频通信命令数据包格式见表I,ICSD高频响应阅读器(或PC)的数据包格式如表2。阅读器与ICSD低频通信数据包格式见表3。起始帧决定数据包传送的开始。命令模式确定是点对点还是广播指令。地址确定是否为本地地址。ICSD参数描述用户须知的集装箱相关信息。ICSD状态参数描述ICSD当前所处状态及用户须知的集装箱相关信息。CRC校检位检验传送数据数否出错。工作模式位描述ICSD所处的状态。结束帧决定数据传送的完毕。

4 阅读器软件设计

阅读器程序总体设计分为四个部分:初始化部分,串口指令及响应处理部分.低频扫描处理部分和高频数据转发部分。


初始化部分主要完成系统初始化。包括定时器初始化,串口初始化,端口配置,中断初始化。SPI初始化,CC2500初始化,ATA5275复位.晶振初始化.以及部分变量的初始化。

串口指令处理及响应部分先判断CRC位和起始位是否正确.如果正确进入串口数据处理程序进行解析.并且响应串口指令。由于串口指令包括点对点和广播两种形式所以将程序定为两个分支:阅读器广播指令解析及响应部分与非阅读器广播指令解析及响应部分。


阅读器广播指令解析及响应部分.首先判断是否为PC扫描阅读器参数指令。是则扫描阅读器参数并利用串口发送指令应答数据。


非阅读器广播指令响应部分又分支为阅读器点对点指令和其他高频指令。非阅读器广播指令解析及响应部分首先判断是否为本地地址,然后根据本地地址是否匹配分支为阅读器点对点指令和其他高频指令。对于阅读器点对点指令则先判断点对点指令的具体功能.最后进入具体功能函数进行解析处理。其他高频指令具体包括ICSD点对点指令和ICSD广播指令。对于本地ICSD点对点指令或广播指令.阅读器直接转发。非本地的ICSD点对点指令或广播指令如果存在报警事件就转发.否则当作干扰跳过。串口指令处理程序充分考虑到阅读器功能的扩展。


在低频扫描过程中要先使高频进入空闲状态。其他时间高频均处于接收状态。为防止与其他中断的冲突.在低频扫描之间要关全局中断,扫描完后开全局中断。


高频数据接收转发处理分主要完成高频数据的接收和串口转发。高频收发完成后高频进入接收状态。


阅读器主程序流程图如图3所示:

图3阅读器主程序流程图

5 结论及展望

本文设计的ICSD系统中双频固定式阅读器.通过指令数据模拟,经在PC机上运用串口通信软件测试,实现了阅读器与ICSD、PC之间的通信。经试验测试该阅读器能快速准确识别集装箱信息并能对报警事件及时响应,提高了集装箱流通速率和其运输安全性。根据当前国内集装箱运输领域需求分析。如果按每年1%的需求量逐年递增来推广该产品.预计每月的收益将增加50多万元同时.也可以为商家挽回因偷盗而造成的损失。因而,该阅读器具有广阔的应用前景。随着网络技术的发展.ICSD系统不仅要求阅读器能够快速识别集装箱信息.还要求具有接入网络的功能,今后的工作是进一步完善硬件设计和优化程序流程.并在阅读器中加入Wi—Fi和Ethemet功能.使其具有能够接入应用场点无线局域网和以太网的功能。


本文作者创新点在于:采用双频通信的方式解决了阅读器信息识别和运输安全监测的功能;该阅读器具有价格低廉和经济效益高的特点。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    工程师笔记|STM32H7双核CM4作为Master初始化系统;STM32H7双核单片机内部集成了CM7和CM4这两个内核,在目前官方提供的例程中,大都是使用CM7作为Master初始......
    进入临界有什么用?STM32单片机怎么实现?;有一次我在给内部学员直播的时候,有几个小伙伴问我,为什么要进入临界,临界有什么用? 当时一时半会没想到好的解释,今天举几个例子来解答下。 如果......
    ,PL2303,CH341),它的功能也就是将我们编写好的代码下载到我们的单片机当中,怎么从ISP软件中找相应单片机的型号进行代码的下载 STC单片机烧写软件图标 ISP烧写截图 烧写步骤: (1......
    了。 你可能会好奇,双核单片机之间怎么通信?其实,通信的方式和方法有很多种。本文就给大家描述一下:使用FreeRTOS消息缓冲区,实现简单的非对称多处理(AMP)核心到核心通信,结合STM32H7(M4......
    sbit led1 = P1^0; void main() { led1 = 0; } 可以看到程序内容是不是非常简单?就这么几行代码即可。 #include 这是单片机开发必须包含的头文件,它是......
    stc51单片机怎么学, 先掌握STC单片机程序烧录方法!;今天我在这里和大家探讨一下关于51单片机怎么学这个话题。 08年我在大学里学习单片机课程的时候,学习内容主要包括单片机的发展历史,单片机......
    单片机怎么实现模块化编程?思维+实例+系统教程;在刚开始从事研发工作的那几年,我主要做单片机软件开发的工作,虽然功能吧都能实现,但是总觉得缺了点什么。 总是感觉自己写的程序不够完美,移植......
    与人之间搭建一条可以进行沟通的桥梁,我们操作的是P0 口,而单片机本身并不知道什么是P0 口,但是它知道它内部地址0x80 是什么东西。说道这我想大家应该明白了,以后凡是编写51 内核单片机程序时,我们再源代码的......
    12T 双核单片机(Intel 8051架构,无外部总线)   LSx151 series 12T 三核单片机(Intel 8051架构,无外部总线)   LS052A series 6T 三核单片机......
    容易理解了 g、重新编译生成hex文件,可用于proteus仿真或烧写单片机 h、最终调试观察运行结果 通过学习,我们知道中断程序(中断函数)和主程序都存储在单片机程序存储器中,通过代码的......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>