
《ADuC812应用中的若干问题》.docx
7页ADuC812应用中的若干问题摘要:ADyC812作为新一代微控制器,具有强大的功能,比以往的单片机有着更广阔的应用前景在实际应用中发现,芯片本身尚存在一些应注点的问题及使用时的特殊要求本文对这些问题进行总结,以供读者参考关键词:调试数据转换SPI引言ADyC812是高度集成的高精度12位数据采集系统,其功能方框图如图1所示从图中可知,该芯片内不仅集成了可重新编程非易失性闪速/电擦除程序存储器的高性能8位(与8051兼容)MCU还包含了高性能的自校准8通道ADCS2通道12位DAC如所有与8051兼容的器件一样,对于程序和数据存储器,ADyC812具有各自独立的地址空间:64KB外部程序地址空间和16MB外部数据地址空间但与其他器件不同的是,它包含了片内闪速存储器技术,向用户提供8KB的闪速/电擦除程序存储器、640B的闪速/电擦除数据存储器芯片集成了全部辅助功能块以充分支持可编程的数据采集核心这些辅助功能块包括看门狗定时器(WDT、电源监视器(PSM以及ADCDM功能另夕卜,为多处理器接口和I/O扩展提供了32条可编程的I/O线、I2C兼容的SPI和标准UART串行端口与以往的80C51单片机不同,ADyC812具有独特的调试和下载功能,由支持ADyC812的开发工具包QuickStart开发系统来提供。
也就是说,在用户系统保留ADyC812的情况下,通过开发系统与ADyC812的串口通信,可直接对用户系统进彳了调试,并在调试完成后将已调试好的程序下载到ADyC812中虽然ADyC812具有上述各种优良性能,但由于它是一种新型微控制器,与以往的单片机相比,在用法上有许多不同之处因此,在进行ADyC812系统开发应用时,仍然有许多问题须要注点下面,将我们在应用ADyC812开发产品时发现的一些应注点的问题及其解决办法介绍如下应用中存在的若干问题调试注点事项ADyC812与其他单片机突出不同之处在于支持它的开发系统不同QuickStart开发系统是支持AD八C812的开发工具包,功能完善,包括下载、调试和模拟等功能1)RS232接口电路对于用户开发系统来说,调试和下载功能最重要,也是最常使用的,但二者都需通过PC机上的串行端口与ADyC812的UART串行端口之间连接的串行端口电缆进行数据通信才能发挥作用因此,用户在开发应用系统的同时,应设计一个RS232接口电路(如图2所示)来实现PC机与ADyC812的串口通信由于RS232接口电路是PC机和用户开发系统的唯一通路,因此,它是调试和下载功能实现的关键。
在用户系统的开发研制过程中,经常会出现通信故障问题导致该现象发生的原因有很多,但最有可能的是接口电路工作异常所产生要判断RS232接口电路工作是否正常,可按以下步骤逐一检查RS232通信是否正常① V+和V一引唧电压是否足够高(分别超过+8V和-8V)若电压较低,则可能ADM20芯片已损坏② R1IN唧是否存在土12V的脉冲信号若存在,则说明PC机方面通信发送信号正常③ R10UT唧是否存在+5V信号若存在,则说明ADM20接收PC机信号工作正常④ T1IN唧是否存在+5V信号若存在,则说明ADyC812对PC机的通信产生响应;否则是ADyC812通信存在问题,说明ADyC812工作不正常⑤ T10UT唧是否存在土12V的脉冲信号若存在,BADyC812还无法进入调试状态,则说明DB9与PC机之间的串行接口电缆有问题⑵PSEh引唧用户系统在具备RS232接口电路之后,还需通过一个与地相连的1kQ电阻将ADyC812的PSEN引唧拉至低电平(见参考文献[1]、[2]),才能进入调试和下载状态因此,PSEN引唧拉低是调试和下载功能实现的另一关键所在值得强调的是,PSEN引I唧与地之间连上1kQ电阻并不一定就能保证PSEN为低电平。
若静电造成PSEN引唧损伤,贝U1kQ电阻不能将PSEN引唧拉低经试验证明,在PSEN引唧损伤不严重时,可通过把PSEN直接对地短路将其拉至低电平;但若损伤严重,则即使直接接地,器件仍然不能工作因此,在使用ADyC812时,应特别小心、谨防静电如焊接芯片时应将电烙铁接地,并戴上防静电手镯由于ADyC812的调试器是在用户系统复位时检测PSEN引唧状态的,因此,为提高通信成功几率,可在用户系统复位瞬间将但PS在ADyC812芯片进入调试或下载状态之后,阻EN引接地当然,若需要在下载程序后脱机运行,应将阻鼻直断开,否则,ADyC812将一直保持调试状态接对(3)资源占用问题ADyC812具有3个16位定时器/计数器,即:定时器0、定时器1和定时器2每一个定时器/计数器包含2个8位寄存器THX和TLX(X=0,1和2)所有3个定时器/计数器均可配置作为定时器或计数器,此功能和普通单片机相同由于与其他单片机不同,ADyC812具备调试功能,因此,芯片处于工作状态下某些功能将会受到限制这是因为调试时,计算机和芯片之间的通信占用一定的资源所导致经实践证明,定时器1就是被占用的资源之一若用户调试的程序中使用了定时器1,则无论是设断点调试,还是单步或连续运行,都会有程序无法执彳亍的情况发生。
彳旦若将程序中的定时器1房蔽掉,则程序能正常运行,实现用户预定的功能当然,调试程序时可以使用定时器0和定时器2,因它们木被占用虽然调试时,定时器1无法使用,但并不意味着用户不能在用户系统中利用该定时器用户可先将预定功能用定时器0实现,在调试通过之后,再改用定时器1来实现;也可直接用定时器1实现,但只能盲调,因程序必须下载后脱机运行A/D转换器的使用问题ADyC812内集成的ADC转换模块,包含了8通道、12位、单电源A/D转换器,这些A/D转换器是由基于电容DAC勺常规逐次逼近转换器组成的,接收的模拟输入范围为0至+VREF(+2.5V)另外,此模块还为用户提供片内基准、校准特性,模块内的所有部件能方便地通过3个寄存器SFR接口来设置总之,ADyC812的竺模块具有与一般ADC芯片相比拟的性能,并且操作简单、可靠性高,采集速率可高达200kHz1)基准电压A/D转换器的2.5V基准电压既可由片内提供,也可由外部基准经VREF引唧驱动若使用内部基准,则在VREF和CREF引|唧与AGND>间都应当连接100nF电容以便去耦这些去耦电容应放在紧靠VREFffiCREF引I唧处为了达到规定的性能,建议在使用外部基准时,该基准应当在2.3V和模拟电源AVDD之间。
由于片内基准高精度、低漂移且经工厂校准,并且当ADC或DAC使能时,在VREF引唧会出现此基准电压因此,在进行系统扩展时,可将片内基准作为一个2.5V的参考电源来使用若要把片内基准用到微转换器之内,贝U应在VREF引I唧上加以缓冲并应在此引唧与AGN之间连接100nF电容在实际应用中应当特别注点,内部VREFF将保持掉电直到ADC或DAC外围设备模块之一被它们各自的使能位上电为止2)模拟输入与其他ADC芯片相比,ADyC812的ADC模块有一个缺点,就是ADC正常工作的模拟输入范围为0?+2.5V;而允许输入的电压范围只能为正电压(0?+5”经实验证明,若输入的模拟电压超过+2.5V(最大值为+5V),ADC的采样结果为最大值(0FFFH,虽然结果不对,但并没有影响ADyC812正常工作;但是,一旦输入负的模拟电压,则会影响ADyC812正常工作,表现为ADC的基准电压(VREM+2.5V)消失和采样结果不正确,且若长时间输入负电压,将有可能损坏芯片因此,在实际应用中,若发现启动ADC之后VREF端无电压,则应立即将芯片复位,并检查模拟输入信号的采集放大部分在确保进入ADyC812的模拟信号在0?+2.5V范围内之后,才能再次启动ADC实际应用时,应保证输入的模拟电压为正电平。
并行I/O端口的使用问题与其他单片机一样,ADyC812也有4个通用数据端口(P0〜P3与外部器件交换数据,且除了用作通用I/O之外,某些端口还能实现外部存储器操作另有一些端口则与器件上外围设备其他功能多路复用1)P1口值得注点的是,在ADyC812中端口0、2和3是双向端口,而端口1是只输入端口在图3中可以看到在P1口的电路中包括了位缺存器和输入缓冲器,彳旦没有输出驱动器,因而P1口只能被配置为数字输入或模拟输入,不能用于输出当P1口用作模拟输入时,它对应于ADyC812内8通道模数转换的输入端口ADC0-ADC7若在实际使用中,不须将8个通道ADC都用上,可将剩余的P1口引唧设置为数字输入,但此时须注点,它与标准的8051单片机用作数字输入的通用I/O口不同,认为高电平有效因此,P1口用作数字输入时,在检测是否有输入信号之前,须将0写至对应端口,然后再判断这就要求系统在设计时,应将用作数字输入的P1口外加1个下拉电阻,一般为几kQ(2)P2口如前所述,ADyC812的P2口也是双向端口,包含输入缓冲器、输出缺存器和输出驱动器通过与P2口相应的端口SFR可将P2口的各端口引唧独立地配置为数字输入或数字输出,以及对它们进行读、写访问。
这些与一般单片机P2口作通用I/O口的用法相同但当ADyC812接有外部数据存储器时,P2口不仅要用于输出中8位地址(A8~A15,还要用于输出高8位地址(A16~A23,此用法类似于P0口不同的是,P0口是数据和地址总线复用,而P2口是中位、高位字节地址总线复用因此,P2口在用于外扩大容量数据存储器时,也应通过一个缺存器将高位字节地址缺存,如图4所示1. 外部寻址问题与其他单片机不同,ADyC812具有24根地址线它可寻址的外部数据存储器空间为16MB此超大容量的存储空间可满足众多应用领域的需求由于外部数据存储器空间高达16MB只用DPTR乍间址寄存器是不够的因此,ADyC812的数据指针是由3个8位寄存器来组成,分别是DPP(页字节寄存器)、DPH(高位字节寄存器)和DPL(低位字节寄存器),在进彳亍内部和外部代码访问或外部数据访问时,由它们来提供存储器地址与其他单片机一样,DPTR仍然是由DPHffiDPL两个寄存器来构成,且用法相同;而DPP是用于传送A23~A16最高8位地址的寄存器,这相当于若将外部数据寄存器每64KB划分为1页,则不同的DPPfi将对应于不同的页,因此取名为页寄存器。
5.SPI串口对P3口的影响为便于MCUW各种外围设备进行通信,ADyC812提供了三种串行I/O端口:UART接口、I2C兼容的串行接口和串行外设接口(SPI)其中,SPI接口是工业标准的同步串行接口,它允许MCI与各种外围设备以串行方式(8位数据同时同步地被发送和接收)进行通信由于只须使用4条线就可与多种标准外围器件直接接口,因此,SPI接口在串口通信方面有着广泛的应用然而,我们在使用ADyC812的SPI串口进行通信时,发现它与其他芯片(具有SPI串口功能)不同,此SPI串口的使能会对P3口产生影响,其现象表现为:无论P3口实际输入电平为何值,P3口的内部缺存器都认定为高电平,从而程序中的JB或JNB等判断转移指令将失去作用这说明,SPI串口使能将使P3口只能作为输出口来使用因此,在同时使用SPI串口和P3口作输入口时,为避免错误发生,必须在每次P3口检测输入信号之前都将SPI串口禁止结束语ADyC812作为一种新型的微控制器,具有一般单片机所不能比拟的强大功能它内部集成的8通道高精度ADC和双12位DAC使其能极有效地简化仪器中数据采集系统部分,同时它所提供的三种串口通信方式,可满足各种串行器件的接口问题。
它的调试和下载功能可极大地方便用户系统的开发研制经过一段。












