今天用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. 【Python】关于使用pycharm遇到只能使用unittest方式运行,无法直接选择Run

    相信大家可能都遇到过这个问题,使用pycharm直接运行脚本的时候,只能选择unittest的方式,能愁死个人

  2. JavaScript内部原理系列-执行上下文(Execution Context)

    概要 本文将向大家介绍ECMAScript的执行上下文以及相关的可执行代码类型. 定义 每当控制器到达ECMAScript可执行代码的时候,控制器就进入了一个执行上下文.执行上下文(简称:EC)是个抽 ...

  3. B-Tree和B+Tree

    目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构,在本文的下一节会结合存储器原理及计算机存取原理讨论为什么B-Tree和B+Tree在被如此广泛用于索引,这一节先单纯从 ...

  4. linux 常用一些指令

    1.后台执行 nohup /bin/bash import.sh 1>&2 2>log & 2.生成脚本 for i in `ls` ; do echo "mys ...

  5. int argc,char *argv[]

    main()函数是操作系统调用的,argc表示传入参数的个数,argv[]表示传入的参数. argv[0]表示exe文件所在的路径,所以argc默认为1. main函数的参数是可以通过dos窗口传入, ...

  6. MoreEffectiveC++Item35(基础议题)(条款1-4)

    条款1:区别指针和引用 条款2:最好使用C++转换操作符 条款3: 绝对不要以多态的方式处理数组 条款4: 避免无用的缺省构造函数 条款1:区别指针和引用 1.指针(pointer) 使用[*/-&g ...

  7. Eclipse下配置Maven

    1.修改maven根目录下的conf/setting.xml文件,主要修改localRepository属性,用于管理maven下载的jar文件存放的位置. 2.修改eclipse的maven配置,w ...

  8. 余弦相似度及基于python的三种代码实现、与欧氏距离的区别

    1.余弦相似度可用来计算两个向量的相似程度 对于如何计算两个向量的相似程度问题,可以把这它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向.两条线段之间形成一个夹角, ...

  9. HDU 1033

    http://acm.hdu.edu.cn/showproblem.php?pid=1033 这题的题干说的很绕,结合样例不难理解题意,走折线,A代表顺时针,V代表逆时针,给一个包含A和V的字符串,输 ...

  10. Mac安装三方软件

    安装提示“xxx软件已损坏,打不开,您应该将它移到废纸篓”的提示,其实并不是软件本身有问题,而是Mac系统的一个安全机制问题步骤1:Spotlight搜索(快捷键:command+空格或右上角搜索的符 ...