- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器种类
存储器的种类
微控制器按其存储器内的程序运行。存储器有多种类型,大部份曾用于微控制器。多数现代微控制器以互补型金属氧化半导体技术制造。芯片上的存储器可能是CMOS型的(SRAM 和一些 EEPROM)或MOS型的。后者有比较好的性能和小的尺寸。
??? 早期的微控制器使用掩模ROM和紫外线擦除的编程储存器来储存程序,使用SRAM来储存数据。在大批量且低成本需求的场合,掩模ROM仍然被大量使用。通常这些微控制器的封装上没有具体型号的印字,仅有厂商的商标。内部工厂预编程的ROM里有软件版本号。
实例如下图:使用掩模ROM的MCU,通常封装上只有工厂的内部编码。
??? 掩模ROM有极好的性能,但它不能被再编程,也就是说不能升级程序。带UV EPROM的MCU通常有两种方式:一种是带石英窗的陶瓷封装,可重新擦除后再编程。另一种是大量生产的标准塑料封装,也称为OTP(One-Time Programmable只能编程一次)UV EPROM 不方便的地方是:编程的时候需要高压;一次只能写入一个字或一个字节,导致整个芯片的编程需要很长时间。即使是可擦除的版本也只能被编程百来次,进行擦除操作时,需要在非常强的紫外线下放置20-30分钟。??? SRAM也在一些需要快速读写或频繁升级的微控制器中作程序存储器。如赛普拉斯的USB2.0微控制器C7Y68013。SRAM也被达拉斯半导体的加密型微控制器所用,因为在防破解场合需要更短的擦除时间。??? 更先进的EEPROM比UV EPROM有一些进步:可在数百或数千个周期内再次编程;通常用芯片上的充电泵电路产生高压;很快可以编程完毕。对EEPROM的更进一步的发展是闪存(flash?EEPROM),它在现代的微控制器和智能卡中是主流的存储器。它提供了更快的编程时间,且可以按块来擦除,节省了很多时间;并且可以被擦写数万次。大部分的现代微控制器将闪存作为程序存储器,这就可以现场升级代码而无须昂贵的烧录器。??? 有种方法是把SRAM和EPROM整合在一起,那就可以达到快速的读写时间,且非易失。但它太贵,只在小部分的智能卡和ASIC中有应用。??? 每种存储器都有优势和不足,硬件设计师根据需求来取舍。普通的微控制器在同一晶粒上有不同的存储器,如SRAM和EPROM用在OTP PIC微控制器中。SRAM,掩模ROM和EEPROM用在飞思卡尔MC68H05微控制器中。??? CPLD中,主要用EPROM,EEPROM和闪存。FPGA大多是基于SRAM的,也有公司提供反熔丝(寄存器)和闪存的非易失FPGA。反熔丝(寄存器)是一种特殊的OTP存储器,用于将芯片内金属线之间的互联进行编程。这些互联很小,约100纳米宽,很难确定它们的状态。基于反熔丝(寄存器)的技术,提供了很高的安全性。
安全保护的类型
??? 通过编程接口对片上存储器进行写,校验,读和擦除操作,这可以用硬件(JTAG)或软件(bootloader)来实现。在硬件接口方面,安全保护通常是使用安全熔丝(寄存器)来控制接口的操作,如,阻止存储器中的数据发送到输出缓冲器里。至于软件接口,一般使用密码保护,但通常软件会检测某个硬件安全熔丝(寄存器)的状态。一些微控制器使用了这两种方法,软件启动载入模块控制系统的编程,另一个快速的硬件接口用来大批量生产的编程。每一种都有它的优势和劣势。通过软件,有更好的灵活性和更好的编程控制能力,但会在时间延迟和功耗方面泄漏一些信息。硬件的执行速度更快,对噪声攻击不敏感,不会通过功耗泄漏信息。在硅芯片的资源上,两者都占用类似大小的空间,对于现代的微控制器,与其它较大的部分如程序存储器,处理器和模拟接口相比,这部分几乎可以忽略不计。制造商就可以在同一个芯片上放置两种或更多的编程接口。如通过异步接口进行在线串行编程,标准的并行编程,软件启动模块通过异步接口编程。??? 一些制造商故意不提供它们的微控制器的编程规格。这对它本身并没有提供很好的保护,只是给破解稍稍增加成本而已。这些信息可以通过在开发板上或通用编程器对芯片进行编程而获得。??? 很明显,对于最高等级的安全,系统没有任何编程接口,并且不能读写所存储的数据。这通常用于掩模ROM微控制器和智能卡。对这种保护,实用破解方法是用微探针接触数据总线来恢复信息或使用功耗分析和噪声攻击来利用软件的缺陷。当微控制器进行编程但不提供任何返回信息,只有校验和写检查,这可以提供相对高的安全等级。当然,这需要完全执行以避免破解者强制系统一次只校验一个字节。??? 大部分现代的微控制器有一个或多个安全熔丝(寄存器)来控制片上存储器的读写。这些熔丝(寄存器)可以用软件或硬件来实现。软件的方法就是密码存储在存储器中或一个特定
文档评论(0)