;
文章
:
行业新闻
┆
EDA文摘
┆
电源技术
┆
无线通信
┆
测量仪表
┆
嵌入式类
┆
电子技术
┆
制造技术
┆
半导体
┆
网络/协议
┆
展会
┆
实验
┆
家电维修
下载
:
EDA教程
┆
电源技术
┆
电子书籍
┆
电子元件
┆
无线通信
┆
通信网络
┆
电路图纸
┆
嵌入式类
┆
单片机
┆
传感/控制
┆
电子教材
┆
模拟数字
┆
.... 音视频类
┆
消费电子
┆
机械电子
┆
行业软件
┆
C/C++
┆
FPGA/ASIC
┆
规则标准
┆
家电维修
┆
DSP
┆
IC资料
┆
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的编程的其他功能有待于大家去挖掘。
[] [
返回上一页
] [
打 印
] [
收 藏
]
上一篇文章:
显示和键盘智能控制zlg7289A的原理及其应用
下一篇文章:
68HC908JB8单片机在PC无线键盘的应用
∷相关文章评论∷ (评论内容只代表网友观点,与本站立场无关!) [
更多评论
...]
关于本站
-
意见反馈
-
网站导航
-
帮助
-
隐私政策
-
联系我们
-
使用条款
-
安全承诺
-
友情连接
站长QQ:39550527 Powered by: 飓风网络(
电路图
)
Copyright 2006-2008
Elec
f
ans.Com
.
电子发烧友:
粤ICP备07065979号
All Rights Reserved