《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 美女毛片免费 | 日韩精品久久久免费观看夜色 | 亚洲国产片 | 国产一区二区亚洲精品 | 国产伦子伦视频免费 | 国产一区亚洲二区三区 | 欧美大狠狠大臿蕉香蕉大视频 | 欧美国产日韩久久久 | 免费一级毛片在线观看 | 免看一级a一片成人123 | 亚洲欧美小视频 | 毛片看看 | 一级床上爽高清播放 | 日韩国产在线观看 | 国产精品女上位在线观看 | 在线看片日本 | 91精品免费国产高清在线 | 国产成人精品视频免费大全 | 欧美国产三级 | 亚洲精品国产啊女成拍色拍 | 日韩中文字 | 在线观看免费视频网站色 | 青青自拍视频一区二区三区 | 亚洲综合亚洲 | 亚洲女人在线 | 玖玖香蕉视频 | 久久精品视频一区 | 国内精品久久久久久久aa护士 | 国产成人91高清精品免费 | 国产精品久久影院 | 亚洲一区二区中文字幕 | 在线欧美| 日本成人三级 | 一级做a爰片久久毛片16 | 国产亚洲高清在线精品不卡 | 久久久久在线视频 | 亚洲欧洲一区 | 久久成人黄色 | 精品三级在线观看 | 在线中文字幕精品第5页 | 一级做a爰片久久毛片16 |