社区导航

 

搜索
查看: 1923|回复: 11

[分享] 正式入坑FPGA,说说这些天的经历

[复制链接]

7259

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-4-3 15:24 | 显示全部楼层 |阅读模式
本帖最后由 littleshrimp 于 2020-4-3 15:26 编辑

这些年一直想玩玩高速AD采集,因为没弄过FPGA很多时候都放着现成的ADC用不了变着法的通过MCU解决,比如使用MCU的现有接口控制一些低速的ADC芯片,或者使用MCU内部的ADC

前段时间弄过CypressPSOC,因为是可硬件编程的还可以使用Verilog,玩了一段时间发现内部资源有限加上频率不够,太复杂太高速的ADC玩不起来。

后来又弄过STM32G474TMS320F28379D,使用STM32G474把基本功能实现了,但是总是还差那么一点想提高一下,后来鼓捣TMS320F28379D时废了几天劲最后把板子给玩坏了。玩MCU做采集花了不少时间也走了不少弯路,现在没有FPGA这首关是过不去了,一气之下决定学FPGA

这几年一直关注FPGA的开发板,我需要一个不太贵的一搬在1K以下、内存大一点的、有一个能和电脑高速通信的比如USB2.0 HS或者100M以太网接口USB3.0最好、可用I/O多一些的、体积小一点的、带LVDS接口的。可能是我的要求太高,一直没找到合适的,有的不是太贵就是板子太大、功能太多、有用接口太少,像有些学习板带的各用按键、数码管或者那种大板贴最小系统板的,看着就没有兴趣。

后来我买了EP4CE10E22C8N、下载器和一些相关器件准备画一个板子,选EP4CE10E22C8N是因为它看着简单,没有操作系统,网上的资源还多。某宝上写的全新的EP4CE10E22C8N收到后一看,MD,表面破头烂齿的全是划痕,店家说不影响使用,我哪敢用,关键是折腾不起。

后来无意间看到有卖EBAZ4205这个矿板的,想起以前chenzhufly发过贴子,二手货40块钱不到,资料齐全。可是当时一看有操作系统,能跑Linux就怕了。因为怕这个Linux一直没敢玩MPU这类的东西,这次没别的选择了,LinuxLinux,怼吧。

image-20200403152639-1.png

 

image-20200403152639-2.png

买了两片EBAZ4205又买了仿真器,然后开始各种补习资料,黑金和正点原子这些大神把他们整理的资料都全部开放出来了,非常适合新手学习,我看了几天发现学这个FPGA好像也不难,ARM9原来还可以不跑Linux,把它当单片机裸跑玩起来也挺容易,Verilog语言好像也挺好学的。然后这几天一直兴奋的睡不着觉,好像发现新大陆了,各种查资料各种学习。

EBAZ4205在收到后跑了一下helloworld,发现FPGA没那么难挺好入手的。后来又继续调试也发现EBAZ4205的一些问题,比如接口排序有点乱,相同的差分对不是挨着的,和ADC扩展板连接会有困难。另外就是板子上的BANK34BANK35R VCCO3.3V供电,没法使用LVDS_25。查看原理图发现这个板子设计巧妙的地方是VCC(3.3V)是通过FB15FB162颗磁珠连接到BANK34BANK35VCCO的,需要LVDS时只要把磁珠取下外加一个2.5V的供电就可以。

image-20200403152639-3.png

看了一下PCB布局发现这个供电还挺好改,可以通过D22下边的接口直接供电,也可以在板子上放一个LDOVCC(3.3V)转成2.5V,焊盘够大焊起来也比较方便。

image-20200403152639-4.png

供电没什么问题了然后我又按照需求去调一下以太网,EBAZ4205上使用的是100MRMII PHY速度虽然不高但也够用,因为板子内存够大数据可以先放内存里慢慢传。当我把以太网配置好跑了一下例程后发现它最大只能跑10Mbps的速度,即使IP101G这颗以太网芯片已经承认它工作在100M模式下了,但通过软件收发数据的吞吐还是限制在10Mbps以下,相当于USB-FS的速度这就有点坑了,研究了几天没找到原因。

后来我又在网上找到一个蚂蚁矿机S9的控制板,旧板子的价格也和EBAZ4205差不多新版子贵了些,bitmain官方报价400大洋,相对其它开发板还是便宜不少,关键是设计紧凑这点我比较喜欢。板子上集成的是1000M以太网接口直接与PS连接 EBAZ4205的以太网是连接到PL,需要用EMIO方式连接),为了这个高速以太网我准备再试试,于是买了一块新的蚂蚁矿机S9的控制板又买了资料准备再研究研究。

image-20200403152639-5.png

板子现在还在飞来的路上,没有板子可以先研究下资料,在研究资料的过程中又发现了新问题,这个S9控制板的BANK34BANK35VCCO接的都是3.3V而且全是直连,没有PCB布局图,想断开3.3V2.5V是不可能了(即使有也几乎不可能)。

image-20200403152639-6.png

路走到这不能走死,还要继续折腾,想到能不能把3.3V电源改成2.5V,找了一圈3.3V发现它除了给XC7Z010供电,还给有源晶振、SD卡、NAND FLASH、以太网、JTAG电平转换、串口电平转换供电,晶振和接口这部分不用考虑、SD卡也可以不用,关键是NAND和以太网,查询发现NAND的供电电压最是2.7V,我想能不能把V3P3改成2.7V呢?

image-20200403152639-7.png

