<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)T89S52的MEMS陀螺信號采集與處理系統設計

基于A(yíng)T89S52的MEMS陀螺信號采集與處理系統設計

作者: 時(shí)間:2011-11-18 來(lái)源:網(wǎng)絡(luò ) 收藏

 (Micro Electron Mechanical System)儀是一種可以精確測量物體方位的儀器,不僅成本低,體積小,重量輕,而且可以與微電子加工的電路實(shí)現集成,做到機電一體化。適用于汽車(chē)工業(yè)、慣性導航、計算機、機器人、軍事等急需大量小型、廉價(jià)的應用領(lǐng)域,是國防、工業(yè)發(fā)展中必不可少的儀器。
但是,陀螺儀在實(shí)際應用中達不到需要的精度,為了提高陀螺儀系統工作性能和測量精度,對陀螺儀進(jìn)行數據并減小誤差是至關(guān)重要的。
ADIS16355慣性測量裝置將三軸角速度感知與三軸加速度感知相結合,提供六自由度運動(dòng)感知、嵌入式校準與傳感器以及傳感器-傳感器交叉補償,并大大提高穩定性(使用偏移穩定性為0.015 deg/sec),體積小于1立方英寸。ADIS16355是在整個(gè)溫度范圍內校準,具有卓越的偏壓溫度穩定性(0.005 deg/sec/°)。ADISl6355提供一個(gè)串行外部接口SPI(Serial Peripheral Interface),通過(guò)SPI可以對芯片進(jìn)行配置,獲得運行狀態(tài)與測量結果等,其對外部供電要求不高,內部自帶高精度的穩壓電路,外圍電路較少[1]。
單片機[2]是一種低功耗、高性能CMOS 8位微控制器,具有8 KB在系統可編程Flash存儲器,使用美國ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,同時(shí),帶有ISP下載功能,它利用在線(xiàn)編程器替代昂貴的單片機仿真器編程器,既方便使用,又節省開(kāi)發(fā)費用。
本文結合單片機對ADIS16355慣性傳感器進(jìn)行控制,將的數據實(shí)時(shí)存儲并通過(guò)LCD1602進(jìn)行顯示,最后對系統進(jìn)行測試,并分析了系統存在的誤差。
1 ADIS16355芯片數據硬件
根據數據采集系統的需要,系統以作為主控單元,外擴一片6264靜態(tài)存儲器作為數據存儲器,并AT89S52與ADIS16355通信的SPI接口模塊、LCD顯示模塊、鍵控模塊和在線(xiàn)編程模塊,系統硬件連接框圖如圖1所示。

本文引用地址:http://dyxdggzs.com/article/150052.htm

1.1 主控模塊
控制單片機AT89S52具有8 KB Flash,256 B RAM,32 bit的I/O口線(xiàn),看門(mén)狗定時(shí)器,兩個(gè)數據指針,3個(gè)16 bit定時(shí)器/計數器,一個(gè)六向量?jì)杉壷袛嘟Y構,全雙工串行口,片內晶振及時(shí)鐘電路等功能[3]。它與ADIS16355陀螺儀之間通過(guò)SPI接口相連。因為AT89S52單片機沒(méi)有專(zhuān)門(mén)的SPI接口,只能通過(guò)軟件模擬P2.0口為時(shí)鐘線(xiàn)與陀螺儀的SPI接口SCLK引腳相連,P2.1口為主輸出從輸入MOSI與陀螺儀SPI接口的數據輸人SDI引腳相連,P2.2口為主輸入從輸出MISO與陀螺儀SPI接口的數據輸出SDO引腳相連,P2.3口為片選。P3.2、P3.3為中斷引腳,分別與ADIS16355的DIO1和DIO2相連,為數據轉換中斷。
1.2 LCD顯示模塊
系統顯示部分采用液晶LCD1602芯片,其特點(diǎn)是:功耗低、體積小、質(zhì)量輕、顯示質(zhì)量高、數字式,采用標準的16腳接口和單片機連接簡(jiǎn)單,操作方便,能夠同時(shí)顯示16×2即32個(gè)字符,1602液晶模塊內部的字符發(fā)生存儲器(CGROM)存儲了160個(gè)不同的點(diǎn)陣字符圖形,方便顯示控制器采集出的數據。
1.3 在線(xiàn)編程模塊
系統了在線(xiàn)編程模塊,利用STC-ISP編程燒錄軟件實(shí)時(shí)在線(xiàn)下載程序,大大方便了開(kāi)發(fā)者,提高了系統研發(fā)效率。
1.4 SPI接口模塊通信與配置
SPI是MOTOROLA公司提出的同步串行總線(xiàn)方式,是一種全雙工、同步、串行數據接口標準總線(xiàn),與其他串行總線(xiàn)相比,它具有電路結構簡(jiǎn)單、速度快、通信可靠等優(yōu)點(diǎn)[4]。標準的SPI總線(xiàn)由4根信號線(xiàn)組成:時(shí)鐘信號(SCLK)、主輸入從輸出線(xiàn)(SDI)、主輸出從輸入線(xiàn)(SDO)和片選信號(CS)。
系統中ADIS16355通過(guò)SPI接口與外部進(jìn)行通信,需要外部設備MCU通過(guò)該接口對其內部各寄存器進(jìn)行設置,圖2所示是一個(gè)典型的寫(xiě)入控制寄存器命令的數據幀。由芯片資料[5]可知,DIN系列的首位是1,第二位是0,后面是目標寄存器的6 bit地址和8 bit數據命令,因為每一個(gè)寫(xiě)命令包含一個(gè)數據位,所以給整個(gè)16 bit寄存器空間寫(xiě)值時(shí)要求有兩個(gè)數據幀。圖3為ADIS16355讀操作SPI時(shí)序圖,由芯片資料[5]可知ADIS16355完成一次SPI通信包括16 bit數據,其中第1位是SPI傳輸的讀寫(xiě)狀態(tài)標識,第2位為0,緊跟著(zhù)的6 bit是目標寄存器地址,最后8 bit是在寫(xiě)操作時(shí)將要寫(xiě)進(jìn)寄存器的數據,如果是讀操作則忽略,完成ADIS16355的一個(gè)讀操作需要進(jìn)行兩次16 bit的SPI通信,其中第一次是寫(xiě)入將要讀取的寄存器地址,該寄存器的內容將在第二次SPI通信出現在A(yíng)DIS16355的DOUT信號線(xiàn)上,輸入SPI的主設備。

