色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 高性能FLASH存儲(chǔ)器在DSP電機(jī)智能保護(hù)中的應(yīng)用

          高性能FLASH存儲(chǔ)器在DSP電機(jī)智能保護(hù)中的應(yīng)用

          作者: 時(shí)間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
          摘要:芯片以其高速、實(shí)時(shí)性等優(yōu)點(diǎn)逐步被用到電機(jī)保護(hù)中,利用高外圍器件尤其是外圍的硬件匹配是充分發(fā)揮其優(yōu)點(diǎn)的必要條件。文中以基于TMS320C32高速CPU為核心芯片的智能型電機(jī)保護(hù)裝置為模型,介紹了高芯片Am29F010B與芯片的硬件接口電路、軟件編程技術(shù)以及應(yīng)注意的問題和設(shè)計(jì)技巧。

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

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

          1 硬件設(shè)計(jì)

          1.1 TMS320C32芯片的特點(diǎn)

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

          1.2 Flash Memory芯片Am29F010B

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

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

          *高性能,最大存取時(shí)間為45ns;

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

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

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

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

          *帶有JEDEC標(biāo)準(zhǔn)的Flash EEPROM管腳輸出和命令集;

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

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

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

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

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

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

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

          1.3 Am29F010B與TMS320C32的硬件接口

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

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

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

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

          2.1 Am29F010B的基本編程操作

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

          (1)復(fù)位操作

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

          (2)擦除操作

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

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

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

          2.2 Am29F010B的編程注意事項(xiàng)及操作技巧

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

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

          表1 Am29F010B編程命令序列表

          命令序列Flash復(fù)位扇區(qū)擦除整片擦除Flash燒錄
          總線寫周期1地址5555H5555H5555H5555H
          數(shù)據(jù)0AAAAAAAAH0AAAAAAAAH0AAAAAAAAH0AAAAAAAAH
          總線寫周期2地址2AAAH2AAAH2AAAH2AAAH
          數(shù)據(jù)55555555H55555555H55555555H55555555H
          總線寫周期3地址xxxx5555H5555H5555H
          數(shù)據(jù)0F0F0F0F0H80808080H80808080H0A0A0A0A0H
          總線寫周期4地址 5555H5555H 
          數(shù)據(jù) 0AAAAAAAAH0AAAAAAAAH 
          總線寫周期5地址 2AAAH2AAAH 
          數(shù)據(jù) 55555555H55555555H 
          總線官周期6地址 SA5555H 
          數(shù)據(jù) 30303030H10101010H 

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

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

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

          3 結(jié)束語

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



          關(guān)鍵詞: FLASH DSP 性能 存儲(chǔ)器

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