关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于C8051F340的非易失大容量数据存储方案

基于C8051F340的非易失大容量数据存储方案

作者:时间:2010-12-08来源:网络收藏

C8051F340片上集成SMBus端口。SMBus完全符合系统管理总线规范1.1版,并与I2C串行总线兼容。连接在I2C总线上的器件,SCL和 SDA应该为漏极开路或集电极开路输出,当总线空闲时,这2条线都被拉到高电平。所以,在配置C8051F340端口时,把SDA、SCL配置为漏极开路输出。为了使开漏极电路输出“l”时SDA和SCL应是高电平而不是高阻态,这就需要加上拉电阻。图2为AT24C1024与C805lF340的硬件连接图。对AT24C1024的操作编程,与一般I2C类似,遵循I2C通信协议。以写操作为例,其流程图如图3所示。读操作与此类似。
b.JPG

2.3 应用举例
此电路用于小型的海洋温度计,在采样率为1/6 Hz、采样精度16位的情况下,可连续109 h左右。小型温度计以体积小,重量轻等特点使其方便在海上进行多点多深度布设,用于测试水下温度场的一天连续变化。但是AT24C1024存取速率较低,仅适合于低速存取的场合。在某些系统中还用于系统配置参数和保存系统工作日志。

3 SHI接口扩展M25P64
3.1 SPI总线
串行外围接口SPI总线可分为3线和4线工作方式,支持在同一总线上挂接多个主器件和从器件。SPI收发独立,可同步进行,通信速率比较高。
3.2 M25P64及与C8051F340的软硬件设计
M25P64是低功耗、大容量串行Flash器其存储空间为64 MB,由32 768个页面组成,每个页面为256字节。支持页编程(256字节),扇区擦除(512 KB)和块擦除(64MB)。最高时钟频率50 MHz;可循环使用100 000次;保存年限超过20年;该存储器工作于3/4线串行总线方式,可扩展更大容量的存储空间。
对M25P32的读写可以直接将M25P64与C8051F340的GPIO口连接,采用GPIO口模拟SPI接口时序的方法。使用C8051F340的片上SPI控制接口,将引脚C与单片机输出时钟对接,输出Q与MISO对接,输入D与MOSI对接,片选信号与NSS对接,如图4所示。

c.JPG
C805lF340上电后首先对硬件接口进行初始化,把端口设置为SPI特殊功能。C8051F340通过读写SPI数据寄存器(SPIDATO)实现在 SPI通信线上的数据收发。因此,对M25P64的读写和擦除可归结为,按照M25P64数据资料上的命令表,往SPIDAT0里写入命令和数据,程序流程的控制
通过判断从SPIDAT0读出的状态寄存器位。
3.3 应用实例
此存储电路中M25P64占用的口线较少。M25P64相比于AT24C1024附加了片选信号,并且数据输入和输出线分开,使存储电路的抗干扰性有所提高,降低了软件设计难度。M25P64在硬件实现上基于移位寄存器,所以通信速率较高,达到微秒级。此存储电路已成功应用于开发的湍流观测仪器样机。
4 GPIO口扩展K9WAG08UOA
C8051F340上未被交叉开关分配的端口引脚和未被模拟外设使用的端口引脚都可以作为通用。在设计C8051F340,若不把选定的引脚配置为特殊功能,它就默认为通用,利用这些引脚来扩展K9WAG08UOA。
4.1 K9WAG08UOA的特性
K9WAG08UOA是NAND-Flash架构的Flash,单电源2.70~3.60 V供电,内部存储空间为(1 G+32 M)x8 B,数据寄存器为(2 K+64)x8 B,可进行任意字节单元的读操作(最长25μs),(128 K+4 K)B的块擦除和(2 K+64)B的页编程(200μs典型时间)。容量上可堪比一般的SD卡和U盘,读写速度也很快。
4.2 K9WAG08UOA与C8051F340的硬件连接
C8051F340与K9WAG08UOA的连接方法如图5所示。K9WAG08UOA的命令、数据、地址均通过8根I/O线传输,31位地址分5次写入地址寄存器,其内部译码确定块号、块内页号、页内字节号后寻址相应的单元,比相同容量的并行存储器节省了23根地址线。地址线的减少简化了电路设计,同时也提高了编程的复杂程度。指令、地址从I/O写入时,把拉低,配合CLE和ALE信号线实现I/O口上指令和地址复用。


关键词: I/O 数据 存储

评论


相关推荐

技术专区

关闭