久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: MMA8451中文資料手冊下載 [打印本頁]

作者: 629soft    時間: 2018-10-27 08:44
標題: MMA8451中文資料手冊下載
這是我最近找到的三軸加速度MMA8451的中文手冊和操作流程,現在發上來分享給大家

MMA8451三軸加速度傳感器,16引腳,QFN封裝,數字I2C輸出,8位/14位精度可選,量程2g/4g/8g可選,電源供電1.95v~3.6v可選。輸出數據速率從1.56到800Hz。有兩個可編程的中斷引腳,7個中斷源。可檢測自由落體、運動、脈沖、振動等、傾角等。
32個采樣FIFO,每次采樣都通過高通濾波后傳入FIFO。
典型應用有:電子羅盤,靜態姿態、運動檢測,筆記本電子書等便攜設備的翻滾、自由落體檢測,實時的方向檢測可用于虛擬現實設備或3d游戲中的位置檢測,便攜設備的節能應用中的運動檢測等等。
芯片外形
              不同姿態下X、Y、Z三軸對應的重力輸出
典型連接
引腳定義如下:
引腳編號
引腳名稱
引腳描述
引腳狀態
1
VDDIO
內部電源供電(1.62~3.6v)
輸入
2
BYP
旁路電容
輸入
3
NC
懸空引腳
開路
4
SCL
I2C串行時鐘
漏極開路
5
GND
接地
輸入
6
SDA
I2C串行數據
漏極開路
7
SA0
I2C最低有效位地址
輸入
8
NC
懸空引腳
開路
9
INT2
中斷請求引腳2
輸出
10
GND
接地
輸入
11
INT1
中斷請求引腳1
輸出
12
GND
接地
輸入
13
NC
懸空引腳
開路
14
VDD
電源(1.95~3.6v)
輸入
15
NC
懸空引腳
開路
16
NC
懸空引腳
開路
靈敏度由count/g表示,2g量程下,可達4096/g,4g量程下,可達2048/g,8g量程下,可達1024/g
MMA8451狀態轉換圖
MMA8451內部框圖,分為數字部分和模擬部分
在OFF模式下,數字部分和模擬部分都不工作
在STANDBY模式下,IIC通信照常進行,但模擬模塊被禁止,內部時鐘停止
在ACTIVE模式下(WAKE或SLEEP),IIC通信照常進行,數字和模擬模塊都正常工作
I2C串行通信
MMA8451使用I2C串行通信和外部交換數據,MMA8451可通過中斷信號指示新的采樣序列可用,也可通過設置使用中斷信號指示設備的移動、自由落體、瞬變、方向、單/雙擊。
I2C總線使用三根信號線進行通信,分別是SCL、SDA和SA0,外部上拉電阻需要將SDA和SCL接到VDDIO上,當總線空閑時,這兩根線表現為高電平狀態。MMA8451的I2C接口可工作在快速模式400KHz或普通模式100KHz。
總線傳輸開始由START信號觸發,START信號定義為,當數據線從高電平跳變到低電平,而時鐘線SCL仍然保持高電平。由主機發送START信號過后,I2C總線被認為從空閑(free)狀態進入忙(busy)狀態。緊接著START信號后主機發送的字節,前7位用于指示從機地址,第8位用于指示數據方向是讀出(1數據從從機到主機)還是寫入(0數據從主機到從機)。地址發送完畢后,總線上的所有從機將自己的地址和總線上接收到的地址進行比較,地址匹配的設備即為主機選中設備。第9個脈沖為應答響應,發送設備必須在這個ACK周期內釋放數據線,而接收設備則需要在ACK周期的時鐘高電平期間將數據線拉低。
SCL 線是高電平時,SDA 線由低電平向高電平切換,這個情況表示停止條件。停止條件將終止發送器的發送。
主機也可重復發出起始(START)條件,對于MMA8451,重復的起始條件可用于讀取一些特殊的寄存器。
MMA8451的地址被設置為0x1c或0x1d,可用引腳7(SA0)的高低電平來選擇。當SA0為高電平時,0x1d地址被選中有效,當SA0為低電平時,0x1c地址被選中有效。
重點概念:
START條件:時鐘線SCL為高電平期間,數據線從高電平跳變到低電平
START代碼,使用IO口模擬IIC
/*******************************************
I2C START信號
時鐘脈沖高電平期間,數據線負跳變
********************************************/
void IIC_start(void)
{
  IIC_SCL=0;//時鐘線低
  IIC_SDA=1;//數據線高
  _asm(nop);
  IIC_SCL=1;//時鐘線高
  _asm(nop);
  IIC_SDA=0;//數據線從高跳變到低
  _asm(nop);
  IIC_SCL=0;//時鐘線低
}
STOP條件: 時鐘線SCL為高電平期間,數據線從低電平跳變到高電平
/*******************************************
I2C STOP信號
時鐘脈沖高電平期間,數據線正跳變
********************************************/
void IIC_stop(void)
{
IIC_SCL=0;//時鐘線低
  _asm(nop);
IIC_SDA=0;//數據線低
  _asm(nop);
IIC_SCL=1; //時鐘線高
  _asm(nop);
IIC_SDA=1;//數據線正跳變
_asm(nop);
IIC_SCL=0;//時鐘線低
}
ACK:確認,由地址匹配成功的從機在第9個脈沖周期內發出,這時主機釋放數據線,從機在時鐘高電平期間將數據線置為低電平。
MMA8451的I2C操作:
主機發送START,緊接著主機給出7位地址(0x1d或0x1c),并置第8位為0,表示數據從主機到從機。從機匹配地址后,返回確認ACK信號,接著主機傳輸8位寄存器地址,從機返回確認ACK。主機再次發出START,并給出7位從機地址,并置第8位為1,表示數據從從機到主機,從機確認后返回8位寄存器數據。主機不確認,并發出STOP。
注意:除了START,STOP,ACK以外,其它數據在時鐘高電平期間必須維持不變。
單個字節讀時序
主機發送八位數據或地址代碼如下(使用IO口模擬)
//*************************************************
//字節發送程序
//發送c(可以是數據也可是地址),送完后接收從應答
//不考慮從應答位
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; //發送1
else IIC_SDA=0;  //發送0
_asm(nop);
IIC_SCL=1;//時鐘高電平
_asm(nop);
IIC_SCL=0;//時鐘低電平
}
_asm(nop);//第9個脈沖
IIC_SDA=1; //發送完8bit,釋放總線準備接收應答位
_asm(nop);
IIC_SCL=1;
_asm(nop); //sda上數據即是從應答位
IIC_SCL=0; //不考慮從應答位,但要控制好時序
}
**注意:發送設備地址時,MMA8451地址為0011100(0x1c,SA0=0)或0011101(0x1d,SA0=1),可將SA0引腳直接接地或接高電平,以接高電平為例,地址為7位,高位在前,地位在后,第8位為數據方向選擇,若后續數據為主機到從機,則為0,若后續數據為從機到主機,則為1。
以單個字節讀為例,地址設為0x1d,見時序圖,START信號過后,則應發送00111010,即0x3A
可先如下定義,#define MMA8451_ADD   0X3A
第二次發送地址,則后續數據為從機到主機,第8位為1,可發送MMA8451_ADD+1即可


