国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>高性能FLASH存儲器在DSP電機智能保護中的應用

高性能FLASH存儲器在DSP電機智能保護中的應用

時間:2023-02-21 00:05:27 電子通信論文 我要投稿
  • 相關(guān)推薦

高性能FLASH存儲器在DSP電機智能保護中的應用

摘要:DSP芯片以其高速、實時性等優(yōu)點逐步被用到電機保護中,利用高性能外圍器件尤其是外圍存儲器與DSP的硬件匹配是充分發(fā)揮其優(yōu)點的必要條件。文中以基于TMS320C32高速CPU為核心芯片的智能型電機保護裝置為模型,介紹了高性能FLASH芯片Am29F010B與DSP芯片的硬件接口電路、軟件編程技術(shù)以及應注意的問題和設計技巧。

    關(guān)鍵詞:Flash存儲器 DSP 嵌入式算法 Am29F010B

國內(nèi)的電動機保護裝置種類繁多,但隨著現(xiàn)代大中型電動機對保護要求的不斷提高和VLSI技術(shù)的不斷進步,傳統(tǒng)的基于熱敏電阻、機械式繼電器和電子式等保護模式均因可靠性不高,容易出現(xiàn)誤操作等缺點已不能滿足需要;而以單片機為核心的數(shù)字或保護裝置的運算速度不高、資源有限、數(shù)據(jù)處理能力和可擴展性不好等問題日益突出。新的相關(guān)理論和技術(shù)(如小波變換、自適應保護、故障診斷、模糊整定等)的出現(xiàn)加速了高性能和綜合型微機保護的發(fā)展,但這不僅要求更高性能的CPU(如近年飛速發(fā)展的系列DSP芯片)的支持,而且還要有與之相適應的外圍存儲器的支持。鑒于此,筆者在開發(fā)基于DSP的大中型智能電動機保護裝置(系統(tǒng)結(jié)構(gòu)功能如圖1)時,在外擴存儲器方面采用了AMD公司生產(chǎn)的Flash芯片Am29F010B。該Flash memory因容量大、體積小、功耗低、成本低等優(yōu)點而被廣泛應用于消費類電子、軍事、航空航天等領(lǐng)域。(范文先生網(wǎng)www.qkfawen.com收集整理)它可以在線更新,并具有較高的靈活性,因而可與高性能CPU芯片TMS320C32達到良好的配合,從而可顯著提高系統(tǒng)性能和可靠性。

1 硬件設計

1.1 TMS320C32芯片的特點

美國TI公司生產(chǎn)的TMS320系列DSP芯片以其改進的哈佛總線結(jié)構(gòu)、獨立的指令系統(tǒng)、專用硬件乘法器、多種尋址方式等優(yōu)點以及高速數(shù)據(jù)處理能力廣泛應用在通訊、雷達、工業(yè)控制等領(lǐng)域。TMS320C32是TI的第一代浮點DSP芯片TMS320C3X系列中的一款高性能浮點芯片,是對TMS320C30、TMS320C31中的不常用資源進行簡化、并對其性能進一步改進后的高性價比處理器。它具有增強的外部存儲器接口,可以靈活方便地存取8/16/24/32位數(shù)據(jù)。它支持16/32位外部程序,從而為其外圍接口電路設計提供了很大的靈活性;其硬件上增加的一個非常有用的程序引導(Bootloader)功能使其程序可以從低速EPROM、PROM或串口裝入到系統(tǒng)的高速RAM中全速運行;它所配備的C編譯器具有很高的效率,可直接用匯編語言或兩者相結(jié)合使用,因而靈活性和實時性都很強;由于中斷矢量表可重設位,因此,將其應用到電動機保護中可以大大提高整個保護裝置的各項性能。

1.2 Flash Memory芯片Am29F010B

Am29F010B是AMD公司生產(chǎn)的多功能閃爍內(nèi)存,它的主要技術(shù)特點如下:

*可單電壓(5V)進行讀、寫操作;

*高性能,最大存取時間為45ns;

*可靠性極高,可重復編程不小于10萬次,數(shù)據(jù)保持大于100年;

*低功耗(讀操作,寫/擦除操作以及空閑狀態(tài)的電流典型值分別為12mA、30mA和1μsA);

*具有扇區(qū)擦除能力,對于所分成的8個完全一樣的分扇區(qū),既可以塊擦除,也可以整個芯片一起擦除;

*嵌入式擦除算法可自動地預編程和擦除芯片,它可以將設好的扇區(qū)用嵌入式編程算法自動地編程以把數(shù)據(jù)寫到特定的地址;

