FreeEEG32-32通道同步ADC生物电采集系统
这两天有很多老师,研究所,以及厂家对这个采集系统感兴趣。然后问了很多细节的问题,这里就尝试回复一下。
噪音取决于很多的因素(尤其是 layout,关键信号线上面有没有别的信号线跨过,电源干净不干净),首先是这里使用了一颗参考源(2.5V):
高精度 ADC必须使用
典型的参数
512 SPS 时短路通道噪声为 0.2 uV RMS:(平均小于0.25uV)
0.2 uV 表示在短路通道上测得的噪声电压的有效值为0.2u 伏。有效值是一种表示交流信号强度的常用方法,它相当于一个大小相等的直流信号产生的相同热效应。
RMS noise:
RMS是Root Mean Square的缩写,即均方根值。
在电子测量中,RMS噪声表示噪声信号的有效值,也就是噪声信号的平均功率。
on shorted channels:
指在通道短路的情况下测得的噪声。短路通道意味着通道两端直接连接,没有信号输入。这种情况下测得的噪声主要来自系统本身,包括电源噪声、电路噪声等。
系统使用LDO5V供电,然后级联了3V3,也就是0~2.5V的量程。
然后也可以差分测量,但是需要参考
外部参考只要接+就好了
这样接
另外如果是外部的REF想差分检测的话,就需要2组REF才可以,是耗费器件的。
量化级 = 5V / 2^24 ≈ 5.96e-8 V ≈ 59.6 nV 理论检测精度(最小)
脑电的幅值区间一般为5 μV ~100μV(电极置于大脑皮层上)。
然后没有加ESD,然后ADC内部有个ESD,2KV的.
ADC的选择上面,这三个的驱动是一样的,看可以通过不同的芯片获得不一样的采样率
输出是使用的USB_HS
全局中断打开
USB只要由USB_DM和USB_DP两根线差分传输。OTG_ID线用来判断为主设备或时从设备的,作为OTG设备的时候使用。
48Mhz
可以被识别为USB
在代码里面是同步的使用
这个USB是第一次使用,感觉有点好用捏
就有两个参数就可以了
存储 ADC 数据: datas
二维数组用于存储多个 ADC 通道的采样数据。
记录数据信息: start
和 end
可能用于标记数据块的起始和结束位置,counter
可能用于记录数据采集的次数。
作为 DMA 缓冲区: ovdata
被强制转换为 DMA_BUFFER
,参与 DMA 传输,用于高效地传输 ADC 数据。
这个就大家关心的数据打包问题,这里也就解释了。
这个就是写一个简短的解码程序
SD卡是使用的SDMMC接口
ADC全部使用SPI,然后还有一个是做IMU的
内部外设都使用DMA来传输
就像标题一样,多通道,小信号满足很多的场景:
https://www.waveshare.net/study/article-664-1.html
https://www.analog.com/media/en/technical-documentation/application-notes/AN-1393.pdf
https://www.analog.com/en/products/ad7779.html#part-ecosystem
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
https://www.analog.com/media/en/technical-documentation/user-guides/EVAL-AD7770FMCZ-7771FMCZ-7779FMCZ-UG-884.pdf
https://www.analog.com/en/products/adr4525.html#part-details
https://www.analog.com/en/parametricsearch/10994#/p0=AD777