一、前言
随着电子技术的发展,单片机的功能日益强大,集成度日益提高,运行速度也越来越快。过去,需要扩展几片外围芯片才能实现的功能现在完全可以由单片机自己去实现,本文介绍的W77E58就是这样一种具有许多功能的单片机。
W77E58是台湾华邦公司生产的与MCS51系列单片机兼容的可多次编程的快速微处理 器,在它内部集成有32K的可重复编程的flash ROM、256字节的片内存储器、1K的 用MOVX指令访问的SRAM、可编程的看门狗定时器、3个16位定时器、2个增强型的全双工串行口、片内RC振荡器、双16位数据指针等诸多功能。在很多场合,几乎不用扩展外围芯片就能够满足系统要求,而且,由于它采用了全新设计的微处理器内核,去除多余的时钟和存储周期,因此,在相同的晶振频率下,根据不同的指令类型,其运行速度一般比传统8051系列快1.5到3倍,一般情况下,平均可达 2.5倍以上。另外,由于W77E58采用全静态CMOS设计,能工作在低速晶振频率下,因此,和普通的8051相比,若W77E58采用低速工作频率,在相同的指令吞吐量下,W77E58的节电性能也将大大提高。
二、W77E58的特点及功能
1. 兼容性
77E58的指令功能完全兼容于80C52(包括对状态位和标志位的影响),只有一点不同的就是在普通80C52的指令系统中,没有操作指令(op-code)A5H,而在W77 E58的指令系统中,增加了一条指令DEC DPTR(数据指针DPTR减一),其操作指令 (op-code)为A5H。而且,W77E58也具有80C52的全部资源和功能,包括4个8位I /O口,3个16位定时器,全双工串口,中断源等。W77E58的增加的新功能都是用普通8052所保留的特殊功能寄存器实现的,不与普通80C52的资源产生任何冲突,因此,W77E58可以直接用在已设计好的80C52系统中使用,而为原有系统编写的程 序几乎不做任何改动,系统就可正常工作,需要注意的只是由于新的高速内核所造成的指令执行时间的改变及访问外部存储器的读写速度的限制。W77E58的封装也完全兼容于80C52,它所增加的与硬件有关的功能都是复用80C52的P1口,并且 W77E58 的44pin PLCC/QFP封装比普通的8051多一组4位的I/O口。
2. 高速性
77E58的外部工作时钟频率可达40MHz,而且,由于W77E58采用了重新设计的微处理器内核,去除了多余的时钟和存储周期,运行速度大大提高,这不仅仅是运行 晶振频率的提高,而是将普通8051的每个机器周期(machine cycle)包含12个 时钟周期(clock period)缩减到每个机器周期包含4个时钟周期,这样,即使在相同的时钟频率下,根据不同的指令类型,其运行速度一般比传统8051提高1. 5到3倍。因此,若程序中需要软件定时,其执行时间须根据W77E58的指令的执行时间应重新计算,一般情况下,每一个机器周期有一次取指(包括操作码和操作数)操作,由于在W77E58的256个操作码指令中,有128个是单字节指令,因此,W77E58的指令有一半的执行时间只须一个机器周期,即4个时钟周期。图1以单周期指令为例说明了W77E58的指令的时序关系。
3. 中断源
77E58除了具有80C52的6个中断源外,又另外增加了6个中断源,共有12个可定义两种优先级的中断源,每个中断源都有独立的中断使能位、中断优先权位、中断 标志位和中断向量。但是,为了同80C32兼容,所有新增加的中断的优先级都在 原有中断的优先级之后,其中断优先级及中断向量如下表1所示,除了同80C32有相同的两个外部中断INT0和INT1外,W77E58又增加了4个外部中断INT2、INT3、I NT4、INT5。同80C32一样,外部中断INT0和INT1有边沿触发和电平触发两种触发方式,当中断被响应后,其中断标志位由硬件自动清除;而外部中断INT2到INT5 只有边沿触发方式,其中断标志位可被独立设为由硬件或软件清除,缺省设置为 由软件清除,当然,用户可根据需要通过修改相对应的特殊寄存器,将外部中断 INT2到INT5设为由硬件清除中断标志位。
4. 两个增强全双工串口
和80C32相比,W77E58除了具有同80C32一样的全双工串口外,W77E58又增加了一个全双工串口,其外部引脚RXD1、TXD1和P1.2、P1.3复用。然而,这两个串口除了具有同原有80C32的串口相同的功能外,又增加了两个增强型的特点,即多机通讯自动地址识别和帧错误检测功能,但是需要注意的是,这两个串口也有一点细微的差别,那就是串口0(原有保留串口)可以用定时器0和定时器1作为波特率发生器,而串口1只能使用定时器1作为波特率发生器。
(1) 自动帧错误检测
自动帧错误检测指的是在数据传输的过程中,如果由于噪音等随机干扰造成接收方接收不到正确的停止位,W77E58能够自动检测出并设置标志FE(FE_1),此标 志被定位在SCON.7(SCON1.7),用户可以访问,并且必须软件清除。
(2) 多机通讯自动地址识别
在标准的8051系列单片机中,当进行多机通讯时,发送9位数据,最后一位只当作地址/数据识别位,但是并不能区分准确地址,准确地址须靠软件识别,而在W77 E58中,增加了地址特殊寄存器SADDR和地址屏蔽特殊寄存器SADEN,只有SADEN中的某一位为1,计算实际地址时相对应的SADDR的位才有效,若SADEN中某一位是0 ,则进行实际地址计算时忽略对应的SADDR中的位。例如:
SADDR:10100100
SADEN:11111010
实际地址:10101X1X
在进行多机通讯时,只有接收到的地址帧和根据SADDR、SADEN计算出的地址完全 相同时,从机才会置位中断标志,这完全由硬件自动完成,而不是象标准8051系 列那样必须靠软件完成。 [page]
5. 可软件编程的访问外部存储器的存取速度
标准的8051在执行MOVX指令访问外部存储器时,执行时间固定为2个机器周期,而 W77E58可根据外部存储器的响应速度来选择执行MOVX指令时存取速度,这可以通 过选择特殊寄存器CKCON(clock control)的MD0-MD2的值来实现,特殊寄存器C KCON各位说明见表2,MD0-MD2的取值与外部存储器访问周期的关系见表3。
6. 内存
在W77E58中,有32KB的可多次编程(Multiple-Time Programmable)flash ROM, 256字节的片内RAM,1KB的片内用MOVX指令访问的SRAM,这在大多情况下,足以满足用户要求。
7. 可编程看门狗定时器(Watchdog Timer)
在W77E58中,集成了一个用户可编程的看门狗定时器,溢出时间选择如表4所示,在软件编程中,用户可以随时复位看门狗定时器。若程序跑飞,看门狗定时器溢出,则看门狗定时器自动设定中断标志,在512个时钟周期后,产生硬件复位,并保留2个机器周期后,程序恢复到地址0000H处开始执行。
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况