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

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

3天内不再提示

英创信息技术工控主板的掉电数据保护功能介绍

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

在大多数工控应用中,由于各种复杂的环境因素,使工控设备不可避免的会面临供电突然断掉的情况。在许多应用场合,需要保存一部分现场数据,以保证工控设备在供电回复后能继续正常运行。为了保证保存数据的实时性,除了已保存的数据不受掉电影响的基本特性外,现场数据的存储频率还会非常高,因此还要求数据保存的速度应足够快,从而不影响应用程序的正常运行。本文的主要目的是分析现场数据保护的若干手段,并重点介绍英创工控主板特有的小数据高速存储方案,以支持关键现场数据的备份。

本文所指的英创工控主板包括EM9160、EM9260、EM9360以及EM9161这4个产品线的所有型号的产品。这些主板均带有大容量的NandFlash存储器,作为非易失性存储器,NandFlash主要用于存储应用程序、历史数据备份等内容。尽管NandFlash也可以作为现场数据保护的存储介质,但考虑到NandFlash介质有一定的擦写寿命限制,且数据是按扇区(512字节或2K字节)为单位写入,因此还存在写入效率较低的问题,因此基于NandFlash的文件系统存储不是作为现场数据保护的最佳方案。

对几十到几百个字节的现场数据的保存,一个比较好的办法是外扩一片NVRAM,典型的芯片可以考虑铁电存储器。有关铁电存储器的具体应用,客户可以参考《工控主板支持铁电存储器的简易方案》一文。在英创工控主板,铁电存储器的写入速度为56KB/s,即写入一个字节的时间在18us的水平。采用铁电存储器或其它NVRAM的优点是存储的数据量没有限制,但前提是需要增加一定的硬件成本,这可能成为一些大批量应用,对成本极其敏感的设备的障碍。

针对需要保存的现场数据通常很少这一特点,同时又能避免客户设备为了现场数据保存功能而增加额外的成本开销,我们通过优化工控主板的内核,为应用程序提供了最大6个字节、带掉电保护功能的高速存储空间,用于对关键现场数据的备份。由于这6个字节在系统内部,其写入速度高达1.5MB/s以上,即写入一个字节的时间在0.6us水平,6个字节的写入时间为3.6us。几微秒的存储时间可完全保证系统应用线程的正常运行。应用程序可通过3个系统调用来实现现场数据的读写,它们是:

1、检查当前存储的数据是否有效

//

// return = TRUE: data stored in NVRAM is valid

// = FALSE: data stored in NVRAM is corrupted or data is unavailable

//

BOOL NVRAMQuery()

{

BOOL bGoodData;

DWORD dwOutBufSize;

DWORD dwReturnBytes = 0;

BOOL bRet;

bGoodData = FALSE;

dwOutBufSize = sizeof(BOOL);

bRet = KernelIoControl(IOCTL_EM9X60_NVRAM_BYTE_QUERY, NULL, 0, (LPVOID)&bGoodData, dwOutBufSize, &dwReturnBytes);

if(bRet)

{

if(!bGoodData)

{

bRet = FALSE;

}

}

return bRet;

}

2、从系统读出1-6个字节

//

// input dwMaxLength: buffer length in byte

// output pOutBuffer: output data buffer

// return 》= 0: number of byte read from NVRAM 《= dwmaxLength

// 《 0: read failed

int NVRAMRead(LPVOID pOutBuffer, DWORD dwMaxLength)

{

DWORD dwReturnBytes = 0;

BOOL bRet;

bRet = KernelIoControl(IOCTL_EM9X60_NVRAM_BYTE_READ, NULL, 0, (LPVOID)pOutBuffer, dwMaxLength, &dwReturnBytes);

if(!bRet)

{

return -1;

}

return (int)dwReturnBytes;

}

3、向系统写入1-6个字节

//

// input pInBuffer: input data buffer

// dwDataLength: number of byte need to write 《= 6

// return 》= 0: number of byte written into NVRAM

// 《 0: write failed

//

int NVRAMWrite(LPVOID pInBuffer, DWORD dwDataLength)

