關鍵詞:ISP IAP 可編程系統(tǒng)器件
PSD913F2具有128KB的主閃速存儲器,32KB的第二閃速存儲器和2KB的SRAM,可進行在系統(tǒng)編程ISP(In-System-Programming)和在應用重編程IAP(In-Application re-Programming)。存儲器ISP意味著存儲器在編程時沒有MCU的參與(off line),而存儲器IAP意味著存儲器在編程時有MCU的參考(on line)。IAP只對存儲器的部分進行編程,不對PSD的配置和可編程邏輯部分進行編程;而ISP則可以對存儲器的全部進行編程。
利用PSD913F2進行產(chǎn)品開發(fā),應用2片式(PSD+MCU)設計方案,即可以滿足通常設計的需要。比較方便地地方就是PSD913F2具有JTAG口,可以實現(xiàn)在系統(tǒng)編程,這樣對電路的設計和程序的修改均具有非常大的靈活性。
1 PSD913F2的組成結(jié)構
PSD913F2的組成框圖如圖1所示。
由圖1可以看出,PSD913F2具有豐富的I/O資源。其中PC口可以用做專用的JTAG口,在這種情況下,就不能再進行引腳復用。當I/O資源緊張時,用做JTAG口的引腳也可以進行引腳復用。
圖1 PSD913F2的頂層框圖
2 PSD913F2在一種電臺中的應用實例
在某種電臺的設計中,我們采用了PSD913F2的2片方案,其MCU用的80C196KB,其部分電路如圖2所示。
2.1 PSD913F2的Express中的配置
PSD913F2具有在系統(tǒng)可編程的JATG口,這樣對于PSD芯片的重配置和應用程序的修改帶來很大的方便。圖2電路中,利用PSD913F2作為外部程序存儲空間,提供外部電路所需的片選信號及帶有鎖存功能的I/O輸出。
首先,通過PSD的應用軟件PSDsoft Express對該2片方案進行選擇配置,選定所用的MCU為80C196KB,并選定所需的工作方式等。然后,在Express流程圖的DEFINE PSD PIN /NODE FUNCTION(定義PSD的引腳功能)項對PSD913F2芯片進行引腳的功能配置。在這里根據(jù)電路所需的特性要求配置如下:
①PA口作為地址鎖存輸出,輸出低8位地址。由于該設計需要的RAM空間較大,PSD本身所帶的2KB SRAM不能滿足設計的要求,故需在外部擴展一片RAM。這時需要用到鎖存的低位地址輸出,而PSD913F2的PA口和PB口都具有地址存輸出的功能。在地址總線和數(shù)據(jù)總線復用時,一般選擇PA口作為地址鎖存輸出。
②PC口作為專用的JTAG口,利用其全部的6個信號,可以加快程序下載的速度。
③PB口的配置或用做片選或用做具有鎖存功能的I/O輸出。其PB0為外部RAM的片選ADRAM;PB1為外部DTMF的片選ADDTMF;PB2為外部DSP芯片的片選HPIEN;PB3為DSP主機口的一個鎖存信號HRW8;PB4、PB5為繼電器控制信號,也即用做具有鎖存作用的I/O MODE輸出;PB6、PB7是控制外部模擬開關的信號,也是具有鎖存作用的I/O MODE輸出。
④其它的控制信號如WR、RD、ALE等按使用手冊的說明進行配置。
將以上這些引腳配置完畢后,下一步進行內(nèi)存映射的分布。根據(jù)實際需要,程序空間25K以內(nèi),不需要利用分頁。在片選信號的地址分配如下:
①rs0:8000H~87FFH.可讀寫,作為數(shù)據(jù)空的一部分。
②csiop:1000H~10FFH.這段地址共256字節(jié),用做PSD913F2內(nèi)部資源的片選,其中1000H為內(nèi)部資源的基地址。這段地址的分配在整個PSD操作過程中最為重要,一定要注意不能和其它地址發(fā)生沖突;尤其對96系列的MCU,數(shù)據(jù)和程序共享64K空間,而不像51系列那樣,數(shù)據(jù)空間和程序空間各64K。
⑤fs0:100H~3FFFH.由于MAIN Flash中要求每個片選的范圍是16K,所以程序空間的劃分只能以16K為一段進行劃分。同理,可得到fs1的地址范圍是4000H~7FFFH.這兩段程序空間不能放在一個fs0內(nèi),否則仿真就會發(fā)現(xiàn)程序每隔16K就會重復。這種空間劃分根據(jù)不同的PSD型號也會有所不同,如:PSD934的片選范圍就是以32K為一段。
④ADRAM:8800H~EFFFH。這是外部擴展RAM的空間,緊跟內(nèi)部2KB的SRAM地址分配。
⑤ADDTMF:F000H~FBFFH。作為外部DRMF發(fā)生器的片選用。
⑥HPIEN:FC00H~FFFFH。HRW8地址也是在這一段。
至此,應用Express配置PSD913F2的工作已經(jīng)基本上結(jié)束了。如果還需要進行IAP,則還需要生成用于IAP的C程序,經(jīng)過修改后再嵌入式到自己的應用程序中。本例不需要進行IAP,在不需要加載程序時,可以越過MERGE MCU/DSP FIRMWARE WITH PSD(嵌入MCU或DSP主程序)選項,直接進行最后一步,通過ISP利用FlashLink將配置下載到PSD內(nèi)。
2.2 PSD913F2在應用程序中的初始化
PSD913F2的正常工作,還需要在應用程序的開始對端口的功能寄存器進行初始化操作。通過PSD913F2的使用手冊,可以查出各端口寄存器相對于csiop的偏移地址。利用csiop的基礎加上偏移地址,就可得到該端口寄存器的地址。根據(jù)以上的配置,PSD913F2在應用程序中的初始化程序如下:
;CSIOP在1000H~10FFH
PSDPAIN EQU 1000H ;字節(jié)讀操作
PSDPAOUT EQU 1004H ;字節(jié)寫操作
PSDPACNT EQU 1002H ;地址輸出
PSDPADIR EQU 1006H ;輸出模式
PSDPADRV EQU 1008H ;CMOS模式
PSDPBIN EQU 1001H ;字節(jié)讀
PSDPBOUT EQU 1005H ;字節(jié)寫
PSDPBDRV EQU 1009H ;字節(jié)
PSDPBDIR EQU 1007H ;字節(jié)
LD CX,#PSDPADIR
LDB AL,#0FFH ;輸出模式
STB AL,[CX]
LD CX,#PSDPACNT
LDB AL,#0FFH
STB AL,[CX] ;地址輸出
LD CX,#PSDPBDIR
;OUTPUT MODE(PB4,PB5,PB6,PB7)
LDB AL,#0F0H
STB AL,[CX]
LD CX,#PSDPBDRV ;開漏
STB AL,[CX]
LD CX,#PSDRBCNT
LDB AL,#0
STB AL,[CX] ;I/O模式
3 PSD913F2使用中應注意的問題
在上面的配置中可以發(fā)現(xiàn)有兩個片選的配置地址重疊,那顯了所需信號時序的要求所設。外部DSP所要求的讀寫時序如圖3所示。
由時序圖可以看出,數(shù)據(jù)的讀寫操作在HRW8的上程式沿有效,其中HPIEN為片選使能端。HPIEN的產(chǎn)生可以由上面引腳定義中的地址設定,不用附加任何邏輯,這樣就可以產(chǎn)生一較寬的低脈沖;而HRW8的上升沿也設為片選引腳,它的地址就可以和HPIEN的地址范圍相重疊,然后附加上讀寫信號的邏輯,可以產(chǎn)生一較窄的低脈沖,類似于讀寫信號,這樣利用其上升沿就可以達到手冊所提出的時序要求。經(jīng)實踐檢驗這種方法是完全正確的,另外,在使用PSD913F2時,還需要注意的一些問題如下:
①JTAG口要利用其全部的6個信號,這樣編程下載時可以加快下載速度。供給JTAG口的電源和地之間要加一0.01μF的電容,且6個信號線和電源需用10KΩ的電阻進行上拉。
②用做具有鎖存作用的I/O口,在外部要用10kΩ的電阻進行上拉,在應用程序中把這些端口初始化為開漏輸出。這樣才能正確利用其鎖存作用,否則只能產(chǎn)生很窄的脈沖,脈寬很窄而使引腳失去鎖存功能。
③MCU和PSD913F2的復位要分開,復位的先后順序應該是PSDF在先,MCU在后,才能保證PSD正常工作。兩個復位在一起時,當復位的速度設計得比較低時可能反應不出來。如果MCU的復位較快,就會出現(xiàn)問題。在本例中,MCU的復位和PSD的復位分開操作。
④用仿真器對PSD的配置功能進行仿真時,一定要注意將csiop段地址放在用戶板上,否則PSD器件不會工作。另外,利用仿真器不能仿真PSD的地址鎖存作用。遇到這種情況,在仿真時,需要地址鎖存的那段地址可放在系統(tǒng)板內(nèi)。在最后下載應用程序時,利用MCU的操作,PSD的地址鎖存功能就可以起作用。
4 總結(jié)
隨著PSD器件的發(fā)展,它的內(nèi)部Flash和SRAM越來越大,I/O口資源越來越豐富,速度也越來越快,完成可以滿足常用MCU的DSP的開發(fā)應用,其ISP和IAP功能也在很大程序上方便了使用者。在電路設計小型化和產(chǎn)品的維護方面,具有非常大的優(yōu)勢,在以后的應用中一定會越來越廣。