图1 ADuC812功能方框图
如所有与8051兼容的器件一样,对于程序和数据存储器,ADuC812具有各自独立的地址空间:64KB外部程序地址空间和16MB外部数据地址空间。但与其他器件不同的是,它包含了片内闪速存储器技术,向用户提供8KB的闪速/电擦除程序存储器、640B的闪速/电擦除数据存储器。
芯片集成了全部辅助功能块以充分支持可编程的数据采集核心。这些辅助功能块包括看门狗定时器(WDT)、电源监视器(PSM)以及ADC DMA功能。另外,为多处理器接口和I/O扩展提供了32条可编程的I/O线、I2C兼容的SPI和标准UART串行端口。
与以往的80C51单片机不同,ADuC812具有独特的在线调试和下载功能,由支持ADuC812的开发工具包QuickStart开发系统来提供。也就是说,在用户系统保留ADuC812的情况下,通过开发系统与ADuC812的串口通信,可直接对用户系统进行调试,并在调试完成后将已调试好的程序下载到ADuC812中。
虽然ADuC812具有上述各种优良性能,但由于它是一种新型微控制器,与以往的单片机相比,在用法上有许多不同之处。因此,在进行ADuC812系统开发应用时,仍然有许多问题须要注意。下面,将我们在应用ADuC812开发产品时发现的一些应注意的问题及其解决办法介绍如下。
图2 RS232接口电路
由于RS232接口电路是PC机和用户开发系统的唯一通路,因此,它是在线调试和下载功能实现的关键。在用户系统的开发研制过程中,经常会出现在线通信故障问题。导致该现象发生的原因有很多,但最有可能的是接口电路工作异常所产生。要判断RS232接口电路工作是否正常,可按以下步骤逐一检查RS232通信是否正常。
① V+和V-引脚电压是否足够高(分别超过+8V和-8V)。若电压较低,则可能ADM202芯片已损坏。
② R1IN脚是否存在±12V的脉冲信号。若存在,则说明PC机方面通信发送信号正常。
③ R1OUT脚是否存在+5V信号。若存在,则说明ADM202接收PC机信号工作正常。
④ T1IN脚是否存在+5V信号。若存在,则说明ADμC812对PC机的通信产生响应;否则是ADμC812通信存在问题,说明ADμC812工作不正常。
⑤ T1OUT脚是否存在±12V的脉冲信号。若存在,但ADμC812还无法进入在线调试状态,则说明DB9与PC机之间的串行接口电缆有问题。
(2) PSEN引脚
用户系统在具备RS232接口电路之后,还需通过一个与地相连的1kΩ电阻将ADμC812的PSEN引脚拉至低电平(见参考文献[1]、[2]),才能进入在线调试和下载状态。因此,PSEN引脚拉低是在线调试和下载功能实现的另一关键所在。
值得强调的是,PSEN引脚与地之间连上1kΩ电阻并不一定就能保证PSEN为低电平。若静电造成PSEN引脚损伤,则1kΩ电阻不能将PSEN引脚拉低。经试验证明,在PSEN引脚损伤不严重时,可通过把PSEN直接对地短路将其拉至低电平;但若损伤严重,则即使直接接地,器件仍然不能工作。因此,在使用ADμC812时,应特别小心、谨防静电。如焊接芯片时应将电烙铁接地,并戴上防静电手镯。
由于ADμC812的调试器是在用户系统复位时检测PSEN引脚状态的,因此,为提高通信成功几率,可在用户系统复位瞬间将PSEN引脚直接对地短路。但在ADμC812芯片进入在线调试或下载状态之后,PSEN引脚仍应通过1kΩ电阻接地。当然,若需要在下载程序后脱机运行,应将PSEN引脚与1kΩ下拉电阻断开,否则,ADμC812将一直保持在线调试状态。
(3) 资源占用问题
ADμC812具有3个16位定时器/计数器,即:定时器0、定时器1和定时器2。每一个定时器/计数器包含2个8位寄存器THX和TLX(X=0,1和2)。所有3个定时器/计数器均可配置作为定时器或计数器,此功能和普通单片机相同。
由于与其他单片机不同,ADμC812具备在线调试功能,因此,芯片处于在线工作状态下某些功能将会受到限制。这是因为在线调试时,计算机和芯片之间的通信占用一定的资源所导致。经实践证明,定时器1就是被占用的资源之一。若用户在线调试的程序中使用了定时器1,则无论是设断点调试,还是单步或连续运行,都会有程序无法执行的情况发生。但若将程序中的定时器1屏蔽掉,则程序能正常运行,实现用户预定的功能。当然,在线调试程序时可以使用定时器0和定时器2,因它们未被占用。
虽然在线调试时,定时器1无法使用,但并不意味着用户不能在用户系统中利用该定时器。用户可先将预定功能用定时器0实现,在调试通过之后,再改用定时器1来实现;也可直接用定时器1实现,但只能盲调,因程序必须下载后脱机运行。
评论
查看更多