MMA8451加速度中文參考資料_第1頁
MMA8451加速度中文參考資料_第2頁
MMA8451加速度中文參考資料_第3頁
MMA8451加速度中文參考資料_第4頁
MMA8451加速度中文參考資料_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MMA845總軸加速度傳感器,16引腳,QFNH寸裝,數(shù)字I2C輸出,8位/14位精度可選,量程 土 2g/ ± 4g/ 土 8g可選,電源供電可選。輸出數(shù)據(jù)速率從到 800Hz。有兩個可編程的中斷引腳,7個中斷源。可檢測自由落體、運動、脈沖、振動等、傾角等。32個采樣FIFO,每次采樣都通過高通濾波后傳入FIFO。典型應用有:電子羅盤,靜態(tài)姿態(tài)、運動檢測,筆記本電子書等便攜設備的翻滾、自由落體檢測,實時的方向檢測 可用于虛擬現(xiàn)實設備或 3d游戲中的位置檢測,便攜設備的節(jié)能應用中的運動檢測等等。Top ViewVDDIQBYPNCSCLGNDNCGNDST1GN 口IM2芯片外形To

2、p ViewPUPin 1Xout OgYautZout OgEarth GravitySide ViewLLXout 1gYout OgZout OgL.RXout 1gYout OgZout OgBACKXoui Dg Yout Og Zout , igPDXout OgYout 1g 2 out OgFRONTXout OgYout OgZout 1g不同姿態(tài)下X、Y、Z三軸對應的重力輸出1.6V-3.EVI ntertaoe Voltage ?VDDIOVDDIOJ1JBYPGND;J2-&NC W1MAS451Q IN71 !-"1-i.«v-3,evO.

3、1p,F匣姆姆ZCvDDICy i g NC | jY5- - - n- -AQIN12!口ZI31&嶗:7:4. 7pFSCLO。IMT1。IWT2O SAD典型連接引腳定義如下:引腳編號引腳名稱引腳描述引腳狀態(tài)1VDDIO內部電源供電()輸入2BYP旁路電容輸入3NC懸空引腳開路4SCLI2C串行時鐘漏極開路5GND接地輸入6SDAI2C串行數(shù)據(jù)漏極開路7SA0I2C最低有效位地址輸入8NC懸空引腳開路9INT2中斷請求引腳2輸出10GND接地輸入11INT1中斷請求引腳1輸出12GND接地輸入13NC懸空引腳開路14VDD電源()輸入15NC懸空引腳開路16NC懸空引腳開路靈敏度

