/**********************************************************************************************/ FIFO Write Pointer
The FIFO write pointer points to the location where the MAX30100 writes the next sample. //FIFO写指针 指向MAX30100写下一个样品的位置 This pointer advances for each sample pushed on to the FIFO. //这个指针向前 将每个样品推入FIFO中 It can also be changed through the I2C interface when MODE[2:0] is nonzero. //当模式[2:0]不为0时,它也能够通过I2C接口而被修改
/**********************************************************************************************/ FIFO Overflow Counter When the FIFO is full, samples are not pushed on to the FIFO, samples are lost. //当FIFO满时,样品不再被推入FIFO,样品此时丢失 OVF_COUNTER counts the number of samples lost. It saturates at 0xF. //OVF_COUNTER会计数样品丢失的数量,到达0xF时 将饱和 When a complete sample is popped from the FIFO (when the read pointer advances), //当一个完整的样品从FIFO被捕获时(即当读指针向前时) OVF_COUNTER is reset to zero. //OVF_COUNTER被重置为0
/**********************************************************************************************/ FIFO Read Pointer The FIFO read pointer points to the location from where the processor gets the next sample
//FIFO读指针 指向处理器获得下一个FIFO通过I2C接口得到的样品的位置 from the FIFO via the I2C interface. This advances each time a sample is popped from the FIFO.
//这个指针向前 当每次从FIFO捕获一个样品时 The processor can also write to this pointer after reading the samples, //如果存在一个数据交流错误 处理器 将允许从FIFO重读样品 并在读样品之后 也能够写入这个指针 which would allow rereading samples from the FIFO if there is a data communication error.
/**********************************************************************************************/ FIFO Data The circular FIFO depth is 16 and can hold up to 16 samples of SpO2 channel data (Red and IR).
//这个供读取的FIFO深度为16,并且能够保存16个血氧饱和度通道数据样品(红光与红外) The FIFO_DATA register in the I2C register map points to the next sample to be read from the FIFO.
//在I2C寄存器表中的FIFO_DATA寄存器指向下一个能够在FIFO中读取的样品 FIFO_RD_PTR points to this sample. //FIFO_RD_PTR指向这个样品 Reading FIFO_DATA register does not automatically increment the register address; //读FIFO_DATA寄存器时不会自动增加寄存器地址 burst reading this register reads the same address over and over. //突发读取这个寄存器只会重复读同一个地址 Each sample is 4 bytes of data, so this register has to be read 4 times to get one sample. //每个样品是4字节的数据,所以合格寄存器必须读4次才能得到一个样品 The above registers can all be written and read, but in practice, //在这之前的寄存器 都能够被写和读,当在实践中 only the FIFO_RD_PTR register should be written to in operation. //只有FIFO_RD_PTR寄存器自能在操作中被写 The others are automatically incremented or filled with data by the MAX30100. When starting a new SpO2
//其他的寄存器会自动自增或者通过MAX30100填满数据 当开始一个新的血氧饱和度 or heart-rate conversion, it is recommended to first clear the FIFO_WR_PTR, OVF_COUNTER,
//或者心率转化时,它会被重新命令 先清空FIFO_WR_PTR,OVF_COUNTER and FIFO_RD_PTR registers to all zeros (0x00) to ensure the FIFO is empty and in a known state.
//和FIFO_RD_PTR寄存器为0(0x00)来确认FIFO为空 并处于已知状态 When reading the MAX30100 registers in one burst-read I2C transaction,
//在一次突发读取的I2C交易中 读取MAX30100寄存器时 the register address pointer typically increments so that the next byte of data sent is from //寄存器地址指针典型自增 以至于下一字节是从下个寄存器传来的,等等 the next register, etc. The exception to this is the FIFO data register, register 0x05. //这个例外是对于 这是FIFO data寄存器,即寄存器0x05 而言 When reading this register, the address pointer does not increment, but the FIFO_RD_PTR does.
//当读取这个寄存器时,地址指针不会自增,但FIFO_RD_PTR寄存器地址指针会 So the next byte of data sent will represent the next byte of data available in the FIFO. //所以 下个数据的字节的传送 将替代FIFO中下个现有的数据的字节
/**********************************************************************************************/ Reading from the FIFO Normally, reading registers from the I2C interface autoincrements the register address pointer,
//通常,从I2C接口读取寄存器时会自增这个寄存器的地址指针 so that all the registers can be read in a burst read without an I2C restart event. //所以,所有的寄存器 都能够在没有I2C重启事件时 被一个突发读指令读取 In the MAX30100, this holds true for all registers except for the FIFO_DATA register (0x05). //在MAX30100中,这适用于除了FIFO_DATA寄存器(0x05)的所有寄存器 Reading the FIFO_DATA register does not automatically increment the register address; //读FIFO_DATA寄存器是不会自动增加该寄存器的地址 burst reading this register reads the same address over and over. Each sample is 4 bytes of data,
//突发读取 只会重复读取这个寄存器的同一个地址 每个样品是一个4字节的数据 so this register has to be read 4 times to get one sample. //所以这个寄存器必须被读取4次 才能得到一个样品 The other exception is 0xFF, reading more bytes after the 0xFF register does not advance //另外一个例外是0xFF,在0xFF寄存器之后读取多个字节 the address pointer back to 0x00, and the data read is not meaningful. //不会让它的地址向前 而回到0x00 并且读到的数据 也是没有意义的
/**********************************************************************************************/ FIFO Data Structure The data FIFO consists of a 16-sample memory bank that stores both IR and RED ADC data.
//数据FIFO由一个 可存16个 红外和红光LED的ADC数据样品 的存储银行 组成 Since each sample consists of one IR word and one RED word, there are 4 bytes of data for each sample,
//因此每个样品都由一个 红外字(word)和一个红光字(word)组成,而每个数据有四字节 and therefore, 64 total bytes of data can be stored in the FIFO. //因此,在FIFO中,可存储总共64个字节的数据 Figure 2 shows the structure of the FIFO graphically. //表2 展示了FIFO的结构
The FIFO data is left-justified as shown in Table 1; //FIFO数据如表1所展示的那样,是向左对齐的 i.e. the MSB bit is always in the bit 15 position regardless of ADC resolution.
//如例,无论ADC的分辨率如何,MSB位总是在第15位 Each data sample consists of an IR and a red data word (2 registers),
//每个样品都由一个 红外字(word)和一个红光字(word)组成,(两个寄存器)
【2018年整理】MAX30100心率芯片英文手册关似键部分中文手工翻译



