標題: 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三軸對應的重力輸出
典型連接
引腳定義如下:
靈敏度由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寄存器:
- 狀態寄存器STATUS/F_STATUS 地址0x00
- 控制寄存器CTRL_REG1,地址0x2a
ASLP_RATE[1:0]:設置睡眠模式采樣頻率,默認00
DR[2:0]:數據速率選擇。默認為000,800Hz
注意:當設備在睡眠模式下,數據輸出速率以ASLP_RATE[1:0]為準,DR設置速率無效。
LNOISE:
- XYZ數據設置寄存器XYZ_DATA_CFG,地址0x0e
HPF_OUT:高通濾波器數據輸出使能。
HPF_OUT=1:使能;
HPF_OUT=0:禁止。
FS1:FS0:XYZ量程設置。
如下表所示:
完整的Word格式文檔51黑下載地址:
作者: 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免费网站在线
|
国产视频久久
|