基于80C196KC与PSD4235G2在线编程的实现 (

时间:2012-03-13来源:网络

3IAP(在线编程)设计
  
PSD4235G22个内部寄存器:页寄存器(page)VM寄存器。8位的页寄存器可使MCU的寻址空间扩大256倍,他的内容可以由MCU来读写。页寄存器可直接参与PSD内部存储器的地址选择,在作为页寻址时写入要访问的页地址,PSD内部地址译码逻辑就立刻选中目标存储器空间。另外,在页寄存器实现分页存储时,应该设置一个公共存储器区,即程序在任何页面位置执行时都能访问到的空间(或者说是与页不相关的地址空间),用于放置初始化程序、中断服务程序、页切换程序以及物理设备驱动程序等重要子程序。同样,重要数据也应当在任何页都可以访问,例如PSD控制寄存器、I/O、用于保存堆栈和全局变量的系RAM等。VM寄存器用来分开程序空间和数据空间,并把PSD4235G2中主Flash、次FlashSR AM设置在不同空间。
  
在进行在线编程时,首先将PSD的次Flash存储器映射到80C196KC的程序存储区,将PSD的主F lash存储器映射到80C196KC的数据存储区,系统从PSD的次Flash启动,执行引导/下载程序,如果需要的话从上位机下载程序到PSD的主Flash存储器;然后,再通过PSD中的VM寄存器,将主Flash存储器存储空间从数据存储区跳变到程序存储区,转而执行Flash存储器中的程序,从而实现对原程序的升级。
  
系统的运行有2个基本模式:一个是引导/下载模式;另一个是正常运行模式。系统启动时从引导/下载模式到正常运行模式转换过程中系统存储器的变化步骤为:
  
(1) 上电时系统存储器映射
  
上电时系统开始执行次Flash中的程序,检查是否要通过MCU对主Flash中的程序进行升级。此时,PSD中主Flash存储器存储空间都处于MCU的数据空间,而次Flash存储空间则处于MCU的程序空间。
  
(2) Flash存储空间从数据空间移至程序空间
  
在完成对Flash中程序升级或不需要升级时,写VM寄存器为06H,将主Flash的存储空间从MCU的数据空间移到程序空间。
  
(3) 切换主Flash和次Flash存储空间
  
MCUPSDFlash中运行程序跳到主Flash中的运行程序。在程序写1到‘swap’位(上电时‘swap’的值是0)进行地址“切换”,程序就进入主Flash中运行了。
  
(4) Flash存储空间移至数据空间
  
程序已经在PSD的主Flash中运行,写0CHVM寄存器,把次Flash的存储空间从MCU的程序空间移到数据空间。并且,MCU转跳到在PSD的主Flash的复位入口地址,用户的程序开始真正执行。
用户程序启动模块的流程如图
3所示。

4结语
  
PSD4235G2的独特结构简化了硬件接口电路,为嵌入式MCU系统提供了简单灵活的解决方案。其IAP功能使产品可以在应用中编程和测试,并远程升级程序代码,缩短了产品开发周期,降低了产品维护和升级成本,抢先占领市场。

参考文献

1]孙涵芳.Intel 16位单片机[M].北京:北京航空航天大学出版社1999
2]刘复华.8*C196KX单片机及其应用系统设计[M].北京:清华大学出版社,2002
3]孙涵芳.单片机现场可编程外围芯片PSD的原理及应用[M].北京:北京航空航天大学出版社,1998
4]可编程单片及外围芯片技术手册.

1 2

关键词: 在线编程 PSD 80C196KC MCU

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版