;
文章:行业新闻EDA文摘电源技术无线通信测量仪表嵌入式类电子技术制造技术半导体网络/协议展会实验家电维修  
  下载:EDA教程电源技术电子书籍电子元件无线通信通信网络电路图纸嵌入式类单片机传感/控制电子教材模拟数字
.... 音视频类
消费电子机械电子行业软件C/C++FPGA/ASIC规则标准家电维修DSPIC资料ARM软件电路图电子技术论坛
 
位置:电子发烧友 > 行业新闻 > 嵌入式类 >MC68HC908LJ12单片机FLASH在线编程 退出登录 用户管理
栏目导航


· 单片机类 · 接口/总线/驱动
· ARM · DSP
· FPGA/ASIC技术 · 设计应用
· 嵌入式操作系统 · 电视卡
热门文章
· [组图] 电子元器件基础知识...
· [图文] USB接口定义
· [图文] 三极管开关电路图
· [组图] RS232 RS485接口原理...
· [组图] [组图]电动车充电器...
· [组图] 电子捕鱼器电路图
· [组图] 高品质音调电路的制...
· [组图] JRC4558电路
· [图文] M51134P低音炮电路图...
· [图文] TL494脉宽调制控制电...
相关文章

· 基于MCS-51系列单片...
· 摩托罗拉轮胎压力监...
· [组图] 利用F206片内Flash进...
· [组图] MC68VZ328的智能家庭...

MC68HC908LJ12单片机FLASH在线编程
作者:佚名  来源:不详  发布时间:2006-3-11 12:24:05 减小字体 增大字体
引言
MC68HC908LJ12是Motorola即将推出的一款八位单片机,主要特点是片内有LCD驱动模块和FLASH存储器,拟代替今后会逐渐停产的MC68HC05L1、L5、L16等型号的单片机。MC68HC908LJ12表面贴封装的芯片具有SCI、SPI、内置实时时钟模块RTC、512B RAM以及12KB片内FLASH等特点,其内置LCD驱动模块具有3×27或4×26段LCD驱动能力。
MC68HC908LJ12单片机片内集成电荷泵,使用+5V工作电压即可产生所需FLASH编程电压;另外,片内FLASH擦写速度快,可靠性高,可擦写至少10万次以上,所以在需频繁修改存储的数据和代码的场合,都是理想的选择。
笔者在试用MC68HC908LJ12开发产品的过程中,总结了FLASH在线编程技术,并提供了一种廉价灵活的带片内FLASH的单片机的开发办法。


FLASH在线编程模式
所谓FLASH在线编程,即芯片无需从目标系统上取下即可对FLASH进行擦除和写入的操作。MC68HC908LJ12单片机片内有12KB的FLASH,对FLASH的编程有两种模式:监控模式(Monitor Mode)和用户模式(User Mode)。
当单片机上电复位时,若检测到复位向量($FFFE~$FFFF)为空($FFFF),或特定引脚加上特定的电平,就可使单片机在复位后进入监控模式。在监控模式下,可以利用固化在监控ROM中的代码并通过主机下载程序到RAM中完成对FLASH的一系列的操作。监控模式适合对刚出厂的芯片进行编程写入,或者对芯片的整体擦除或写入。仿真器和编程器就是使用的监控模式。
在单片机正常工作的过程中,程序也可以在用户模式下对FLASH进行编程操作。此时FLASH写入和擦除程序是必须的,但无需外部硬件条件的支持。所以用户模式可以在程序运行中对部分的FLASH进行修改,适合于目标系统的程序和数据的动态更新和存储。
基于MC68HC908LJ12单片机FLASH在线编程以上特性,笔者设计了一套集编程功能和开发功能于一身的MC68HC908LJ12开发工具,电路原理图如图1所示。
通过跳线的方式,可以选择编程功能(图中开关至A的位置)或开发功能(图中开关于B的位置)。当选择编程功能时,单片机工作在监控模式下,主机通过串行通信口可以向片内FLASH执行擦写操作;当选择开发功能时,单片机工作在用户模式下,并可以通过引出的插座连接到目标系统上进行产品开发。笔者在使用MC68HC908LJ12单片机的过程中,为该单片机编写了一套大约3.5KB的在线编程开发系统程序。将此程序写入芯片,开发者在此程序的基础上,能在用户模式下实现对片内另外8.5KB的FLASH擦写,调试用户自己的程序。用户程序定型后,可以选择编程功能擦除在线编程开发系统程序,并将所需的用户程序写入FLASH中。如果使用过程中发现程序有错误之处,仍可选择编程功能,将修改后的程序重新写回FLASH中。这样会给开发带来许多方便。
用户也可将此工具设计为分离形式的,即编程功能和开发功能分别在一块PCB板上。图中虚线框内即为编程器的电路原理图,LJ12芯片安置在开发板上。编程器和开发板之间只需6条连线,即DSC1、IRQ、RST、PTA0、电源线VDD和GND地线。将编程器与开发板连接即可在监控模式下对FLASH进行擦写操作,单独使用开发板即可开发目标系统。