多字節讀和單字節讀基本相同,如果讀完單字節后,主機不發送NAK和STOP,并對從機響應AK,則從機設備會自動將主機發送的寄存器地址加1,并發送對應的寄存器內容,直到主機響應NAK和STOP。

主機響應AK或NAK程序代碼如下
//************************************************
//主應答(包含ack:SDA=0和no_ack:SDA=1)
//入口參數:ack_main:1,應答ack,0,無需應答nak
//注:ack:scl高電平期間,數據線低
//    nak:scl高電平期間,數據線高
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;
}

單個字節寫入和單個字節讀略有不同,區別在于發送為寄存器地址后,主機不再重復發送START信號和設備地址,而是直接給出寫入的數據。代碼如下:
多個字節寫和單個字節寫類似,只要主機發送STOP信號,則可以連續寫入,寫入的寄存器地址自動增加。

MMA8451寄存器:
7
6
5
4
3
2
1
0
ASLP_RATE1
ASLP_RATE0
DR2
DR1
DR0
LNOISE
F_READ
ACTIVE
ASLP_RATE[1:0]:設置睡眠模式采樣頻率,默認00
DR[2:0]:數據速率選擇。默認為000,800Hz
DR2
DR1
DR0
數據速率Hz
周期ms
0
0
0
800
1.25
0
0
1
400
2.5
0
1
0
200
5
0
1
1
100
10
1
0
0
50
20
1
0
1
12.5
80
1
1
0
6.25
160
1
1
1
1.56
640
注意:當設備在睡眠模式下,數據輸出速率以ASLP_RATE[1:0]為準,DR設置速率無效。
LNOISE:

7
6
5
4
3
2
1
0
0
0
0
HPF_OUT
0
0
FS1
FS0
HPF_OUT:高通濾波器數據輸出使能。
HPF_OUT=1:使能;
HPF_OUT=0:禁止。
FS1:FS0:XYZ量程設置。
如下表所示:

FS1
FS0
量程
0
0
2g
0
1
4g
1
0
8g
1
1
保留


完整的Word格式文檔51黑下載地址:
MMA8451中文參考資料.doc (264 KB, 下載次數: 27)




作者: admin    時間: 2018-11-1 15:47
好資料,51黑有你更精彩!!!
作者: admin    時間: 2018-11-1 15:47
好資料,51黑有你更精彩!!!
作者: 張福喜    時間: 2018-11-1 19:54
好資料,謝謝分享。
作者: 假期碼頭    時間: 2019-3-3 23:33

好資料,謝謝分享。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美极品在线观看 | 在线成人 | 久草网址 | 欧美13videosex性极品 | 日本一区二区三区免费观看 | 在线观看黄色 | 精品久久久久国产 | 一级毛片成人免费看a | 国产精品成人一区二区 | 欧美极品少妇xxxxⅹ免费视频 | 欧美一级在线观看 | 国产午夜精品久久久久 | 成人福利网 | 欧美日本韩国一区二区三区 | 日韩精品一区二区三区在线播放 | 午夜影视免费片在线观看 | 久久久综合网 | 91精品国产91久久综合桃花 | 我想看国产一级毛片 | 欧美中文字幕一区二区 | 日韩欧美在线播放 | 91免费看片| 久久综合色综合 | 亚洲高清一区二区三区 | 久草新在线 | 欧美成年人 | 免费av手机在线观看 | 成人免费大片黄在线播放 | 99久久精品免费看国产高清 | 精品久久久久久久久久久 | 噜噜噜噜狠狠狠7777视频 | 亚洲欧美在线一区 | 久久久久综合 | 国产玖玖 | 欧美小视频在线观看 | 久久综合久色欧美综合狠狠 | 嫩草研究影院 | 国内精品久久久久 | 三级av在线 | 色婷婷av777 av免费网站在线 | 国产视频久久 |