0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术工控主板支持铁电存储器方案

英创信息技术 来源:英创信息技术 作者:英创信息技术 2019-11-14 09:46 次阅读

英创公司ARM9 系列工控主板产品,对数据的记录均采用了基于NandFlash的文件系统,但在实际应用中,客户经常需要频繁的记录一些小块的重要数据,同时要求数据在掉电情况下不丢失,这时如果采用文件系统就不能完全满足需求。通常的解决办法是将数据直接存储在非易性存储器中(NVRAM)。NVRAM有两种基本类型,一是基于SRAM的传统NVRAM,另一种是近些年广泛使用的铁电存储器,与传统的基于SRAM技术的存储器相比,铁电存储器在信号接口、操作功耗方面有无可比拟的优势。目前在市场流行的有4Kb-256Kb铁电存储器产品,并有多种接口类型可供选择,包括I2C、SPI接口等,本文以Ramtron公司的FM24L256为例,介绍英创主板EM9160操作FM24L256的方法。

FM24L256非易失铁电存储器结构容量为32,768 x 8位,读/写次数无限制,掉电数据保存10年,无延时写入操作,采用I2C总线接口,总线频率可高达1MHz。同时具有工业级温度范围,低功耗操作等特点。EM9160 是英创公司的一款预装Windows CE 实时操作系统的高性价比ARM9 工控主板产品。EM9160 最多可支持16 位方向可独立设置的GPIO,这些GPIO 均可被用来仿真作为I2C的信号。

FM24L256为SOP8封装芯片,只需把2位I2C总线信号与EM9160的GPIO相连,即完成扩展硬件的连接。

EM9160工控主板对铁电存储器FM24L256的驱动程序描述如下:

#include ‘EM9160_DIO_EX.h’

#define GPIO0 0x01

#define GPIO1 0x02

#define GPIO2 0x04

#define GPIO3 0x08

#define GPIO4 0x10

#define GPIO5 0x20

#define GPIO6 0x40

#define GPIO7 0x80

#define GPIO8 0x100

#define GPIO9 0x200

#define GPIO10 0x400

#define GPIO11 0x800

#define GPIO12 0x1000

#define GPIO13 0x2000

#define GPIO14 0x4000

#define GPIO15 0x8000

#define SCK GPIO6 // I2C时钟信号,可根据实际情况更改

#define SDA GPIO7 // I2C数据信号,可根据实际情况更改

实现SCK和SDA信号的操作函数:

void GPIO_i2c::SetSDADir(int Dir) // 设置SDA方向

{

if(Dir)

PIO_OutEnableEx( SDA ); // set gpio7 to output (SDA)

else

PIO_OutDisableEx( SDA ); // set gpio7 to input (SDA)

}

void GPIO_i2c::SetSCL(int Level) // 置高/置低SCK信号

{

if(Level)

PIO_OutSetEx( SCK );

else

PIO_OutClearEx( SCK );

}

void GPIO_i2c::SetSDA(int Level) // 置高/置低SDA信号

{

if(Level)

PIO_OutSetEx( SDA );

else

PIO_OutClearEx( SDA );

}

int GPIO_i2c::GetSDA() // 读取SDA状态

{

DWORD dwSDAStatus = 0;

// put code here to get SDA status

PIO_StateEx( (UINT16*) &dwSDAStatus );

dwSDAStatus = dwSDAStatus & SDA;

if(dwSDAStatus)

{

return 1;

}

return 0;

}

int GPIO_i2c::I2C_InitController( ) // 设置SCK,SDA,只初始化时执行一次

{

// set gpio6 and gpio7

PIO_OutEnableEx( SCK ); // set gpio6 to output (CLK)

PIO_OutSetEx( SCK ); // set CLK

SetSDADir(0); // set SDA to input

return 0;

}

根据FM24L256的时序要求,构造相应的读写函数,EM24L256的读写时序如下图所示:

////////////////////////////////////////////////////////////////////////////

// 从I2C器件读取一个或多个字节

// 输入参数

// uDevAddr:器件地址

// uRegIdx: 器件寄存器地址

// ReadBuf: 数据缓存

// ReadLen: 读取数据个数

// return = -1: 失败

// = ReadLen: read succeed!

////////////////////////////////////////////////////////////////////////////

int GPIO_i2c::I2C_ByteRead(UCHAR uDevAddr, UINT16 uRegIdx,

UCHAR* ReadBuf, int ReadLen )

////////////////////////////////////////////////////////////////////////////

// 向I2C器件写入一个或多个字节

// 输入参数:

// uDevAddr:器件地址

// uRegIdx: 器件寄存器地址

// ReadBuf: 数据缓存

// ReadLen: 写入数据个数

// return = WriteLen: 写入成功

