新闻中心

EEPW首页>嵌入式系统>设计应用> 基于MCF52235 的RFID 通用开发平台设计

基于MCF52235 的RFID 通用开发平台设计

作者: 时间:2014-12-15 来源:网络 收藏

  2通用开发平台设计

本文引用地址://m.amcfsurvey.com/article/266844.htm

  2.1硬件设计

  硬件构件模型中首先是主控制器MCU的选型。由于应用广泛,很多场合要求控制器有较快的处理速度,有多种控制模块如A/D控制模块、总线模块、以太网控制模块等。综合分析,文中选择了飞思卡尔单芯片解决方案处理器。该处理器采用Coldfire V2内核和精简指令集(RISC),频率为60 MHz,通过设置锁相环(PLL),能够稳定工作在80 MHz.内部集成了10/100M快速以太网控制器(FEC)、以太网物理收发器(EPHY)等模块,还有UART,I2C、QSPI、PWM、快速ADC等模块,实现了单芯片解决方案。

  由于处理器中集成的以太网模块已经包括了以太网控制器和物理层收发器,因此网络硬件构件仅需添加少量的元件便可。MCF52235处理器的PHY_RXP、PHY_RXN引脚用于接收数据,PHY_TXP、PHY_TXN引脚用于发送数据。这两对收、发引脚分别接50Ω的上拉电阻。SPDLED引脚接网速LED灯指示当前的连接速度是10 Mbps还是100 Mbps,LNKLED引脚接的LED灯则指示当前是否已经与另一个网络设备连接。如果射频系统中读卡器终端并不多,可以不采用网络而是通过USB接口与PC机进行通信。USB构件采用飞思卡尔的单芯片MC9S12UF32,它提供了高速USB2.0接口,即插即用。此处使用USB接口不是为了获得更高的速度而是为了使用方便,所以选择通过MCF52235的一个串口与UF32通信。

  射频芯片选用的是飞利浦RC531芯片,工作频率为13.56 MHz,在不外加功率放大器时读写距离可达10 cm,它通过SPI接口与MCF52235通信。

  LCD构件采用耀宇科技的YM12864图形点阵液晶。该液晶显示器可以显示4行、每行8个汉字或者16个字母。它有两种常用的连接方式:并行和串行。并行连接需要11根引脚线,串行连接仅用3根引脚线,因此与MCU的连接采用串行的连接方式。另外还需一个引脚控制背光灯电源的正极LEDA开关。语音模块和LCD模块的功能一样,都是为了增强人机交互,它采用上海奔流公司的BMP5008语音芯片。状态指示灯用于观察系统的运行状态和用户的操作,通过GPIO口连接,几乎所有的MCF52235引脚都可以作为GPIO引脚。主控制器MCF52235与各模块的引脚连接如图4所示。

  2.2软件设计

  根据平台的软件构件层次模型,先将各个模块的驱动程序封装成构件。底层软件构件是与硬件直接打交道的,它由头文件和源程序文件两部分组成。编程思想是分析构件的共性和个性,抽取出构件的属性和对外接口函,用户使用该构件时只需了解其接口函数,而不必去了解内部具体如何实现。

  头文件部分给出构件属性的宏定义和对外接口函数的原型说明,源程序部分是函数的实现。

  以太网构件主要包括以太网物理收发器(EPHY)和快速以太网控制器(FEC)的初始化、TCP/IP协议栈实现。它的接口函数原型说明如下:

  //==================================

  uint8 hw_ephy_init(uint16 sysclk,uint8 ratemode,

  uint8 dupmode,uint8 autoneg);//EPHY初始化

  void hw_fec_init(uint8 mac_addr_fec[6];//FEC初始化

  int8 hw_fec_sendframe(uint8 ch[],uint8destAdd[6],uint8 srcAdd[6],uint16 lenType,uint16len);//发送单个以太网帧

  uint8 hw_fec_receiveframe(uint8 ch[],uint16 *len);//接收单个以太网帧

  uint hw_icmp_handle(PACKET p);//处理接收到的ICMP包,响应ping请求

  int hw_udp_send(unshort fport,unshort lport,

  PACKET p);//发送UDP包

  //==================================

  RC531射频模块与MCF52235通信严格按照串行通信时序要求。RC531与ISO/IEC 14443 TypeA和Type B卡通信,则按照A、B卡调制和编码的方式设置相关的寄存器,并根据ISO/IEC 14443协议来设计软件即可。读卡器与A、B卡之间的通信是按照应答方式来进行的,非接触式的卡有很多工作状态,各个状态的转化可通过读卡器向卡发送一系列命令完成。射频构件的接口函数说明如下所示:

  // ==操作Type A卡的部分主要函数======

  void pcdinit();//R初始化

  char pcdreset();//RC531复位

  char pcdrequest(uint8 req_code);//寻卡

  char pcdanticoll(uint8 *snr);//防碰撞

  char pcdselect(uint8 *snr);//选定一张卡

  // =========操作Type B卡的函数========

  void pcdinitB();//B卡初始化

  char pcdrequestB(uint8 *pupi);//寻B卡

  char pcdattrib(uint8 *pupi);//发送attrib命令

  char pcdhaltB(uint8 *pupi);// B卡挂起

  char pcdgetUID(uint8 *snr,uint8 *len);//获得B卡的ID

  //==================================

pa相关文章:pa是什么


上拉电阻相关文章:上拉电阻原理
锁相环相关文章:锁相环原理


关键词:RFIDMCF52235CAN

评论


相关推荐

技术专区

关闭