I just stumbled upon the same problem.
I also want to use an AFE4400.
But the main problem is: Where to get the calibration data from?
I know, that the Nellcor Oximax Sensor do have an additional EEPROM in the sensor plug. And in this EEPROM, there's the complete calibration look-up table for this sensor.
But I have no idea, what protocol/pins are used for this data.
Anyone any idea? I couldn't find any info about this on the net.
I already read that document, but thanks for the link anyways.
As said, the basic principle is clear to me and no real problem. The only problem is how to read and interpret the calibration data from such a sensor?
I have not much hope anyone knows that in here. But maybe...
The problem is, to be accurate, every sensor has to be calibrated individually, as due to small tolerances during the LED production the spectral density of the LEDs has some slight variations.
Usually this is no problem, but for this application it is. Therefore the manufacturer measures every sensor and then stores the indivudual needed calibration data into the sensor.
Like that it also doesn't matter what spectral distribution the LEDs have. They can even have emissions on several different bands. The only thing needed is the corresponding calibration data, and then you're fine.
I think this is a market, like BGM, where the machines are not too expensive, and the real money comes from the probes.
The older Nellcor probes seemed to work OK without the EEPROM.
And as I understand the principle the light intensity is not relevant for the R/IR calibration. You just want to have the light as bright as possible to have a better signal compared to noise and ambient. And then to adjust the LEDs intensity so as that they get about the same response. Then you anyway normalize the AC from the DC content and then calculate the R/IR ratio.
However, you do need to calibrate their relative outputs accurately.
Interesting threat.
I also try to make a HR and SPO2 monitoring. I have all the hardware and I can plot the graphs of the IR and RED leds. Everything is good so far but HOW DO I DO the calculations inside a low-power microcontroller. In TI's SLAA274B there is a band-pass filter, zero-crossings (I thing the block diagram is wrong - zero crossing should be done after the BP filtering) and RMS calculations. All of these are too hard to make in a MSP430. That's why in all these App notes they send the data to a PC and the PC makes the calculations.
So, I'm stuck at this points. Any suggestions from you guys?
Cheers!
93 20 18 FF 0 0 60 51
Where 0x51 was confirmed by the OneWire.crc8() function to be correct.Data is[0000h]: DE E0 E4 64 60 62 60 A8 B2 86 0 2 2 3 4 4 1 FE 7 2 FF 2F 34 9 4 8B C8 E 7F 69 D4 21
Data is[0020h]: 92 31 2C C2 78 3D 30 D6 A2 69 2F 93 FF B5 CC EB B8 D6 A2 23 AB A5 B6 F5 6B 55 30 B0 BF A5 E1 76
Data is[0040h]: C0 C7 3E 9D 21 80 DE ED 43 7D B8 2B 9 F3 21 20 B 9A E6 C6 3E A7 C0 17 CA 14 EF 3A 5F CF ED DC
Data is[0060h]: C9 5E 50 EE 3 7E 68 B8 1E 15 65 C8 E8 7A ED D6 17 47 76 AE 40 C2 A6 2 BD 84 74 4 50 C 1A E
Data is[0080h]: 2 7 80 A7 86 FE 2C 92 64 96 9A AA 97 4B CC DB 5C DD 44 A2 41 4C 69 27 71 FF FF FF FF FF FF FF
Data is[00A0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[00C0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[00E0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[0100h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[0120h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[0140h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[0160h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[0180h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[01A0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[01C0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data is[01E0h]: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 3 0 0 FE FF FF FF FF FF 19 0 0 FE FF FF FF FF
Data is[0000h]: Calculated CRC8:8D
Data is[0000h]: DS250x -> CRC8:87
Data is[0020h]: Calculated CRC8:4C
Data is[0020h]: DS250x -> CRC8:21
Data is[0040h]: Calculated CRC8:16
Data is[0040h]: DS250x -> CRC8:77
Data is[0060h]: Calculated CRC8:D7
Data is[0060h]: DS250x -> CRC8:DD
Data is[0080h]: Calculated CRC8:A2
Data is[0080h]: DS250x -> CRC8:F
Data is[00A0h]: Calculated CRC8:63
Data is[00A0h]: DS250x -> CRC8:FF
Data is[00C0h]: Calculated CRC8:39
Data is[00C0h]: DS250x -> CRC8:FF
Data is[00E0h]: Calculated CRC8:F8
Data is[00E0h]: DS250x -> CRC8:FF
Data is[0100h]: Calculated CRC:D3
Data is[0100h]: DS250x -> CRC:FF
Data is[0120h]: Calculated CRC:12
Data is[0120h]: DS250x -> CRC:FF
Data is[0140h]: Calculated CRC:48
Data is[0140h]: DS250x -> CRC:FF
Data is[0160h]: Calculated CRC:89
Data is[0160h]: DS250x -> CRC:FF
Data is[0180h]: Calculated CRC:FC
Data is[0180h]: DS250x -> CRC:FF
Data is[01A0h]: Calculated CRC:3D
Data is[01A0h]: DS250x -> CRC:FF
Data is[01C0h]: Calculated CRC:67
Data is[01C0h]: DS250x -> CRC:FF
Data is[01E0h]: Calculated CRC:A6
Data is[01E0h]: DS250x -> CRC:FF
Would the same be true for let's say Ti's AFE4490 based project? Or there will be additional steps required?