FPGA用于自动控制

本文介绍了使用FPGA设计自动控制系统的经验,通过Vivado和Vitis平台,结合双通道ADC和DAC,实现了数据输入输出、底层计算以及通过DMA进行数据交换。在软件层面,利用C语言在Vitis上开发了三核CPU,分别处理数据输出和串口指令,形成完整的控制环路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不久前使用FPGA设计了一个自动控制系统,我的首篇博客记录下该工作的主要思路。

使用的FPGA开发板提供了可编程逻辑(PL)端和信号处理系统(PS)端,分别执行硬件和软件编辑功能,其基本架构如图所示。双通道ADC和DAC直接通过扩展槽与开发板相连,执行数据输入输出,在PL端完成底层计算,并通过直接内存获取(DMA)将PL端数据(ADC data、DAC data)送入PS端,最终转换为数据直接输出(mini DP)及串口控制指令输出(RS 485)。PL与PS端分别基于Vivado和Vitis进行开发。

工程环境的设计参考了Alinx提供的《DMA使用之ADC示波器》、《PL端RS485测试》两个工程。首先在Vivado平台完成了硬件部分,设计好的框架如图所示,输入端口主要是ADC/DAC数据、串口接收端及采样时钟,输出端口为串口发送端及使能端。这样即打通了硬件与软件交互的桥梁,使得软件编程成为可能。

在Vitis平台上使用C语言完成后续软件功能的设计,依功能需求开发了三核CPU,一个用于完成ADC/DAC数据的直接输出,通过外接显示屏展示,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值