|
▍AD采集崩溃瞬间 大家好,我是发际线守护者!最近在技术群里潜水时,看到一位兄弟吐槽:
“**让我用ARM跑Linux系统,采集8路高速AD数据,还要在Qt界面实时显示波形。结果系统一卡,数据就直接丢失了,波形还乱跳!”
原本,Linux属于通用操作系统,天生就不是为硬实时而生的。想让它直接硬刚多通道高速AD数据采集,通常只有两个结果:波形卡成PPT,或数据疯狂丢包。
说到底,问题根源很简单:让一个负责“**”角色的操作系统,去干“流水线工人”的精细活,本身就是“反人类”设计。
今天给大家分享一个我实测过很稳的方案——全志T153 + FPGA的多通道高速AD数据采集。ARM + RISC-V架构的T153,能通过自带的高速并口Local Bus与低成本FPGA直连,轻轻松松就把8路高速AD数据采集处理做到了“又快又稳”。
▍国产破局方案FPGA端 国产FPGA紫光同创Logos PGL25G负责采集8路高速AD数据,然后存入FIFO,并触发中断将8通道200KSPS的AD数据,送到国产ARM处理器T153的高速并口Local Bus。AD是核芯互联国产芯片CL1606,和进口AD芯片做到了pin to pin,软硬件都兼容。
RISC-V端 T153的RISC-V核心运行FreeRTOS系统实现硬实时,然后通过高速并口Local Bus读取AD数据。当AD数据攒够16384Byte,它就像快递员一样,通过rpmsg协议打包并传输给T153的ARM核心。
ARM端 ARM核心收到数据后,将数据转换为电压值,通过Qt实时显示8路波形至HDMI显示屏。
一句话总结:FPGA负责“采”,RISC-V负责“搬”,ARM负责“画”。各干各的,互不打扰,工程师的发际线成功保住!
▍灵活配置并口Local Bus全志T153处理器的Local Bus是一种高速并行总线,具备低延迟、高带宽、时序简单三大核心优势,非常适合处理器与低成本FPGA、高速ADC等外设之间进行高速数据交互。 全志T153处理器的高速并口Local Bus,支持8/16/32bit位宽灵活配置,最高速度可达150MHz,可为FPGA与RISC-V之间提供高速、稳定的数据传输,有效解决传统总线带宽不足、传输卡顿的问题。
|