现在有一些ADC转换芯片,比如AD7767使用SPI通讯,然后采样率能达到128kSPS,ADC转换完成的时候就有DRDY信号出来,但是这么高的速度显然不能使用中断去触发然后读取有效数据,这样中断频率太高了。就算使用速率低点的 ADS1282之类的最大也有4kSPS,中断一次时间250us。也需要很频繁了。对于这种类型的芯片的使用是怎么个处理方式?
离线
dma
离线
通过DRDY连接到IO触发DMA?
离线
真想全部要这些采样数据就不能直接I/O中断处理,可采用电路移入RAM中,MCU需要数据时DMA进入再使用,可参考示波器原理,那采样率都是几百M或者G。
离线
真想全部要这些采样数据就不能直接I/O中断处理,可采用电路移入RAM中,MCU需要数据时DMA进入再使用,可参考示波器原理,那采样率都是几百M或者G。
这种得用啥FPGA来做才行吧?有没有那种就是一些小MCU。比如STM32F4呀F103之类的。这些ram基本都是没有多大的128或者256K的样子了。像这种MCU去读取这个100ksps(假设24bit adc)那么一秒钟ram就得消耗100*3k=300k的RAM了。这应该挺难用了。我看淘宝有人搞出来卖也不知都真假。
https://item.taobao.com/item.htm?spm=a230r.1.14.18.773d2671XVWypm&id=557687584365&ns=1&abbucket=8#detail
离线
ADS1282 这种每秒100多次中断,怎么会处理不过来
离线
ADS1282 这种每秒100多次中断,怎么会处理不过来
哪里你怕不是整了个速率最低的吧。他手册写的是250sps dao 4ksps 就算250最低的也是4ms中断一次。要是4K的话就是250us中断一次了。整个4k到时候采集然后还要合成24bit的ADC估计差不多就一直在中断了。何况还得保存一下。低配stm32跑起来都有点吃力的样子了。
离线