《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > SPI串行Data Flash在MEMS姿態測量系統中的應用
SPI串行Data Flash在MEMS姿態測量系統中的應用
來源:電子技術應用2013年第8期
翟瑞永1,張文棟1,周兆英2,桑勝波1,李朋偉1,孫其瑞2
1.太原理工大學 微納系統研究中心,山西 太原030024; 2.清華大學 精密儀器與機械學系,北京100084
摘要: 基于MEMS傳感器的姿態測量系統以體積小、功耗低、實時性好、方便使用等優點而得到廣泛應用,傳感器信息除用于實時處理進行姿態解算以外,更需要長時間保存以達到校對、仿真、數值分析等多種用途。針對大容量存儲在實際使用中疑難較多的問題,主要介紹了大容量Flash存儲器AT45DB321D在姿態測量系統中的應用,描述了其基本性能及在姿態測量系統中的硬件連接和軟件設計,重點討論了利用單片機I/O接口模擬SPI操作以及操作指令的具體實現等問題。
中圖分類號: TP212
文獻標識碼: A
文章編號: 0258-7998(2013)08-0037-03
Application of SPI Data Flash in MEMS attitude measurement system
Zhai Ruiyong1,Zhang Wendong1,Zhou Zhaoying2,Sang Shengbo1,Li Pengwei1,Sun Qirui2
1.Micro Nano System Research Center, Taiyuan University of Technology,Taiyuan 030024,China; 2.Department of Precision Instruments and Mechanology, Tsinghua University,Beijing 100084,China
Abstract: The MEMS attitude measurement system based on MEMS sensor has been widely used with its advantages of small volume, low cost, easy to use, properties of real-time,etc. Mostly, the sensor information is not only used for real-time processing to determine the attitude, but also required to be stored for revision, simulation, numerical analysis, and so on. Based on the difficult problem of large capacity storage in actual use, this paper mainly introduces the application of AT45DB321D in the attitude measurement system, and describes the basic performance, the hardware connection and software design. This paper particularly illustrates the realization of the analog SPI using I/O port and operation instruction in software program.
Key words : AT45DB321D;MEMS attitude measurement system;analog SPI;operation instruction

    利用MEMS加速度計、陀螺儀、磁強計等慣性器件研制的微型姿態測量系統具有體積小、價格低、功耗低、抗沖擊力強等優點,廣泛應用于現代武器制導系統、人體姿態測量系統、無人機飛行控制系統等方面。微型姿態測量系統需要將傳感器信息、控制信息等資料進行存儲以用于后期的數據分析與處理,大量信息的存儲需求使得大容量的存儲芯片在系統中的使用變得更加必要[1-3]。Flash存儲器因其存儲容量大、掉電數據不丟失以及可多次擦寫等優點在軍事、商業、工業等需要進行信息存儲的多種操作系統中發揮著重要作用[4-8]。AT45DB系列Flash存儲器是ATMEL公司生產的串行接口可編程閃速存儲器,具備操作方便、數據存儲量大、安全性好、封裝尺寸小、集成度高、功耗低等優點,幾乎無需外接元器件即可與單片機或微處理器進行通信,實現數據的實時存儲[9-10]。本文以MEMS姿態測量系統中Flash存儲芯片單元AT45DB321D為例,闡述了存儲芯片與微處理器的硬件接口電路、軟件操作流程以及I/O口模擬SPI協議的具體程序實現,是對Flash存儲器在系統信息資料存儲設計方面的有益探討。

1 AT45DB321D芯片介紹
    AT45DB321D是串口可編程Flash芯片,目前主要有MLF、SOIC、CARD、TSOP 4種封裝形式。本文選用的芯片封裝形式為SOIC,管腳簡單,連接方便。AT45DB321D中數據按頁存放,主存共8 192頁,每頁528 B,共32 MB容量,存放在主存中的數據掉電不丟失。除主存以外,該芯片還有2個容量為528 MB的數據緩存,可暫存一些臨時數據。緩存讀寫方便迅速,讀寫操作多通過緩存完成。
2 MEMS姿態測量系統
    隨著MEMS技術的迅速發展,MEMS姿態測量系統的精度、魯棒性、動態響應等性能都得到了巨大的提高,在多種場合得到應用[1-3]。在本系統中,微處理器選用的是C8051F系列單片機,其功耗低,運算速度快,具有24個I/O口,同時支持多種類型標準數字接口。MEMS傳感器模塊包括三軸加速度計、三軸陀螺儀和三軸磁強計,MEMS傳感器均采用數字接口設計,使用I2C總線與單片機通信。傳感器數據信號被采集到微處理器C8051F中后,利用基于SPI協議的無線數據傳輸模塊將數據上傳到上位機進行數據融合姿態解算,同時將數據存儲到存儲芯片中,以應用于之后的仿真、計算、數值分析。存儲器在整個系統中的連接如圖1中微存儲器所示。


