專利名稱:“縫隙”式單片機(jī)在線仿真接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種以8051CPU為核心的單片機(jī)的在線仿真接口。
背景技術(shù):
以8051CPU為核心的單片機(jī)(以下簡(jiǎn)稱為8051MCU)在進(jìn)行在線仿真時(shí),如果要使用普通的生產(chǎn)型芯片完成在線仿真,則要確定在線仿真接口的工作方式和工作時(shí)序,同時(shí)需要在普通的生產(chǎn)型芯片中預(yù)置相應(yīng)的支持在線仿真的接口電路,這樣在8051MCU和在線仿真器(以下簡(jiǎn)稱為ICE)根據(jù)特定的信號(hào)序列進(jìn)入了在線仿真狀態(tài)之后,就可以使用特定的在線仿真接口電路和工作時(shí)序完成在線仿真所需要的數(shù)據(jù)交換過程。
在使用普通的生產(chǎn)型8051MCU芯片進(jìn)行在線仿真時(shí),不同的在線仿真工作方式和工作時(shí)序所需要的接口電路的規(guī)模和復(fù)雜程度是不同的。一種好的在線仿真接口應(yīng)當(dāng)充分利用8051MCU已有的特性,不改變8051CPU的工作時(shí)序,僅增加必不可少的接口電路來完成在線仿真工作,這樣做帶來的好處主要體現(xiàn)在下述三個(gè)方面1.降低8051MCU芯片的生產(chǎn)成本;2.降低8051MCU芯片的設(shè)計(jì)難度;3.提供更為簡(jiǎn)捷有效的在線仿真性能。
發(fā)明內(nèi)容
本發(fā)明提出一種“縫隙”式的8051MCU在線仿真接口,在在線仿真過程中相應(yīng)的CPU機(jī)器周期內(nèi),利用P2輸入/輸出口線上的空閑狀態(tài)完成8051MCU與ICE電路之間的P0輸入/輸出口線的數(shù)據(jù)交換,從而實(shí)現(xiàn)在線仿真狀態(tài)下P0輸入/輸出口線的重建操作。
由于這種數(shù)據(jù)交換是利用8051MCU已有的標(biāo)準(zhǔn)的機(jī)器周期狀態(tài)時(shí)序周期性地自動(dòng)進(jìn)行的,同時(shí)僅使用8051MCU的P2口作為數(shù)據(jù)交換通道,因此僅需要改變8051MCU的P2口時(shí)序,而8051MCU的P0口得以保存完全標(biāo)準(zhǔn)的時(shí)序。
本發(fā)明的具體結(jié)構(gòu)和特征將通過附圖進(jìn)一步說明,這些附圖是以一個(gè)每個(gè)機(jī)器周期6個(gè)狀態(tài)(State)并且每個(gè)機(jī)器周期對(duì)應(yīng)6個(gè)時(shí)鐘周期(Clock)的8051MCU為例,僅用來說明本發(fā)明,而不限定本發(fā)明的范圍。本發(fā)明的方法可以適用于各種狀態(tài)數(shù)目和時(shí)鐘數(shù)目的8051MCU。
圖1是“縫隙”式8051MCU在線仿真系統(tǒng)方框圖;圖2是“縫隙”式8051MCU在線仿真系統(tǒng)內(nèi)部P2口電路原理圖;圖3是“縫隙”式8051MCU在線仿真時(shí)序圖。
具體實(shí)施例方式
圖1、圖2和圖3說明。
圖1中虛線框內(nèi)為“縫隙”式8051MCU在線仿真系統(tǒng),虛線框外為仿真的目標(biāo)系統(tǒng);圖2中虛線框內(nèi)為4和5中與“縫隙”式在線仿真方式相關(guān)的部分電路;為了準(zhǔn)確標(biāo)明相關(guān)時(shí)序,圖3中的“M”、“State”、“Phase”是直接引用了相應(yīng)的8051CPU時(shí)序定義,即每個(gè)機(jī)器周期M由6個(gè)順序發(fā)生的狀態(tài)(State)組成,其順序?yàn)镾tate5、State6、State1、State2、State3、State4,每個(gè)狀態(tài)(State)由寬度相等的兩個(gè)相位(Phase)組成,前面的稱為相位1(Phase1),后面的稱為相位2(Phase2);1是8051MCU的時(shí)鐘(XTAL2)信號(hào);2是在線仿真系統(tǒng)內(nèi)部的P2總線(8bit)信號(hào);3是在線仿真系統(tǒng)內(nèi)部的地址鎖存允許(ALE)信號(hào);4是帶有“縫隙”式在線仿真接口電路的8051MCU;
5是“縫隙”式在線仿真器電路;6是在線仿真系統(tǒng)內(nèi)部的P0總線(8bit)信號(hào);7是目標(biāo)系統(tǒng)的P2輸入/輸出口線引腳(8bit)信號(hào);8是目標(biāo)系統(tǒng)的P0輸入/輸出口線引腳(8bit)信號(hào);9是目標(biāo)系統(tǒng)的復(fù)位(RESET)信號(hào);10是目標(biāo)系統(tǒng)的外部地址方式選擇(EA*)信號(hào);11是目標(biāo)系統(tǒng)的程序存儲(chǔ)器選通允許(PSEN*)信號(hào);12是目標(biāo)系統(tǒng)的地址鎖存允許(ALE)信號(hào);13是在線仿真系統(tǒng)內(nèi)部的復(fù)位(RESET)信號(hào);14是在線仿真系統(tǒng)內(nèi)部的外部地址方式選擇(EA*)信號(hào);15是在線仿真系統(tǒng)內(nèi)部的程序存儲(chǔ)器選通允許(PSEN*)信號(hào);16是目標(biāo)系統(tǒng)的時(shí)鐘(XTAL1)信號(hào);17、18等是目標(biāo)系統(tǒng)的其他口線信號(hào);19是一個(gè)電平觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU的P2寄存器的輸出值,30是它的數(shù)據(jù)鎖存控制信號(hào),當(dāng)30有效時(shí)總線29上的信號(hào)被寫入19,39是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)39有效時(shí)19內(nèi)的數(shù)據(jù)輸出到總線2上;20是一個(gè)脈沖前沿觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存目標(biāo)系統(tǒng)的P2口線的值,44是它的數(shù)據(jù)鎖存控制信號(hào),在44的前沿,總線2上的信號(hào)被寫入20,31是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)31有效時(shí)20內(nèi)的數(shù)據(jù)輸出到總線29上;21是一個(gè)脈沖前沿觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存目標(biāo)系統(tǒng)的P0口線的值,47是它的數(shù)據(jù)鎖存控制信號(hào),在47的前沿,總線2上的信號(hào)被寫入21,32是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)32有效時(shí)21內(nèi)的數(shù)據(jù)輸出到總線29上;22是一個(gè)電平觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU的P0寄存器的輸出值,33是它的數(shù)據(jù)鎖存控制信號(hào),當(dāng)33有效時(shí)總線29上的信號(hào)被寫入22,36是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)36有效時(shí)22內(nèi)的數(shù)據(jù)輸出到總線2上;
23是一個(gè)電平觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU外部地址總線高字節(jié)的輸出值,3是它的數(shù)據(jù)鎖存控制信號(hào),當(dāng)3有效時(shí)總線34上的信號(hào)被寫入23,37和40是它的兩個(gè)數(shù)據(jù)輸出控制信號(hào),當(dāng)37或40有效時(shí)23內(nèi)的數(shù)據(jù)輸出到總線2上;24是一個(gè)8位數(shù)據(jù)緩沖器,用來輸入目標(biāo)系統(tǒng)P2口線的狀態(tài)值,38是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)38有效時(shí)總線7上的數(shù)據(jù)輸出到總線2上;25是一個(gè)脈沖前沿觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU的P2寄存器的輸出值,45是它的數(shù)據(jù)鎖存控制信號(hào),在45的前沿,總線2上的信號(hào)被寫入25,25內(nèi)的數(shù)據(jù)以“集電極開路”(OC)方式始終輸出到總線7上;26是一個(gè)脈沖前沿觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU的P0寄存器的輸出值,42是它的數(shù)據(jù)鎖存控制信號(hào),在42的前沿,總線2上的信號(hào)被寫入26,26內(nèi)的數(shù)據(jù)以“集電極開路”(OC)方式始終輸出到總線8上;27是一個(gè)8位數(shù)據(jù)緩沖器,用來輸入目標(biāo)系統(tǒng)P0口線的狀態(tài)值,41是它的數(shù)據(jù)輸出控制信號(hào),當(dāng)41有效時(shí)總線8上的數(shù)據(jù)輸出到總線2上;28是一個(gè)脈沖前沿觸發(fā)的8位數(shù)據(jù)鎖存器,用來鎖存CPU外部地址總線高字節(jié)的輸出值,43和46是它的數(shù)據(jù)鎖存控制信號(hào),在43或46的前沿,總線2上的信號(hào)被寫入28,28內(nèi)的數(shù)據(jù)始終輸出到總線35上;29是4中CPU的特殊寄存器數(shù)據(jù)總線;30是19的數(shù)據(jù)鎖存控制信號(hào);31是20的數(shù)據(jù)輸出控制信號(hào);32是21的數(shù)據(jù)輸出控制信號(hào);33是22的數(shù)據(jù)鎖存控制信號(hào);34是4中CPU的外部地址總線的高字節(jié);35是5中地址總線的高字節(jié);36是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)1(State1),在36有效期間,22中的數(shù)據(jù)驅(qū)動(dòng)總線2;37是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)2(State2),在37有效期間,23中的數(shù)據(jù)驅(qū)動(dòng)總線2;38是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)3(State3),在38有效期間,總線7上的數(shù)據(jù)驅(qū)動(dòng)總線2;39是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)4(State4),在39有效期間,19中的數(shù)據(jù)驅(qū)動(dòng)總線2;40是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)5(State5),在40有效期間,23中的數(shù)據(jù)驅(qū)動(dòng)總線2;41是一個(gè)脈沖信號(hào),對(duì)應(yīng)于8051MCU的一個(gè)標(biāo)準(zhǔn)機(jī)器周期中的狀態(tài)6(State6),在41期間,總線8上的數(shù)據(jù)驅(qū)動(dòng)總線2;42是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)1(State1)的相位2(Phase2),在42的前沿,總線2上的數(shù)據(jù)被寫入26;43是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)2(State2)的相位2(Phase2),在43的前沿,總線2上的數(shù)據(jù)被寫入28;44是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)3(State3)的相位2(Phase2),在44的前沿,總線2上的數(shù)據(jù)被寫入20;45是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)4(State4)的相位2(Phase2),在45的前沿,總線2上的數(shù)據(jù)被寫入25;46是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)5(State5)的相位2(Phase2),在46的前沿,總線2上的數(shù)據(jù)被寫入28;47是一個(gè)脈沖信號(hào),對(duì)應(yīng)于狀態(tài)6(State6)的相位2(Phase2),在47的前沿,總線2上的數(shù)據(jù)被寫入21。
工作原理。
如圖1所示,在“縫隙”式8051MCU在線仿真系統(tǒng)中,8051MCU與ICE電路之間共有總線2和6及信號(hào)1、3、13、14、15相連,組成完整的仿真器后,由ICE電路連接目標(biāo)系統(tǒng)的總線7和8及信號(hào)9、10、11、12,由8051MCU連接目標(biāo)系統(tǒng)的其他信號(hào)。
在仿真器復(fù)位時(shí)(即13有效時(shí)),5將信號(hào)3和15置為低電平,4讀到這個(gè)特殊的信號(hào)組合后將8051MCU設(shè)置為“縫隙”式在線仿真方式,并在信號(hào)13無效后進(jìn)入“縫隙”式在線仿真狀態(tài)。
在“縫隙”式在線仿真狀態(tài)中,4和5發(fā)生如圖3所示的相關(guān)脈沖信號(hào),僅使用總線2(即P2口)作為數(shù)據(jù)傳送通道,在每個(gè)機(jī)器周期M的狀態(tài)5(State5)和狀態(tài)2(State2)中完成將8051MCU的外部地址總線高字節(jié)寫入28的操作,并利用每個(gè)機(jī)器周期M的其他四個(gè)空閑狀態(tài)完成4和5之間P0口和P2口相關(guān)數(shù)據(jù)的交換,即在狀態(tài)6(State6)將目標(biāo)總線8的值寫入21,在狀態(tài)1(State1)將22中的值寫入目標(biāo)總線8,在狀態(tài)3(State3)將目標(biāo)總線7的值寫入20,在狀態(tài)4(State4)將19中的值寫入目標(biāo)總線7,由此完成“縫隙”式在線仿真系統(tǒng)的P0口和P2口的重建操作。
權(quán)利要求
1.一種帶有特殊在線仿真接口的以8051CPU為核心的單片機(jī),其特征在于,該單片機(jī)內(nèi)增加了專門的在線仿真接口電路,能與外部仿真電路相配合,在在線仿真狀態(tài)下使用8051CPU的標(biāo)準(zhǔn)定時(shí),周期性地利用該單片機(jī)P2口一個(gè)機(jī)器周期中的空閑狀態(tài),將該單片機(jī)P0寄存器的輸出值經(jīng)該單片機(jī)P2口傳送給外部仿真電路,再經(jīng)外部仿真電路傳送給重建后的目標(biāo)系統(tǒng)P0口線的引腳,并且周期性地利用該單片機(jī)P2口一個(gè)機(jī)器周期中的空閑狀態(tài),將重建后的目標(biāo)系統(tǒng)P0口線引腳的狀態(tài)由外部仿真電路經(jīng)該單片機(jī)P2口傳給該單片機(jī)。
2.一種帶有特殊在線仿真接口的單片機(jī)在線仿真器,其特征在于,該在線仿真器的在線仿真接口電路,能與權(quán)利要求1中所定義的單片機(jī)相配合,在在線仿真狀態(tài)下使用8051CPU的標(biāo)準(zhǔn)定時(shí),周期性地利用該單片機(jī)P2口一個(gè)機(jī)器周期中的空閑狀態(tài),將該單片機(jī)P0寄存器的輸出值經(jīng)該單片機(jī)P2口傳送給該在線仿真器的電路,再經(jīng)該在線仿真器的電路傳送給重建后的目標(biāo)系統(tǒng)P0口線的引腳,并且周期性地利用該單片機(jī)P2口一個(gè)機(jī)器周期中的空閑狀態(tài),將重建后的目標(biāo)系統(tǒng)P0口線引腳的狀態(tài)由該在線仿真器的電路經(jīng)該單片機(jī)P2口傳給該單片機(jī)。
全文摘要
本發(fā)明提出一種“縫隙”式的8051MCU在線仿真接口,在在線仿真過程中相應(yīng)的CPU機(jī)器周期內(nèi),利用P2輸入/輸出口線上的空閑狀態(tài)完成8051MCU與ICE電路之間的P0輸入/輸出口線的數(shù)據(jù)交換,從而實(shí)現(xiàn)在線仿真狀態(tài)下P0輸入/輸出口線的重建操作。由于這種數(shù)據(jù)交換是利用8051MCU已有的標(biāo)準(zhǔn)的機(jī)器周期狀態(tài)時(shí)序周期性地自動(dòng)進(jìn)行的,同時(shí)僅使用8051MCU的P2口作為數(shù)據(jù)交換通道,因此僅需要改變8051MCU的P2口時(shí)序,而8051MCU的P0口得以保存完全標(biāo)準(zhǔn)的時(shí)序。
文檔編號(hào)G06F3/00GK1570813SQ03146108
公開日2005年1月26日 申請(qǐng)日期2003年7月23日 優(yōu)先權(quán)日2003年7月23日
發(fā)明者徐建 申請(qǐng)人:北京飛騰三環(huán)電子科技有限公司