Hc08通用写入器进入监控状态的方法

文档序号:6472039阅读:222来源:国知局
专利名称:Hc08通用写入器进入监控状态的方法
技术领域
本发明涉及一种通用写入器进入监控模式的方法,具体涉及一种可适用于 HC08系列的通用写入器进入监控模式的方法。
背景技术
监控模式编程就是在监控模式下利用监控ROM完成对MCU的擦除、写 入、读出操作。目前,市场上提供的HC08系列编程器的实现方案是直接采用 Freescale公司提供的技术手册中的监控模式编程电路图,图1为HC08系列 MCU的监控模式编程电路图,PC机通过串行口直接和需要编程的芯片(以下 称为目标MCU)的监控ROM通讯,对目标MCU进行编程,由于串行口设有 两个数据线, 一个为发送数据线,另一个为接收数据线,是全双工的,而目标 MCU在监控模式下只有一根数据线,同时用来接收和发送数据,是半双工的, 于是中间加了芯片74HC125使串口的两根数据线并为一根数据线和目标MCU 通讯,进入监控的外围电路是指满足进入监控的条件产生电路。
上述监控模式编程方案至少存在两个弊端第一,程序写入速度慢;第二, 它很难达到通用性,不同的目标MCU进入监控的外围电路有很大差别,例如, 要进入监控模式,MC68HC908GP32 (以下简称GP32)所需的外部晶振频率 为 4.9152MHz或9.8304MHz , MC68HC908JB8为 3MHz或6MHz , MC68HC908GZ60为4MHz或8MHz。因此对不同的目标MCU编程,需要重 新设计进入监控的外围电路,无法达到通用性。显然,如果能够设计一种适合 于多种需求的通用写入器,则对于HC08系列的不同芯片可以采用同一种进入 监控状态的控制方法,方便操作者的管理和使用,减少不必要的资源浪费。

发明内容
本发明目的是提供一种通用写入器进入监控模式的方法,通过该方法,实 现不同的目标MCU进入监控模式状态下。
为达到上述发明目的,本发明采用的技术方案是 一种HC08通用写入器进入监控状态的方法,在通用写入器中建立芯片属性数据库,设置可变频率产 生电路和9V电压产生控制电路,所述芯片属性数据库中存储的芯片参数包括 对应目标MCU型号的晶振频率、进入监控状态的特定I/O 口电平和监控密码, 进入监控状态的方法是,根据待写入的目标MCU的型号,从芯片属性数据库 中获取芯片参数,根据芯片参数中的晶振频率设定可变频率产生电路的频率, 根据特定I/O 口电平按设定次序设定目标MCU的对应I/O 口,使目标MCU 上电,控制目标MCU进入监控状态,进入监控的目标MCU通过一个1/0脚 与通用写入器中的主控MCU进行串行通信。
进一步的技术方案,在进入监控状态后,主控MCU将监控密码发送至目 标MCU,同时接收目标MCU的回应字节,将收到的数据和发出的数据进行 比较,若完全相同表示进入监控模式正常,若有不符,则停止发送,给目标 MCU断电,重新上电复位,直至正常进入监控状态。
上述技术方案中,所述主控MCU和目标MCU分别设置在不同的电路板 上,两电路板通过排线实现电连接。
其中,所述主控MCU电路板上设置的信号电路包括可变频率产生电路、 电源控制电路、9V电压产生控制电路、目标MCU复位控制电路(可控5V电 压产生电路)、目标MCU特定I/O 口电平控制电路以及与PC通讯的USB接 口和与核心板相连的接口。
上述技术方案中,所述目标MCU进入监控的特定1/0 口的电平是由主控 MCU的几个I/O控制的,这些I/0口是PTA5、 PTA6、 PTA7和PTE1,它们 分别与目标MCU的几个特定I/O 口相连,通过软件打电平控制目标MCU的 I/O 口电平。
HC08系列MCU进入监控方式所需的晶振频率最小为32.768KHz,最大 为9.8304MHz,可变频率产生电路的主要目的就是产生满足HC08系列MCU 进入监控模式所需晶振频率的要求,从而既要简化硬件设计、又要增强通用性。
目标芯片进入Mon08需要在其IRQ引脚加9V髙电压。为了得到这一电 压,利用MAX232内部电荷泵特性产生。MCU进入监控模式后,要进行密码 匹配,但如果密码匹配不成功,要想退出监控模式,必须要断电。所以,设计 一个电源控制电路,来控制目标MCU的电源,该电路通过软件进行控制。通 过芯片i/o引脚并设计相应电路,可控地给目标芯片供电,以保持编程调试稳定、可靠。另外进入监控的目标MCU —般只能通过一个I/O脚与主控MCU 进行通信,所以主控MCU JB8只能采用模拟串口方式通过PTA0脚与目标 MCU进行串行通信。
上述技术方案中,所述通用写入器进入监控模式并匹配密码的具体的实现 方法是接收从PC方发来的针对目标MCU的3芯片参数和特定I/O电平信 息数据,然后调用SetL6903子程序进行设置,使目标MCU得到正确的晶振 频率,再根据收到的特定I/O电平信息数据给目标MCU特定的I/O 口打对应 的电平,接下来将PTDO置为低电平,使髙压控制电路产生9V,然后将PTC0 置为低电平,给目标MCU上电,最后使控制目标MCU的RESET脚的PTAl 脚打髙,目标MCU便进入了监控模式。
进入监控模式后,JB8等待PC方发来8字节的密码,然后将这8个监控 密码发给目标MCU,在将8个密码发给目标MCU时,同时接收目标MCU发 的回应字节,将收到的数据和发出的数据作比较,若8个字节都相同表示进入 了监控模式,只要有一个字节不相等表示进入监控模式失败,立即停止发送, 并将失败情况通知PC方(即向PC方发送78),然后给目标MCU断电,重新 上电复位。成功进入监控后,主控MCU和目标MCU都进入了待命状态。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点
本发明通过设置芯片属性数据库及可变频率发生电路,实现了 HC08芯片 的通用写入器,要对不同的目标MCU操作,只需要更换目标MCU电路板, 用户板上也只要留出相应的接口,就可以对固定在用户板上的MCU进行编程 了,这样可以实现该开发平台的通用性,另外用MCU控制MCU比较容易, 并且稳定性好。