{

DWORD dwReturnBytes = 0;

BOOL bRet;

bRet = KernelIoControl(IOCTL_EM9X60_NVRAM_BYTE_WRITE, (LPVOID)pInBuffer, dwDataLength, NULL, 0, &dwReturnBytes);

if(!bRet)

{

return -1;

}

return dwReturnBytes;

}

在后续出货的相关工控主板中,都将加上6字节掉电保护高速存储功能。对已购买英创公司的主板产品,若需要进行关键现场数据保存功能的客户,可将主板寄回英创公司进行免费更新并索取相关操作的完整源代码。


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

    关注

    7

    文章

    6064

    浏览量

    34614
收藏 人收藏

    评论

    相关推荐

    《ESMARC 335x系列工控主板数据手册》下载

    及应用,还编写有《ESMARC通用评估底板手册》和《ESMARC335x 工控主板技术参考手册》,可相互参考。三个手册均包含在为用户提供
    发表于 06-12 14:25

    Linux工控主板对韦根信号的支持

    为50us,输出每一bit之前的间隔为1ms(如下图,实际的信号电平和时序由实际的韦根读卡器决定)。  韦根协议包含很多种格式来传输串行数据公司工控
    发表于 06-12 15:27

    《ESMARC 928x系列工控主板数据手册》下载

      本手册详细介绍了 ESM928x 的硬件配置、管脚定义及相关的技术指标。此外,公司针对 ESM928x 的评估及应用,还编写有《ESMARC通用评估底板手册》和《ESMARC9
    发表于 06-13 09:48

    WinCE主板彩色打印方案

    公司WinCE系列工控主板(WinCE6、WinCE7)现可支持惠普USB喷墨打印机,提供彩色(黑白)打印功能。  除了最早支持的pcl
    发表于 07-06 10:08

    ESM928x系列工控主板支持WiFi+蓝牙功能

    ,ESM928x标准版带5路串口  详情参阅:ESMARC 928x系列工控主板  成都信息技术有限公司  http://www.emt
    发表于 01-03 15:52

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

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

    工控主板产品选型指南

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

    嵌入式主板的无线通讯解决方案

    ETA6210-WiFi√√ IntelWireless 3160WiFi√ - RalinkRT3070LWiFi√ -成都信息技术有限公司http://www.emtronix.com
    发表于 03-24 14:00

    串口WiFi方案使用说明

    上的编程方法》,《串口WiFi在WinCE工控主板上的编程方法》。成都信息技术有限公司http://www.emtronix.com
    发表于 04-05 15:52

    工控主板通过PPI协议连接西门子PLC

    控制功能的PLC可以形成良好的功能互补,同时ESM6802对大屏显示器的支持也适合用做PLC控制系统的状态监控人机交互终端。  PPI API以lib库的形式提供,可以在所有WEC
    发表于 10-19 16:14

    主板中预装Modbus通讯协议

    modbus_Master.h,与原来的静态库保持不变,相应各个API函数的说明请参见网站技术天地文章《Wince下的Modbus主控通讯协议》、《
    发表于 10-20 10:40

    主板JAVA应用开发简介

    。  鉴于主板主要应用于工业控制和通信管理领域,所以提供的Java硬件支持包主要包括对以太网口、串口、CAN、GPIO、SPI、I2
    发表于 10-20 13:13

    推出多功能工控主板新产品ESM7000

      公司将在近期推出一款全新的多功能工控主板产品ESM7000。ESM7000继续采用
    发表于 08-24 10:29

    英创工控主板掉电数据保护功能

    本文所指的英创工控主板包括EM9160、EM9260、EM9360 以及EM9161 这4 个产品线的所有型号的产品。这些主板均带有大容量的NandFlash 存储器,作为非易失性存储器,NandFlash 主要用于存储应用程
    发表于 06-09 16:20 29次下载

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

    成都英创信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域已有18年的从业经历。英创公司的主板产品在长期的应用服务中逐渐演变,最终形成了自身独特的产品
    的头像 发表于 02-06 11:31 1401次阅读