4、由count/g 表示,2g量程下,可達 4096/g , 4g量程下,可達 2048/g , 8g量程下,可達1024/gMMA8451 犬態(tài)轉換圖MMA8451內部框圖,分為數(shù)字部分和模擬部分在OFF模式下,數(shù)字部分和模擬部分都不工作在STANDB模式下,IIC通信照常進行,但模擬模塊被禁止,內部時鐘停止在ACTIVE模式下(WAK或SLEEP , IIC通信照常進行,數(shù)字和模擬模塊都正常工作I2C串行通信MMA845他用I2C串行通信和外部交換數(shù)據(jù),MMA81145何通過中斷信號指示新的采樣序列可用,也可通過設置使用中斷信號指示設備的移動、自由落體、瞬變、方向、單 / 雙擊。I2C總線使

5、用三根信號線進行通信,分別是SCL SDA和SA0,外部上拉電阻需要將SD解口 SCL接到VDDIO上,當總線空閑時,這兩根線表現(xiàn)為高電平狀態(tài)。MMA845例I2C接口可工作在快速模式 400KHz或普通模式100KHz。總線傳輸開始由START言號觸發(fā),START言號定義為,當數(shù)據(jù)線從高電平跳變到低電平,而時鐘線SCL仍然保持高電平。由主機發(fā)送 START言號過后,I2C總線被認為從空閑(free )狀態(tài)進入忙(busy)狀態(tài)。緊接著 START言號 后主機發(fā)送的字節(jié),前 7 位用于指示從機地址,第8 位用于指示數(shù)據(jù)方向是讀出( 1 數(shù)據(jù)從從機到主機)還是寫入( 0 數(shù)據(jù)從主機到從機) 。

6、地址發(fā)送完畢后, 總線上的所有從機將自己的地址和總線上接收到的地址進行比較, 地址匹配的設備即為主機選中設備。第9個脈沖為應答響應,發(fā)送設備必須在這個ACKW期內釋放數(shù)據(jù)線,而接收設備則需要在ACKW期的時鐘高電平期間將數(shù)據(jù)線拉低。SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。停止條件將終止發(fā)送器的發(fā)送。主機也可重復發(fā)出起始(START條件,對于 MMA8451重復的起始條件可用于讀取一些特殊的寄存器。MMA8451的地址被設置為 0x1c或0x1d,可用引腳7 (SA0)的高低電平來選擇。當SA0為高電平時,0x1d地址被選中有效,當SA0為低電平時,0x1c地

7、址被選中有效。重點概念:START條件:日鐘線SCL為高電平期間,數(shù)據(jù)線從高電平跳變到低電平START弋碼,使用IO 口模擬IICI*I2C START 信號 時鐘脈沖高電平期間,數(shù)據(jù)線負跳變*/ void IIC_start(void)IIC_SCL=0;/ 時鐘線低IIC_SDA=1;/ 數(shù)據(jù)線高 _asm(nop);IIC_SCL=1;/ 時鐘線高 _asm(nop);_asm(nop);IIC_SCL=0;/ 時鐘線低STO陳件:時鐘線SCL為高電平期間,數(shù)據(jù)線從低電平跳變到高電平/*I2C STOP 信號時鐘脈沖高電平期間,數(shù)據(jù)線正跳變*/void IIC_stop(void)IIC

8、_SCL=0;/ 時鐘線低_asm(nop);IIC_SDA=0;/ 數(shù)據(jù)線低_asm(nop);IIC_SCL=1; / 時鐘線高_asm(nop);IIC_SDA=1;/ 數(shù)據(jù)線正跳變_asm(nop);IIC_SCL=0;/ 時鐘線低ACK確認,由地址匹配成功的從機在第9個脈沖周期內發(fā)出,這時主機釋放數(shù)據(jù)線,從機在時鐘高電平期間將數(shù)據(jù)線置為低電平。MMA8451的 I2C 操作:1.單個字節(jié)讀 主機發(fā)送START緊接著主機給出 7位地址(0x1d或0x1c),并置第8位為0,表示數(shù)據(jù)從主機到從機。從機匹配地址后,返回確認 ACK言號,接著主機傳輸 8位寄存器地址,從機返回確認 ACK主機

9、再次發(fā)出 START并名出7位從機地址, 并置第 8 位為 1 , 表示數(shù)據(jù)從從機到主機, 從機確認后返回 8 位寄存器數(shù)據(jù)。 主機不確認, 并發(fā)出STOP。注意:除了 START STOP ACK以外,其它數(shù)據(jù)在時鐘高電平期間必須維持不變。< Single Byte Rj&ad >STDevice Address6:0內Ffegister Addness7 HSRDevice Address(B: OGRNAKSPMasterAKAKAKData 7,0單個字節(jié)讀時序主機發(fā)送八位數(shù)據(jù)或地址代碼如下(使用IO 口模擬)/*/字節(jié)發(fā)送程序/發(fā)送c(可以是數(shù)據(jù)也可是地址),送完

10、后接收從應答/不考慮從應答位void send_byte(unsigned char c)unsigned char i;for(i=0;i<8;i+)IIC_SCL=0;if(c<<i) & 0x80)IIC_SDA=1; 發(fā)送 1else IIC_SDA=0; 發(fā)送 0_asm(nop);IIC_SCL=1;/時鐘高電平_asm(nop);IIC_SCL=0;/時鐘低電平_asm(nop);/ 第 9 個脈沖IIC_SDA=1;/發(fā)送完8bit ,釋放總線準備接收應答位_asm(nop);IIC_SCL=1;_asm(nop); /sda上數(shù)據(jù)即是從應答位IIC_

11、SCL=0; 不考慮從應答位,但要控制好時序*注意:發(fā)送設備地址時,MMA845地址為0011100 (0x1c, SA0=0)或0011101 (0x1d, SA0=1),可將SA0弓I腳直接接地或接高電平,以接高電平為例,地址為 7位,高位在前,地位在后,第8位為數(shù)據(jù)方向選擇,若后續(xù)數(shù)據(jù)為主機到從機,則為 0,若后續(xù)數(shù)據(jù)為從機到主機,則為 1。以單個字節(jié)讀為例,地址設為0x1d,見時序圖,START言號過后,則應發(fā)送 00111010,即0x3A可先如下定義,#define MMA8451_ADD 0X3A第二次發(fā)送地址,則后續(xù)數(shù)據(jù)為從機到主機,第8位為1,可發(fā)送MMA8451_ADD+1

12、可2.多字節(jié)讀< Multiple Byte Read >Master 5T Device AddressB:O0 WRegister Addres&7 0 SR Device AddressB OO I R IShveAKAKAKAKNAKSPData7 0Data7 即Data7:0多字節(jié)讀和單字節(jié)讀基本相同,如果讀完單字節(jié)后,主機不發(fā)送NAK STOP并對從機響應 AK則從機設備會自動將主機發(fā)送的寄存器地址加1,并發(fā)送對應的寄存器內容,直到主機響應NAK和STOP主機響應AK或NAK®序代碼如下/*/ 主應答(包含 ack:SDA=0 和 no_ack:SD

13、A=1)/入口參數(shù):ack_main:1,應答ack, 0,無需應答 nak/注:ack: scl高電平期間,數(shù)據(jù)線低/ nak : scl高電平期間,數(shù)據(jù)線高void IIC_ack_main(unsigned char ack_main)IIC_SCL=0;if(ack_main)IIC_SDA=0; ack主應答else IIC_SDA=1; no_ack無需應答_asm(nop);IIC_SCL=1;_asm(nop);IIC_SCL=0;3. 單個字節(jié)寫< Single Byte Write >STDevice Address6:0WRegister Address7 0

14、Data7:0SPSlave AKAKAK單個字節(jié)寫入和單個字節(jié)讀略有不同,區(qū)別在于發(fā)送為寄存器地址后,主機不再重復發(fā)送START信號和設備地址,而是直接給出寫入的數(shù)據(jù)。代碼如下:4. 多個字節(jié)寫< Multiple Byte Write >STDevice AddressB:(JWRegister Address7:0ata|7:OData7 0SFSlaveAKAKAKAK多個字節(jié)寫和單個字節(jié)寫類似,只要主機發(fā)送STOP言號,則可以連續(xù)寫入,寫入的寄存器地址自動增加。MMA845倚存器:1. 狀態(tài)寄存器 STATUS/F_STATUSfe址 0x002. 控制寄存器CTRL_REG 1地址0x2a76543210ASLP_RATE1ASLP_RATE0DR2DR1DR0LNOISEF_READACTIVEASLP_RATE1:0:設置睡眠模式采樣頻率,默認00DR2:0:數(shù)據(jù)速率選擇。默認為000,800HzDR2DR1DR0數(shù)據(jù)速率Hz周期ms00080000140001020050111

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論