Keil仿真器的結(jié)構(gòu)和使用
1、該仿真器配合uVision集成開發(fā)環(huán)境使用。
2、該仿真器采用標(biāo)準(zhǔn)4線USB插座作電氣接口,注意它不是真的總線意義上的USB口——4線中,中間的兩線用于RS-232通信,外側(cè)的兩線是電源和地。順便說明,市面上也有
直接使用USB接口的Keil仿真器出售,其原理是用一片USB——UART轉(zhuǎn)換芯片代替仿真器上原來的232——UART轉(zhuǎn)換芯片。由于uVision集成調(diào)試環(huán)境不直接支持USB口,所以,這
樣做需要在PC機(jī)端增加USB驅(qū)動(dòng),并在仿真器端增加硬件開銷,從而使仿真器的整體售價(jià)上升較多。其實(shí),對來講,這樣做終實(shí)現(xiàn)的仍然是232通信,其*的好
處是可以直接使用PC機(jī)的USB口與進(jìn)行232通信。
3、該仿真器配有一根長約2m的定制電纜,該電纜一共有3個(gè)接頭,其中,9孔RS-232接頭連接PC的COM口(COM1-COM4);從它根部分出來的一個(gè)USB接頭連接PC機(jī)的USB
口,用于從該口取電(5V/大500mA)供給仿真器和目標(biāo)系統(tǒng),但如果用戶采用外部電源給目標(biāo)系統(tǒng)和仿真器供電,則該接頭應(yīng)懸空;另一個(gè)USB接頭用于連接仿真器。
4、必要時(shí),該仿真器還可以直接當(dāng)編程下載器來使用(不依賴別的硬件)。做法是:拔掉仿真器上的仿真芯片,換成支持UART串口在線下載的芯片,如STC公司的
STC89C51/52/53/54/55/58/516等(出廠時(shí)其內(nèi)部已固化有支持在線下載的程序),連上串行電纜,并適當(dāng)控制上電過程,就可將用戶程序直接下載到這些芯片(燒寫壽命>100
萬次)。這些芯片的抗干擾性能、片內(nèi)資源的配置及燒寫壽命等項(xiàng)指標(biāo)均優(yōu)于Atmel等公司的同類芯片,但價(jià)格會(huì)略高幾毛錢到1元錢(與購買渠道有關(guān))。至于PC機(jī)端的在線
下載程序(STC-ISP),可以從STC公司或深圳宏晶公司上免費(fèi)下載。
5、的使用:以河南工業(yè)大學(xué)陳濤老師的51實(shí)驗(yàn)板為例,將仿真器按正確方向插入實(shí)驗(yàn)板的CPU插座并鎖緊(USB接口與鎖緊把手方向*),用定制電纜連接
仿真器和PC機(jī)。其供電方式有兩種:
① 通過外部電源同時(shí)向?qū)嶒?yàn)板和仿真器供電,此時(shí)仿真器上的跳線器應(yīng)開路;
② 從PC機(jī)的USB口取電(5V/大500mA)同時(shí)供給仿真器和實(shí)驗(yàn)板,此時(shí)仿真器上的跳線器應(yīng)該短路。
兩種供電方式不要同時(shí)采用。若采用后一方式,應(yīng)盡量避免帶電插拔仿真器端的接頭,因?yàn)镽S-232口不支持熱插拔操作,如果這樣做,有可能損壞兩端的通信芯片(但
發(fā)生幾率并不高)。
6、該仿真器的核心是一片由SST公司生產(chǎn)的51兼容芯片SST89E564RD或SST89E516RD。該仿真芯片擁有64KB(Block0)+8KB(Block1)的Flash-ROM,其ROM中常駐有名
為“SoftICE(在電路仿真,Software In Circuit Emulator)”的仿真監(jiān)控程序。實(shí)際上,SoftICE只占用5KB的存儲(chǔ)空間,包括Block0中的1KB(FC00H-FFFFH)和Block1中的
4KB(0000H-0FFFH)。在Block0中還剩下約63KB(0000-FBFFH)可用作用戶的仿真空間。
7、調(diào)試時(shí),在PC機(jī)上uVision套件和仿真器上SoftICE固件的共同控制下,利用仿真芯片“在應(yīng)用編程(IAP,In Aplication Programming)”的特性,先將目標(biāo)程序下
載到仿真芯片的Block0空間(0000H-FBFFH),隨后可對目標(biāo)系統(tǒng)進(jìn)行各種硬件仿真調(diào)試。調(diào)試期間PC機(jī)與仿真器之間始終保持通信聯(lián)絡(luò),導(dǎo)致仿真器上一個(gè)指示數(shù)據(jù)接收的
LED不斷閃亮。
8、用戶必須用仿真器上的復(fù)位按鈕來結(jié)束前一輪的硬件仿真調(diào)試,此時(shí),仿真芯片進(jìn)行復(fù)位操作,芯片中前次的用戶程序被清除,仿真監(jiān)控程序重新掌握控制權(quán),準(zhǔn)備
開始新一輪的下載和調(diào)試。
9、仿真芯片內(nèi)的以下資源將在硬件仿真時(shí)被占用,但其它資源向用戶開放。
* UART串口——仿真時(shí)用于PC機(jī)與SoftICE間的串行通信
* 定時(shí)器2——仿真時(shí)用作串行通信的波特率發(fā)生器
* 內(nèi)部RAM間接尋址區(qū)的8個(gè)字節(jié)——仿真時(shí)用作堆棧
10、由于仿真時(shí)要占用一部分硬件資源,所以它不是真正意義上的仿真器。此外,仿真芯片也有一定的使用壽命,這是因?yàn)槊看畏抡娑夹枰匦聦⒂脩舸a
下載燒寫到片內(nèi)的Flash-ROM。有資料說,它可以支持1萬次以上的全速運(yùn)行調(diào)試和100萬次以上的單步運(yùn)行調(diào)試。
11、SST89E564RD/516RD的高工作頻率為40MHz,除Flash-ROM外,片內(nèi)擁有以下一些硬件資源:1KB的內(nèi)部RAM,定時(shí)器T0/T1/T2,1個(gè)UART口和1個(gè)SPI串口,看門狗定
時(shí)器WDT,5個(gè)可編程計(jì)數(shù)器陣列PCA、8個(gè)中斷源和4級中斷優(yōu)先結(jié)構(gòu),2個(gè)數(shù)據(jù)指針等。其中,44腳封裝的SST89E516RD比SST89E564RD多出一個(gè)4線的P4口。但用戶應(yīng)注意有些資
源(如WDT)的使用不同于AT89S51/52等常用芯片。使用仿真芯片SST89E564RD/516RD可仿真多種51單片機(jī)芯片。其仿真空間約63KB,系統(tǒng)時(shí)鐘可選-40MHz。也就是說,只要仿
真芯片上有該項(xiàng)資源,且仿真時(shí)未被占用,那么用戶就可以在硬件仿真時(shí)使用它。
12、使用該仿真器時(shí),注意以下幾點(diǎn):
* 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。
* 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。
* 仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍
可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。