Max30100 可穿戴光電式的血氧心率傳感器IC 總體描述: Max30100是一款集成的脈搏血氧和心率檢測傳感器。它使用了兩個LED燈,一個用來優化光學的光電探測器,和低噪聲模擬信號處理器,用來檢測脈搏的血氧和心率信號。 Max30100的運行電壓在1.8V到3.3V之間,并且可以通過軟件來控制,待機電流極小,可以忽略不計,這樣可以使電源在如何時候都能保持連接狀態。
應用:
Benefts和功能 集成的LED,照片傳感器和高性能模擬面前端小x 2.8毫米2.8毫米5.6毫米14-Pin光學增強System-in-Package - 超低功耗操作增加電池壽命,可穿戴設備可編程采樣率和當前電力儲蓄超低關閉當前(0.7,typ)
- 先進的功能提高了測量性能的高SNR提供了健壯的運動工件彈性集成環境光消除高采樣率能力快速數據輸出能力
Table1 寄存器圖表及其描述 詳細描述: 1、中斷狀態寄存器(基地址0x00) 總共有5個中斷狀態,每個中斷狀態控制都是一樣的:高電平的相關中斷使能,直到中斷被清除,中斷才停止。 無論什么時候,只要中斷寄存器被讀或者中斷寄存器被觸發,中斷都會被清除。例如:如果SpO2傳感器被觸發當轉換完成,讀到FIFO的數據寄存器或者中斷引腳的中斷寄存器被清除,中斷狀態寄存器會被清除,中斷寄存器為0. - 、Bit7:FIFO數據填滿了的標志(A_FULL)
在SpO2和心率的模式下,當FIFO的寫指針和讀指針都被減去一時就會被觸發,這也是說明FIFO只有一個數字沒有填滿。如果FIFO的數據在下一個轉換之前沒有被讀出,那么FIFO的數據就會丟失。 當內部溫度傳感器的數據轉換完成,這個中斷就會被觸發,此時處理器就可以讀溫度的數據寄存器了。 在心率或者SpO2模式下,當每個數據都被搜集后,這個中斷就會被觸發。一個心率數據只是由一個紅外(IR)數據組成。當FIFO數據寄存器被讀后,這個中斷就會被自動的觸發。 - 、Bit4:SpO2數據完成標志位(SPO2_RDY)
在SpO2的模式下,當每次的數據都被轉換完成這個中斷就會被觸發。一個SpO2的數據由一個紅外(IR)和一個紅光的點組成。當FIFO數據寄存器被讀后,這個中斷就會被自動的觸發。 省略 在開機或者低功耗狀態下,當電源電壓在過低鎖定(UVLO)之下或者之上,控制器(IC)開機并且數據收集完成,這個中斷就會被觸發。 2、中斷使能寄存器(基地址0x01) 在MAX30100 IC里,每一個硬件中斷的來源都可以使用軟件寄存器來控制其不使能狀態,除了電源準備完成中斷。開機中斷不能被打斷,因為在MAX30100復位時,默認狀態下是不使能的。 當中斷使能位被設置成0的時候,相應的中斷在其寄存器中是1(上一個介紹),但是INT引腳不是低電平(相反電平)。(B3:B0設置為0)
3、FIFO寄存器(基地址 0x02—0x05)  ①、FIFO寫指針寄存器(FIFO Write Pointer)(FIFO_WR_PTR基地址 0x02) FIFO寫指針指向MAX30100寫的下一個數據或命令的位置。這個指針把每一個數據或者命令放進FIFO中。當 MOD[2:0]被設置的時候,也可以通過IIC總線的方式進行改變。 ②、FIFO溢出計數器寄存器(OVF_COUNTER基地址 0x03) 當FIFO寄存器的數據記滿數據,采樣的數據將溢出FIFO寄存器,并且數據將會丟失。OVF_COUNTER 會保存溢出的數據。保存在0xF中。當所有的數據從FIFO中取出,OVF_COUNTER就會被置零。 ③、FIFO 讀指針寄存器(FIFO_RD_PTR基地址 0x04) FIFO讀指針指向處理器通過IIC總線從FIFO通道獲取的下一個數據。每次只從FIFO取出一個數據。當在讀數據的時候,控制器也可以使用這個寄存器來寫命令或者數據到FIFO中,如果FIFO的數據傳輸出現錯誤,也可以重新從其讀出樣本。 ④、FIFO數據寄存器(FIFO_DATA基地址 0x05) 循環的FIFO是16位的數據存儲,能夠存儲16個SPO2通道數據(Red 和 IR)。FIFO_DATA寄存器在IIC寄存器的映射下指向從FIFO中讀出的下一個數據。FIFO_RD_PTR(FIFO讀數據指針)指向這個數據。FIFO_DATA寄存器不會自動增加其地址值,因此會反復讀取這個地址的數據。每一個樣本是4字節的數據,因此得到一個樣本需要讀取4次的FIFO_DATA寄存器。理論上上面的所有寄存器都可以進行讀取或者寫入數據,但是在實際上,只有FIFO_RD_PTR寄存器才可以進行寫入操作。其他的寄存器的數據只能自動增加或者由MAX30100進行填充(填滿)。當開始一個新的SPO2或者心率轉換,我們希望FIFO_RD_PTR、OVF_COUNTE、FIFO_WR_PTR寄存器能夠被清零,以確保FIFO是空并且是已知的狀態。當從IIC讀取MAX30100寄存器時,地址指針寄存器就會自動的增加,那么讀取的字節就是下一個寄存器發送的。FIFO_DATA寄存器不是這樣的,他的指針不會增加。在FIFO數據寄存器中下一個被發送的數據就是下一個可用的數據。
正常情況下,在一個IIC總線數據傳輸事件中,因為寄存器地址可用自動增加,所以一次數據傳輸可用讀取所有的寄存器。除了FIFO_DATA寄存器,其他的都可以這樣讀取。地址0xFF寄存器的數據沒有意義。 FIFO的數據存儲器由16個IR和RED的ADC數據樣本存儲塊組成。每一個樣本由一個IR字和一個RED字,總共有4個這樣的字節數據組成。因此FIFO數據由4*16=64字節的數據組成。 每一個樣本數據由一個IR和一個RED數據字(2個寄存器)組成,因此每次讀取一個樣本,需要4個IIC字節數據讀一行。當4字節樣本被讀取完畢,FIFO的讀指針就會自動增加。 在心率模式下,每個樣本的第3和第4字節會被置0,但是其他的FIFO配置都是一樣的。
從FIFO讀取數據的例子,偽代碼: 第一步:得到FIFO_RD_PTR 開始; 發送器件地址 + 寫 模式 發送 FIFO_RD_PTR(地址0x04); 再次啟動開始; 發送器件地址 + 讀 模式 讀 FIFO_WR_PTR (地址0x03); 停止; 主控制器檢查從FIFO中讀取的樣本: NUM_AVAILABLE_SAMPLES = FIFO_WR_PTR – FIFO_RD_PTR(應該考慮到指針包的問題) NUM_SAMPLES_TO_READ = < NUM_AVAILABLE_SAMPLES 第二步:從FIFO讀取 NUM_SAMPLES_TO_READ 的樣本: 開始; 發送器件地址 + 寫 模式 發送 FIFO_DATA 地址(0x05); 重新開始; 發送器件地址 + 寫 模式 for( i = 0 ;i< NUM_SAMPLES_TO_READ;i++) { 讀 FIFO_DATA; 保存 IR[15:8]; 讀 FIFO_DATA; 保存 IR[7:0]; 讀 FIFO_DATA; 保存 R[15:8]; 讀 FIFO_DATA; 保存 R[15:8]; } 停止; 第三步:寫FIFO_RD_PTR寄存器。如果第二步成功了,在FIFO中的FIFO_RD_PTR指針就會指向下一個樣本,那么第三步就不是特別重要了。否則控制器適當的刷新FIFO_RD_PTR寄存器,因此這個樣本就是重新讀取。 開始; 發送器件地址 + 寫 模式 發送FIFO_RD_PTR寄存器地址(0x04); 寫FIFO_RD_PTR; 停止; 把這一位置為 1,就會設置成省電模式。當是設置成省電模式時,所有的寄存器都會保存他們當前的值,并且其讀寫功能正常。在這個模式下所有的中斷都是被清除。 當這一位被置為1,所有的配置、閥閾值及數據寄存器都會被復位到上電狀態。唯一的例外是,當溫度數據寄存器0x16和0x17沒有被清除時,并且RESET和TEMP_EN都被置1,聲明的情況不會發生。當復位完成之后RESET位會被自動置為0. 當初始化單次溫度數據從溫度傳感器讀出來之后,這一位就會被清除。在SPO2或者心率模式下,和上面一樣。 - Bit6:高分辨率采樣使能SpO2(SPO2_HI_RES_EN)
這位設置為1,SpO2的ADC就會設置成16位采樣,LED脈沖為1.6ms(頻率625Hz) - Bit5:復位,默認設置為0
- Bit4:2 :SpO2采樣率設置
這一位被定義為有效掃描率控制,一個掃描由一個IR脈沖/轉換和一個RED轉換組成。 采樣率和脈沖寬度是相關的,樣本速率在脈沖寬度的時間內設置一個上界。如果用戶選擇的樣本率對于選定的ledpw設置來說太高了,那么可能的最高樣本率將被編入寄存器中。 這些位設置了LED脈沖寬度(IR和紅色具有相同的脈沖寬度),因此間接地設置了每個樣本中ADC的集成時間。ADC的分辨率與集成時間直接相關。 這一位設置紅色LED的電流大小(等級)。 這一位設置紅外LED的電流大小(等級)。 ADC采樣的溫度數值被分為兩個部分,一個是整數部分,一個是分數部分。下面是其計算公式。 整數部分以二進制補碼的形式存放在整數寄存器中(0x16) 小數部分的數據以0.0625℃(1/16步進)
以上的Word格式中文翻譯文檔51黑下載地址:
max30100.docx
(807.93 KB, 下載次數: 294)
2018-9-25 20:17 上傳
點擊文件名下載附件
max30100寄存器翻譯 下載積分: 黑幣 -5
|