FLASH监控编程模式
在监控模式下, MC68HC908LJ12单片机运行固化在ROM中的代码,监控代码包括使用半双工口的通讯子程。监控模式使用PTA0引脚,通过串行通信口与主机建立连接。建立连接后,单片机的控制权即交给了主机完成对FLASH的擦写操作。MC68HC908LJ12单片机在监控模式下的总线频率是2.4576MHz,进入监控模式有两种方式:高电平进入方式和空向量进入方式。
当单片机上电复位时,若在IRQ引脚上加上高电平VTST(VDD+2.5V),就可使单片机进入监控模式。使用此方式进入监控,在OSC1引脚输入的时钟频率必须是4.9152MHz或者9.8304MHz,PTC1引脚上的高低电平控制分频因子,低电平时分频因子为2,高电平时分频因子为4。
单片机上电复位时,若检测到复位向量($FFFE~$FFFF)为空($FFFF),单片机也将在复位后进入监控模式。使用此方式进入监控,若IRQ引脚为低电平,PLL允许,可由外部32768Hz的晶振产生所需要的总线频率2.4576MHz。若IRQ引脚为高电平,单片机将不管PTC1引脚上的电平而直接使用9.8304MHz的外部晶振产生总线频率2.4576MHz,即分频因子恒为4。

FLASH用户编程模式
在用户模式下,ICP程序代码是用户程序代码的一个部分,需将此代码存储在无冲突的FLASH存储器中以便被用户程序调用。对FLASH进行擦写的时候,FLASH编程操作例程应复制到RAM中运行。MC68HC908LJ12单片机在对FLASH进行擦写的过程中,一旦FLASH控制寄存器(FLCR)的高压允许位HVEN置1,整个FLASH阵列会被加上一个高于普通工作电压的编程电压,此时对FLASH内任意字节的读取都是不稳定的,执行的代码也可能是完全错误的。所以,开发者在调用FLASH擦写子例程前,需将子例程复制到RAM中,然后跳转到RAM中执行。
在用户模式下另一种在线编程的方法是利用固化在监控ROM中监控代码,这样,既可以减少有限的RAM空间的使用,也可以免去用户编写ICP代码的麻烦。Motorola提供了监控代码的入口地址,用户只需提供总线频率、目标FLASH的起始地址、数据队列大小以及数据队列等参数,然后调用“JSR 入口地址”命令即可使用。

结语
FLASH给开发者提供了快速的方便的编程和开发方法,同时也给单片机的应用开拓了更大的空间。合理地利用片内集成FLASH的单片机可以降低开发成本,缩短产品的开发周期。本文就MC68HC908LJ12单片机的FLASH的编程技术展开了一些探讨,FLASH的编程的其他功能有待于大家去挖掘。
[] [返回上一页] [打 印] [收 藏]
 
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 
关于本站- 意见反馈 - 网站导航 - 帮助 - 隐私政策 - 联系我们 - 使用条款 - 安全承诺 - 友情连接
站长QQ:39550527 Powered by: 飓风网络(电路图
Copyright 2006-2008 Elecfans.Com.电子发烧友: 粤ICP备07065979号All Rights Reserved