(精品)飞思卡尔8位单片机MC9S081508系列MCU编程器的开发.ppt
《(精品)飞思卡尔8位单片机MC9S081508系列MCU编程器的开发.ppt》由会员分享,可在线阅读,更多相关《(精品)飞思卡尔8位单片机MC9S081508系列MCU编程器的开发.ppt(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第十六章第十六章08系列系列MCU编程器的开发编程器的开发主要内容v 编程器技术基础v HC08系列MCU编程器的实现方法v HC08系列MCU编程器实例v HCS08系列MCU编程器原理16.1 编程器技术基础编程器技术基础 在线编程系统在线编程系统是有用户程序驻留在是有用户程序驻留在MCU中,在这些用户程序的中,在这些用户程序的支持下,向支持下,向MCU中写入程序,其实质是一种用户模式下的写中写入程序,其实质是一种用户模式下的写Flash操操作,这种方法对嵌入式系统的开发和调试带来极大方便。作,这种方法对嵌入式系统的开发和调试带来极大方便。编程器编程器是向是向MCU中写入程序,写入的结果是
2、中写入程序,写入的结果是FLASH中仅有当前中仅有当前写入的用户程序,而不包含其他的用户程序。写入的用户程序,而不包含其他的用户程序。16.1 编程器技术基础16.1.1 HC08系列系列MCU的监控模式的监控模式 HC08系列系列MCU可以工作在两种模式:用户模式和监控模式。可以工作在两种模式:用户模式和监控模式。用用户模式户模式是是MCU上电复位后,转向复位矢量所指向的地址,执行上电复位后,转向复位矢量所指向的地址,执行Flash中中的用户程序。的用户程序。监控模式监控模式是是MCU在上电复位后,执行监控在上电复位后,执行监控ROM中的程序。中的程序。当复位矢量为当复位矢量为“空空”($F
3、F)时,时,MCU会自动进入监控模式;当复位矢量会自动进入监控模式;当复位矢量不空时,不空时,MCU需要一定的条件才可以进入监控模式。下表列举了需要一定的条件才可以进入监控模式。下表列举了MC68HC908GP32进入监控模式的不同方式及各种方式所需条件。进入监控模式的不同方式及各种方式所需条件。方式方式IRQRESET复位矢量复位矢量PTC0PTC1PTC3PTA0PTA7外部外部时钟时钟21VTST1VDD 或或VTST任意任意100104.9152MHz2VTSTVDD 或或VTST任意任意101109.8304MHz3VDDVDD$FF任意任意任意任意任意任意109.8304MHz4G
4、NDVDD$FF任意任意任意任意任意任意1032.768KHz16.1 编程器技术基础16.1.2 HC08系列系列MCU的监控的监控ROM程序程序(1)基本的)基本的ROM程序模块程序模块 HC08系列系列MCU出厂时,出厂时,Flash区包含了字节数不同的监控区包含了字节数不同的监控ROM程程序。监控序。监控ROM程序包含了程序包含了HC08系列所共有的基本子程序,这些子程序系列所共有的基本子程序,这些子程序有如下功能:有如下功能:通过一个通过一个I/O引脚接收一个字节数据引脚接收一个字节数据 通过一个通过一个I/O引脚发送一个字节数据引脚发送一个字节数据 读内存或读内存或Flash区中的
5、一个字节数据区中的一个字节数据 写内存中的一个字节数据写内存中的一个字节数据 连续读内存或连续读内存或Flash中两个字节数据中两个字节数据 连续写内存中的两个字节数据连续写内存中的两个字节数据 读堆栈指针读堆栈指针 运行指定位置的程序运行指定位置的程序16.1 编程器技术基础(2)特有的)特有的ROM程序模块程序模块 HC08系列系列MCU内存容量相差比较大,内存容量相差比较大,MC68HC08AZ60的内存有的内存有1024字节,而字节,而MC68HC908JL3只有只有128字节。为了方便内存较小的字节。为了方便内存较小的MCU的的Flash程序写入,厂商在这些程序写入,厂商在这些MCU
6、的的ROM程序中加入特有的程序中加入特有的ROM程序程序模块:模块:Flash整体擦除、页擦除和写入子程序,并公布了调用时的入口参整体擦除、页擦除和写入子程序,并公布了调用时的入口参数数(页擦除的所在页、写入的数据及写入的地址、延时参数等页擦除的所在页、写入的数据及写入的地址、延时参数等)及子程序及子程序的地址。所以不同的地址。所以不同MCU的的ROM程序大小也是不同的。下表是几种擦写子程序大小也是不同的。下表是几种擦写子程序的入口地址及参数存放地址。程序的入口地址及参数存放地址。16.1 编程器技术基础16.1.3 HC08系列系列MCU在监控模式下的工作过程在监控模式下的工作过程(1)与主
7、机通信的数据格式)与主机通信的数据格式 当当MCU上电复位时,如果满足进入监控模式的条件,上电复位时,如果满足进入监控模式的条件,MCU就会工作就会工作于监控模式。监控模式下于监控模式。监控模式下MCU主要是通过某个特定的主要是通过某个特定的I/O口口(如:如:GP32是是PTA0,JL3是是PTB0),以标准不归零,以标准不归零(NRZ)的数据格式进行数据通信,具的数据格式进行数据通信,具体为:第一位起始位体为:第一位起始位(0),随后为,随后为8个数据位个数据位(低位在前,高位在后低位在前,高位在后),最,最后一位为停止位后一位为停止位(1)。NRZ的数据格式如下图所示。的数据格式如下图所
8、示。Bit0Bit1Bit2Bit3Bit4Bit5Bit6Bit7StartStop16.1 编程器技术基础(2)监控模式的工作过程)监控模式的工作过程 MCU在进入监控模式时,需要接收在进入监控模式时,需要接收8字节的保密字节,如果是空白芯字节的保密字节,如果是空白芯片,则片,则8字节的保密字节全是字节的保密字节全是$FF,然后就处于等待接收一个命令字节状,然后就处于等待接收一个命令字节状态。以态。以GP32为例,进入监控模式的时序如下图所示。为例,进入监控模式的时序如下图所示。4096+32CGMXCLK CYCLES24BUS CYCLES256 BUS CYCLES(最少最少)BYT
9、E1BYTE2BYTE8COMMAND来自主机的数据来自主机的数据MCU发送的数据发送的数据BYTE1ECHOBYTE2ECHOBYTE8ECHOBREAKCOMMANDECHO1411412注:注:1 等待回复延时,等待回复延时,2位的延时时间位的延时时间2 数据返回延时,数据返回延时,2位的延时时间位的延时时间4 发送下一个字节前的发送下一个字节前的1位延时时间位延时时间VDDRSTPTA7PTA016.1 编程器技术基础(3)监控模式的矢量表)监控模式的矢量表 在监控模式下,复位、软中断和在监控模式下,复位、软中断和Break中断矢量表有所改变。下表中断矢量表有所改变。下表反应了监控模式
10、和用户模式的矢量表的差别。反应了监控模式和用户模式的矢量表的差别。模式模式复位矢量复位矢量BreakSWISWI高字高字节节低字低字节节高字高字节节低字低字节节高字高字节节低字低字节节用用户户$FFFE$FFFF$FFFC$FFFD$FFFC$FFFD监监控控$FEFE$FEFF$FEFC$FEFD$FEFC$FEFD16.1 编程器技术基础16.1.4 HC08系列系列MCU的监控命令的监控命令 MCU通过特定的通过特定的I/O口接收主机发送的字节数据,判断是否是监控命口接收主机发送的字节数据,判断是否是监控命令,如果是,执行相应的动作。监控命令共有令,如果是,执行相应的动作。监控命令共有6
11、条,每条监控命令由操条,每条监控命令由操作码和操作数组成。下表作码和操作数组成。下表1列出了各条监控命令的格式和功能。列出了各条监控命令的格式和功能。命令命令格式格式功能功能READ$4A$4A 高字高字节节 高字高字节节 低字低字节节 低字低字节节 数据数据读读出指定出指定单单元内容元内容(RAM或或Flash)WRITE$49$49 高字高字节节 高字高字节节 低字低字节节 低字低字节节 数据数据 数据数据向指定向指定单单元写数据(元写数据(RAM)IREAD$1A$1A 数据数据 数据数据读读取上次取上次访问访问的地址的地址+1、+2处处的的内容(内容(RAM或或Flash)IWRITE
12、$19$19 数据数据 数据数据向上次向上次访问访问的地址的地址+1处处写入一个写入一个数据(数据(RAM)READSP$0C$0C 数据数据 数据数据读读堆堆栈栈指指针针高字高字节节和低字和低字节节RUN$28$28执执行行RTI指令指令返回返回16.1 编程器技术基础InOutPC主机主机特定特定I/O目标目标MCUMAX23278 9 10MC74HC12526153VDD(a)编程器内部器件连接图编程器内部器件连接图 VDDI/O口口7891012346 523OutInPC串串行行口口MAX 23274HC125目标目标MCU(b)编程器原理图编程器原理图 10K16.2 HC08系
13、列系列MCU编程器的实现方法编程器的实现方法16.2.1 HC08编程器硬件设计方案编程器硬件设计方案 方案一:采用方案一:采用Freescale公司技术手册中的监控模式编程电路图。公司技术手册中的监控模式编程电路图。16.2 HC08系列MCU编程器的实现方法方案二:方案二:“基板适配器基板适配器”主控主控MCU目标目标MCU基板晶体基板晶体振荡电路振荡电路适配器晶适配器晶体振荡电体振荡电路路PC接口接口电路电路电平转换及电平转换及高压产生电路高压产生电路外围电路外围电路基基 板板适配器适配器电源控电源控制电路制电路16.2 HC08系列MCU编程器的实现方法16.2.2 HC08编程器软件
14、设计思想编程器软件设计思想实现空白芯片写入的软件设计思想是:实现空白芯片写入的软件设计思想是:被写入的目标被写入的目标MCU工作于监控模式。工作于监控模式。主机将擦写主机将擦写FLASH程序的二进制代码以及要写入的数据写入目程序的二进制代码以及要写入的数据写入目标标MCU的内存区。的内存区。主机向目标主机向目标MCU发送发送RUN监控命令,运行第监控命令,运行第步写入目标步写入目标MCU内存区的程序。内存区的程序。在这在这3步的执行过程中,第步的执行过程中,第2步写入目标步写入目标MCU内存的程序设计有一内存的程序设计有一定难度。需要综合考虑内存分配、子程序调用的参数传递方法、程序执定难度。需
15、要综合考虑内存分配、子程序调用的参数传递方法、程序执行完成后如何返回监控状态行完成后如何返回监控状态(等待接收字节状态等待接收字节状态),完成其他页面的写入,完成其他页面的写入操作等问题。操作等问题。返回返回16.2 HC08系列MCU编程器的实现方法16.3 HC08系列系列MCU编程器实例编程器实例 本实例的主控本实例的主控MCU选用选用MC68HC908GP32(简称简称GP32),目标,目标MCU选用选用MC68HC908JB8(简称简称JB8)。16.3.1 硬件设计硬件设计(1)基板)基板 基板选用基板选用SD-1在线编程系统中的实验板,实验板上提供的在线编程系统中的实验板,实验板
16、上提供的WFLASH接口,可以直接连接适配器,接口如下图。接口,可以直接连接适配器,接口如下图。WFLASH接口提接口提供了供了VCC、GND、PTD0PTD4、V+。其中。其中V+是是MAX232芯片第芯片第2脚输脚输出的出的9V高压。高压。V VCCCCGNDGNDPTD1PTD1PTD0PTD0 PTD2PTD2PTD3PTD3PTD4PTD4V+V+V VCCCCGNDGNDWFLASHWFLASH接口接口16.3 HC08系列MCU编程器实例(2)适配器板)适配器板本实例中目标本实例中目标MCU是是JB8,也就是通过,也就是通过GP32向向JB8中写入程序,中写入程序,因此在适配器板
17、中要保证因此在适配器板中要保证JB8进入监控模式。进入监控模式。JB8进入监控的方式有三进入监控的方式有三种种:方式方式IRQIRQ复位矢量复位矢量PTA3PTA3PTA2PTA2PTA1PTA1PTA0PTA0外部外部时钟时钟说说明明1 1V VTSTTST任意任意0 00 01 11 13MHz3MHz高高压压方式方式进进入入监监控模控模式,式,PTA0PTA0口以口以9600bps9600bps速率通信速率通信2 2V VTSTTST任意任意1 10 01 11 16MHz6MHz3 3V VDDDD$FF$FF任意任意任意任意任意任意1 16MHz6MHz低低压压方式方式进进入入监监控
18、模控模式,复位矢量区必式,复位矢量区必须须为为$FF$FF16.3 HC08系列MCU编程器实例JB8适配器板原理图适配器板原理图 适配器电源控制电路适配器电源控制电路PNPT1NPNT21K5KVCC10K100PTD1VINVINPTD0RBX1C1C2地线地线VINVINVINJB8监控模式外围电路监控模式外围电路PTA0PTA1PTA2PTA3VDDVSSOSC2OSC1IRQV+10K10K10K10K10KVIN16.3 HC08系列MCU编程器实例16.3.2 主控主控MCU发送和接收一个字节子程序发送和接收一个字节子程序发送一个字节子程序如下:发送一个字节子程序如下:Send1
19、Byte:BSET 0,OutPortS;输出口输出口0脚定义为输出脚定义为输出BSET 0,OutPort ;令输出口令输出口0脚为高电平脚为高电平JSR DelayBitTime ;246个周期个周期JSR DelayBitTime ;246个周期个周期;发送起始位发送起始位BCLR 0,PTD ;起始位起始位JSR DelayBitTime;246个周期个周期NOP ;1个周期个周期NOP ;1个周期个周期NOP ;1个周期个周期NOP ;1个周期个周期LDX#$08 ;2个周期个周期Send1Byte0:RORA ;1个周期个周期BCC Send1Byte1 ;3个周期个周期;发送数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 卡尔 单片机 MC9S081508 系列 MCU 编程 开发
限制150内