<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PSD813器件在單片機(jī)系統(tǒng)中應(yīng)用

          PSD813器件在單片機(jī)系統(tǒng)中應(yīng)用

          作者: 時間:2012-03-01 來源:網(wǎng)絡(luò) 收藏

          隨著單片機(jī)系統(tǒng)的廣泛應(yīng)用,其功能不斷加強,集成度日益增高。但是,由于在傳統(tǒng)的單片機(jī)系統(tǒng)設(shè)計中必須使用許多分立器件組成單片機(jī)的外圍電路,諸如地址鎖存器、PLD、RAM、EPROM等,因此使得整個系統(tǒng)變得十分復(fù)雜、可靠性降低、功耗費用增高。由于各個系統(tǒng)的要求不盡一致,這樣在開發(fā)每一個單片機(jī)系統(tǒng)時都必須重復(fù)設(shè)計以上外圍分立器件電路,延長了開發(fā)時間,工作效率隨之大幅度下降,并且還浪費了大量的人力、物力。隨著科學(xué)技術(shù),尤其是大規(guī)模集成電路技術(shù)的飛速發(fā)展,單片機(jī)外圍集成芯片也隨之產(chǎn)生、發(fā)展。WSI公司的可編程單片機(jī)通用外圍接口芯片()可將單片機(jī)所需的多個外圍器件集成在一個芯片中,并能與單片機(jī)實現(xiàn)所謂無縫連接(noglue),大大簡化了設(shè)計、節(jié)省了資源,并且顯著地提高了系統(tǒng)的可靠性。由于系列產(chǎn)品迎合了單片機(jī)應(yīng)用系統(tǒng)開發(fā)的要求,其先進(jìn)的設(shè)計思想給廣大的單片機(jī)開發(fā)者帶來了諸多好處,因此用或其他類似器件取代單片機(jī)外圍分立器件已經(jīng)成為單片機(jī)開發(fā)的一大趨勢。

          1 PSD813系列產(chǎn)品特點

          作為PSD系列中的最新成員,PSD813系列器件秉承了以往幾代PSD產(chǎn)品的優(yōu)良特性,同時又采用了新技術(shù)、新工藝,完善了以往PSD器件的一些不足之處。PSD813的閃速存儲器和可編程邏輯具有在線可編程特性,這對于實現(xiàn)簡單、靈活的嵌入式設(shè)計方案具有很大的幫助。PSD813器件還集成了優(yōu)化的“微控制器宏單元”邏輯結(jié)構(gòu),它允許系統(tǒng)地址/數(shù)據(jù)總線與PSD內(nèi)部寄存器直接相連,簡化了MCU和其外部器件之間的通信。除此以外,PSD813還具有以下關(guān)鍵特性:

          (1)1M位的內(nèi)部大容量FLASH ROM,256K位的E2PROM(813F1)或FLASH OTPROM(813F2),16K位SRAM,其中FLASHROM可配置為128K×8或64K×8,并分為8個大小相同的塊,可由用戶規(guī)定的地址訪問,訪問時間包括地址鎖存和PLD譯碼。SRAM可配置為2K×8或1K×16。

          (2)閃速(FLASH)或E2PROM/OTP ROM閃速存儲器的同時編程。在執(zhí)行來自一個存儲器的代碼的同時可對另一個編程,EEPROM/閃速引導(dǎo)存儲器被分為四個大小相等的塊,可由用戶規(guī)定的地址訪問。

          (3)帶有基于閃速的16個輸出宏單元和24個輸入宏單元。因此PSD813可有效地實現(xiàn)多種邏輯功能,包括用于內(nèi)部和外部控制的狀態(tài)機(jī)和地址譯碼器。這些邏輯功能要求微控制器軟件和硬件交互作用。內(nèi)置PLD提供三種專用的外部芯片選擇輸出,從而允許多達(dá)19個外部芯片選擇。

          (4)27個可重建的I/O端口可用作MCU I/O、PLD I/O、鎖存MCU地址輸出或特殊I/O口以提供最多19個外部片選信號,并且其中16個I/O口可配置為漏極輸出。

          (5)可編程的電源管理支持兩種單獨的低功耗工作方式,加之零功耗CMOS技術(shù)可允許用低至10mA(在5V Vcc時)的電流工作。器件可自動檢測微控制器活動的停止并使PSD置入低功耗狀態(tài)。

          (6)內(nèi)置的JTAG串口使得能在工廠或現(xiàn)場進(jìn)行器件的在系統(tǒng)編程調(diào)試。

          由于PSD813具有以上特性,故可以很方便地進(jìn)行I/O重建、擴(kuò)展微控制器地址空間等以往較為復(fù)雜的工作,并可通過編程進(jìn)行靈活的設(shè)計,以實現(xiàn)與不同類型的微控制器的兼容,使得單片機(jī)開發(fā)尤其是外圍電路設(shè)計變得簡便。

          2 PSD813與單片機(jī)的連接

          本文應(yīng)用實例是基于一臺全數(shù)字化心電圖機(jī)系統(tǒng),如圖1所示。由于該系統(tǒng)的工作要求,采用了雙CPU結(jié)構(gòu)(DSP-80C552),外帶160× 128LCD顯示、串行熱敏打印機(jī)、4×4鍵盤等外設(shè),系統(tǒng)總線設(shè)計為8位。由于系統(tǒng)要求存儲大量的心電數(shù)據(jù),故采用了512K的大容量SRAM。其中DSP(TI公司的TMS320F206)主要用于心電波形的濾波計算、分析及控制打印部分。80C552用作主程序及人機(jī)界面的控制以及A/D采集,由于51單片機(jī)外設(shè)較多,為了節(jié)省成本、降低功耗,采用了PSD813作為外部程序存儲器以及地址譯碼器,并用于端口擴(kuò)展。實際使用表明該系統(tǒng)工作正常。

          3 PSDsoft軟件應(yīng)用

          PSD813是在硬件基礎(chǔ)上,采用專用的開發(fā)軟件PSDsoft進(jìn)行系統(tǒng)開發(fā)的。PSDsoft是一套在Windows環(huán)境下運行的軟件工具,運用可視化技術(shù)進(jìn)行編程,具有方便的人機(jī)交互功能。并且由于該軟件集成度較高,各步操作在同一界面下進(jìn)行,因此使用十分方便。

          由圖2所示流程圖,我們可以看到在PSDsoft軟件環(huán)境下,PSD813器件的開發(fā),從Abel文件的編寫、硬件特性的配置,直至目標(biāo)文件的寫入,都可以很方便地完成。另外,PSDsoft軟件還提供PSD器件的實時仿真,并可實現(xiàn)目標(biāo)文件的C語言反匯編。

          由于篇幅有限,現(xiàn)僅寫出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具有很高的集成度和很強的功能,所以其應(yīng)用對提高單片機(jī)的開發(fā)速度、系統(tǒng)穩(wěn)定性及靈活性都比傳統(tǒng)的設(shè)計方式有了很大的提高,這應(yīng)該成為單片機(jī)應(yīng)用系統(tǒng)的一個發(fā)展方向。

          但PSD813內(nèi)部數(shù)據(jù)總線為8位,所以雖然PSD813與8位MCU可以很方便地直接相連,但與16位單片機(jī)相連時,必須用兩片PSD813以構(gòu)成16位的多路復(fù)用和非多路復(fù)用總線結(jié)構(gòu)接口。并且由于16位單片機(jī)與外部存儲器的連接規(guī)則,所以當(dāng)兩片PSD813與16位單片機(jī)相連時,其地址線連接必須循環(huán)移位一次,以保證CPU在工作時同時正確接收兩片PSD813 ROM中的高位和低位指令字節(jié)。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();