FMC150配置和使用(一)cdce72010
FMC150是什么?
FMC是一种标准的名称,FMC150则是符合FMC标准的四通道ADC/DAC子卡,可以和一些FPGA相连扩展其功能。
该板卡提供两个14位A/D通道和两个16位D/A通道,可由内部时钟源提供或外部提供采样时钟。
Related Documents
- FMC150_user_manual(FMC150用户手册)
- Datasheet CDCE72010
- Datasheet ADS62P49
- Datasheet DAC3283
- Schematics FMC150(FMC150原理图)
如何配置和使用FMC150?
由于毕设必须得用到高速的AD/DA,而高速的AD/DA又通常需要进行一系列配置之后才能使用,又因为自己从来没有配置过加之听说一款叫AD9361的板卡需要配置几千个寄存器才能正常使用,所以刚拿到FMC150的时候心里是有点退缩的,不知如何下手。好在和老师讨论过后发现配置FMC150还是有迹可循的。
首先,作为和Xilinx FPGA配套使用的板卡,那么就能在Xilinx官网上找到相应的链接,或者直接Google也能找到板卡的厂商,厂商一般都会提供对应的用户手册。
因为FMC150是支持ZC706系列开发板的,所以可以放心大胆的开发使用啦。
一开始找到用户手册还是很开心的,但是仔细一看发现用户手册中的内容都是对板卡的大体介绍和描述,对于如何配置只字未提,一盆冷水浇在头上。过了几天在询问过有AD/DA配置经验的学长后才明白,配置板卡一般需要找到用户手册和板卡中需要使用的芯片的用户手册。所以我又看了一遍用户手册,其中确实有提到相关文档!!!
因为CDCE72010作为AD/DA采样时钟的分配者,所以先去看CDCE72010的数据手册并配置。
CDCE72010
数据手册中内容比较多,这里主要关注如何配置芯片寄存器,芯片管脚,以及每个寄存器中各位的作用。原文中提及
All device settings, including output signaling, divider value selection, input selection, and many more, are programmable with the SPI (4-wire Serial Peripheral Interface). The SPI allows individual control of the device settings.
这就要求我们自己去写SPI时序。通过事先在ROM中存好将要送往寄存器中值,再通过SPI时序将ROM中的值写入相应的寄存器。
下面是关于四线SPI每一个信号线的描述
- SPI_CLK是主机(FPGA)向从机(CDCE72010)发送的时钟线。
- SPI_MOSI是主机向从机发送数据的数据线
- SPI_MISO是从机向主机发送数据的数据线
- SPI_LE是片选线
CDCE72010一共有13个寄存器需要配置,每个寄存器有28位,除了要发送数据之外,还必须在每个数据之前加上对应的地址比特(4位)。其中地址比特作为低位先输出。
CDCE72010支持主机通过SPI发出的四个命令:
- Write to RAM(写寄存器)
- Read Command(读寄存器)
- Copy RAM to EEPROM - unlock
- Copy RAM to EEPROM - lock
Warning:每条指令不能连续发,中间得有等待时间
在写寄存器时,在SPI_LE从高电平转换为低电平之后,数据流(Bit0)中的第一个数据位的锁存发生在SPI_CLK的第一个上升沿。数据转换发生在SPI_CLK的下降沿。 SPI_LE的上升沿向CDCE72010发出信号,表明已经发生了流中最后一位的传输(位31)。
在读寄存器时,SPI主机首先发出读取命令以启动从CDCE72010到主机的数据传输,通过将SPI_LE从低电平转换为高电平,CDCE72010可以解析数据字段相应位中指定的地址。SPI_LE拉低时,CDCE72010会在“读取命令”中指定的寄存器中显示数据SPI_MISO。
ROM中的数据:
MEMORY_INITIALIZATION_RADIX=16;
MEMORY_INITIALIZATION_VECTOR=
683C0350
68000021
83840002
68000003
E9800004
68000005
68000006
83400017
68000098
68050CC9
05FC270A
0000040B
0000180C;
如下为其中的一个寄存器,用来产生ADC的时钟。我们可以通过给第13bit至19bit相应的值来设置时钟分频比,通过给第22bit至27bit来设置输出时钟的形式。
最后可以将寄存器中的值读出来或者或者ILA观测相关管脚是否产生相应时钟来检验是否配置成功。
后续会更新关于ADC和DAC的配置,以及合并程序实现想要FMC实现的功能。
FMC150配置和使用(一)cdce72010相关推荐
- nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- 大数据学习01——配置虚拟机节点相关网络
1.配置mac地址和ip (1)更改适配器设置 找到这个后开始设置windows中的网络连接 (2)接着对三台虚拟机的mac地址和ip进行设置 1.mac地址设置 进入linux节点中的这个位置进行设 ...
- plsql配置多数据源,想换哪个换哪个
现在的公司内部普遍使用plsql对数据库进行管理.而数据库非常多,从测试到线上环境数据库那么多,我们通常使用同一配置管理,便于切换.那么配置数据库连接就成为了很重要的一步. 1.安装plsql (这里 ...
- Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!
最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...
- Linux下tomcat的安装与卸载以及配置(超简单)
无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...
- Maven安装与配置(最实用!!!)eclipse中配置maven
Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...
- CentOS Docker安装配置部署Golang web helloworld
目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...
- centos使用镜像源轻松配置golang+vscode的方法
Title:centos使用镜像源轻松配置golang+vscode的方法 (阅读时间:约5分钟) 零.序言 最近笔者在上一门名为服务计算的课程,在老师的作业博客中提到,安装golang+vscode ...
最新文章
- 大根堆的删除c语言,二叉堆(一)之 C语言详解
- POJ1144——网络(求割点)
- [BZOJ 3629][JLOI2014]聪明的燕姿
- Javascript 第七天 笔记
- element ui 多个子组件_vue前端UI框架,一点都不圆润,盘它!
- (转)淘淘商城系列——商品搜索功能Dao实现
- App.vue文件本质上也是js文件(javascript文件)
- Tomcat安装之前为什么要安装JDK
- 全栈开发必备的10款 Sublime Text 插件
- java实现csdn免积分工具_CSDN免积分下载工具
- 项目管理的流程及生命周期
- 【经验】CCF CSP认证问题
- 关于Android 日历事件的实现
- Katana如何渲染序列
- 80后冲入“剩女”阵营
- PCM音频 I2S音频
- ​2021年数模国赛A题国二摘要及经验分享(回忆篇,附部分代码)
- STM32外部中断干扰解决方案
- busybox文件系统制作
- tcl/tk sample.dll cannot be unloaded under a trusted interpreter