图1是Freescale公司提供的编程器原理图 图2是本发明实施例一中使用主控MCU方案。 图3是实施例一的可变频率产生电路图。 图4是实例二的NRZ数据传输格式。
具体实施方式
下面结合附图及实施例对本发明作进一步描述
实施例一 一种通用写入器进入监控状态的方法,包括以下步骤
(1) 建立一个芯片属性数据库;
(2) 主控MCU和目标MCU分别设计在两块电路板上,两个电路板之间通 过排线相连
(3) 主控MCU提供所有目标MCU进入监控所需的信号;
(4) 目标MCU留出相应的进入监控的接口;
(5) 主控MCU与PC基于USB通信;
[6进入监控的目标MCU通过一个I/O脚与主控MCU进行串行通信。
本实施例中,通用写入器进入监控状态的主控MCU为飞思卡尔半导体公 司生产的一款价格便宜的带有USB模块的20脚的MC68HC908JB8 (以下简 称JB8)作为主控MCU。
对于通用写入器进入监控状态的方法采用在PC机和目标MCU之间加一 个MCU (以下称为主控MCU)的方案,如图2。主控MCU接收PC机发送 的操作命令,与目标MCU进行通信,使目标MCU完成相应的操作,主控 MCU和目标MCU分别设计在两块电路板上,两个电路板之间通过排线相连, 以实现两板间的数据通讯和信号控制。主控MCU电路板提供所有目标MCU 进入监控所需的信号,目标MCU只要留出相应的进入监控的接口就行了。
晶振电路产生的晶振频率不一定就是目标MCU进入监控所需的晶振频 率,于是目标芯片进入监控模式所需的外部晶振频率必须由晶振电路来提供。 Linear Technology公司推出LTC6903可编程振荡器可用编程的方法精确地产 生lKHz到68MHz范围的频率,而M68HC08系列MCU进入监控方式所需的 晶振频率最小为32.768KHz,最大为9.8304MHz,也就是LTC6903产生的频 率范围远远能满足M68HC08系列MCU进入监控模式所需晶振频率的要求, 从而既简化了硬件设计、又增强了通用性。
利用可编程振荡器LTC6903具有SPI兼容接口的特征,由主控MCU的 SPI 口向LTC6903写入控制频率的16位数据,就可以使之输出1KHZ到 68MHZ的频率。但由于主控MCU JB8片内没有SPI接口 ,所以采用模拟SPI 口的方法实现可变频率的输出。系统的实现方案见图3所示,JB8的引脚PTA2接LTC6093的SDI脚,PTA3接LTC6093的SCK脚,PTA4接LTC6093的 SEN脚。LTC6903的频率输出脚CLK接目标MCU的OSC1脚,输出不同的 频率信号供不同目标MCU进入监控模式。
实施例二 一种通用写入器进入监控状态的方法,包括以下步骤
(1) 建立一个芯片属性数据库;
(2) 主控MCU和目标MCU分别设计在两块电路板上,两个电路板之间通 过排线相连;
(3) 主控MCU提供所有目标MCU进入监控所需的信号;
(4) 目标MCU留出相应的进入监控的接口;
(5) 主控MCU与PC基于USB通信;
[6进入监控的目标MCU通过一个I/O脚与主控MCU进行串行通信。
本实例中主控MCU与目标MCU的串行数据通信采用异步串行和NRZ(不 归零)格式,数据传输格式具体为第一位为起始位(低电平),随后为8个数据 位(低位在前,髙位在后),最后一位为停止位(髙电平),参见图4所示。进 入监控的目标MCU —般只能通过一个I/O脚与主控MCU进行通信,所以主 控MCU JB8只能采用模拟串口方式通过PTA0脚与目标MCU进行串行通信。
主控MCU与目标MCU之间串行通信时,通信速率为9600bps,即传输 lbit需要时间(1/9600) *1000=104us。由于JB8的晶振频率为f=3MHz,则 每个周期为t=l/f=0.33us,故传输lbit需要104/0.33=312个周期,传输0.5bit 需要156个周期。为此,编写了 DelayHalfBit和DelayBitTime两个延迟子程 序,分别实现延迟0.5bit和lbit的发送时间。使用JSR语句调用子程序 DelayHalfBit实际延迟周期数为4+2+2+26*5+2+4=144,而调用DelayBitTime 实际延迟周期数则为4+144+144+6+4=302。之所以比计算的周期数156和312 要小些,主要是为了便于在实际调用它们时再作微调。
在编写向目标MCU发送一个字节的子程序SendlByte时,要精确计算发 送相邻两位之间的周期数,并确保为312个周期。发送一个字节的过程是先 定义PTA的0脚为输出,并维持髙电平差不多发送2Bit位时间,然后发送起 始位,随后通过循环右移,将入口参数寄存器A中的内容由低位到高位依次 发送,最后发送停止位。为了确保在每两个发送位之间保持时间间隔为312个周期,程序中加了一些空语句作调整。
接收一个字节的子程序ReceivelByte没有入口参数,出口参数为寄存器 A,存放接收到的数据。同样,编写该子程序时,也要仔细计算周期数。接收 一个字节的过程是首先定义PTA的0脚为输入,接收起始位(低电平)之 后,然后连续接送8位,通过带C位的循环右移指令,依次将接收到的8个 数据位存入A中。无论是发送还是接收一个字节,每个字节相邻两位的延时 时间均为312个周期,即104ns,从而确保了主控MCU和目标MCU间的通 信速率为9600bps。
权利要求
1. 一种HC08通用写入器进入监控状态的方法,其特征在于在通用写入器中建立芯片属性数据库,设置可变频率产生电路和9V电压产生控制电路,所述芯片属性数据库中存储的芯片参数包括对应目标MCU型号的晶振频率、进入监控状态的特定I/O口电平和监控密码,进入监控状态的方法是,根据待写入的目标MCU的型号,从芯片属性数据库中获取芯片参数,根据芯片参数中的晶振频率设定可变频率产生电路的频率,根据特定I/O口电平按设定次序设定目标MCU的对应I/O口,使目标MCU上电,控制目标MCU进入监控状态,进入监控的目标MCU通过一个I/O脚与通用写入器中的主控MCU进行串行通信。
2. 根据权利要求1所述的HC08通用写入器进入监控状态的方法,其特 征在于在进入监控状态后,主控MCU将监控密码发送至目标MCU,同时 接收目标MCU的回应字节,将收到的数据和发出的数据进行比较,若完全相 同表示进入监控模式正常,若有不符,则停止发送,给目标MCU断电,重新 上电复位,直至正常进入监控状态。
3. 根据权利要求1所述的HC08通用写入器进入监控状态的方法,其特 征在于所述主控MCU和目标MCU分别设置在不同的电路板上,两电路板 通过排线实现电连接。
4. 根据权利要求3所述的HC08通用写入器进入监控状态的方法,其特 征在于所述主控MCU电路板上设置的信号电路包括可变频率产生电路、电 源控制电路、9V电压产生控制电路、目标MCU复位控制电路、目标MCU特 定I/O 口电平控制电路以及与PC通讯的USB接口和与核心板相连的接口。
5. 根据权利要求1所述的HC08通用写入器进入监控状态的方法,其特 征在于所述目标MCU进入监控的特定1/0 口的电平是由主控MCU的几个 I/O控制的,这些I/O 口是PTA5、 PTA6、 PTA7和PTE1,它们分别与目标 MCU的几个特定I/0 口相连,通过软件打电平控制目标MCU的I/O 口电平。
全文摘要
本发明公开了一种HC08通用写入器进入监控状态的方法,其特征在于在通用写入器中建立芯片属性数据库,设置可变频率产生电路和9V电压产生控制电路,所述芯片属性数据库中存储的芯片参数包括对应目标MCU型号的晶振频率、进入监控状态的特定I/O口电平和监控密码,进入监控状态的方法是,根据待写入的目标MCU的型号,从芯片属性数据库中获取芯片参数,根据芯片参数中的晶振频率设定可变频率产生电路的频率,根据特定I/O口电平按设定次序设定目标MCU的对应I/O口,使目标MCU上电,控制目标MCU进入监控状态。本发明可以实现开发平台的通用性,另外用MCU控制MCU比较容易,并且稳定性好。
文档编号G06F13/42GK101419583SQ20081024378
公开日2009年4月29日 申请日期2008年12月15日 优先权日2008年12月15日
发明者刘晓升, 刘纯平, 王宜怀, 蒋银珍, 马小虎 申请人:苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1