首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏FPGA开源工作室

    Vivado DDS IP核仿真

    1 DDS IP概述 直接数字合成器(DDS)或数控振荡器(NCO)是许多数字通信系统中的重要部件。 •3位至26位带符号输出采样精度 IP 文档连接:PG141 2 DDS IP 架构 3 DDS IP 配置 (1)Component Name 可以修改IP核名字 (2)Configuration 100MHz;通过系统时钟除以通道数得到每通道的频率; (6)Parameter selection (参数选择) system parameters;系统参数,为了更精确的输出任意频率,选择系统参数模式; (7DDS_top: module dds_top( input wire aclk, input wire reset_n, output valid, output signed [7:0] sin, output signed [7:0] cos ); wire s_axis_phase_tvalid; wire [31 : 0] s_axis_phase_tdata

    1.2K10编辑于 2024-02-22
  • 来自专栏C/C++进阶专栏

    自动驾驶技术栈——DDS分布式通信协议

    ,最近由于自动驾驶技术的兴起,在车载软件的通信中间件开发中也使用了DDSDDS协议大致流程如下图所示: *DDS采用的通信方式是多对多的单向数据交互,通信模型为分布式结构,没有中心节点,同一个数据空间任何两个节点之间都能直接通信。 五,实时发布订阅互操作性有线协议——RTPS协议 虽然DDS定义了应用层接口和以数据为中心的发布订阅模式,但是它的通信机制不包含网络传输的定义。 DDS在网络传输层的数据通信上需要借助RTPS协议。 RTPS协议还可以允许不同的DDS模块之间进行交互。 //www.dds-foundation.org/sites/default/files/DDS_Tutorial_RTEW09.pdf https://community.rti.com/static

    22.3K12编辑于 2023-02-23
  • 来自专栏Lauren的FPGA

    DDS Rasterized模式怎么用?

    直接数字频率合成器(DDS: Direct Digital Synthesizers)又称数字压控振荡器(NCO: Numerically Controlled Oscillator)在数字通信系统中被广泛使用 AMD提供了专门的DDS IP,用户只需根据设计需求进行定制。 这个IP有两种工作模式:Rasterized模式和Standard模式,如下图所示,可通过Mode Of Operation进行设定。 我们先了解一下DDS的工作原理,如下图所示,DDS由两部分构成:相位累加器和相位波形转换器。前者根据给定的初始相位和相位步进值输出目标相位值,后者又称波形存储器,根据输入的相位值输出对应的幅度值。 实际上,根据DDS的工作原理,除了可以输出正弦信号之外,还可以输出其他波形的信号。无需其他额外逻辑,在上述参数配置的情况下,相位累加器的输出将呈现锯齿波,而相位累加器的最高位将呈现方波,如下图所示。 Copyright @ FPGA技术驿站

    64721编辑于 2024-02-06
  • 来自专栏机器人课程与技术

    ROS2+DDS+RTPS

    安装: zhangrelay@LAPTOP-5REQ7K1L:~$ sudo apt install ros-humble-rmw-fastrtps-cpp [sudo] password for zhangrelay DDS 使用 QoS 来定义 DDS 实体的行为特征。 QoS 由单独的 QoS 策略(源自 QoSPolicy 的类型的对象)组成。这些在政策中有所描述。 DDS 域由域 ID 标识。 DomainParticipant 定义域 ID 以指定它所属的 DDS 域。具有不同 ID 的两个 DomainParticipants 不知道彼此在网络中的存在。 此外,Fast DDS 还支持 TCP 和共享内存 (SHM) 传输。 它旨在支持单播和多播通信。 在继承自 DDS 的 RTPS 顶部,可以找到域,它定义了一个单独的通信平面。 您可以继续阅读 RTPS 层部分,了解更多关于快速 DDS 中 RTPS 协议的实现。 ----

    1.4K20编辑于 2022-06-27
  • 来自专栏FPGA开源工作室

    基于LUT的DDS的设计

    基于LUT的DDS的设计 DDS(Direct Digital Synthesis)直接数字频率合成技术由USA J.Tierncy首先提出。 它是一种以数字信号处理理论为基础,从相位概念出发直接合成所需波形的一种新的全数字技术的频率合成方法。DDS主要出现在数字混频系统中。 1 基于LUT的DDS理论 一个典型的基于LUT的DDS系统由相位累加器和波形存储器两部分构成,如图1所示。图中相位累加器的位宽为nbit,步进值为μ,LUT的深度N为2n,宽度为Lbit。 tb_dds源码: 1. `timescale 1ns / 1ps 2. `define NULL 0 3. module tb_dds(); 4. 5. parameter KHZ1 =44; 6. parameter KHZ2 =22; 7. parameter

    1.2K10发布于 2019-10-29
  • 来自专栏机器人课程与技术

    ROS2之DDS问题汇集

    333 见过类似的问题,不是每个网络都有,但主要是无线网状网络有许多无线 AP 相互通信,其中 ROS2/DDS 流量导致它停止运行。 444 快速添加:从技术上讲,export ROS_LOCALHOST_ONLY=1不执行原始帖子的 XML 中指定的所有配置步骤。

    1.3K20编辑于 2022-08-10
  • 来自专栏OpenFPGA

    Xilinx DDS Compiler IP 使用教程

    该输入值决定了输出波形的频率,值越小,DDS 通过正弦查找表的步进越慢,输出波形的频率越低。相反,输入值越高,DDS 步进查找表的速度越快,输出波形的频率也越高。 在加ILA的时候,一共加了4个探头监测DDS从接口的输入相位增量值和DDS主接口的输出数据和相位值。将芯片的深度设置为 65536。 实例化 ILA 和 DDS IP 后,编写了简单状态机来创建 AXI Stream 接口,将相位增量值输入到 DDS,然后等待 1 us,然后将 1MHz 步长添加到相位增量值并将其输入到DDS。 第三张图是输入到 DDS 的相位增量值。 底部的十六进制值只是状态机状态,用于演示每个状态如何与 DDS 控制关联。 ://docs.xilinx.com/v/u/en-US/pg141-dds-compiler 总结 希望这个简单的 DDS 示例对您有所帮助。

    2.6K31编辑于 2023-02-14
  • 来自专栏开源FPGA

    基于Vivado调用ROM IP core设计DDS

    DDS直接数字式频率合成器(Direct Digital Synthesizer)   下面是使用MATLAB生成正弦波、三角波、方波的代码,直接使用即可。 fprintf(fid,'MEMORY_INITIALIZATION_RADIX=10;\n'); 6 fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\n'); 7 这是DDS的原理图,DDS并没有像它的名字一样说的那么玄乎,它的核心便是控制频率的fword字输入,和相位字pword输入,最后调用IP核查找表即可,代码也十分简单,下面给出DDS design代码。 1 module DDS( 2 input mclk, 3 input rst_n, 4 input [31:0]fword ,//frequency control 5 input [11:0]pword,//phase control 6 7

    1.7K50发布于 2018-01-05
  • 来自专栏EMQ 物联网

    QUIC 双向认证、DDS 代理功能升级

    由于 DDS 协议为不可读不可直接分析的二进制流,为了提高系统的可互操作性,需要将 DDS 系统的数据在 NanoMQ 中进行必要的转换以供其他中间件如 eKuiper 分析使用。 forward_rules = { ## DDS to MQTT dds_to_mqtt = { from_dds = "MQTTCMD/topic1" to_mqtt = "DDS/topic1" struct_name = "remote_control_result_t" } ## MQTT to DDS mqtt_to_dds MQTT 主题上转接多个 DDS 主题。 目前虽然有了自动化代码生成工具,但 DDS Porxy 功能编译安装过程较为繁琐,对于不熟悉工程结构和 DDS 操作的用户来说比较困难。

    2K50编辑于 2023-04-07
  • 来自专栏C++开发学习交流

    【C++】DDS:FastDDS环境配置与使用示例

    :https://fast-dds.docs.eprosima.com/en/latest/ FastDDS的前身是Fast-RTPS,实现了许多 DDS 规范。 4.多语言支持:Fast DDS 支持多种编程语言,包括 C++、Java、Python 等,使得开发人员可以在不同的编程环境中使用 Fast DDS 进行开发。 FastDDS 在实时数据通信领域具有广泛的应用,特别适用于分布式系统、实时控制和监控系统、机器人技术、物联网等领域。 /dds/publisher/Publisher.hpp> #include <fastdds/dds/publisher/DataWriter.hpp> #include <fastdds/dds/publisher /dds/subscriber/Subscriber.hpp> #include <fastdds/dds/subscriber/DataReader.hpp> #include <fastdds/dds

    7.1K11编辑于 2024-07-24
  • 来自专栏云深之无迹

    迷人的DDS数字下变频(YUNSWJ 仿真版)

    亲爱的看官,昨天后半夜没忍住,写了一个高速 ADC,其实表面参数之外,还有很多值得研究的东西,比如这么大的采样率,后面究竟在处理什么?

    23310编辑于 2026-01-07
  • 来自专栏C++开发学习交流

    【C++】DDS:OpenDDS环境配置与使用示例

    Distribution Service)是一个开源的、高性能的实时数据分发和通信框架,符合OMG(Object Management Group)发布的Data Distribution Service(DDS

    2K10编辑于 2024-07-24
  • 来自专栏机器人课程与技术

    ROS2编程基础课程--DDS

    ROS 2和不同的DDS / RTPS供应商 ROS 2 is built on top of DDS/RTPS as its middleware, which provides discovery 本节详细介绍采用DDS实现和(或)DDS的RTPS有线协议的缘由,但先总述一下,DDS是一个端到端的中间件,它提供了ROS系统相关的功能,例如分布式发现(并不是ROS 1采用的集中式,如roscore) ROS 2支持多种DDS / RTPS实现,因此在选择供应商/实现时,并不是“一刀切”。在选择中间件实现时,可能会考虑许多因素:许可、技术、平台可用性或计算占用空间等因素。 对于每个策略,还有“system default”选项,它使用可以通过DDS供应商工具(例如XML配置文件)定义的底层中间件的默认值。DDS本身具有可以配置的更广泛的策略。 虽然ROS 2为常见用例提供了一些QoS配置文件,但使用DDS中定义的策略允许ROS用户利用现有DDS文档的庞大知识库来为其特定用例配置QoS配置文件。

    1.7K41发布于 2019-09-18
  • 来自专栏机器人课程与技术

    ROS2和DDS學習筆記

    參考資料鏈接: ROS on DDS:http://design.ros2.org/articles/ros_on_dds.html ROS 2 and different DDS/RTPS vendors :https://index.ros.org/doc/ros2/Concepts/DDS-and-ROS-middleware-implementations/ ROS2 + DDS: When ROS2 and DDS? More technical Pub/Sub model difference between ROS and DDS DDS Participant, topic, publisher, subscriber but not using the ROS2 API over DDS.

    1.4K30发布于 2019-08-15
  • 来自专栏海风

    ROM存储14周期正弦信号构造DDS

    简单的dds程编写过程中我遇到问题以及一些个人的思考。初次接触FPGA,如有问题请多多指教~ 1.几个疑问,解决和没有解决的。 为何采用ROM而不是直接采用DDS核来进行正弦信号的合成? 实际中如果只需要合成正弦信号,那么DDS核是一个很好的选择,而且DDS核可以选择是否采用泰勒校正以获取更低的杂散。由于ROM表中的数据可以由我们自己选择,采用ROM做DDS具有更强的灵活性。 程序(请原谅我没有用case……) %% 正弦波dds产生 F_CLK=10*10^6; %时钟频率10M PINC_IN_L=32; %增量长度 DDS_CLK=10*10^3; %dds end end end end plot(dds_out); 3.DDS的解释 Xilinx的DDS核的User Guide中队DDS做了很详细的说明 ,本节不再重复此内容,本节将叙述一种全新的DDS理解方式。

    1.2K20发布于 2019-09-11
  • 来自专栏达达前端

    前端技术前沿7

    使用response.writeHead()函数发送一个HTTP状态200和HTTP头的内容类型content-type,使用response.write()函数在HTTP相应主体中发送文本。

    68730发布于 2019-07-03
  • 德思特干货 | DDS技术深度解析系列(一):多音信号生成与客制化频率斜率

    在上一期内容中,我们系统性地剖析了传统任意波形发生器(AWG)的工作模式,详细阐述了直接数字频率合成(DDS技术的基本原理,并对两种模式进行了深入的对比分析。 本期我们将聚焦DDS模式,就其核心特性展开更专业的探讨,探讨多音信号和固有频率的本质。 01 多音信号 DDS 模块由多达 N 个 DDS 核心组成,其输出相加并输出到一个或多个模拟通道(图 1)。 为了显示目的,大约 7 段似乎与目标匹配, 如图所示。 在下面,我们将解释如何计算和编程这些斜率。 n = 7 段的近似波形和近似后的实际波形 需要使用正弦函数来定义我们期望的 s 形函数,其中 x=0 表示斜率的起点,x=1 表示斜率的终点: 计算 i = 0,1,2,…n-1 的每个线性线段的无单位梯度 在下一期内容中,我们将详细介绍如何动态调整DDS的设置,解析相位连续性在信号合成中的关键作用,并演示如何利用模式命令来控制XIO输出线,这些功能共同构成了DDS精确控制的核心机制。敬请期待,干货满满!

    36610编辑于 2025-08-12
  • 来自专栏全栈程序员必看

    求生之路2ping高_DDS信号源

    主持人简介: 吴洪声(人称:奶罩):腾讯云中小企业产品中心总经理,DNSPod创始人,洋葱令牌创始人,网络安全专家,域名及DNS技术专家,知名个人站长,中欧国际工商学院校友。 2014年7月开始正式创业,从零开始,用了一个月时间搭了一个10来人的较高质量的团队,发布了第一版App产品,速度还行。 创始人戴志康、知识星球吴鲁加、腾讯安全学院副院长杨卿等技术大咖、行业领军人物都在这个栏目留下了他们的真知灼见。比如易名中国金小刚说的:“别想着持有对社会有不良影响的域名,这是一个底线。” 比如CSDN创始人蒋涛说的:“对于一个技术驱动的公司而言,不断更换新人并不是好事,技术要有一个积累的过程,应该鼓励这些技术人去提升,对技术人员的回报或薪酬、等级要相应地跟管理平行。” 、知乎机构号、企鹅号、搜狐号、头条号、开源中国技术社区、IT之家、InfoQ社区资讯站点、Twitter机构号、Facebook机构号等媒体阅读总量逾百万。

    57530编辑于 2022-11-17
  • 来自专栏EMQ 物联网

    QUIC 多流桥接、新增 DDS 协议转换代理

    *关于 MQTT over QUIC 的技术解析可参考:MQTT over QUIC:物联网消息传输还有更多可能 QUIC 多流桥接 QUIC 协议相较于 TCP 的一大优势在于解决了队首阻塞的问题,但这是依赖于 NanoMQ 0.16 发布了 DDS Proxy 插件,其基于 Cyclone DDS (基于 OMG(Object Management Group)DDS 规范的开源 DDS 实现)开发,能够完成将 目前还需要用户自行将生成的代码 dds_type.h 和 dds_type.c 替换 dds_mqtt_type_conversion.h/dds_mqtt_type_conversion.c/dds_client.c ninja install 配置打开 DDS Proxy 配置 /etc/nanomq_dds_gateway.conf 来设置需要进行桥接和转发的 MQTT 和 DDS 主题。 启动 DDS 客户端订阅 DDS 主题 MQTT/topic1 $ .

    1.2K30编辑于 2023-03-07
  • 来自专栏FPGA技术江湖

    源码系列:基于FPGA的任意波形发生器(DDS)设计(附源工程)

    设计背景 DDS(Direct Digital Synthesizer)直接数字式频率合成器,是一种新型频率合成技术,具有低成本、低功耗、高分辨率、相对带宽大和频率转换时间短等优点。 本设计采用DDS技术设计相位频率可调的波形发生器,已经知道了相位和频率可调分别代表什么,那么接下来就要知道怎样依靠DDS技术实现波形发生器,并且相位和频率可以调控。 dds顶层模块代码: module dds (clk, rst_n, q); input clk, rst_n; //系统时钟复位 output [7:0] q; //输出波形数据 wire [7:0] addr_out; //8位地址,对应到ROM内的数据 /*****相位累加器模块*****/ dds_addr dds_addr_inst( 顶层模块的测试模块: `timescale 1ns/1ps module dds_tb; reg clk, rst_n; wire [7:0] q; initial begin

    75310编辑于 2025-01-02
领券