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