当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]文件系统在EEPROM中的应用

摘要: 介绍文件系统在Atmel公司的EEPROM芯片AT24C512中的应用。本文主要针对嵌入式Linux系统,通过编写EEPROM的块设备驱动程序,并格式化为相应的文件系统,从而达到按文件方式存取EEPROM的目的。

关键词: EEPROM; AT24C512; Linux; 文件系统

引言

  在嵌入式系统中,EEPROM凭借使用简单、性能可靠、价格低廉的特点而广泛应用于小量而又重要的数据存储领域。目前,嵌入式产品层出不穷,应用繁多,相应的EEPROM随之出现。其中,两线EEPROM因其引脚少、封装小得到广泛应用。本文主要针对两线EEPROM AT24C512来创建文件系统,当然也适用于其他同类产品。

1  AT24C512简介[1]

  AT24C512是Atmel公司生产的串行电可擦的可编程存储器。它采用8引脚封装,具有可掉电记忆、结构紧凑、64 KB存储容量等特点,可以在2线总线上并接多片芯片,适用于具有较大容量重要数据存储要求的嵌入式系统。

1.1  封装及引脚介绍

500)this.width=500" border="0" />
图1  AT24C512引脚图

  AT24C512有多种封装:TSSOP、PDIP、SOIC、dBGA2、SAP等。其引脚顺序如图1所示。

A0,A1:设备地址。当串行总线上挂接多片EEPROM芯片时,用这个地址来区分各芯片。
SDA:串行数据。
SCL:串行时钟。
WP:写保护。低电平写允许,高电平写禁止。
VCC:电源。
GND:地。
NC:悬空。

1.2  芯片操作简介

(1) 设备寻址(device addressing)

  在读写EEPROM前,需要一个开始标志和一个8位的设备地址去寻址。其设备地址格式如下:

500)this.width=500" border="0" />

  其中,最后一位为读写操作位,1表示读操作,0表示写操作。[!--empirenews.page--]

(2) 写操作

  AT24C512提供字节写和128字节页写功能。字节写与页写操作主要区别在于:后者不需要每写入一字节就提供一个结束标志,而是在处理器得到应答信号后继续写入数据,直到写完小于等于一页的数据。字节写和页写的操作如图2和图3所示。

500)this.width=500" border="0" />
图2字节写操作

500)this.width=500" border="0" />

图3页写操作

(3) 读操作

  AT24C512的读操作有多种模式,包括当前地址读、随机地址读和连续多字节读3种方式。读操作基本与写操作同。当前地址读操作不发送片内地址,每次只读取当前地址的数据,片内读地址自动加1,直到读完整片EEPROM后置0。随机地址读操作需先指定片内地址,然后读出数据。而连续多字节读操作则综合了上述两种方式,既可以是当前地址读,也可以是随机地址读。每当处理器接收到一字节数据后返回一个ACK,EEPROM收到此ACK后地址自动加1,接着输出下一个字节数据,直到控制器返回NO ACK时,读过程结束。

2  AT24C512与主控芯片的连接

  采用Atmel公司的工控芯片AT91RM9200[2]作为主控芯片。AT91RM9200有专用两线接口,可用来连接AT24C512。AT24C512与主控芯片的连接如图4所示。

500)this.width=500" border="0" />

图4  AT24C512与主控芯片的连接电路

  由于AT91RM9200内部有两线控制器,因此对AT24C512的访问只需操作AT91RM9200的内部寄存器,而无需人为模拟AT24C512的访问时序。这为编程提供了方便,同时也保证了可靠性。这里以写操作的流程为例,简要介绍在主控芯片AT91RM9200下如何对AT24C512进行编程,如图5所示。

500)this.width=500" border="0" />

图5  写流程

3  Linux块设备驱动

3.1  Linux块设备驱动模型[3]

  在Linux系统中(本文使用Linux内核2.6.28),设备驱动程序通常有固定的模式,既为编写具体的驱动程序提供了方便,也减少了错误的发生。在编写块设备驱动程序时,首先用register_blkdev注册块设备,之后分配处理函数。处理函数主要包括:request函数,当有读写操作时内核会调用该函数;open函数,用于打开设备;release函数,用于释放设备;ioctl函数,用于查询或设置一些信息。最后向内核注册磁盘。在这个过程中,最重要的一个结构是struct gendisk。上述所描述的处理函数都被写入该结构体,将该结构体必要的字段赋值后,就可使用add_disk将该结构体添加入内核。此时,磁盘设备将被激活,并随时会调用它提供的方法。[!--empirenews.page--]

3.2  在块设备驱动中访问EEPROM

  为了访问EEPROM,就需要将对EEPROM的操作与块设备驱动关联起来。首先是在块设备驱动初始化代码中调用at91_twi_init对EEPROM进行初始化,然后在块设备传输函数block_transfer中调用AT91_TWI_Read和AT91_TWI_Write进行读写操作,这样就使得块设备驱动和EEPROM关联起来了。

  为了提高效率,在对EEPROM写操作时采用页写模式。这里要注意的是,需要对写入的数据进行分割,因为AT24C512 提供的是128字节页写功能,如果多于128字节,需分成128字节的倍数。同时注意,在一次写结束时,应等待1个写周期时间,再进行其他的操作;在进行读操作时,为了提高效率,应采用连续多字节读方式。

4  建立文件系统

  为了按文件方式存取EEPROM,在块设备之上建立文件系统是必要的。由于AT24C512只有64 KB的容量,建立文件系统时,应该选择本身占用空间少的文件系统。当然这要根据具体需求来作出决定。

  下面以msdos、minix、ext2文件系统为例作个比较。首先分别使用mkdos、mkfs.minix、mke2fs 对块设备格式化,并挂载到某个目录下。在未写入任何文件数据的情况下,其结果如表1所列。

表1  文件系统对比
500)this.width=500" border="0" />

  AT24C512 EEPROM只有64 KB容量,相比磁盘等大容量的存储设备,除稳定性外,最主要考虑的是有效空间利用率。从表1中可以看出,在这3种文件系统中,msdos文件系统的空间利用率要高一些,minix文件系统次之,ext2文件系统最低。但是msdos文件系统的缺点是只支持8.3格式的文件名,而minix文件系统支持的文件名最多为14个字符,ext2文件系统支持的文件名长度则高达255个字符。当然,实际采用何种文件系统应根据具体要求来作出选择。

5  结论

  由于AT24C512这类串行EEPROM本身固有的特性,在写入和读取文件操作时,其响应速度要低于NOR Flash、NAND Flash等存储设备。尽管如此,EEPROM也有其优势,目前仍然大量应用于嵌入式系统中。在EEPROM上建立文件系统,给存取带来了极大的便利,也大大地简化了应用程序的编写。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

美国纽约州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)发布 2022 年第三季度业绩报告。 IBM 董事长兼首席执行官 Arvind Kri...

关键字: IBM 软件 BSP 云平台

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