PSD813器件在單片機系統中應用
隨著(zhù)單片機系統的廣泛應用,其功能不斷加強,集成度日益增高。但是,由于在傳統的單片機系統設計中必須使用許多分立器件組成單片機的外圍電路,諸如地址鎖存器、PLD、RAM、EPROM等,因此使得整個(gè)系統變得十分復雜、可靠性降低、功耗費用增高。由于各個(gè)系統的要求不盡一致,這樣在開(kāi)發(fā)每一個(gè)單片機系統時(shí)都必須重復設計以上外圍分立器件電路,延長(cháng)了開(kāi)發(fā)時(shí)間,工作效率隨之大幅度下降,并且還浪費了大量的人力、物力。隨著(zhù)科學(xué)技術(shù),尤其是大規模集成電路技術(shù)的飛速發(fā)展,單片機外圍集成芯片也隨之產(chǎn)生、發(fā)展。WSI公司的可編程單片機通用外圍接口芯片(PSD)可將單片機所需的多個(gè)外圍器件集成在一個(gè)芯片中,并能與單片機實(shí)現所謂無(wú)縫連接(noglue),大大簡(jiǎn)化了設計、節省了資源,并且顯著(zhù)地提高了系統的可靠性。由于PSD系列產(chǎn)品迎合了單片機應用系統開(kāi)發(fā)的要求,其先進(jìn)的設計思想給廣大的單片機開(kāi)發(fā)者帶來(lái)了諸多好處,因此用PSD或其他類(lèi)似器件取代單片機外圍分立器件已經(jīng)成為單片機開(kāi)發(fā)的一大趨勢。
1 PSD813系列產(chǎn)品特點(diǎn)
作為PSD系列中的最新成員,PSD813系列器件秉承了以往幾代PSD產(chǎn)品的優(yōu)良特性,同時(shí)又采用了新技術(shù)、新工藝,完善了以往PSD器件的一些不足之處。PSD813的閃速存儲器和可編程邏輯具有在線(xiàn)可編程特性,這對于實(shí)現簡(jiǎn)單、靈活的嵌入式設計方案具有很大的幫助。PSD813器件還集成了優(yōu)化的“微控制器宏單元”邏輯結構,它允許系統地址/數據總線(xiàn)與PSD內部寄存器直接相連,簡(jiǎn)化了MCU和其外部器件之間的通信。除此以外,PSD813還具有以下關(guān)鍵特性:
(1)1M位的內部大容量FLASH ROM,256K位的E2PROM(813F1)或FLASH OTPROM(813F2),16K位SRAM,其中FLASHROM可配置為128K×8或64K×8,并分為8個(gè)大小相同的塊,可由用戶(hù)規定的地址訪(fǎng)問(wèn),訪(fǎng)問(wèn)時(shí)間包括地址鎖存和PLD譯碼。SRAM可配置為2K×8或1K×16。
(2)閃速(FLASH)或E2PROM/OTP ROM閃速存儲器的同時(shí)編程。在執行來(lái)自一個(gè)存儲器的代碼的同時(shí)可對另一個(gè)編程,EEPROM/閃速引導存儲器被分為四個(gè)大小相等的塊,可由用戶(hù)規定的地址訪(fǎng)問(wèn)。
(3)帶有基于閃速的16個(gè)輸出宏單元和24個(gè)輸入宏單元。因此PSD813可有效地實(shí)現多種邏輯功能,包括用于內部和外部控制的狀態(tài)機和地址譯碼器。這些邏輯功能要求微控制器軟件和硬件交互作用。內置PLD提供三種專(zhuān)用的外部芯片選擇輸出,從而允許多達19個(gè)外部芯片選擇。
(4)27個(gè)可重建的I/O端口可用作MCU I/O、PLD I/O、鎖存MCU地址輸出或特殊I/O口以提供最多19個(gè)外部片選信號,并且其中16個(gè)I/O口可配置為漏極輸出。
(5)可編程的電源管理支持兩種單獨的低功耗工作方式,加之零功耗CMOS技術(shù)可允許用低至10mA(在5V Vcc時(shí))的電流工作。器件可自動(dòng)檢測微控制器活動(dòng)的停止并使PSD置入低功耗狀態(tài)。
(6)內置的JTAG串口使得能在工廠(chǎng)或現場(chǎng)進(jìn)行器件的在系統編程調試。
由于PSD813具有以上特性,故可以很方便地進(jìn)行I/O重建、擴展微控制器地址空間等以往較為復雜的工作,并可通過(guò)編程進(jìn)行靈活的設計,以實(shí)現與不同類(lèi)型的微控制器的兼容,使得單片機開(kāi)發(fā)尤其是外圍電路設計變得簡(jiǎn)便。
2 PSD813與單片機的連接
本文應用實(shí)例是基于一臺全數字化心電圖機系統,如圖1所示。由于該系統的工作要求,采用了雙CPU結構(DSP-80C552),外帶160× 128LCD顯示、串行熱敏打印機、4×4鍵盤(pán)等外設,系統總線(xiàn)設計為8位。由于系統要求存儲大量的心電數據,故采用了512K的大容量SRAM。其中DSP(TI公司的TMS320F206)主要用于心電波形的濾波計算、分析及控制打印部分。80C552用作主程序及人機界面的控制以及A/D采集,由于51單片機外設較多,為了節省成本、降低功耗,采用了PSD813作為外部程序存儲器以及地址譯碼器,并用于端口擴展。實(shí)際使用表明該系統工作正常。
3 PSDsoft軟件應用
PSD813是在硬件基礎上,采用專(zhuān)用的開(kāi)發(fā)軟件PSDsoft進(jìn)行系統開(kāi)發(fā)的。PSDsoft是一套在Windows環(huán)境下運行的軟件工具,運用可視化技術(shù)進(jìn)行編程,具有方便的人機交互功能。并且由于該軟件集成度較高,各步操作在同一界面下進(jìn)行,因此使用十分方便。
由圖2所示流程圖,我們可以看到在PSDsoft軟件環(huán)境下,PSD813器件的開(kāi)發(fā),從Abel文件的編寫(xiě)、硬件特性的配置,直至目標文件的寫(xiě)入,都可以很方便地完成。另外,PSDsoft軟件還提供PSD器件的實(shí)時(shí)仿真,并可實(shí)現目標文件的C語(yǔ)言反匯編。
由于篇幅有限,現僅寫(xiě)出Abel文件以作參考:module c51_813
title 'WSI PSD813F1 design template for 80C51 fam-
ily microcontroller';
″PIN DECLARATIONS
bhe pin 49;″pin 49,byte high enable or CNTL2
wr pin 47; ″pin 47,write line or CNTL0
rd pin 50; ″pin 50,read line or CNTL1
reset pin 48; ″reset Input,active low
a15,a14,a13,a12,a11,a10,a9,a8,pin 39,40,41,42,43,44,45,46; ″Address bus
a7,a6,a5,a4,a3,a2,a1,a0,pin 30,31,32,33,34,35,36,37, ″Addressbus
″********Port A,B,C,D pin declaration*************
addr_out0..addr_out7 pin; ″address out, Port A pins
″Address output
WSIPSD PROPERTY ′Address_Out Aout[7:0]:addr_out
[7:0] PortA′;
addr_out8..addr_out15 pin; ″address out,Port B pins
″Address output
WSIPSD PROPERTY ′Address Out Aout 《15:8]:addr
out[15:8] PortB′
a16,a17,a18 pin 18,17,14; ″pc[2:4],a[16:18]
″Extend Address output
LCD_ce pin 11; ″pc7, the signal ce of LCD
SRAM_ce pin 9, ″pd1, the ce of 512K SRAM
ale pin 10; ″pin 10 address latch enable or PD0
csi pin 8; ″pin 8,/csi or pd2
fs7,fs6,fs5,fs4,fs3,fs2,fs1,fs0 node; ″Main Flash
segment chip selects
rs0 node;″PSD SRAM chip select
csiop node;″PSD control and I/O register
jtagsel node; ″Selects JTAG port active using a prod uct term
X = .x.; ″Don′t care symbol
address = [a18..a0]; ″De-muxed microcontroller
address signals
EQUATIONS
jtagsel = 0;
fs0 = (address >=^h2000 & address <=^h2FFF);
″Address of ROM
fs1 = (address >=^h3000)&(address <=^h3FFF);
fs2 = (address >=^h4000)&(address <=^h4FFF);
fs3 = (address >=^h5000)&(address <=^h5FFF);
fs4 = (address >=^h6000?。?(address <=^h6FFF);
rs0 = (address >=^h7000?。?(address <=^h77FF);
LCD_ce = (address >=^h7800) &(address <=^h7FFF);
csiop = (address >=^h8000) & (address <=^h80FF);
SRAM_ce=?。ǎ。幔保叮Γ。幔保罚Γ。幔保福#ǎǎ幔洌洌颍澹螅?>=^h8100 & (address <=^hFFFF)); ″Address
of RAM
end c51_813
由于PSD813具有很高的集成度和很強的在線(xiàn)編程功能,所以其應用對提高單片機的開(kāi)發(fā)速度、系統穩定性及靈活性都比傳統的設計方式有了很大的提高,這應該成為單片機應用系統的一個(gè)發(fā)展方向。
但PSD813內部數據總線(xiàn)為8位,所以雖然PSD813與8位MCU可以很方便地直接相連,但與16位單片機相連時(shí),必須用兩片PSD813以構成16位的多路復用和非多路復用總線(xiàn)結構接口。并且由于16位單片機與外部存儲器的連接規則,所以當兩片PSD813與16位單片機相連時(shí),其地址線(xiàn)連接必須循環(huán)移位一次,以保證CPU在工作時(shí)同時(shí)正確接收兩片PSD813 ROM中的高位和低位指令字節。
評論