傳統的單片機系統開發中總是離不開仿真器和編程器。隨著電子和計算機技術的迅猛發展,單片機技術也得到了空前的發展。部分16位單片機和32位 ARM微控制器都帶有JTAG接口,通過各自不同的專用硬件工具在指定的軟件集成開發環境中進行在線調試和編程。某些片內集成Flash存儲器、基于 MCS-51增強內核的8位單片機可以通過專用接口和獨有的專用硬件工具在指定的軟件集成開發環境中進行在線調試和編程。如果能夠在眾多單片機中找到一款在通用接口下實現在線調試和編程的單片機,將對簡化MCS-51內核的8位單片機系統開發和進一步普及具有極其重要的意義。 NXP公司(原Philips半導體公司)是最早獲得MCS-51技術授權的公司,也是后繼發展MCS-51內核8位單片機產品最多、最系統的公司。P89V51RD2單片機是其推出的新一代基于MCS-51內核的8位單片機,內部集成64 KB Flash程序存儲器和1 KB RAM數據存儲器,具有自調試(SoftICE)、在系統編程(ISP)和在應用編程(IAP)功能,這些功能都是在RS-232標準串口下實現。采用 P89V51RD2單片機,可以通過UART標準接口在KeilμVision編程環境下用KeilMonitor-51 Driver直接連接系統硬件來調試程序。完成調試后,在FlashMagic工具軟件下進行編程。 本文介紹了采用P89V51 RD2的最新技術在單片機系統開發中的應用思想和方法。采用這種方法可省去傳統單片機系統開發中必需的仿真器和編程器,提高了開發過程中的程序設計效率,增強了最終系統的軟件維護和升級能力。 1 在線調試和編程功能的硬件電路設計 P89V51RD2單片機SoftICE和ISP功能的電路接口較為簡單,但為了兼容NXP公司其他能夠在+5 V下實現ISP功能的Flash單片機的在系統編程功能,實現在線調試和在系統編程的接口電路原理圖如圖1所示。 在圖1所示的電路中,通過標準的串口通信線將PC與其相連,當SELECT開關將P89V51RD2單片機的PSEN引腳連接到+5 V時,單片機處于正常工作狀態;當SELECT開關將PSEN引腳連接到地時,單片機處于ISP狀態,FlashMagic工具軟件對+5 V可編程的Flash單片機進行在線編程。 2 程序調試仿真的實現 P89V51RD2單片機在激活SoftICE功能后就可以實現對程序的單步仿真調試、多步仿真調試及全速運行下的仿真調試。仿真調試主要分為3 步:激活P89V51RD2的SoftICE功能、設置硬件仿真環境和調試程序。 2.1 SoftICE功能 SoftICE功能的激活需要FlashMagic軟件的支持,FlashMagic軟件可從NXP公司或其他相關網站下載。目前支持51單片機的 FlashMagic的最高版本為V3.54,高版本主要用于支持NXP公司的ARM器件,對該公司的51器件不支持。 在含有圖1所示接口電路的單片機應用系統中,首先用SELECT開關將單片機的PSEN引腳連接到+5 V,然后啟動FlashMagic軟件,在主界面中配置各參數為:COMPort——根據具體連接而定,通常為COM1或COM2;BaudRate—— 9 600,這是由P89V51RD2內部固件所確定的;Device——P89V51RD2;Interface——None(ISP)。在ISP菜單下選擇“Enable SoftICE”命令項,進行SoftICE功能的激活。 2.2 設置硬件仿真環境 單片機應用系統程序的編譯和仿真在。KeilμVision環境下進行,在調試程序之前,需要對工程進行Debug設置,選擇軟件仿真或硬件仿真。軟件仿真使用計算機來模擬程序的運行,不需要建立硬件平臺就可以快速得到某些運行結果;硬件仿真是最準確的仿真方法,必須建立硬件平臺,通過PC機→硬件仿真器→用戶目標系統進行系統調試。采用硬件仿真的方法,硬件平臺即為帶有圖1所示接口電路的單片機應用系統,設置硬件仿真環境的具體操作步驟如下: 首先,點擊所建工程:Project菜單中的Options for Target‘Targer 1’,出現工程的配置窗口,點擊Debug設置,選擇KeilMcmitor-51 Driver,具體參數設置如圖2所示。 然后,設置仿真器參數。建議波特率設置范圍300~38 400。為避免程序中的中斷和Keil硬件仿真環境中的中斷互相沖突,不選擇“Stop ProgramExecution with SerialInterrupt”。仿真器參數的設置如圖3所示。 完成P89V51RD2單片機的SoftICE功能激活和在Keil μVision環境中的硬件仿真環境設置后,可以進行程序的調試仿真。 3 在系統編程的實現 當激活SoftICE功能的單片機完成程序調試后,就可將最終的程序代碼下載到NXP公司的其他具有ISP功能的Flash單片機中。這里需要注意:只有未曾激活Soft-ICE功能P89V51RX2系列單片機才支持ISP功能,因為激活SoftICE功能的單片機已取消了ISP功能。 P89V51RX和P89LV51RX系列單片機的在系統編程相對比較簡單,只需在FlashMagic主界面進行如圖4所示的設置后,點擊圖中的 Start按鈕,就可以完成單片機的編程。完成編程后,按系統復位按鈕,單片機應用系統就可以正常運行。 NXP公司推出的80C51單片機除了以上2種系列以外,還有P89C51Rx2Hxx、P89C51Rx2xx、P89C60X2/61X2和 P89C66x等系列Flash單片機,這些單片機都可以采用圖1所示的接口電路進行在系統編程。只是編程時,需要通過SELECT開關將單片機的 PSEN引腳接地,使單片機在復位后能夠直接進入ISP狀態,然后再進行上述編程。在使用這些系列單片機的在線編程時,還應注意啟動向量(BOOT VECTOR)和狀態字(STATUS BYTE)的設置問題,具體情況可以查閱具體型號單片機的使用手冊。 4 P89V51RD2單片機應用系統開發 下面以P89V51RD2單片機在云臺控制器設計為例,介紹系統開發中的全過程。采用P89V51RD2的單片機應用系統開發過程如圖5所示。 ①系統需求分析。通過現場調研及與用戶交流,全面、深入、準確地分析云臺控制器所要實現的功能、應用環境、應用對象、應用過程和具體要求,從整體上得出云臺控制器所要達到的目標及系統所要實現的功能、完成的具體任務、產品的形式,最后形成需求分析報告。 ②設計方案。在需求分析的基礎上,進行系統方案設計,確定出單片機應用系統的具體技術方案。包括:系統性能設計、功能設計、工作原理設計、軟件結構設計、程序流程設計和通信協議設計等內容。 ③系統硬件設計。根據系統的性能和需要實現的功能,設計系統硬件,這時,應考慮將圖1所示的接口電路集成到系統硬件中,為采用P89V51RD2進行在線程序調試仿真做好準備。 ④軟件編程和在線調試。根據軟件結構設計、程序流程設計和通信協議設計等內容進行模塊化程序設計,并采用激活了SoftICE功能的 P89V51RD2單片機連接系統硬件進行在線程序仿真調試。 ⑤選擇單片機型號。根據連接硬件調試通過的系統軟件程序,估算程序所占用的代碼空間,在NXP公司推出的眾多Flash單片機中選擇合適的型號。 ⑥單片機編程。對所選型號的單片機進行在線編程。 結語 在單片機系統開發中,采用具有自調試和在系統編程功能的單片機,對降低系統開發成本,加快開發進程,提高系統的可維護性都具有十分重要的意義。本文介紹了NXP公司的新一代單片機P89V51RD2在單片機系統開發中應用的思想和方法,對于那些已采用或即將采用:NXP公司Flash單片機的設計人員都具有很好的參考價值。 參考文獻 1. P89V51RB2/RC2/RD2 Product data sheet[OL].[2009-04-10].http://www.nxp.com. 2. Flash Magic User Manual Revision 1.55[OL].[2009-04-10].http://www.esacademy.com. 3. 梁合慶.增強核閃存80C51教程[M].北京:電子工業出版社,2003. 4. 張美琪,胡國文,仇榮鑫,等.基于P89V51RD的通用云臺控制器設計與實現[J].現代電子技術,2008(31):168-170,173. 作者:鹽城工學院 張美琪 來源:單片機與嵌入式系統應用 2009(10) |