- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AVR104缓存和中断方式EEPROM写入.
AVR104: 缓存和中断方式EEPROM写入 EEPROM 缓存
高效 EEPROM 访问
缓存访问控制
EEPROM 缓存重写
介绍
许多应用中使用了 AVR 单片机内置的 EEPROM 来保存和恢复参数。存放单个字节到 EEPROM 的编程时间在 3 到 8.5 ms 左右,在这个写入时间里写入访问被禁止。传统上是使用查询法来判断 EEPROM 写入是否完成的,这篇应用笔记介绍一种使用缓存和中断方法,明显的提高了程序的性能,和查询法相比还减少了电源的功耗(在等待期间可以进入休眠模式)。
提高性能和降低功耗直接关系到系统。当执行 EEPROM 写访问查询时,所有资源(除了中断)都被查询所占用,而中断法在“等待” EEPROM 写入完成中断时,可以将单片机释放出来去执行其它代码。与查询法相比,中断驱动写每字节的 EEPROM 最多可以释放 8.5 ms 时间 –依赖于芯片编程时间和系统时钟频率。
理论
AVR 单片机既可以通过中断方式也可以通过查询方式写内部的 EEPROM,两种方法有各自的优点,但是从执行性能看要选择中断方式。
轮询法
轮询就是在读写时,查询 EEWE 状态标志位来保证写周期已经完成。如果写周期还在进行中,单片机将等待并不停检查标志位,直到标志位被清楚后才继续进行。检查自编程是否被激活也是必要的,在需要时,要等待 SPM 操作完成。如果不使用自编程,可以忽略这个步骤。一旦标志位被清除,就可以启动下一个 EEPROM 操作了。轮询法的优点是代码紧凑,主要缺点是单片机在等待 EEPROM 写入时浪费了很多时间。一个典型的单字节写子程序如下:
EEPROM_WR: ;EEPROM Write Sub-Routine
sbic EECR, EEWE ;If EEWE Not Clear
rjmp EEPROM_WR ;Wait Longer
SPM_BUSY: ;(Omit if Self-Programming is Not Used)
sbic SPMCR, SPMEN ;If SPMEN Not Clear
rjmp SPM_BUSY ;Wait Longer
out EEARH, r16 ;Output Address Byte (High)
out EEARL, r17 ;Output Address Byte (Low)
out EEDR, r18 ;Output Data Byte
cli ;Disable Global Interrupts
sbi EECR, EEMWE ;Set Master Write Enable
sbi EECR, EEWE ;Set EEPROM Write Strobe
;This instruction takes four clock
;cycles.
sei ;Enable Global Interrupts
ret ;Return From Sub-Routine
中断法
在中断驱动法,不需要查询 EEWE 状态位确定 EEPROM 写入完成,EEPROM 就绪中断是 EEWE 状态位被清除时触发的。如果使用了自编程,还是需要查询 SPMEN 状态位的,保证当前没有处于自编程状态。中断驱动法的主要优点是减少了处理器的负荷。
如果使用了缓存中断驱动 EEPROM 访问的效率更高:缓存保存需要写入 EEPROM 的参数,中断程序从缓存中获取数据。中断复位程序 (ISR) 的复杂度和写入 EEPROM 的字节数有关。这个程序对单字节缓存是相对简单的,但是当需要写入多字节时就变得复杂了。为了写入多字节,缓存区需要一个计数变量,用来跟踪当前使用的缓冲区位置。计数器就是缓存索引指针。
缓存结构
在一个努力简化和增强的多字节写入中断驱动法,在片内 SRAM 中构造了两个缓冲区。两个缓冲区分别负责缓存地址和数据。Atmega 系列最小 EEPROM 是 512 字节,这需要 2 字节标识地址,这样1 字节的 EEPROM 缓存就是 3 个字节。
图1. EEPROM 访问的 数据和地址 LIFO 缓存
缓存大小
缓存 EEPROM 写入主要考虑的因素之一是缓冲区的大小。缓冲区大小影响性能,因为需要有哪些信誉好的足球投注网站缓冲区查找 EEPROM 地址是否已经在缓存中了;如果在就需要在写入时更新,或者在读取时返回其内容。
EEPROM 也扮演了决定合适缓冲区大小的角色,必须考虑包括 EEPROM 和 EEPROM 使用和/或更新的字节数。如果有许多字节在短时间内要写入 EEPROM,缓存需要足够大来容纳这些数据。
提供一个方法来决定合适的缓存大小超出了这篇文档的范围,缓存大小需要由
您可能关注的文档
- AutoCAD图纸空间资料学习..doc
- AutoCAD基础(绘制命令)..doc
- AutoCAD复习题..doc
- AutoCAD如何快速标注零件序号..doc
- AutoCAD实例坐式电风扇建模过程..doc
- AutoCAD属性块与Excel电子表格的双向存取..doc
- autocad尺寸样式设定及标注..doc
- AutoCAD工具集合..doc
- Autocad工程图绘制—基本步骤(重点学习)..doc
- AutoCAD常用命令列表..doc
- 2024_2025学年新教材高中生物第四章生物的变异过关检测含解析浙科版必修2.docx
- 2024_2025学年高中化学第三章有机化合物4.1糖类练习含解析新人教版必修2.doc
- 2024_2025学年新教材高中化学第2章化学反应速率与化学平衡第3节化学反应的方向教案新人教版选择性必修第一册.doc
- 2024_2025学年新教材高中地理第四章区际联系与区域协调发展第一节流域内协调发展练习含解析新人教版选修2.docx
- 2024_2025学年新教材高中生物第三章生态系统第五节生态系统中存在信息传递第六节生态系统通过自我.docx
- 部编版八年级上册道德与法治4.3诚实守信课时练习.docx
- 2025届高考地理一轮复习第十二讲城市与城市化素第39课时城市化动力和进程教学案含解析.doc
- 2024_2025学年高中生物专题4酶的研究与应用课题2探讨加酶洗衣粉的洗涤效果练习含解析新人教版选修1.doc
- 福建省2024_2025学年高中语文第四单元第13课宇宙的边疆作业含解析新人教版必修3.doc
- 2024_2025学年新教材高中英语Unit3GettingalongwithothersSecti.doc
文档评论(0)