基于嵌入式DSP系統(tǒng)的數(shù)據(jù)記錄與分析
摘要 嵌入式DSP系統(tǒng)上電后啟動(dòng)工作,斷電后停止,數(shù)據(jù)丟失。而在許多場(chǎng)合,如系統(tǒng)故障時(shí),希望系統(tǒng)能對(duì)其工作過(guò)程中產(chǎn)生的狀態(tài)和數(shù)據(jù)信息進(jìn)行記錄,以便于事后分析。為解決該問(wèn)題,文中從硬件和軟件兩方面詳細(xì)敘述了在DSP系統(tǒng)中利用電可擦除存儲(chǔ)器AT28C010進(jìn)行數(shù)據(jù)記錄與提取分析的設(shè)計(jì)方案。為系統(tǒng)試驗(yàn)的事后分析與故障定位提供了數(shù)據(jù)支持,且該記錄方式靈活簡(jiǎn)便、電路規(guī)模小,具有較好的工程應(yīng)用價(jià)值。
本文引用地址:http://www.ex-cimer.com/article/201609/304719.htm嵌入式DSP系統(tǒng)因其高速、靈活、低功耗的特點(diǎn),而被廣泛用于信號(hào)處理及測(cè)量技術(shù)等領(lǐng)域。其的特性是加電(復(fù)位)后啟動(dòng)工作,而斷電后停止工作,斷電后其工作過(guò)程中產(chǎn)生的各種狀態(tài)和數(shù)據(jù)信息會(huì)丟失。這為系統(tǒng)試驗(yàn)的事后分析和故障定位帶來(lái)了困難。為解決這一問(wèn)題,采用Atmel公司的高性能電可擦除存儲(chǔ)器AT28C010,設(shè)計(jì)了一種具有實(shí)時(shí)記錄系統(tǒng)工作狀態(tài)和數(shù)據(jù)信息功能的嵌入式DSP系統(tǒng),同時(shí)利用該系統(tǒng)串行口實(shí)現(xiàn)所記錄數(shù)據(jù)的下載與分析。
1 AT28C010的功能與工作時(shí)序
芯片AT28C010是一款由Atmel公司生產(chǎn)的高性能電可擦除存儲(chǔ)器,與同類產(chǎn)品比較,其速度快、功耗低,具有較寬的溫度范圍,符合軍用質(zhì)量等級(jí)。有望在工業(yè)、軍用領(lǐng)域得到廣泛應(yīng)用。
1.1 AT28C010的主要性能指標(biāo)
容量為128×8 kbit;可重復(fù)讀寫(xiě)次數(shù)為100 000次;數(shù)據(jù)存儲(chǔ)時(shí)間為10年;可在120 ns內(nèi)完成數(shù)據(jù)的讀取;快速的寫(xiě)周期為支持頁(yè)寫(xiě)操作,可在10 ms內(nèi)完成1~128 bit的寫(xiě)操作;低功耗工作電流為80 mA;數(shù)據(jù)保護(hù)能有效防止誤寫(xiě)操作。
AT28C010的電路原理框圖如圖1所示。
1.2 AT28C010的讀寫(xiě)時(shí)序
芯片AT28C010的讀寫(xiě)操作與靜態(tài)RAM相同,無(wú)需外加任何元器件,其讀時(shí)序圖如圖2所示。
芯片AT28C010的一個(gè)字寫(xiě)周期可由
信號(hào)或
信號(hào)控制。由
信號(hào)控制的字寫(xiě)過(guò)程時(shí)序如圖3所示。
同時(shí)該芯片具有頁(yè)寫(xiě)功能,允許在一個(gè)寫(xiě)周期內(nèi)向芯片寫(xiě)入1~128 bit,頁(yè)寫(xiě)過(guò)程與字寫(xiě)過(guò)程類似,但在一個(gè)頁(yè)寫(xiě)周期,字節(jié)間的寫(xiě)入操作時(shí)間間隔需150μs,且保證地址總線A7~A16的值不變。
2 系統(tǒng)組成原理
2.1 硬件實(shí)現(xiàn)
圖4以TMS320F2407為例,芯片AT28C010在DSP系統(tǒng)中的應(yīng)用框圖。由于TMS320F2407為16位DSP應(yīng)用系統(tǒng),所以采用兩片AT28C010構(gòu)成16位存儲(chǔ)器。
為防止DSP訪問(wèn)沖突,將DSP的地址總線A15與控制總線通過(guò)邏輯控制電路與AT28C010的片選信號(hào)、寫(xiě)使能或輸出使能相連,控制AT28C010的讀寫(xiě),以保證AT28C010選中時(shí),DSP的地址總線A15為高電平。
AT28C010的地址總線共17位,存儲(chǔ)空間為128 kB,通常將其低地址線A0~A14與DSP低地址線A0~A14對(duì)應(yīng)相連,高地址線A16、A15可與DSP的控制信號(hào)相連,通過(guò)對(duì)其的不同賦值,將AT8C010的存儲(chǔ)空間分為4個(gè)區(qū),每個(gè)區(qū)32 kB。如在實(shí)際運(yùn)用中所需的記錄空間較小,則可將AT28C010的地址線A16、A15接地或接+5 V,并設(shè)為固定地址。
以圖4為例,AT28C010的具體地址分配如表1所示。
2.2 軟件實(shí)現(xiàn)
在進(jìn)行軟件編寫(xiě)前需詳細(xì)定義該系統(tǒng)在任務(wù)執(zhí)行過(guò)程中所需記錄數(shù)據(jù)的類型、特性、記錄周期、所需存儲(chǔ)量的大小以及具體的地址分配等。同時(shí),根據(jù)需求設(shè)計(jì)數(shù)據(jù)存儲(chǔ)格式。
例如,要求以DSP上電為一次記錄的開(kāi)始,AT28C010需至少保持3次完整的記錄數(shù)據(jù),每次數(shù)據(jù)記錄空間要求>30 kB,需每隔20 ms記錄DSP的PA、PB口狀態(tài)值和1路A/D采樣值。
需求分析:為滿足上述要求,將記錄空間分為4個(gè)區(qū)域,每個(gè)區(qū)32 kB,具體劃分如表1所示。分析要求記錄的數(shù)據(jù),DSP的PA、PB口狀態(tài)值共16位,可組合為一個(gè)字,A/D采集值為10位,單獨(dú)記錄為一個(gè)字,因此周期性記錄的數(shù)據(jù)2個(gè)字即可滿足。同時(shí),需記錄當(dāng)前數(shù)據(jù)塊的區(qū)域號(hào),用于分辨當(dāng)前記錄區(qū)域,此為一次性記錄數(shù)據(jù)。因此可設(shè)定區(qū)域1用于記錄一次性數(shù)據(jù),區(qū)域2、區(qū)域3、區(qū)域4用于記錄周期性數(shù)據(jù),并存儲(chǔ)最新的3次數(shù)據(jù)。
實(shí)現(xiàn)過(guò)程:在每次DSP上電時(shí)讀取區(qū)域1中存儲(chǔ)的當(dāng)前記錄數(shù)據(jù)塊區(qū)域號(hào),其為上次記錄的數(shù)據(jù),當(dāng)計(jì)算出數(shù)據(jù)后,存入該地址,根據(jù)該值設(shè)置AT28C010高地址線A16、A15,將地址映射到當(dāng)前記錄區(qū)域,并對(duì)其清0。打開(kāi)20 ms定時(shí)器中斷,在定時(shí)器中斷服務(wù)程序中將表示DSP的PA、PB口狀態(tài)值,A/D采集值的兩個(gè)字寫(xiě)入相應(yīng)地址,20 ms的時(shí)間間隔滿足AT28C010頁(yè)寫(xiě)操作間隔10 ms的要求。
3 存儲(chǔ)數(shù)據(jù)的提取與分析
數(shù)據(jù)的提取與分析是建立在對(duì)要記錄數(shù)據(jù)在軟件需求說(shuō)明中進(jìn)行詳細(xì)定義基礎(chǔ)上的。數(shù)據(jù)的提取有兩種方法:通過(guò)系統(tǒng)串口或存儲(chǔ)器的通用編程器。
評(píng)論