当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]文件系统在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上建立文件系统,给存取带来了极大的便利,也大大地简化了应用程序的编写。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