*帶有JEDEC標準的Flash EEPROM管腳輸出和命令集;

*具有編程周期結(jié)束檢測功能,可縮短等待時間;

Am29F010B存儲器采用PDIP,PLCC,TSOP封裝,圖2給出了Am29F010B的PDIP封裝引腳圖,各引腳的功能如下:

DQ7~DQ0:雙向數(shù)據(jù)線,可用于輸出數(shù)據(jù)或?qū)懭朊詈蛿?shù)據(jù)。

A0~A16:地址線,其中A16~A14為扇區(qū)地址,可用000~111代表8個扇區(qū),A13~A0為扇區(qū)內(nèi)的字節(jié)地址。

CE:片選線,低電平有效,高電平時芯片處于空閑狀態(tài);

OE,WE:分別為讀、寫控制線。圖3給出了對FLASH編程時,CE、OE和WE的狀態(tài)時序。

其中,PD為編程數(shù)據(jù),tch為CE持續(xù)時間,tcs為CE建立時間,tDS為數(shù)據(jù)建立時間,tDH為數(shù)據(jù)維持時間,twp為寫脈沖寬度。

1.3 Am29F010B與TMS320C32的硬件接口

Am29F010B與TMS320C32的硬件接口電路原理圖如圖4所示。圖中,Am29F010B的17根地址線A0~A16分別與TMS320C32的A0~A16相連。每片Am29F010B的容量為128k×8B。在本開發(fā)系統(tǒng)中,數(shù)據(jù)采用的是32位浮點數(shù),連接方法是將四片8位數(shù)據(jù)寬的Am29F010B一起與TMS320C32連接,即將四片Am29F010B的D0~D7依次與TMS320C32的D0~D7、D8~D15、D16~D23及D24~D31連接,總?cè)萘繛?28k×32B。

TMS320C32的外擴存儲器的尋址空間范圍由三組相互獨立的控制信號STRB0、STRB1和IOSTRB來控制,可用于對相互獨立的存取空間進行操作而不會出現(xiàn)端口沖突。所不同的是,IOSTRB只能用32位寬的程序或數(shù)據(jù)存儲器進行存操作;STRB0和STRB1由各自的四個控制引腳來實現(xiàn),可以用8/16/32位寬的存儲器存取8/16/32位數(shù)據(jù),還可以用16或32位寬的程序存儲器進行存取操作,因而比較靈活。

圖4的設計中使用的是STRB0,F(xiàn)lash所占的128k×32B存取空間的地址范圍為000000H~01FFFFH,外圍程序存儲器配置為32位,可由PRGW置低電平來實現(xiàn)。此時各片的片選信號CE分別由STRB0-B0、STRB0-B1、STRB0-B2、STRB0-B3控制。上電復位后,外部總線接口控制寄存器STRB0可根據(jù)PRGW引腳電平的高低來決定存儲器的寬度控制位和數(shù)據(jù)位數(shù)控制位的復位值。

2 Am29F010B的在系統(tǒng)編程技術(shù)

2.1 Am29F010B的基本編程操作

對FLASH的基本操作主要有讀、字節(jié)編程、復位、扇區(qū)擦除、片擦除等。Am29F010B閃爍存儲器的讀操作與普通的存儲器操作相同,它不需要特定的時序,在電路上電或內(nèi)部編程等操作后可自動進入讀數(shù)據(jù)狀態(tài)。而擦除和寫操作相對復雜一些,它不能簡單的直接寫入,同時,out文件不能load到FLASH中,且CCS和CSource Debugger中的load命令均不能對flash寫入,而需要專門的程序才能寫入一系列Flash Memory的命令寄存器中,然后調(diào)用嵌入式算法的內(nèi)部程序來完成相應的命令。Am29F010B編程的一般步驟是復位、擦除、字節(jié)編程等。

(1)復位操作

復位命令用以取消擦除或?qū)懭氩僮鞫勾鎯ζ鲝臀。復位操作不影響各單元的?shù)據(jù)。在編程、擦除或正常操作出現(xiàn)錯誤時都要使用復位命令。向FLASH存儲器的任意一個地址寫入0F0H均可使其復位并進入讀數(shù)據(jù)狀態(tài)。

(2)擦除操作

擦除操作的具體軟件命令序列如表1所列。該操作包括按扇區(qū)擦除和整片擦除兩種方式。二者均為6總線周期操作。使用片擦除操作則可一次清除FLASH芯片內(nèi)的所有數(shù)據(jù)。扇區(qū)擦除操作則用于清除某一個扇區(qū)的所有數(shù)據(jù),這在僅需要改動少量數(shù)據(jù)而不是整片數(shù)據(jù)時特別方便。