// = -1: 写入失败,没有应答信息

////////////////////////////////////////////////////////////////////////////

int GPIO_i2c::I2C_ByteWrite(UCHAR uDevAddr, UINT16 uRegIdx,

UCHAR* WriteBuf, int WriteLen)

本文是以EM9160操作FM24L256为例,介绍如何构造I2C接口,这个方法也完全适合英创公司的其他嵌入式工控主板产品,如EM9000、EM9161、EM9260、ETR232i等。EM9160与FM24L256连接十分简单,在需要频繁记录数据的场合,本文介绍的方案是一个不错的选择,经过测试,EM9160对FM24L256的写入速度可达每秒56K字节,感兴趣的客户可向英创索要相关源代码。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3524

    浏览量

    88398
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35196
收藏 人收藏

    评论

    相关推荐

    存储器技术原理

    存储器(FRAM)能兼容RAM的一切功能,并且和ROM技术一样,是一种非易失性的存储器
    发表于 11-19 11:53

    存储器技术原理

    存储器(FRAM)能兼容RAM的一切功能,并且和ROM技术一样,是一种非易失性的存储器
    发表于 11-21 10:49

    支持Linux高级客户自行移植内核

    上市)  该项服务具体说明和实施流程参见:支持客户进行Linux移植  需要该服务的客户需与签订技术保密协议,并承诺严格履行协议:
    发表于 01-18 13:52

    工控主板产品选型指南

      成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有超16年的从业经历。
    发表于 02-28 11:28

    信息技术工控主板的复位管理介绍

     公司的工控主板是基于ARM9 CPU、预装正版WinCE的嵌入式主板产品。作为嵌入式应用,系统的可靠启动是其可靠性的重要组成部分。本文
    的头像 发表于 11-14 10:03 1615次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>的复位管理介绍

    信息技术工控主板支持电力终端标准显示介绍

     公司EM9X60系列工控主板广泛应用于电力行业,在最新的国家电网公司技术标准《电力用户用电信息
    的头像 发表于 11-15 09:59 1664次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>支持</b>电力终端标准显示介绍

    信息技术工业主板EM9160介绍

    ,如I2C总线时钟芯片,I2C总线存贮等。之前已对I2C总线操作存贮有过说明,相关文章请参考《工控
    的头像 发表于 01-14 11:09 1264次阅读

    信息技术WinCE工控主板的数据库配置简介

    公司的工控主板产品均预装了正版Windows CE操作系统(简称WinCE)。WinCE是嵌入式领域的主流操作系统之一,它不仅在多任务、通讯、图形界面有很好的
    的头像 发表于 01-14 11:35 1430次阅读

    信息技术工控主板网络变压连接方法

    在上一篇介绍主板网络变压连接方法的文章中(《工控
    的头像 发表于 01-14 14:09 3602次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>网络变压<b class='flag-5'>器</b>连接方法

    信息技术工控主板USB通信方案介绍

    ,来进行USB通信的解决方案。 驱动的安装及说明请参考文章《工控主板USB驱动安装说明》。 工控
    的头像 发表于 01-15 14:44 1753次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b><b class='flag-5'>主板</b>USB通信<b class='flag-5'>方案</b>介绍

    信息技术Linux工控主板支持3G网卡介绍

    (3rd-generation,第三代移动通讯技术)运用的普及,公司的工控主板同样对3G无线通讯做了完备的
    的头像 发表于 01-17 09:49 2181次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>Linux<b class='flag-5'>工控</b><b class='flag-5'>主板</b><b class='flag-5'>支持</b>3G网卡介绍

    信息技术工控主板产品选型指南介绍

    成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有18年的从业经历。
    的头像 发表于 02-06 11:31 1680次阅读

    信息技术ESMARC工控主板升级简介

    规范定义了主板基本的机械指标,管脚功能。以ESM命名开头的工控主板都符合ESMARC规范,这些主板
    的头像 发表于 02-07 10:35 1580次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>ESMARC<b class='flag-5'>工控</b><b class='flag-5'>主板</b>升级简介

    信息技术Linux工控主板的高速大容量存储方案简介

    公司针对目前销售的工控主板,都推出了一些扩展存储方案,比如所有型号的板卡都可以通过usb外
    的头像 发表于 02-12 10:52 1259次阅读

    信息技术ESMARC工控主板 SFP光纤连接方案简介

    ESMARC系列工控主板公司的主流产品,其主要产品型号均支持2路独立的以太网接口,采用标准RJ45接口方式。在
    的头像 发表于 02-12 10:56 3030次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>ESMARC<b class='flag-5'>工控</b><b class='flag-5'>主板</b> SFP光纤连接<b class='flag-5'>方案</b>简介