《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > SD卡在断路器离线测试仪中的应用

SD卡在断路器离线测试仪中的应用

2008-05-29
作者:吕 超1, 胡晓光2, 孙来军1

  摘 要: 將SD卡作為外部掉電存儲介質(zhì)" title="存儲介質(zhì)">存儲介質(zhì)應(yīng)用于斷路器離線" title="離線">離線測試儀中,介紹了以ATMEGA128單片機作為核心元件,用SPI方式讀寫SD卡的方法和相應(yīng)的文件系統(tǒng)設(shè)計。該方案使斷路器離線測試儀在使用過程中更加靈活,而且操作簡單、節(jié)省了硬件資源,具有較高的實用價值。
  關(guān)鍵詞: SD卡 斷路器測試儀


  在斷路器離線測試儀的設(shè)計和使用過程中,需要積累大量的正常狀態(tài)和故障狀態(tài)下的歷史動作數(shù)據(jù),形成樣本庫,作為斷路器進行故障診斷的依據(jù)。從數(shù)據(jù)庫的建立和維護的角度來說,上位機" title="上位機">上位機比儀器本身更占有優(yōu)勢。同時,由于儀器自身硬件系統(tǒng)資源的局限,相對復(fù)雜的故障診斷分析也需要利用上位機軟件來實現(xiàn)。因此,這就需要容量大、移動靈活的測試儀和上位機的中間存儲介質(zhì)。
  SD卡(Secure Digital Memory Card)是一種基于Flash的新一代存儲器,具有體積小、容量大、數(shù)據(jù)傳輸快、移動靈活、安全性能好等優(yōu)點,是許多便攜式電子儀器理想的外部存儲介質(zhì)。
1 ATMEGA128的SPI接口簡介及基本數(shù)據(jù)傳輸
  SPI全稱為“Series Peripheral Interface”,意為“串行外設(shè)接口”,是一種全雙工、3線同步數(shù)據(jù)傳輸?shù)拇锌偩€接口。圖1為ATMEGA128單片機主機-從機通過SPI進行互連的示意圖。


  系統(tǒng)包括兩個移位寄存器和一個主機時鐘發(fā)生器。主機通過將需要的從機的 SS 引腳拉低,啟動一次通訊過程。主機和從機將需要發(fā)送的數(shù)據(jù)放入相應(yīng)的移位寄存器中。主機在SCK 引腳上產(chǎn)生時鐘脈沖以交換數(shù)據(jù)。主機的數(shù)據(jù)從主機的MOSI移出,從從機的MOSI移入;從機的數(shù)據(jù)從從機的MISO移出,從主機的MISO移入。主機通過將從機的SS引腳拉高實現(xiàn)與從機的同步。
  基本的通過SPI接口發(fā)送和接收單個字節(jié)的流程如圖2所示。


  值得注意的是,因為發(fā)送和接收是同時進行的,所以發(fā)送和接收數(shù)據(jù)使用同一個函數(shù)。在發(fā)送數(shù)據(jù)時,并不關(guān)心函數(shù)的返回值;在接收數(shù)據(jù)時,可以發(fā)送并無實際意義的字節(jié)(如0xFF)作為函數(shù)的參數(shù)。
2 SPI模式下的ATMEGA128單片機與SD卡的接口電路
  SD卡為用戶提供兩種操作模式:SD模式和SPI模式。SPI模式下SD卡的引腳定義如表1所示。在該模式下,SD卡為主機提供了CS、SCLK、DI、DO四線接口。ATMEGA128單片機與SD卡的接口電路" title="接口電路">接口電路如圖3所示。


  因為不涉及主從機之間的轉(zhuǎn)換,所以單片機的SS引腳閑置不用。單片機的PORTXn引腳作為SD卡的選通信號。
  對于單片機來說,SPI接口和程序下載接口復(fù)用,節(jié)約了單片機的硬件開銷,提高了單片機的資源利用率。
3 SPI模式下對SD卡的操作
  SPI模式下SD卡的操作流程如圖4所示。


  上電后,SD卡自動進入SD模式。單片機此時使CS信號為低電平,并向SD卡發(fā)送RESET命令(CMD0),如果SD卡有0x01作為響應(yīng),則表明SD卡進入SPI模式下的Idle狀態(tài)。在等待至少74個時鐘周期后,向SD卡發(fā)送SEND_OP_COND(CMD1)命令,當輪詢到SD卡的響應(yīng)為0x00時,說明SD卡已經(jīng)準備好接收讀寫操作" title="讀寫操作">讀寫操作了。
  對SD卡的基本讀寫操作命令有:數(shù)據(jù)塊讀命令READ_ BLOCK(CMD17)、多數(shù)據(jù)塊讀命令READ_MULTIPLE_BLOCK(CMD18)和數(shù)據(jù)塊寫命令WRITE_BLOCK(CMD24)、多數(shù)據(jù)塊寫命令WRITE_MULTIPLE_BLOCK(CMD25)。
  對SD卡的操作都是由一些命令來實現(xiàn)的。所有的命令都是由48個數(shù)據(jù)位組成的,其結(jié)構(gòu)如表2所示。
  在應(yīng)用時,可以連續(xù)發(fā)送6個字節(jié)來實現(xiàn)上述的命令格式。


4 應(yīng)用于斷路器離線測試儀的SD卡文件系統(tǒng)設(shè)計
  在使用斷路器離線測試儀的過程中,希望記錄下斷路器每次動作時的線圈電流以及動作電壓。按照圖5所示的結(jié)構(gòu)來組織數(shù)據(jù)的存儲。
  首先為各次動作數(shù)據(jù)文件創(chuàng)建父文件夾,以動作的次數(shù)作為文件夾名,CURRENT.TXT和VOLTAGE.TXT分別為各文件夾下記錄電流、電壓數(shù)據(jù)的擴展名為TXT的子文件。
  SD卡數(shù)據(jù)區(qū)的組織結(jié)構(gòu)如表3所示。

?


  在實際應(yīng)用中,只對系統(tǒng)區(qū)進行配置即可。其中的分區(qū)引導扇區(qū)設(shè)置了扇區(qū)(Sector)和串(Cluster)的大小,以及采用哪類文件分配表(FAT12或FAT16)等內(nèi)容。
  文件分配表則包含了與目錄或文件相對應(yīng)的入口(Entry)。每個入口由32個字節(jié)組成,包含文件名、擴展名、記錄的時間和日期、起始位置和文件大小等信息。文件的大小可以根據(jù)對電流電壓信號進行采樣時的采樣頻率和采樣時間計算得到。
  按照以上原則設(shè)計的文件系統(tǒng),結(jié)構(gòu)簡單、容易維護,能夠滿足上位機數(shù)據(jù)積累和軟件分析的需要。
參考文獻
1 SD memory card specifications. Sanddisk Corporation,2000
2 吳雙力,崔 劍,王伯嶺. AVR-GCC與AVR單片機C語言開發(fā). 北京:北京航空航天大學出版社,2001

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容