3 存儲芯片在姿態測量系統中的應用
3.1 接口電路硬件設計

    AT45DB321D數據傳輸采用SPI格式,其外圍電路簡單,無論單片機是否有SPI接口,均可與其連接。若單片機有SPI接口,存儲器讀寫程序相對簡單;若沒有SPI接口,可用軟件仿真SPI接口與存儲器通信。在本系統中,數據傳輸模塊已占用微處理器的SPI接口,所以存儲操作用I/O口模擬SPI協議來實現數據存儲。圖2為該芯片應用于姿態測量系統中的部分電路圖,SO、SI、SCK、CS、WP、RESET分別與微處理器通用I/O口相連, 利用軟件模擬實現SPI協議。

3.2 模擬SPI總線設計
    典型的SPI接口有4種操作模式,分別為0、1、2和3。SPI操作模式決定了設備接收和發送數據時的時鐘相位和極性。AD45DB系列存儲器僅支持SPI模式0和3。在這兩種模式下,SCK信號上升沿觸發數據輸入,下降沿觸發數據輸出,如圖3所示。二者的區別是SCK信號的起始電平不同。在本系統中采用SPI模式0來實現C8051F與Flash之間的通信,用以下C程序模擬實現SPI協議模式0,用數據移位操作實現移位寄存器功能,同時規定時鐘上升沿輸入數據,下降沿輸出數據。其中定義單片機的I/O口P2.1為存儲器的片選信號,P2.0為存儲器時鐘信號,P0.6作為從輸入、主輸出口,P0.7為主輸入、從輸出口。程序中Out_Byte函數實現1 B的移位操作,Out_Word函數實現2 B的移位操作。

    (1)void Out_Byte(unsigned char Byte)
        {unsigned char Cyc,Out_SI;
        for(Cyc=0; Cyc<8;Cyc++)
        { SCK=0;delay(20);
        Out_SI = Byte & 0x80;
        if(Out_SI==0){ MOSI=0; }
        else {MOSI=1;}
        Byte = Byte<<1; delay(20);
        SCK=1;delay(20);}}
    (2)void Out_Word(unsigned int Word)
        {unsigned char Cyc;
        unsigned int Out_SI;
        for(Cyc=0; Cyc<16;TempCyc++)
        {SCK=0; delay(20);
        Out_SI = Word & 0x8000;
        if(Out_SI==0){ MOSI=0;}
        else{MOSI=1;}
        Word = Word<<1; delay(20);
        SCK=1; delay(20);}}
3.3 軟件設計
    存儲芯片與微處理器之間的數據傳輸包括數據讀和數據寫操作,存儲器配置片選管腳CS使能,由串行時鐘(SCK)對讀寫進行控制,執行微處理器的指令,通過串行輸出(SO)和串行輸入(SI)進行數據讀寫操作。
3.3.1 程序指令實現
    AT45DB321D的數據命令格式是在SPI總線上傳輸8 bit操作碼后,再輸入13 bit頁地址和9 bit緩存器地址或指定頁起始地址,如圖4所示。因給出的頁面地址和起始地址都是2 B的int數據類型,共32 bit數據,存儲器并不識別,所以需要進行移位操作,使所傳輸的頁面地址和起始地址是存儲器識別的地址碼。本文首先將包含13 bit頁地址的字節左移1位,使其最低邊位閑置,完成存儲器識別的頁地址操作;然后將包含9 bit緩存器或起始地址的字節右移8 bit后,余下的最高字節加到左移后閑置的最低位地址上,同時低字節的8 bit地址保持,通過Out_Word和Out_Byte兩個指令依次將經過移位操作的總共22 bit地址傳輸給存儲器,實現存儲器程序指令的傳輸操作。具體的C程序實現如下:

    Out_Address_1=(Page_Address<<1)|(Start_Address>>8);
    Out_Address_0=(Start_Address&0x00ff);
    Out_Word(Out_Address_1);
    Out_Byte(Out_Address_0)。
3.3.2 寫操作
    單片機寫程序在Silicon laboratories IDE環境下對程序進行編譯燒寫和在線調試。對該芯片的寫操作有兩種方式:一種是直接寫指令,通過微處理器模擬SPI移位寄存器直接向存儲芯片指定頁的指定地址寫數據。在這種方式下,要存儲一段連續的數據必須用一個循環來實現,故執行時間較長。另一種方式是先把指定數據依次通過移位寄存器存儲到緩存器1,在寫完緩存后一次寫到Flash指定頁中去,通過緩存間接完成Flash的數據寫操作。本文中采用間接法進行數據寫操作,寫操作數據流程如圖5所示。

 

 

