圖1 ADuC812功能方框圖
如所有與8051兼容的器件一樣,對(duì)于程序和數(shù)據(jù)存儲(chǔ)器,ADuC812具有各自獨(dú)立的地址空間:64KB外部程序地址空間和16MB外部數(shù)據(jù)地址空間。但與其他器件不同的是,它包含了片內(nèi)閃速存儲(chǔ)器技術(shù),向用戶提供8KB的閃速/電擦除程序存儲(chǔ)器、640B的閃速/電擦除數(shù)據(jù)存儲(chǔ)器。
芯片集成了全部輔助功能塊以充分支持可編程的數(shù)據(jù)采集核心。這些輔助功能塊包括看門狗定時(shí)器(WDT)、電源監(jiān)視器(PSM)以及ADC DMA功能。另外,為多處理器接口和I/O擴(kuò)展提供了32條可編程的I/O線、I2C兼容的SPI和標(biāo)準(zhǔn)UART串行端口。
與以往的80C51單片機(jī)不同,ADuC812具有獨(dú)特的在線調(diào)試和下載功能,由支持ADuC812的開發(fā)工具包QuickStart開發(fā)系統(tǒng)來(lái)提供。也就是說(shuō),在用戶系統(tǒng)保留ADuC812的情況下,通過(guò)開發(fā)系統(tǒng)與ADuC812的串口通信,可直接對(duì)用戶系統(tǒng)進(jìn)行調(diào)試,并在調(diào)試完成后將已調(diào)試好的程序下載到ADuC812中。
雖然ADuC812具有上述各種優(yōu)良性能,但由于它是一種新型微控制器,與以往的單片機(jī)相比,在用法上有許多不同之處。因此,在進(jìn)行ADuC812系統(tǒng)開發(fā)應(yīng)用時(shí),仍然有許多問(wèn)題須要注意。下面,將我們?cè)趹?yīng)用ADuC812開發(fā)產(chǎn)品時(shí)發(fā)現(xiàn)的一些應(yīng)注意的問(wèn)題及其解決辦法介紹如下。
圖2 RS232接口電路
由于RS232接口電路是PC機(jī)和用戶開發(fā)系統(tǒng)的唯一通路,因此,它是在線調(diào)試和下載功能實(shí)現(xiàn)的關(guān)鍵。在用戶系統(tǒng)的開發(fā)研制過(guò)程中,經(jīng)常會(huì)出現(xiàn)在線通信故障問(wèn)題。導(dǎo)致該現(xiàn)象發(fā)生的原因有很多,但最有可能的是接口電路工作異常所產(chǎn)生。要判斷RS232接口電路工作是否正常,可按以下步驟逐一檢查RS232通信是否正常。
① V+和V-引腳電壓是否足夠高(分別超過(guò)+8V和-8V)。若電壓較低,則可能ADM202芯片已損壞。
② R1IN腳是否存在±12V的脈沖信號(hào)。若存在,則說(shuō)明PC機(jī)方面通信發(fā)送信號(hào)正常。
③ R1OUT腳是否存在+5V信號(hào)。若存在,則說(shuō)明ADM202接收PC機(jī)信號(hào)工作正常。
④ T1IN腳是否存在+5V信號(hào)。若存在,則說(shuō)明ADμC812對(duì)PC機(jī)的通信產(chǎn)生響應(yīng);否則是ADμC812通信存在問(wèn)題,說(shuō)明ADμC812工作不正常。
⑤ T1OUT腳是否存在±12V的脈沖信號(hào)。若存在,但ADμC812還無(wú)法進(jìn)入在線調(diào)試狀態(tài),則說(shuō)明DB9與PC機(jī)之間的串行接口電纜有問(wèn)題。
(2) PSEN引腳
用戶系統(tǒng)在具備RS232接口電路之后,還需通過(guò)一個(gè)與地相連的1kΩ電阻將ADμC812的PSEN引腳拉至低電平(見參考文獻(xiàn)[1]、[2]),才能進(jìn)入在線調(diào)試和下載狀態(tài)。因此,PSEN引腳拉低是在線調(diào)試和下載功能實(shí)現(xiàn)的另一關(guān)鍵所在。
值得強(qiáng)調(diào)的是,PSEN引腳與地之間連上1kΩ電阻并不一定就能保證PSEN為低電平。若靜電造成PSEN引腳損傷,則1kΩ電阻不能將PSEN引腳拉低。經(jīng)試驗(yàn)證明,在PSEN引腳損傷不嚴(yán)重時(shí),可通過(guò)把PSEN直接對(duì)地短路將其拉至低電平;但若損傷嚴(yán)重,則即使直接接地,器件仍然不能工作。因此,在使用ADμC812時(shí),應(yīng)特別小心、謹(jǐn)防靜電。如焊接芯片時(shí)應(yīng)將電烙鐵接地,并戴上防靜電手鐲。
由于ADμC812的調(diào)試器是在用戶系統(tǒng)復(fù)位時(shí)檢測(cè)PSEN引腳狀態(tài)的,因此,為提高通信成功幾率,可在用戶系統(tǒng)復(fù)位瞬間將PSEN引腳直接對(duì)地短路。但在ADμC812芯片進(jìn)入在線調(diào)試或下載狀態(tài)之后,PSEN引腳仍應(yīng)通過(guò)1kΩ電阻接地。當(dāng)然,若需要在下載程序后脫機(jī)運(yùn)行,應(yīng)將PSEN引腳與1kΩ下拉電阻斷開,否則,ADμC812將一直保持在線調(diào)試狀態(tài)。
(3) 資源占用問(wèn)題
ADμC812具有3個(gè)16位定時(shí)器/計(jì)數(shù)器,即:定時(shí)器0、定時(shí)器1和定時(shí)器2。每一個(gè)定時(shí)器/計(jì)數(shù)器包含2個(gè)8位寄存器THX和TLX(X=0,1和2)。所有3個(gè)定時(shí)器/計(jì)數(shù)器均可配置作為定時(shí)器或計(jì)數(shù)器,此功能和普通單片機(jī)相同。
由于與其他單片機(jī)不同,ADμC812具備在線調(diào)試功能,因此,芯片處于在線工作狀態(tài)下某些功能將會(huì)受到限制。這是因?yàn)樵诰€調(diào)試時(shí),計(jì)算機(jī)和芯片之間的通信占用一定的資源所導(dǎo)致。經(jīng)實(shí)踐證明,定時(shí)器1就是被占用的資源之一。若用戶在線調(diào)試的程序中使用了定時(shí)器1,則無(wú)論是設(shè)斷點(diǎn)調(diào)試,還是單步或連續(xù)運(yùn)行,都會(huì)有程序無(wú)法執(zhí)行的情況發(fā)生。但若將程序中的定時(shí)器1屏蔽掉,則程序能正常運(yùn)行,實(shí)現(xiàn)用戶預(yù)定的功能。當(dāng)然,在線調(diào)試程序時(shí)可以使用定時(shí)器0和定時(shí)器2,因它們未被占用。
雖然在線調(diào)試時(shí),定時(shí)器1無(wú)法使用,但并不意味著用戶不能在用戶系統(tǒng)中利用該定時(shí)器。用戶可先將預(yù)定功能用定時(shí)器0實(shí)現(xiàn),在調(diào)試通過(guò)之后,再改用定時(shí)器1來(lái)實(shí)現(xiàn);也可直接用定時(shí)器1實(shí)現(xiàn),但只能盲調(diào),因程序必須下載后脫機(jī)運(yùn)行。
評(píng)論
查看更多