(3)字節(jié)編程操作

該操作是一個4總線周期指令,可將任意數(shù)據(jù)寫入Am29F010B獨立使用的編程,只能寫入8位寬的數(shù)據(jù),而本開發(fā)系統(tǒng)每次可寫入32位寬數(shù)據(jù)。具體軟件命令序列如表1所列。

    2.2 Am29F010B的編程注意事項及操作技巧

在對Am29F010B進行編程操作時,三條關(guān)鍵控制檢測線OE、CE和WE都必須處于正確狀態(tài),當CE或WE不是低電平或OE不是高電平時,編程操作將被禁止。

由于在32位浮點芯片TMS320C32進行硬件連接時,采用的是4片數(shù)據(jù)寬度為8位的Flash來作為一片數(shù)據(jù)寬度為32位的Flash使用,所以在實際的總線操作過程中,向?qū)刂穼懭氲臄?shù)據(jù)應為8位16進制數(shù)據(jù)。例如芯片復位操作時,寫入某一地址的數(shù)據(jù)應該是0xF0F0F0,而不應是單片時寫入的0xF0。其軟件命令序列可同時參見表1。

表1 Am29F010B編程命令序列表

命令序列 Flash復位 扇區(qū)擦除 整片擦除 Flash燒錄 總線寫周期1 地址 5555H 5555H 5555H 5555H 數(shù)據(jù) 0AAAAAAAAH 0AAAAAAAAH 0AAAAAAAAH 0AAAAAAAAH 總線寫周期2 地址 2AAAH 2AAAH 2AAAH 2AAAH 數(shù)據(jù) 55555555H 55555555H 55555555H 55555555H 總線寫周期3 地址 xxxx 5555H 5555H 5555H 數(shù)據(jù) 0F0F0F0F0H 80808080H 80808080H 0A0A0A0A0H 總線寫周期4 地址   5555H 5555H   數(shù)據(jù)   0AAAAAAAAH 0AAAAAAAAH   總線寫周期5 地址   2AAAH 2AAAH   數(shù)據(jù)   55555555H 55555555H   總線官周期6 地址   SA 5555H   數(shù)據(jù)   30303030H 10101010H  

在Am29F010B擦除及編程操作中使用檢測機制可確保操作的正確性和有效性。其核心代碼如下:

flash_rase:

……

check_rase:LDI *AR0,R0

NOP

NOP

XOR *AR2,R0

BNZ check_rase

……

RETS

flash_prog:

……

check_prog:LDI * -AR1,R0

NOP

NOP

XOR *-AR1,R0

BNZ check_prog

……

RETS

在將數(shù)據(jù)或程序燒寫到Am29F010B時,應先單步執(zhí)行燒寫程序,同時應觀察燒寫程序執(zhí)行過程中有無異常。筆者曾遇到過的FLASH的操作指令代碼執(zhí)行后變成.word XXH的情形,后來經(jīng)檢查發(fā)現(xiàn)是由于芯片Am29F010B的地址線引腳再現(xiàn)虛焊所致;另一方面,還要觀察在仿真開發(fā)環(huán)境的存儲區(qū)查看窗口,以觀察FLASH內(nèi)相應單元內(nèi)容的變化有否異常。

圖4 Am29F010B與TM320C32的硬件接口電路原理圖

3 結(jié)束語

本文討論的方法在軟、硬件上均已得到實現(xiàn),對高性能Flash存儲器芯片Am29F010B和高速DSP處理器TMS320C32優(yōu)點的充分利用,使得在硬件和軟件上保證了裝置的先進性和高可靠性;目前,該裝置已成功用于WSM2000電動機智能保護裝置系統(tǒng)中,而且效果理想。


【高性能FLASH存儲器在DSP電機智能保護中的應用】相關(guān)文章:

通過JTAG口對DSP外部Flash存儲器的在線編程08-06

Flash存儲器在TMS320C3x系統(tǒng)中的應用08-06

鐵電存儲器FM18L08在DSP系統(tǒng)中的應用08-06

CPLD在DSP系統(tǒng)中的應用設計08-06

鐵電存儲器在儀表中的應用08-06

TigerSHARC DSP在信號處理系統(tǒng)中的應用04-12

利用DSP控制直流無刷電機08-06

DSP+FLASH引導裝載系統(tǒng)的設計與實現(xiàn)08-06

閃速存儲器在圖像采集系統(tǒng)中的應用08-06