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