2994|4

74

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

BB方案进展2(基于BB及FPGA的高速数据采集及DDS信号发生) [复制链接]

本帖最后由 黑非拉 于 2014-6-4 12:03 编辑

DDS信号发生:
(1)DDS的基本原理(主要摘自从零开始走进FPGA世界):
DDS 是重要的频率合成方法,在波形发生器中有极其重要的应用。
DDS 主要由以下几部分组成:a) 相位累加器 b) RAM 数据读 c) D/A 转换器 d)
低通滤波器图1为直接频率合成法的流程图,有固定模块,输入频率控制器,输出固定频率的波形。
其中最主要模块是相位累加器,通过相位累加器循环计数,循环读取 RAM 的数据,从而得到固定频率的波形数据。
相位累加原理流程如图2所示,输入频率控制字,根据算法,来实现相位的变化。
Fout=Fclk*K/2^N,
Fout为输出频率,Fclk为时钟频率,K为频率控制字,N为累加器计数器位数。
(2)生成扫描一个圆轮廓的XY控制信号
对应圆的参数方程:x=x0+r*cos(t)y=y0+r*sin(t)t=2*pi*i/1024,i=0,1,2,…,1023
其中x0,y0对应DAC输出0v时的数字量,r对应DAC输出4v(4v与扫描范围相关)时的数字量。
BeagleBone将计算的数字量通过GPMC接口写进FPGA的RAM里,DDS调整频率和相位生成如图3所示的两路控制信号。
(3)生成扫描一个面圆的XY控制信号
在(2)的基础上扫描完一个圆轮廓接着扫描另一个圆轮廓,一个周期圆的半径r由小变大再由大变小,控制信号如图4、图5所示。
两种方法:
一、由BB软件事先计算好所有需要扫描的圆轮廓的矢量点对应的控制电压数字量,写进FPGA的RAM存储器中,FPGA遍历一遍RAM存储器就会来回扫描一个面圆,这种方法的好处是半径大的圆轮廓矢量点可以取得多点,而半径小的圆轮廓矢量点相对可以取得少点,比较灵活,但限于RAM存储器的容量,矢量点的个数有限,因而面圆包含的圆轮廓个数受限,但这个问题可以通过采用大容量RAM存储器的FPGA或采用外部大容量RAM得以解决,而且这种方法对任意形状的扫描区域都适用。
二、BB软件事先只计算一个圆轮廓的矢量点对应的控制电压数字量,写进FPGA的RAM存储器中,FPGA在每次遍历RAM存储器之前都会采用乘法除法运算计算圆轮廓的半径,调整控制电压数字量,这种方法一个面圆包含的圆轮廓的个数不会因为RAM存储器的容量受到限制,但这种方法大小圆轮廓取的矢量点的个数都是一样的,而且不适合任意形状的扫描区域或扫描轨迹。
本方案采用方法一。

下面上传部分BB软件的源码。
(1)附件一 基于TCP/IP的网络通信程序,用于BB与上位机PC的通信,BB端作为服务器端,PC端作为客户端,支持多客户端连接,支持断开重连,已经调试过。
(2)关于BB与FPGA的通信,参考:https://bbs.eeworld.com.cn/thread-421181-1-1.html

图1:直接频率合成法的流程图.PNG (84.96 KB, 下载次数: 0)

图1:直接频率合成法的流程图

图1:直接频率合成法的流程图

图2:相位累加原理流程.PNG (68.11 KB, 下载次数: 0)

图2:相位累加原理流程

图2:相位累加原理流程

图3:扫描一个圆轮廓的XY控制信号.PNG (94.69 KB, 下载次数: 0)

图3:扫描一个圆轮廓的XY控制信号

图3:扫描一个圆轮廓的XY控制信号

图4:扫描一个面圆的XY控制信号1.PNG (127.31 KB, 下载次数: 0)

图4:扫描一个面圆的XY控制信号1

图4:扫描一个面圆的XY控制信号1

图5:扫描一个面圆的XY控制信号2.PNG (87.08 KB, 下载次数: 0)

图5:扫描一个面圆的XY控制信号2

图5:扫描一个面圆的XY控制信号2

ethernet.zip

2.26 KB, 下载次数: 12

附件1:基于TCP/IP的网络通信程序BB端源码

最新回复

过来看看~~~~~~~  详情 回复 发表于 2014-6-4 16:50
点赞 关注(1)
 

回复
举报

774

帖子

2

TA的资源

纯净的硅(中级)

沙发
 
高端啊
 
 

回复

1173

帖子

3

TA的资源

五彩晶圆(初级)

板凳
 
楼主你好,请教一下你FPGA与AM335X接口通信速率多快?

点评

AM335X[/backcolor] 的GPMC接口最高好像是100M多点吧,手册上有的我用的是FPGA时钟,是50MHz的  详情 回复 发表于 2014-6-4 14:45
 
 
 

回复

74

帖子

2

TA的资源

一粒金砂(中级)

4
 
ou513 发表于 2014-6-4 13:35
楼主你好,请教一下你FPGA与AM335X接口通信速率多快?

AM335X 的GPMC接口最高好像是100M多点吧,手册上有的,我用的是FPGA时钟,是50MHz的





 
 
 

回复

1119

帖子

0

TA的资源

一粒金砂(中级)

5
 
过来看看~~~~~~~
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表