新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Linux的RFID信息采集与处理系统

基于Linux的RFID信息采集与处理系统

作者:时间:2012-11-13来源:网络收藏

  图4 中, 36 表示S1510 使用MAIL 方式处理命令帧和应答帧, 而4、5 表示S1510命令帧的类型(MAIL_SEND或MAIL_RECEIVE); Status 表示该命令的执行状态( 成功或失败) ; MAIL_SEND命令帧中的Data 域表示用户要进行的操作及参数, 如使Data=WRITE: 参数: 数据, 即表示用户要将数据写入电子标签卡;MAIL_RECEIVE 的应答帧中的Data 域为用户所要求得到的数据。

  当使用MAIL 命令方式读写标签卡时, 用户只需要按帧的格式填充各域, 然后利用ConfiTalk 协议提供的API 函数发送到S1510即可。命令清晰明了, 大大方便了用户的开发。

  1 .3 OLED 显示模块

  系统采用莱宝科技有限公司的OLED 显示模块RGS24128064YW001。有机发光显示器OLED ( Organic Light Emitting Display) 被誉为“梦幻显示器”。与液晶屏相比, OLED 显示屏更轻更薄、可视角度更大, 能够显著节省电能, 并且在-40℃的低温下仍可以正常工作。

  RGS24128064YW00 1 具有串行和8 位并行数据接口。系统采用8 位并行接口与微处理器通信。

  1 .4 SDRAM 和Flash 及自定义键盘

  系统采用32 位的同步动态随机存储器(SDRAM)作为系统内存, 16 位的Flash 作为不可丢失数据存储器。用户可以通过8键的键盘进行各种操作, 如读卡、写卡等。

  2 系统软件设计

  系统软件是整个系统的灵魂, 其设计的好坏直接影响系统的稳定性和可扩展性等性能。系统设计将软件分为两层结构, 如图5所示。最下面一层为操作系统层, 主要实现对 操作系统的移植和各种设备驱动程序的编写, 包括OLED 模块、USB? Device、红外、键盘等设备驱动程序。上一层为应用程序层, 主要实现卡信息显示、键盘扫描、电子标签卡读写、文件传输、时钟以及电池电量检测等功能。

  2 .1 嵌入式

   是一种公开源码的多任务操作系统, 具有开放度高、安全性好、稳定性强、可移植性好等特点, 在嵌入式操作系统中被大量采用。

  本设计采用的Linux 内核是在ARM- Linux 的基础上, 编写了OLED 显示模块、USB设备、红外收发器及键盘的设备驱动程序。在Linux 系统中, 设备驱动程序占有很重要的位置, 它提供了在用户空间操作硬件设备的接口。Linux系统将设备分为字符设备、块设备及网络设备三种, 并给出针对不同设备的数据结构及注册函数。

  当用户开发设备驱动程序时, 只需按硬件操作的方法填充设备数据结构, 并将它注册到内核中即可。

  为了方便用户应用程序的编写, 把USB 设备实现为CDC( Communication Device Class ) 类设备,其驱动程序分为两层, 最底层操作AT91RM9200 上的USB 设备控制器, 如处理硬件中断、读写寄存器及操作I/O 口来检测设备的插拔;上层实现了底层与TCP/IP 协议层的连接,主要是模拟物理网卡, 并注册到内核。这样, 在应用程序的USB 设备就是一个标准的网络设备,用户不需要了解驱动程序的接口, 而直接使用Linux 提供的套接字进行网络通信程序的开发。当用户进行二次开发时,可以不加修改地将上位机开发好的网络通信程序直接移植到本系统中, 而且可以通过上位机的Telnet 等五金|工具|工具对嵌入式系统进行一定的操作。

  其他驱动程序( 如OLED 显示模块、键盘、红外收发器)都作为Linux 下的标准字符设备编写, 使用register_chrdev( )函数进行注册, 提供了读、写和控制操作。在Linux 系统中, 应用程序对字符设备的操作与文件的操作相同。

  Linux 中设备驱动程序可以通过模块方式动态地加载和卸载, 也可以直接编译到内核中。前者使用灵活, 可以减小内核,但因嵌入式系统要求所有设备在初始化后全部就绪, 不能在使用时加载设备的驱动模块。所以, 本系统中所有的设备驱动程序都直接编译进内核。


  每个设备驱动程序在用户空间对应一个设备文件,由文件系统管理。本系统使用ext2 作为根文件系统。为了开发和升级方便,首先将根文件系统做成RAMDISK 格式, 所谓RAMDISK 就是系统启动后将压缩的文件解压到内存, 形成一个虚拟硬盘; 然后,将引导程序、内核映像及根文件系统烧写到Flash 中。

  系统加电后, 引导程序将内核映像从Flash 中调入内存, 然后从核入口开始执行: 首先初始化CPU, 然后加载各个设备驱动程序,最后挂载文件系统, 执行应用程序。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程




评论


相关推荐

技术专区

关闭