搜索
bottom↓
回复: 8

FPGA做AD采样,这种情况如何编程?

[复制链接]

出0入0汤圆

发表于 2013-7-29 09:58:46 | 显示全部楼层 |阅读模式
通过译码来选通要采样的模拟量,比如有6路选通、即有六路模拟量;这样的话,需采样六次才能将所有模拟量采完,然后分别处理这六个量。
如果采样一路的话,感觉好处理一些,循环采样六路,应该如何用verilog HDL来写?
之前觉得AD采样一次本身可以用一个状态机,但是外面还有六个选通的大状态,不知道怎么处理。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入442汤圆

发表于 2013-7-29 10:50:30 | 显示全部楼层
选通用一个3-8译码部分实现。

出0入0汤圆

发表于 2013-7-29 11:05:52 | 显示全部楼层
本帖最后由 linjpxt 于 2013-7-29 11:12 编辑

写个大概的思路,
ADC 不管有多少通道都是一样的处理流程,只是多了个通道选择跟数据存放上的区别
通道选择模块不管ADC,只管在通道序号有变化时,使能相应的通路.

always @ ( clk )
begin
     case (ad_sta)      
        0:  // 采样 ,等待 然后再转换 ad_sta<=ad_sta+1;
        xx:  // 转换...  ad_sta<=ad_sta+1;
        ...:   // 数据及处理 ...
        xx:  // chn<=chn+1; ad_sta<=0;
     endcase
end

always @ (chn)
       case (chn)
         xx: 选通通道 1
         ...
        endcase

出0入0汤圆

发表于 2013-7-29 12:15:38 | 显示全部楼层
我不怎么喜欢复用状态机,直接输入六路采样,而且比较好控制,前提是充足的话

出0入0汤圆

 楼主| 发表于 2013-7-29 21:30:53 | 显示全部楼层
linjpxt 发表于 2013-7-29 11:05
写个大概的思路,
ADC 不管有多少通道都是一样的处理流程,只是多了个通道选择跟数据存放上的区别
通道选择模 ...

如何将采集得到的数据对应到所选的通道呢?

出0入0汤圆

 楼主| 发表于 2013-7-29 21:32:32 | 显示全部楼层
wye11083 发表于 2013-7-29 10:50
选通用一个3-8译码部分实现。

这个直接用FPGA来做就行,我是想知道如何通过选通利用一个AD芯片来顺序采集六个通道的模拟量。程序该怎么写比较好?

出0入0汤圆

发表于 2013-7-29 21:37:01 | 显示全部楼层
小状态机嵌套在大状态机里面,用握手信号交互。

出0入0汤圆

发表于 2013-7-30 09:28:03 | 显示全部楼层
asnowgober 发表于 2013-7-29 21:30
如何将采集得到的数据对应到所选的通道呢?

这个就更多的方法了,比如分配一个N的数组,然后外面直接来读,或是直接就N路全部输出,外面要用哪个选哪个之类的.或是用FIFO之类的.

出0入0汤圆

发表于 2013-8-1 13:31:46 | 显示全部楼层
设计一个模块,功能是各个通道的轮询切换,状态机表示。用信号线触发采样AD采样模块进行采样,同时根据第一个模块切换通道缓存
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 03:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表