W78E516及其在系统编程的实现Word格式.docx
《W78E516及其在系统编程的实现Word格式.docx》由会员分享,可在线阅读,更多相关《W78E516及其在系统编程的实现Word格式.docx(4页珍藏版)》请在冰豆网上搜索。
W78E516与标准的8052完全兼容。
1.特征
(1)全静态设计,最高工作频率为40MHz。
(2)64KBAPROM存储应用程序和4KBLDROM存储控制ISP操作的程序。
2块存储器均为MTP-ROM。
(3)512字节的片内RAM内部数据RAM有512字节。
它分成2个存储单元:
256字节高速暂存和256字节辅存。
这些地址有不同的确定方式
①RAM0H~127H:
同8052一样直接或间接寻址,地址指针是被选中的寄存器单元中的R0和R1。
②RAM128H~255H:
同8052一样只能间接寻址,地址指针是被选中的寄存器单元中的R0和R1。
③AUX-RAM0H~255H:
采用外部数据存储器的方式间接寻址,用MOVX指令,地址指针是选中寄存器单元的R0和R1以及DPTR寄存器。
在CHCON寄存器中的第4位置位后,AUX-RAM有效,访问AUX-RAM使用“MOVX@Ri”指令。
当执行内部程序存储器的指令时,访问AUX-RAM不会影响P0,P2,WR和RD。
AUX-RAM在复位后失效。
(4)程序存储器和数据存储器可寻址空间范围为64KB。
(5)4个8位双向口:
P0~P3,1个4位双向多用途编程口P4。
(6)3个16位的定时器/计数器:
T0,T1,T2。
T0和T1功能与8051相同。
T2是一个16位定时器/计数器,它由T2CON配置和控制。
T2能作为外部时钟计数器,也能作为内部定时器,这取决于T2CON的C/T2位的配置情况。
T2有3种操作方式:
清零、自动重写、波特率发生器。
在清零和自动重写方式时,时钟频率与T0和T1相同。
具有一个全双工串行口。
具有6个中断源和2级中断能力。
内部电源管理:
空闲方式和掉电方式,这两种方式可由软件选择。
具有编程后的编码保护功能。
2.与ISP操作相关的特殊功能寄存器
在系统编程控制寄存器CHPCON功能如表1所列。
表1BITNAME功能7软件复位F04KMODE该位置1且FBOOTSL和FPROGEN都置1时,微控制顺笔位,重新操作。
读该位结果为逻1辑时,可双确认CPU处于F04KBOOT模式6-保留5-保留4ENAUXRAM0:
使AUX-RAM无效;
1:
使AUX-RAM有效30必须置为020必须置为01FBPPTSL程序地址选择。
装载程序位64KB的APROM。
4KBLDROM是重新的目标地址。
0:
装载程序位于4KB的存储器。
64KB的APROM是重新编程的目标地址0FPROGENMTP-ROM编程使能。
使编程功能有效。
微控制器进入在系统编程状态。
在这种编程模式下,清降、编程、读操作在设备进空闲模式后可以实现。
可能对ROM执行写操作
编程状态下MTP-ROM的控制字节寄存器SFRCN功能如表2所列。
表2BITNAME功能7-保留6WFWIN选择ISP操作目标存储器。
对LDROM重新编程;
对APROM重新编程5
OENMTP-ROM输出使能4CENMTP-ROM使能3,2,1,0CTRL[3:
0]ROM控制信号
(3)SFRAH,SFRAL:
在系统编程状态下的目标地址。
SFRAH包含地址的高位字节;
SFRAL包含地址的低位字节。
SFRFD:
编程状态下MTP-ROM的编程数据。
二、W78E516的在系统编程方法
1.ISP操作实现过程
微控制器通常执行APROM中的程序。
如果APROM中的程序需要修改,用户需要通过设置CHPCON寄存器来激活在系统编程模式。
在默认情况下,CHPCON是只读的,必须依次向寄存器中写入#87H和#59H,才能使CHPCON的写特性有效。
激活CHPCON的写特性后,在其0位置位,进入在系统编程模式。
ISP操作包括进入/退出在系统编程模式、编程、擦除、读等,它们是在CPU处于空闲模式时完成的,因此,设置CHPCON寄存器后使CPU进入空闲模式,并由定时器中断的发生来控制执行每一种ISP操作的时间。
定时器中断到来时,转入LDROM中执行相关的中断服务程序。
第一次执行RETI指令后,PC指针清零,指向LDROM中的00H。
当APROM中的内容被完全更新后,将CHPCON的第0,1,7位设置为逻辑1,通过软件复位的方式返回APROM执行其中的新程序。
在应用程序需要频繁更新的情况下,这种在系统编程方式使工作简单而高效。
在默认情况下,上电复位后W78E516从程序中启动。
在某些情况下,可以使W78E516从LDROM中启动。
当APROM中的程序不能正常运行,W78E516无法跳到LDROM中执行ISP操作时,CPU进入F04KBOOT模式。
在应用系统设计中一定要注意P2,P3,ALE,EA和PSEN引脚在复位时的值,以避免意外激活编程模式或F04KBOOT模式。
复位时进入F04KBOOTMODE时P43,,引脚电平及时序如图1及图2所示。
W78E516处于在系统编程模式时,MTP-ROM可以被反复编程和检验。
向MTP-ROM中完整、正确地写入新代码后,新代码即被保护起来。
W78E516有专用设置寄存器组,其中包括安全性寄存器和公司/器件识别寄存器,处于编程模式时不能访问这些寄存器。
安全性寄存器在LDROM空间的地址是0FFFFH,当它的各个位被从1编程为0后就不能再被改变,将它们重新置位的惟一方式是执行全部擦除操作,这样就能保证其安全性。
一般情况下,具有ISP功能的微控制器一般都具备2块程序存储区,其中A-ROM用于存储通常状况下的应用程序,B-ROM用于存储控制ISP操作的程序,向A-ROM中写入新代码。
有些微控制器,A-ROM和B-ROM中的程序代码均能控制ISP操作,由特殊功能寄存器来选择其一,为设计人员提供了灵活的设计应用空间。
针对不同类型的ISP器件,对CPU进行在系统编程的方法具有共同之处。
执行ISP操作时,2块程序存储器中的程序流程图分别如图3、图4所示。
的ISP功能特点
在MTP产品中,W78E516颇具特色。
它在ISP功能方面具有突出的优点
开发灵活性。
可由设计者自定任何编程通信协议,经计算机或简单工具,将要修改的程序通过任何I/O口或UART口送入单片机内,不能像其他具有ISP功能的芯片那样,而必须针对其特定引脚及特殊的TIMMING协议来实现。
操作连续性。
市场上目前具有ISP功能的单片机在执行ISP操作时必须停止其他操作;
而有些应用希望此时UART或TIMER/COUNTER等功能仍然能够运作。
W78E516可以满足这种要求。
因为在执行ISP操作时只是控制权从64KBAPROM变换到4KBLDROM,故仍可由4KB中的程序来继续操作控制。
断电时具有存储数据能力。
因W78E516拥有2块大小不同的闪速存储器,其中1块可用于存储断电后仍必须被单片机保留的数据,因此,设计者可减少外接EE2PROM芯片的线路与成本。
除具有上述特点外,W78E516在执行ISP操作时不需辅以任何配件,受到用户的欢迎。
三、应用实例
此实例是在机车故障检测记录仪系统内对W78E516进行ISP操作的实验。
这是一个由PC机和微控制器组成的主从式系统。
PC机经串行通信将新程序的二进制代码以数据形式下载,微控制器接收数据,由软件控制更新64KBAPROM中的程序代码。
实验中微控制器经RS-232接口接收数据并暂存于内部AUX-RAM中,不需扩展外部数据存储器,节省了板上空间。
检测记录仪与PC机的通信采用RS-232标准,为简化硬件,只使用了该标准中的TXD、RXD以及地线3根连线,电平转换由MAXIM232专用芯片完成。
实验电路原理图如图5所示。
实现ISP操作的软件由两部分组成:
一是微控制器部分,用MCS-51汇编语言编写;
二是PC机部分,由MicrosoftVisualBasic开发而来,
主要应用MSCOMM控件与W78E516通信,完成数据下载。
微控制器上电后一般从64KBAPROM中启动。
64KBAPROM中,包括了在系统编程子程序,还有其他检测记录系统的子程序。
微控制器必须读取拨码盘的输入,决定进入哪一种工作状态,是否进行在系统编程。
值得注意的是,在写CHPCON寄存器时,应将其第4位置1,使AUX-RAM有效;
64KBAPROM中的程序应该始终包含图3流程所示的程序段,以使系统具有进入下一次在系统编程的能力。
4KBLDROM中的程序主要作用是接收来自PC机的下载数据,并控制各项ISP操作。
执行在系统编程时,利用SFRAL、SFRAH、SFRFD、SFRCN这几个特殊功能寄存器,选择在系统编程的地址单元,准备待写入的数据,选择待执行的操作类型。
当从F04BOOT模式启动时,软件复位失效,必须硬件复位。
在系统编程的数据由在此期间仍能正常工作的串行通信口进入。
这部分流程如图6所示。
PC机通过RS-232串口发送数据。
每一帧的前3个字节都为7EH,作为帧同步信号。
随后2个字节内容均为帧指针,表明本帧数据的帧号。
PC机在发送1帧数据后,等待单片机发回确认数据帧,该帧数据应包括数据接收正确与否的标志及接收到的数据的帧号。
数据帧格式及PC机通信软件流程分别如图7、图8所示。
结束语
根据本文介绍的方法,在机车故障检测记录仪系统内实现了对W78E516的在系统编程。
ISP技术高度的灵活性使同一种硬件结构能够实现多种系统功能,成为多功能硬件,减少了系统所需电路板的品种,简化了生产流程;
多功能硬件还能够减少板上元件数目和系统电路板数目,使系统成本显着降低。
在机车系统中要对各部分进行多种不同的测试,比如轴温、轴速以及车门的开关状态等等,以便了解机车的运行状况。
在现阶段,处理这些模拟量或数字量需要设计生产多种不同的模块。
应用ISP技术以后这一现状会得以改变:
设计人员设计出包括微控制器、A/D和D/A转换芯片、I/O口等在内的通用模块,将其安装到需要进行检测的各个部分,然后利用ISP技术把不同的应用程序下载到微控制器中,就可以完成各种不同的测试功能,其综合经济效益不可低估。
此外,
ISP技术也为其他许多领域带来了变革。
总之,在系统编程技术具有广阔的开发应用前景。