3.3.3 讀操作
    對存儲芯片的讀操作也分為兩種方式:可以直接從Flash中將給定起始頁的數據連續讀到微處理器中,也可以通過將指定頁數據傳到緩存間接讀取。本系統讀操作采用間接方式,先把Flash指定頁數據依次通過移位寄存器存儲到緩存器1,再通過緩存間接完成Flash的數據讀操作,整個數據讀取流程如圖6所示。

3.4 存儲數據分析
    通常數據按照指定數據協議在存儲器中按照二進制格式表示,處理器先對數據進行歸一、轉換等操作,使之變成符合使用要求的數據,再對數據進行分析處理。本姿態測量系統中某次測量的傳感器數據和姿態數據如圖7所示,后期數據處理采用Kalman濾波算法對姿態數據進行運算處理。

    本文主要介紹了大容量Flash存儲器AT45DB321D在姿態測量系統中的應用,闡述了該存儲器與單片機的硬件連接與軟件實現,重點對模擬SPI協議和數據操作指令的具體實現進行了討論。文中設計了程序模擬實現SPI協議,解決了系統自帶SPI接口被占用時的數據傳輸問題;采用了移位操作將頁面地址和起始地址轉換為存儲器可識別的數據命令格式,實現了數據的讀寫操作。該系列存儲芯片具有存取速度快、可靠性高、數據有效時間長等優點,在計算機外部設備、通信設備、自動化控制和各種消費電子產品中都將會有越來越廣泛的應用。提供的程序全部經過調試,運行穩定可靠,可重復操作性強。
參考文獻
[1] 朱榮,周兆英.基于MEMS的姿態測量系統[J].測控技術,2002,21(10):6-9.
[2] 陳新雋,劉曉平,戴若梨,等.多MEMS傳感器的嵌入式姿態測量系統設計[J].單片機與嵌入式系統應用,2011(10):58-61.
[3] Zhu Rong,Zhou Zhaoying.A small low-cost hybrid orientation system and its error analysis[J].IEEE Sensors Journal,2009,9(3):223-230.
[4] 徐春生,王太勇,鄧輝,等.串行DataFlash在便攜式片上數采系統中的應用[J].機械與電子,2005(7):74-76.
[5] 申河卿,張崇巍.基于C8051F320的便攜式心電監護儀設計[D].合肥:合肥工業大學,2008.
[6] 陳穎.存儲器AT45DB161及其在安全監控記錄裝置中的應用[J].計算機應用,2009(2):51-54.
[7] 范愛華,周越.電動車測速報警系統[J].微計算機應用,2011,32(5):76-80.
[8] 王霞,李淑民,裴培,等.基于ADS8364的數據采集系統設計[J].電子技術應用,2009,35(7):95-97.
[9] 黃秋,丁衛撐,方方,等.SPI接口的Flash ROM與C8051-F340的接口設計[J].自動化技術與應用,2010,29(4):99-102.
[10] 扶小飛,鄭善賢.一種Flash文件系統的設計和實現[J].微計算機信息,2010,26(2-2):174-176.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99热精品在线播放 | 久草国产在线观看 | 久久久一区二区三区不卡 | 国产视频二 | 久久精品国产99精品最新 | 九九九九在线视频播放 | 国产日韩欧美精品 | 国产日韩欧美在线播放 | 激情成人综合网 | 国产理论在线 | 国产精品毛片在线大全 | 国产二三区 | 婷婷综合五月天 | 天天躁夜夜躁狠狠躁躁88 | 日本精品99 | 91久久99热青草国产 | 免费大学生国产在线观看p 免费成人小视频 | 日本中文字幕精品理论在线 | 日韩欧美在线观看综合网另类 | 四虎精品成人免费影视 | 国产精品久久久久久久免费 | 欧美中文在线视频 | 成人精品综合免费视频 | 久久伊人成人 | 午夜免费理论片a级 | 免费播看完整大片40分钟 | 国产福利在线观看精品 | 97免费视频在线观看 | 99精品视频在线观看免费 | 国产精品无码久久综合网 | 97综合网 | 日韩a一级欧美一级在线播放 | 美女被羞羞视频网站在线 | 婷婷亚洲激情 | 成人精品视频在线 | 免费观看性行为的视频网站 | 日韩写真集福利视频 | 四虎成人精品国产一区a | 天天躁日日2018躁狠狠躁 | 免费高清影视 | 欧美日韩亚洲国产精品一区二区 |