周曉玲,沈愷煜,吳校生 ,王天洋,陳文元,張衛(wèi)平,崔 峰,劉 武
(上海交通大學微納科學技術研究院,微米/納米加工技術重點實驗室,上海200240)
本設計是面向微固體模態(tài)陀螺的數據采集應用而設計的,微固體模態(tài)陀螺具有抗沖擊、抗震動能力強、穩(wěn)定性好,長期工作可靠性高等優(yōu)點[1-2],具有很大的研究價值。首先微固體模態(tài)陀螺共有8 個感應電極,當振動模態(tài)產生時,陀螺按固定的振動方式運動,當陀螺位于角速度旋轉環(huán)境中時,其振動方向垂直方向上產生了科氏力,在壓電材料的作用下,這部分力轉換為了電荷分布的變化。經前端的檢測電路檢測感應電極的電壓值,8 路信號經過前端的差分檢測電路后剩下4路信號,需要4 路轉換通道[3]。其次因為由科氏力感應出的信號很微弱,因此對信號采集的精度要求很高。最后因為前端檢測電路為模擬電路,信號通過解調濾波后噪聲干擾依然很明顯,為了使信號處理的效果更加顯著,需要的采樣速率相對要高一些。綜合以上幾點考慮選擇了高精度模數轉換芯片AD7656。為實現微固體模態(tài)陀螺長時間的精度漂移測量,還要求數字型的檢測系統(tǒng)能夠完成大容量的數據存儲,以便后續(xù)的數據處理。數字檢測系統(tǒng)具有抗干擾能力強,可預測性和重復性強,靈活性強便于修改等諸多優(yōu)勢性能,從而能大大提升系統(tǒng)的檢測精度[4]。數據采集是數字檢測系統(tǒng)的開始,如果實現的不好則會影響整體的系統(tǒng)性能,所以非常重要。本設計的數據采集系統(tǒng)具有高精度AD 轉換及高速大容量存儲的性能,并且接口簡單,操作方便,簡潔實用。
近年來,DSP 以其體積小、功耗小、使用方便、數據處理量大以及處理精度高以及計算能力不斷增強等優(yōu)點,被大量的用來設計自動控制系統(tǒng)[5]。TMS320F2812處理器是TI 公司的一款用于控制的高性能、多功能、高性價比的32 位定點DSP 芯片,最高可在150 MHz 主頻下工作,具有多達56 個獨立編程的GPIO 引腳,可作為控制端口還可進行大容量外擴,片上帶有18 k×16 bit SRAM 和128 k×16 bit FLASH,存儲空間很小[6]。本設計所選擇的AD7656 芯片具有6 路數據轉換通道,轉換精度為16 bit,當輸入為±5 V 時,理論分辨率(LSB)為0.152 mV[7],還具有低功耗、高抗噪性能、寬帶寬等性能優(yōu)勢。在采樣頻率為250 kHz/s[8],每秒鐘4 通道的采集量為1 MHz,為了實現微固體模態(tài)陀螺長時間的精度漂移測量,至少需要采集10 s,即需要10 MHz 的存儲空間,而DSP2812 片上的存儲資源遠遠不能滿足要求,因此需要外擴一個大容量并且滿足高速寫入性能的存儲器,而需要對大量數據進行非易失性存儲時,FLASH 存儲器相對有很高的性價比[9],基于以上要求選擇了市面上較常見的三星公司生產的FLASH 芯片K9F1G08UOB。K9F1G16UOB 是具有超大容量的FLASH 存儲器,其存儲容量為128 M×8 bit,讀寫速度與SRAM 相差無幾,其內部開辟的的高速緩沖區(qū),連續(xù)寫入的周期可達50 ns[10]。K9F1G16UOB 芯片具有接口簡單、操作方便、擴展容易以及大容量存儲等特性。滿足系統(tǒng)需求并且在速度上滿足與高速DSP 相匹配。
本設計的系統(tǒng)框圖如圖1 所示。系統(tǒng)分為3 個部分,即控制單元、高精度數據轉換單元、大容量數據存儲單元。本系統(tǒng)主要是將前端檢測后的數據進行進一步的數字處理,使數據分析更加準確,本研究的側重點是尋找最為合適的信號處理方法,考慮到軟件實現效果簡單可靠而且分析方便,所以系統(tǒng)采集到的數據將通過串行口經RS232 串口輸送給PC機。在PC 機中使用MATLAB 軟件進行數據處理及分析。因此現階段還沒有考慮到系統(tǒng)的實習性的實現問題,這也是今后要研究的主要內容。本系統(tǒng)要實現四路通道的同時轉換,轉換操作及數據讀取和存儲操作由TMS320F2812 采用外部中斷控制,當BUSY 引腳值為0 時,觸發(fā)外部中斷,進行數據讀取。將數據讀取到TMS320F2812 的外設2 存儲空間Zone2 中,如此循環(huán)讀取170 次后Zone2 中將存儲2040(12×170)Byte 數據,之后再次啟動中斷控制,將此2040 Byte 數據一次寫入到外擴FLASH 芯片 K9F1G16UOB 中。 這 樣 的 話 只 需 要 對K9F1G08UOB 進行一次尋址,順序將數據寫入一頁,降低尋址次數可以大大提高寫入操作的速度。之后重復此操作,實現高精度轉換以及大容量存儲。
圖1 高精度大容量數據采集系統(tǒng)的原理框圖
本設計控制單元采用的是開發(fā)板之家生產的的Study-2812 開發(fā)板。AD7656 與DSP 芯片的連接關系如圖2 所示。
圖2 AD7656 外圍電路及其與TMS320F2812 芯片的連接
AD7656 內置6 個SAR ADC、6 個采樣保持放大器。如圖2 所示,H/S SEL 引腳接低電平說明此系統(tǒng)中AD7656 采用硬件控制模式。SER/PAR SEL 引腳接低電平表示選擇并行輸出模式,同時W/B 引腳接高電平,DB7/HBEN 引腳接低電平,表示數據選擇并行字節(jié)模式輸出,即每通道的轉換結果通過兩次讀取操作來獲取,每次先讀取每個轉換通道的低八位。與RD 同時為低電平時,AD7656 執(zhí)行讀取操作,本設計用XZCS2 控制片選CS。利用XRD 引腳來控制RD引腳,來實現數據讀取。RESET 信號由GPIOB0/T3CMP 口控制,芯片通電后,首先要輸入一個100 ns的復位高脈沖,確保讀取轉換結果時指針指向第1 個數據位。本設計需要對6 路信號進行同步采樣轉換,所以將3 路CONVST 信號接在一起統(tǒng)一由GPIOB0/PWM7 口來控制,可以實現對6 個ADC 進行同步采樣。通過脈沖激活CONVST 輸入來啟動AD7656 的轉換,在CONVST 信號上升沿,6 個ADC 的采樣保持放大器進入到保持模式,并開始轉換。GPIOB4/PWM11 口與BUSY 信號相連,查詢轉換是否完成,當CONVST 引腳到上升沿即啟動轉換后,BUSY 信號變?yōu)楦唠娖?,表示正在進行轉換,轉換采用內部時鐘,時間為3 s,BUSY 恢復低電平時,表示轉換完成,可以進行讀取操作。讀取操作由CS 和RD 信號控制。當CS 為高時,并行輸出引腳會處在高阻態(tài),所以CS 要處于低電平,AD7656 芯片才能進行正常的讀取。當CS 為低電平時,在RD 信號的下降沿,AD7656 中輸出寄存器的內容將被更新。所以在每個讀序列之前RD信號必須被觸發(fā),將RD 引腳置低,保存輸出寄存器中的數據,然后再將RD 引腳置高,來更新輸出緩存器。所以在SER/PAR SEL 引腳為低選擇并行接口,并且CS 和RD 信號同時為低時,就會產生一個45 ns讀取脈沖,啟用輸出總線,將數據讀出。在此系統(tǒng)中,第1 個讀取脈沖讀取的是轉換通道V1 的低8 位數據,緊接著是高8 位,然后是轉換通道V2 的低8 位,以此類推,需要產生12 個讀取脈沖來讀取轉換生成的數據,完成一輪的轉換以及讀取。將數據存儲到片上存儲器中。
相關的邏輯脈沖時序如圖3 所示。值得一提的是CONVST 引腳在RESET 脈沖期間保持低電平的話,在RESET 脈沖之后,AD7656 需要接受一個完整的CONVST 脈沖來啟動首次轉換,這個脈沖要包括一個高至低的CONVST 下降沿,隨后是一個低至高的CONVST 上升沿。
圖3 邏輯脈沖時序圖
K9F1G16UOB 是三星公司生產的NAND 結構的FLASH,是一種高密度、非易失性的電可擦寫存儲器,存儲量大,使用方便,適用于低功耗、高性能的系統(tǒng)。它分成1024 個塊,每塊又由64 頁組成,一頁有2 kbyte。該片的8 bit I/O 總線是命令、地址、數據復用的。K9F1G08UOB 容量為128 M×8 bit,需要一個27 bit 的地址,但是只有8 bit I/O 口,所以在尋址的時候采用地址分時復用的方式,用4 個字節(jié)對K9F1G16UOB 進行尋址。前兩個周期輸入頁地址,尋址空間是4 kbyte,后兩個周期輸入塊地址,尋址空間是64 kbyte。K9F1G16UOB 芯片寫操作的實現是先寫入頁寫指令80h,然后分四個字節(jié)寫入地址,最后寫入數據,FLASH 根據寫入的地址自行尋址將數據寫入到指定地址中。讀取操作與寫操作類似。,發(fā)出命令后,后面要緊跟著寫入4 個地址序列。表1 為其地址序列。
表1 FLASH 芯片K9F1G08UOB 的地址序列
TMS320F2812 芯片與FLASH 芯片K9F1G08UOB的硬件接口連接如圖4 所示。其中R/B 為狀態(tài)查詢引腳,與GPIOA0/PWM1 口相連,當R/B 引腳為低電時,說明有程序正在運行,當變?yōu)楦唠娖綍r,說明運行結束。CE 為片選信號,由DSP 片選信號XZCS6 口控制,RE 是讀有效信號,由GPIOA2/PWMS 控制,在RE的下降沿觸發(fā)8 bit I/O 口的讀操作。WE 是寫有效信號,由GPIOA6/T1CMP 口控制,在WE 的上升沿觸發(fā)8 bit I/O 口的寫操作。包括指令、地址以及數據的寫入。CLE 是命令鎖存信號,由GPIOA8/QEP1 口控制,ALE 是地址鎖存信號,由GPIOA10/QEP11 口控制,PRE 是上電讀使能信號,如果接高電平,則上電以后FLASH 自動進行讀數據操作,本設計中將其做接地處理。I/O0 ~I/O7 是地址數據復用I/O 口線,與DSP 的數據總線D0 ~D7 相接。該模塊要將經AD 轉換后已經讀取到DSP 中的數據存儲到FLASH 芯片K9F1G08UOB 中,軟件部分流程圖由圖5 所示,程序分為幾個子程序模塊,初始化子模塊,壞塊查詢模塊,塊擦除模塊,寫指令模塊,寫地址模塊,寫數據模塊以及狀態(tài)查詢模塊。
圖4 K9F1G08UOB 與TMS320F2812 芯片的連接
圖5 FLASH 寫數據流程圖
寫數據流程如圖5 所示。首先是初始化FLASH,然后判斷即將寫入的塊是否為有效塊,檢測標準就是檢測塊的第1 頁或者第2 頁是否在2048列被標記了非FFH 的數據,因為每個出廠芯片的無效快,都會在其第一頁或者第二頁的2048 列被標記了非FFH 的數據,如果沒有檢測到,則證明是有效塊。判斷為有效塊后往FLASH 中寫入塊擦除模塊,首先寫入指令60 h,開始塊擦除操作,之后寫入要擦除的地址,即A12 ~A27 的地址,隨后寫入確認擦除指令D0h,完成塊擦除操作。隨后寫入FLASH 頭程序,即寫入頁寫指令80h,隨即寫入地址,地址輸入之后將存儲在DSP 片上FLASH 中的2040 byte 數據順序寫入,然后寫入確認寫入數據指令10h,完成一輪的寫操作。下一輪即將頁數加1 繼續(xù)寫入,如此循環(huán)操作不斷將數據寫入FLASH 中,寫入64 次后,一塊寫滿,則塊數加1,繼續(xù)寫入。這種將一頁的數據一次寫入FLASH 中的操作可以提高系統(tǒng)的工作效率。并且K9F1G08UOB 內部高速緩沖區(qū)連續(xù)寫入的周期可達50 ns,滿足了高速大容量存儲的需求,且接口簡單,操作方便。
已經對搭建的測試電路板進行了模擬輸入測試,測試結果顯示當通道V1輸入電壓為5.2 V 時,存儲到系統(tǒng)中的數組1 結果為1010 0010,數組2 顯示結果為1000 0101,經過計算后V1通道采集到的數據值為5.199 92 V,誤差為0.000 08 V,能夠滿足系統(tǒng)需求。該系統(tǒng)稍后會應用到微固體模態(tài)陀螺中,進行系統(tǒng)級的測試以及后續(xù)數據處理和分析。
[1] Xiaosheng Wu,Wenyuan Chen,Yipeng Lu.Vibration Analysis of a Piezoelectric Micromachined Modal Gyroscope(PMMG)[J].J.Micromech. Microeng. 19 125008 doi:10. 1088/0960 -1317/19/12/125008.
[2] 吳校生,盧奕鵬,陳文元. 壓電型微固體模態(tài)陀螺的模態(tài)及諧振分析[J].傳感技術學報,2008,(12):2014-2019.
[3] 何程鵠.壓電型微固體模態(tài)陀螺的微弱信號檢測與降噪技術研究[D]:[碩士學位論文]. 上海:上海交通大學微納科學技術研究院,2011.
[4] 余亮琴.石英音叉微機械陀螺的微弱信號數字檢測技術的仿真與系統(tǒng)誤差研究[D]:[碩士學位論文]. 長沙:國防科學技術大學機械電子工程系,2005.
[5] 謝青紅,張筱荔.TMS320F2812 DSP 原理及其在運動控制系統(tǒng)中的應用[M].北京:電子工業(yè)出版社,2009.
[6] 蘇奎峰,呂強,耿慶峰. TMS320F2812 原理與開發(fā)[M]. 北京:電子工業(yè)出版社,2005.
[7] 馬高印.轉子式靜電微陀螺懸浮與旋轉測控系統(tǒng)相關技術研究[D]:[博士學位論文]. 上海:上海交通大學微納科學技術研究院,2010.
[8] Analog Devices,Inc.AD7656 Data Sheet[S].2008.
[9] 伍美俊,吳迺陵.TMS320VC5509 應用flash 存儲數據的接口電路設計與編程[J].電子器件,2007,30(2):675-678.
[10] SAMSUNG Electronics CO.,LTD. K9F1G08UOB Data Sheet[S].2001.