顺着这个思路再看LVDS_25的资料发现LVDS_25的最大VCCO电压为2.625V,但是在网上查询发现有人提到ug471里说VCCO超过2.85LVDS输出会变成高阻,如果是2.7V呢,能不能工作?先假设它可以工作。

image-20200403152639-8.png

然后再看B50612以太网这块,有2处连接了3.3V AVDD这部分和REGSUPPLY

image-20200403152639-9.png

 

REGSUPPLY这部分是给内部1.2VLDO供电的,可以使用2.5V供电,而且好像还可以节省功耗。

image-20200403152639-10.png

但是AVDD这些电压只能在3.3V5%上下浮动,想全部使用2.7V是不可能了。

image-20200403152639-11.png

不过这个电路有一个比较讲究的地方是AVDD这组供电和3.3V之间串了一颗磁珠,如果断开磁珠把V3P3降到2.7V,然后再使用其它3.3VB50612AVDD组供电或许可行。

image-20200403152639-12.png

现在LVDS功能只能寄望于XC7Z010BANK34BANK35VCCO2.7V时能够正常使用。不过即使XC7Z010内部的LVDS不能用,在ADC总线速度不高的情况下使用CMOS通信或者使用LVDSCMOS应该也可行。

网上有网友提到XC7Z010LVDS_253.3V供电时不能输出,可以作为输入使用(AR# 43989),但是不能使用DIFF_TERM,需要在外部设置电阻,因为很多高速ADC都提供时钟输出,所以如果这种操作可行,那么很多ADC还是可以使用这个板子做采集的。

除了LVDS_25VCCO供电,这个板子也有一些不足的地方,比如在I/O接口处加了测试点,高速信号应该会有影响,使用时可以把测试点的线切断。

image-20200403152639-13.png

 

image-20200403152639-14.png

 

此帖出自FPGA/CPLD论坛
虾扯蛋


回复

使用道具 举报

1289

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2020-4-3 18:05 | 显示全部楼层

看到帖子标题我就猜你是买了矿机板子,一点进来果然,哈哈

点评

最低成本入坑试水  详情 回复 发表于 2020-4-3 18:10


回复

使用道具 举报

7259

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-4-3 18:10 来自手机 | 显示全部楼层
cruelfox 发表于 2020-4-3 18:05
看到帖子标题我就猜你是买了矿机板子,一点进来果然,哈哈

最低成本入坑试水


回复

使用道具 举报

1万

TA的帖子

133

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2020-4-3 20:06 来自手机 | 显示全部楼层
大家一起玩起来呀呀呀~FPGA还是很好玩的。

点评

看来写代码不会点拼音是不行了。  详情 回复 发表于 2020-4-3 20:24


回复

使用道具 举报

7259

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-4-3 20:24 | 显示全部楼层
okhxyyo 发表于 2020-4-3 20:06 大家一起玩起来呀呀呀~FPGA还是很好玩的。

看来写代码不会点拼音是不行了。

虾扯蛋


回复

使用道具 举报

2371

TA的帖子

4

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-4-3 22:32 | 显示全部楼层

粗略看完以后,觉得是篇经验,但是对入门无效,需要一定的项目实践经验



回复

使用道具 举报

92

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-4-4 08:56 | 显示全部楼层
您的前期嵌入式的经验太丰富了,FPGA肯定没有问题,没有这些经验的,估计就不一样了

点评

现在网上还是有很多的入门视频可以学习,等学完以后还是可以搞点小实验做做的  详情 回复 发表于 2020-4-4 22:34


回复

使用道具 举报

2371

TA的帖子

4

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-4-4 22:34 | 显示全部楼层
郝旭帅 发表于 2020-4-4 08:56 您的前期嵌入式的经验太丰富了,FPGA肯定没有问题,没有这些经验的,估计就不一样了

现在网上还是有很多的入门视频可以学习,等学完以后还是可以搞点小实验做做的

点评

嗯嗯  详情 回复 发表于 2020-4-5 21:35


回复

使用道具 举报

92

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-4-5 21:35 | 显示全部楼层
led2015 发表于 2020-4-4 22:34 现在网上还是有很多的入门视频可以学习,等学完以后还是可以搞点小实验做做的

嗯嗯



回复

使用道具 举报

6553

TA的帖子

8

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-5-15 15:15 | 显示全部楼层

哇哦 加油 加油!

我的矿板还准备继续折腾

点评

使用VIVADO这东西是不是可以秒怼一个逻辑分析仪?  详情 回复 发表于 2020-5-15 17:47
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰


回复

使用道具 举报

7259

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2020-5-15 17:47 | 显示全部楼层
chenzhufly 发表于 2020-5-15 15:15 哇哦 加油 加油! 我的矿板还准备继续折腾

使用VIVADO这东西是不是可以秒怼一个逻辑分析仪?

虾扯蛋


回复

使用道具 举报

0

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2020-5-19 12:22 | 显示全部楼层

LVDS输出的话,其实并不一定需要改矿板的硬件VCCO供电,用TMDS的差分输出+外部上拉1.5V就能实现LVDS传输

具体可以看这个文章

http://www.zedboard.org/content/tmds33-lvds

有人已经用这种方式驱动了LVDS屏幕

https://www.element14.com/community/community/designcenter/zedboardcommunity/minized/blog/2019/03/04/driving-a-laptop-lcd-using-an-fpga

 

LVDS输入的话,只要确认摆幅和共模电压在范围内就行,可以参考这个

https://www.xilinx.com/support/answers/43989.html

 

 



回复

使用道具 举报

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

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-29 12:08 , Processed in 0.381060 second(s), 32 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表