圖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實現,但只能盲調,因程序必須下載后脫機運行。
評論
查看更多