对于所有基于微控制器的嵌入式系统而言,存储器都是其中的主要元件。例如,开发人员需要足够的ram以存储所有易失性变量、创建缓冲区以及管理各种应用堆栈。ram对于嵌入式系统相当重要,同样,开发人员也需要一定空间用于存储应用代码、非易失性数据和配置信息。
然而,问题在于非易失性存储器技术不断扩展,选择众多,使选择适合应用的存储器颇具挑战性。
本文对各种存储器技术进行了介绍,并以on semiconductor、adesto technologies、renesas、issi、cypress semiconductor、advantech、gigadevice semiconductor和silicon motion等供应商推出的产品为例,帮助开发人员了解各种存储器类型的特性。此外,本文还探讨了各种类型存储器的最佳应用,以便开发人员有效使用。
嵌入式系统中的eeprom和fram
eeprom往往是开发人员最先、最常考虑用于嵌入式系统的存储器件。在嵌入式应用中,这类非易失性存储器通常用于存储系统配置参数。例如,连接至can总线网络的设备可能会将can id存储于eeprom。
eeprom的以下特性使其成为嵌入式系统开发人员的理想之选:
小封装尺寸
相对实惠的价格
100kbps至1000kbps的典型比特率范围
标准化电气接口
通常支持i2c和spi接口
目前,在digi-key网站上快速搜索eeprom可以发现,共有9家eeprom供应商提供的5,800多款eeprom。例如,on semiconductor的cat24c32wi-gt3是一款32kb(4kb) eeprom器件,采用8引脚soic封装,连接i2c总线时速度可达1mhz(图1)。
值得注意的是,某些微控制器中也包含eeprom。例如,renesas的r7fs128783a01cfm#aa1 32位微控制器,具有4kb板载eeprom可供开发人员使用。
因此,配置需求不能超过4kb,否则,开发人员就需要使用外部存储器件,或使用微控制器的闪存来模拟eeprom以扩展容量。
尽管eeprom深受青睐,却也存在一些潜在缺陷:
擦/写操作寿命通常为1,000,000次
写周期约为500ns
写入单个数据单元需要多条指令
数据保存期为10年以上(近期的产品可达100年以上)
易受辐射和高工作温度影响
eeprom适合的应用众多,但对于汽车、医疗或航天系统等可靠性要求较高的应用,开发人员则希望使用fram等更可靠的存储器解决方案。
fram是“铁电随机存取存储器”的缩写,相较于eeprom存储器,颇具优势:
速度更快(写周期小于50ns)
写操作寿命更长(高达1万亿次,eeprom仅为100万次)
功率较低(工作电压只需1.5v)
辐射耐受性更强
fram的存储容量与eeprom相当。例如,cypress semiconductor的fram系列容量范围从4kb至4mb。其中,fm25l16b-gtr容量为16kb(图2)。该器件采用8引脚soic封装,工作频率可达20mhz。
针对高端产品,cypress semiconductor推出cy15b104q-lhxit,容量为4mb,支持的接口速度高达40mhz(图3)。这款fram存储器具有以下特性:
151年数据保存期
100万亿次读/写
直接替代串行闪存和eeprom
正如您所猜想,fram的价格比eeprom昂贵,因此选择适合应用的存储器时,务必仔细权衡器件的各种工作环境因素。
嵌入式系统中的闪存、emmc和sd卡
嵌入式系统中的闪存具有多种不同用途。首先,外部闪存可用于扩展内部闪存,从而增加应用代码的可用存储器空间。常用解决方法是:使用gigadevice semiconductor的gd25q80ctigr等spi闪存模块(图4)。如果微控制器支持spi接口,则可通过该接口使用gd25q80ctigr将内部存储器扩展8mb。
其次,外部闪存可用于存储配置信息或应用数据,而非使用eeprom或fram。为了降低bom成本或扩展内部存储器以存储应用数据,可以改用外部闪存芯片。微控制器外设和存储器映射可以配置为加入该外部闪存,以便开发人员能够更轻松地进行访问,而无需专门对所需的驱动程序进行自定义调用,来连接eeprom或fram。
adesto technologies的at25sf161是一款适用于该用途的外部闪存器件范例(图5)。该器件使用队列式spi (qspi) 接口。qspi是对常规spi协议的扩展,提高了系统数据吞吐量。对于单一事务需要存储或检索大量数据的应用,开发人员可留意这类器件。
qspi免除了cpu对qspi外设的干预,并将接口由标准的4引脚(mosi、miso、clk和cs)变更为6引脚(clk、cs、io0、io1、io2、io3)。因此,其中4个引脚可用于输入和输出,而传统spi只用2个引脚。
最后,闪存可用于存储应用数据和有效载荷信息。例如,gps系统往往不会试图将所有gps地图存储于本地处理器,而是使用sd卡或emmc器件等外部存储器件。这些存储介质可通过spi或专用sdio接口连接微控制器,从而有效连接外部存储器件。
例如,issi推出的is21es04g-jcli emmc可直接连接微控制器的sdio接口,为其扩展32gb的闪存(图6)。
就电气接口而言,sd卡与emmc器件别无二致。换言之,二者虽采用不同的封装,但都具有通用引脚可用于连接微控制器。不过,这两种存储器类型却截然不同。相较于sd卡,emmc通常具有以下差异:
更坚固耐用,不易出现物理损坏
交互更快
价格更昂贵
须焊接至电路板,不可拆卸
如果用户无需拆卸存储器,那么使用emmc可以提供更可靠的解决方案,但仍取决于最终应用。无论哪种情况下,开发人员都需要仔细选择存储器,因为每款存储器的特性各不相同。
例如,车载子系统可能要求存储器经过可靠性验证,标准往往高于标准闪存器件。在这种情况下,开发人员需要选择通过汽车级鉴定的存储器,例如silicon motion的sm668ge4-ac 4gb emmc模块。
选购sd卡时,开发人员必须慎重考虑,因为与emmc一样,每款sd卡的特性各不相同。开发人员需仔细检查存储卡的速度等级和工作温度。例如,多数sd卡的额定温度范围为0至70 ℃,适用于消费类电子产品。
此外,每款存储卡都具有相关速度等级,用于描述预期最大接口速度。例如,在需要存储图像的应用中,使用class 2存储卡则速度较慢,远不如专为高清视频设计的class 10存储卡,例如advantech推出的sqf-msdm1-4g-21c sqflash 4gb microsd卡。
存储器选择技巧与诀窍
为嵌入式产品选择合适的存储器类型和接口颇具挑战性。选择适合应用的存储器时,开发人员可以参考以下“技巧与诀窍”:
明确存储器工作条件,例如:
预期擦/写次数
温度、振动和辐射等环境条件和因素
数据加载要求
记录应用中存储器正常工作的最小比特率、所需比特率和最大比特率
选择最接近记录中所需比特率的存储器接口类型
对于汽车或航天系统等恶劣环境条件,须选择通过汽车级鉴定或辐射耐受性较强的存储器
使用分线板将所选存储器件连接至微控制器开发套件以测试其性能
上述技巧有助于确保开发人员找到适合嵌入式应用的存储器。
总结
如今,可供开发人员选择的非易失性存储器件种类繁多,可用于存储各种数据,从应用代码到配置信息,不一而足。如上所述,开发人员需仔细评估应用需求,慎重选择存储器类型和接口,以期取得这些需求与成本之间的平衡。
原文标题:eeprom、fram、emmc、sd卡……嵌入式开发中,存储器应该如何选?
文章出处:【微信公众号:得捷电子digikey】欢迎添加关注!文章转载请注明出处。
路由器刷openwrt好处_路由器怎么刷openwrt
源创通信SinoV-MIDSPAN交换机
基于51单片机两路温度控制器的设计方案
今日看点丨比亚迪超过 LG 成为全球第二大 EV 电池供应商;中国信通院公布 5G 标准必要专利全球最新排名
集线器的端口数
各种类型存储器的最佳应用探讨
自动驾驶技术的短期影响力被高估,认为它可以在两三年内征服世界
为什么说AI是应对5G挑战的必由之路?
展示电动汽车电池如何为电网提供辅助平衡服务
电磁兼容的临界状态在哪里
5G时代移动边缘计算让工业物联网如虎添翼
m3芯片和a17的区别
Lucence计划在明年实现一款用于早期癌症诊断的激光成像仪的商用化
如何在QCC300x上实现I2C功能
到2020年,采用LCD屏下指纹的手机出货量将超过1.5亿部
自动化立体库是什么,有哪些功能特点
锂离子电池完全充电的电路图
升压变压器的主要作用
检测电流良方有六种,如何决定哪种最适用?
“海底长城”合龙!揭秘深中海底隧道中的无损检测技术