本設計中控制器與ADIS16355進(jìn)行SPI通信的每個(gè)數據幀為16 bit,而AT89S52的數據寬度為8 bit,所有內部寄存器和數據空間存儲器都是8 bit寬度組成,作為主設備在其發(fā)出有效的SPI片選信號使能ADISl6355后,要對其自身的SPI數據寄存器進(jìn)行兩次寫(xiě)操作,才能在總線(xiàn)上完成一次16 bit數據傳輸。
2 軟件設計
ADISl6255陀螺儀所有的數據和命令的讀取和寫(xiě)入都是通過(guò)讀寫(xiě)寄存器來(lái)完成的。通過(guò)AT89S52單片機編寫(xiě)程序讀取ADISl6355內部相應的寄存器地址,相應讀取回來(lái)的12 bit或者14 bit長(cháng)度的數據經(jīng)過(guò)換算再乘以對應的比例因子就得到了相應的x、y、z軸陀螺儀和加速度計以及內部溫度信息。
在啟動(dòng)陀螺儀前,首先要對陀螺儀的各個(gè)寄存器進(jìn)行正確的設置。由參考文獻[5]、[6]知,設置GYRO_OFF和GYRO_SCALE寄存器對陀螺儀三軸輸出的靈敏度和偏差進(jìn)行用戶(hù)自校準;設置SMPL_PRD寄存器,選取合適的采樣頻率;設置SENS/AVG寄存器,定義陀螺動(dòng)態(tài)量程以及對應的數字濾波器;設置MSC_CTRL寄存器,定義自檢位以及數據更新中斷位;設置COMMAND寄存器,定義數據校正模式;設置ALM_CTRL寄存器,為數據報警。
陀螺儀自身帶有一個(gè)校準控制指令,在讀取數據之前需要用戶(hù)的自定義校準,具體操作方法[6]是將MSC_
CTRL寄存器的第10位置1,20 ms后,讀取狀態(tài)寄存器的值,如果為0x0000,表明自檢通過(guò),否則表明陀螺儀存在如供電超限、SPI通信錯誤等問(wèn)題,響應的錯誤位將在狀態(tài)寄存器中標出。
MEMS陀螺儀數據采集軟件設計主要是對AT89S52的程序設計。系統上電復位后,首先完成單片機初始化,對陀螺儀各個(gè)自由度寄存器參數設置,初始化LCD1602,初始化SPI接口,陀螺儀自校準過(guò)程,定時(shí)器和相應中斷打開(kāi),數據存儲及更新,最后通過(guò)按鍵分別顯示X、Y、Z軸陀螺儀和加速度計以及內部溫度信息。系統軟件程序采用Keil μVision4軟件編寫(xiě),Keil μVision4是80C51內核開(kāi)發(fā)的,可以用C語(yǔ)言和匯編語(yǔ)言進(jìn)行編程,C編譯工具在產(chǎn)生代碼的準確性和效率方面達到了較高的水平,并且可以附加靈活的控制選項,在開(kāi)發(fā)大型項目時(shí)非常實(shí)用[7]。其軟件程序流程圖如圖4所示。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>