今天用psoc做了dds,现在总结一下。

1dds用到的相位累加器是用verilog写的,本来准备用一下datapath,这是和fpga不一样的一点,用了类似alu的结构,但是看手册后发现,虽然可以执行加法操作,但是1)位数固定,只能1,8,16,32等固定长度的数做加法。2)最重要的一点,加法结果不能输出。所以采用pld模块。添加一个自定义verilog模块的方法如下:

1)在workspace explorer 里有几个标签:soure,components, datasheet,results,在建好工程后需要添加一个自定义模块的时候需要点components标签,在workspace上右键选择 add-》new project 选择other 名字,位置写好之后ok。

2)在新建的project上右键选 new component 选择 symbol wizard 然后点create new之后会出现下面的界面

在空白处添加信号和类型,如果是多位的信号就要写成 signal[m:n]的形式,如data[3:0]就表示是4位宽的信号。

信号添加完成后就会得到一个空壳子,只有输入输出的一个方框,类似下面的图形。

在空白处点击右键选择 properties,出现如下所示界面

这个里边symbol项里的内容需要修改,如api函数前缀,看自己需要可以改可以不改,第二项也就是catalogplacement比较重要,这个是你生成的元件在库里的位置,看需要放到哪里,个人习惯不同。

改好之后就ok,之后还是在空白处右键,不过这次是选 generate verilog,别激动,这只生成一个verilog 框架,你需要什么功能就自己写verilog 实现,然后保存。

3)依赖关系设置,这一步是将verilog模块设置成工程的依赖工程。在目标工程上右键点击dependencies 然后在刚才生成的库工程上打勾,这样就会把两个工程关联,并且存在依赖关系,这时候返回source标签打开原理图,之后在右边出现的库里边会多出来你自定义的组件,就可以拖到原理图里使用了,但是如果不设置依赖关系的话,可是找不到你自定义的组件的。

2,在psoc里边数字模块好多都没有api函数,那么如果我要想用软件调用怎么办呢?比如数字复用器,就不能生成api函数,那么我想通过软件操作来改变选择的通道就不行,但是可以在通道选择线上接控制寄存器,这样就可以通过控制寄存器的api函数改变控制寄存器的值进而改变选择的通道。同理,如果cpu想知道一个数字模块的输出,那么就在输出上加状态寄存器,通过读取状态寄存器就可以了。

3,psoc里边的连线很有意思,一个数据bus,怎么才能分成一根一根的信号线呢?方法是:先连线,连线完了之后再设置线的属性,如下图

可以选择bus型,那么就需要设置位宽了,也可以设置成bit型,指的就是bus里边的第几位。

4,psoc里的查找表一个最多5输入8输出,那么也就是说能够存32个8bit的数据,如果想要更多,可以把几个lut并联起来。

5,我用的是psoc4,里边只有idac,没有vdac,所以不能做数字转模拟的波形,有点遗憾。

6,使用的是psoc4的一个stick开发板,信号是CY8CKIT-049-42XX片子是CY8C4245,这个开发板下载程序是用的bootloader,自己建的每一个程序需要设置类型为bootloadable,在原理图上需要加上bootloadable模块,在bootloadable的dependence选项中选择bootloader的源文件。下载的时候在菜单栏选tool-》bootloader host。需要注意的是开发板驱动在win7下可以自动安装,在下载程序时需要按着板子尾部的按键将板子插入u口里,否则无法下载程序。

psoc做dds的更多相关文章

  1. ROM存储1/4周期正弦信号构造DDS

    上周的时候,老师让编写一个简单的dds程序,本文说明了整个过程中我遇到问题以及一些个人的思考.初次接触FPGA,如有问题请多多指教~ 1.几个疑问,解决和没有解决的. 为何采用ROM而不是直接采用DD ...

  2. 使用MATLAB一键制作mif文件

    本文档主要讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理生成标准的正弦波,即实现信号发生器的功能.关于DD ...

  3. 国产CPLD(AGM1280)试用记录——做个SPI接口的任意波形DDS [原创www.cnblogs.com/helesheng]

    我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺 ...

  4. 基于DDS的任意波形发生器

    实验原理 DDS的原理 DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器,也可叫DDFS. DDS是从相位的概念直接合成所需波形的一种频率合成技术. ...

  5. 用verilog模拟DDS产生正弦波信号

    前言: DDS:直接数字频率合成,正弦波0-2pi周期内,相位到幅度是一一对应的(这里我们使用放大后的整数幅度). 主要思路: 个人理解,FPGA不擅长直接做数字信号计算,那样太占用片上逻辑资源,所以 ...

  6. PSoC电容式触摸感应技术

    PSoC是由Cypress半导体公司推出的具有数字和模拟混合处理能力的可编程片上系统芯片,某些系列的PSoC(如CY8C21X34系列),由于其内部配备的特殊资源,使得它可以很容易地实现电容式触摸感应 ...

  7. 基于Vivado调用ROM IP core设计DDS

     DDS直接数字式频率合成器(Direct Digital Synthesizer) 下面是使用MATLAB生成正弦波.三角波.方波的代码,直接使用即可. t=:*pi/^:*pi y=0.5*sin ...

  8. 数字信号处理专题(1)——DDS函数发生器环路Demo

    一.前言 会FPGA硬件描述语言.设计思想和接口协议,掌握些基本的算法是非常重要的,因此开设本专题探讨些基于AD DA数字信号处理系统的一些简单算法,在数字通信 信号分析与检测等领域都会或多或少有应用 ...

  9. DDS生成正弦波

    DDS生成正弦波 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////// ...

随机推荐

  1. 014——数组(十四)array_reduce array_slice array_splice array_sum

    <?php /** */ //array_reduce()递归的用回调函数递归的对数组元素进行处理,返回处理后的值 /*$arr=array(1,2,3,4,5); function func( ...

  2. 适配器模式(Adapter Pattern)/包装器

    将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 模式中的角色 目标接口(Target):客户所期待的接口.目标可以是具体的或 ...

  3. I/O复用服务器端+回声客户端

    并发服务器的第二种实现方法:I/O复用 服务器端: #include <arpa/inet.h> #include <unistd.h> #include <algori ...

  4. 【zzuli-2276】跳一跳

    题目描述 今天跳跳去公园游玩,第一个游戏就难倒了跳跳,游戏规则是跳跳站在一个面积无限大的矩形土地上,开始时跳跳在左上角(即第一行第一列),每一次跳跳都可以选择一个右下方格子,并瞬间跳过去(如从下图中的 ...

  5. ViewBag、ViewData、TempData之间的区别

    1.ViewBag and ViewData(非跨视图访问) 1)ViewBag是一种dynamic动态类型,用户可以自定义属性并为其赋值,它会在运行时动态解析(例:可以作为变量.数组等各种对象传递并 ...

  6. matlab cvx工具包安装

    cvx是凸函数优化的工具包 官网下载地址,http://cvxr.com/cvx/download/ 1 解压到任意文件,最好不要是matlab中的toolbox, 2 假如你解压倒了c盘sample ...

  7. Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。

    myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...

  8. cookie注入原理及注入检测

    通常我们的开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的 ...

  9. LVS模式一:直接路由模式DR(Direct Routing)

    (一)LVS 一.LVS的了解 LVS(Linux Virtual Server)可以理解为一个虚拟服务器系统. Internet的飞速发展,网络带宽的增长,Web服务中越来越多地使用CGI.动态主页 ...

  10. web.xml文件模板

     Servlet 2.3 deployment descriptor 注:web.xml中提示错误The content of element type "web-app" mus ...