微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > Microblaze在RFID阅读器的软硬件设计中的应用

Microblaze在RFID阅读器的软硬件设计中的应用

时间:11-10 来源:互联网 点击:
4.2 实现过程
  在集成开发环境中添加LCD、 URAT 和DIP的软件IP 核,其中DIP 用于模拟键盘输入。然后配置各个接口IP 核的总线类型、地址范围和外部端口,在项目的UCF 文件中配置接口IP 核的引脚和FGPA 的I/O 的连接关系。
  从串口接收数据有两种方法:一种是采用定时器读;另一种采用串口的中断服务程序来读。采用定时器消耗资源比较大,本文采用串口中断的方法,当串口有数据到达时,激活串口中断服务程序,在中断服务程序中读出串口缓冲区的数据,然后写道FIFO 对列。
  URAT 中断服务程序的主要代码如下:
  Void XUartLite_InterruptHandler ( XUartLite *
  InstancePtr)
  /*判断Uart 缓冲区是否为空*/
  if(!XUartLite_mIsReceiveEmpty(RS232_BASEADD
  R))
  {
  /*接收URAT 数据*/
  Data=XUartLite_RecvByte(RS232_BASEADDR);//
  /*写入FIFO 缓冲队列*/
  Add_Queue(Data);
  }
  其中FIFO 缓冲队列是由一个自定义的数据结构和对它的操作实现的。
  下面是主程序的主要代码。
  初始化部分
  /*URAT 初始化*/
  XUartLite_Initialize( &Uart,
  XPAR_RS232_DEVICE_ID)
  /*LCD 初始化*/
  void lcd_init(unsigned int base_addr)
  /*URAT 开中断*/
  void XUartLite_EnableInterrupt ( XUartLite *
  InstancePtr)
  /*设置URAT 初始化*/
  void XUartLite_SetSendHandler(XUartLite
  * InstancePtr, XUartLite_Handler FuncPtr, void
  *CallBackRef)
  /*设置URAT 的中断服务程序*/
  void XUartLite_SetRecvHandler(XUartLite *
  InstancePtr, , XUartLite_Handler
  XUartLite_InterruptHandle, void * CallBackRef)
  初始化完成以后,然后进入一个无限循环。
  /*判断是否有键按下*/
  XGpio_InterruptGetStatus(XGpio *InstancePtr)
  /*发送读标签命令*/
  for (j=0;j
  { XUartLite_SendByte(UARTLITE_0_BASEA
  DDR, *(commanda+j) );
  wait(50000);
  }
  /*如果对列不为空*/
  If(!IsEmptyQuque())
  /* 读取队列数据 */
  Read_Quque(data )
  /* 写入FLASH*/
  void flash_write(Xuint32 addr, long data)
  对FLASH 的操作首先要块檫除,然后才能写,对FLASH 写的代码如下:
  void flash_write(Xuint32 addr, long data)
  {XIo_Out32(flash_base_addr + (0x555


  图6 标签信息在LCD 的显示
  5 结 论
  RFID 技术是近年来发展起来的一种新型的自动识别技术。FPGA 技术是未来硬件广泛使用的一种技术,本文结合将RFID 技术与FPGA 技术相结合,研究和实现了一种新结构的阅读器,基于FPGA的阅读器具有结构灵活、体积小、升级容易和易扩展等优点。本文给出了阅读器的总体结构、硬件部分结构和软件部分结构,研究了RFID 射频模块与FPGA 之间的接口实现及标签信息在LCD 显示。具有广泛的使用价值。
                               
                                                               
                               
               

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top