汽车电子:Infineon车身控制器的闪存程序存储器设计

需积分: 49 139 下载量 184 浏览量 更新于2024-08-09 收藏 5.76MB PDF 举报
"闪存程序存储器是汽车电子中一种重要的存储技术,特别是在Infineon车身控制器设计方案中。本文档详细介绍了闪存程序存储器的控制和保护机制,以及相关寄存器的使用方法。 在11.0章节,讨论了闪存程序存储器在整个VDD范围内的读写操作。它通过特殊功能寄存器(SFR)如PMCON1、PMCON2、PMDATL、PMDATH、PMADRL和PMADRH进行寻址。PMDATH和PMDATL组合用于读写14位数据,而PMADRH和PMADRL组合用于设置15位的程序存储单元地址。写入时间和擦除电压由内部定时器和电荷泵控制,电荷泵可以在器件工作电压范围内工作。 对于保护机制,有两种方式:代码保护和写保护。代码保护(CP位)在配置字1中,当CP=0时,外部编程器无法访问闪存,但不影响自写和擦除功能。而写保护(WRT<1:0>位在配置字2中)阻止了由指定位定义的部分或全部闪存的自写和擦除,但不影响外部编程器的读、写和擦除操作。 11.1章节中,PMADRL和PMADRH寄存器用于32K字的程序存储器寻址,高8位地址写入PMADRH,低8位写入PMADRL。PMCON1寄存器控制读写操作,RD和WR位分别启动读写,由硬件在操作完成后自动清零。WREN位控制写权限,上电默认为0,写操作若被中断,WRERR位会被置1,提示用户执行错误处理。PMCON2是只写寄存器,需写入特定模式(解锁序列)以启用程序存储器的写操作,防止意外写入。 11.2章节中,闪存程序存储器以行处理,每行包含固定数量的14位程序存储字,行是最小擦除单位。擦除一行后,用户可以再编程行的全部或部分。数据写入14位宽的写锁存器,用户不能直接访问,但可通过PMDATH和PMDATL加载数据。擦除行的大小和写锁存器数量在表11-1中给出。 注意,如果需要修改已编程行的部分内容,必须先读取整行并保存在RAM中,然后结合新数据写入写锁存器以重编程闪存。对于未编程的单元,可以直接写入,无需先擦除。 该资料适用于PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519等微控制器,涉及的内容包括nanoWatt XLP技术的28/40/44引脚闪存单片机。"