EBAZ4205介绍

最近矿难,某宝某鱼上都出现了大量矿机控制板.

ASIC负责挖矿,而控制板负责联网、监视、控制之类。

控制板不乏有各种水果派,像香橙派、树莓派、狗骨头之类的所谓“极客玩具”在其之列,想必国内水果派厂家活的是相当滋润。

光靠极客教育哪有什么赚头,极客大都很穷的,像我这样看到这么便宜的“zynq开发板”,便忍不住要跟风收一波垃圾了。

某鱼上EBAZ4205控制板泛滥,它出自翼比特E9+矿机。

它的老版控制卡EBAZ4203配置与其基本一样。

ebaz4205

下面一大坨都是计算卡,上面一小块才是控制板

板子概况

ebaz4205

ebaz4205

主控: XC7Z010CLG400-1

内存: 256MB DDR3,EM6GD16EWKG或者MT41K128M16

nand128MB SLC

以太网百兆网卡,IP101GA

供电5V也行

其他TF卡,UART1,2个风扇口,14针jtag,3个20pin IO口

开发工程

SOC启动配置

ZYNQ系列的SOC集成了双核ARM Cortex-A9和FPGA。整个SOC分为PS(processing system)和PL(programmable logic)两部分。PS包括处理器、片上AMBA总线、存储控制器、部分外设以及固定的IO口;PL就是FPGA。ZYNQ 7010处理器主频可以到约600MHz,FPGA有约28K个LE。

ebaz4205

zynq

ZYNQ的PS部分可以抛开PL部分而独立运行,因为PS的外设都默认绑定了一些IO口(MIO),内存控制器之类的IO口还是不可更改的,这时候就可以像开发其他ARM SOC那样去玩ZYNQ。MIO是有限的,一些外设端口冲突的话可以通过EMIO绕道PL将其引出,这时候就需要管PL部分了。

ZYNQ的启动分为三步:BOOT ROM,根据引脚配置选择从哪里启动,如QSPI、nand/nor flash、SD卡等。将FSBL(first stage bootloader)加载到片上内存里。7010的片上内存有256k。

FSBL,初始化更多的MIO口,初始化DDR,还可以初始化PL部分,然后将应用程序搬到DDR中。初始化部分由vivado直接生成,即那个上万行的ps7_init.c。FSBL可以直接用Xilinx SDK的例子工程,相当于这些工作都可以点点鼠标就完成了。

应用程序。可以直接是用户的应用程序,也可以是又一个loader,比如uboot之类的,剩下的事情就由程序员自己做决定了。

应当指出,FSBL相当于是uboot SPL的地位。在Xilinx uboot工程中,那个上万行的初始化c程序就编译进SPL中去了,所以如果用SDK的FSBL就不需要uboot的SPL了。

简单改造EBAZ4205板子成FPGA开发板

EBAZ4205 是矿机的控制板,芯片采用ZYNQ XC7Z010 芯片,所以这块板子通过焊接串口引脚,可以当作普通的开发板来用.

我是自己焊接了个TF卡座上去,把R2584焊到R2577上,这样就成了TF卡启动,方便烧程序,所以编译出来的都是TF卡的程序,需要用nand的自己修改下就可以了。

这次代码板子上的外设都是正常的,UBOOT里可以正常保存env到TF卡,网络正常通讯,TFTP功能正常。

内核也是,debian网络功能均正常,可以随意apt。IO只加了W13,W14两个已有的LED灯,其他的IO需要自己加上就可以了。

ZYNQ是个好东西,推荐入坑,嘿嘿。 以前用过AT91SAM9X35配EP4CE10, IMX6配XC6SLX16 , 树莓派配EP4CE6,都是些采集和控制类的,芯片间通讯真心不方便,并且速度有限,如果用外部总线,占用的IO又太多了,经常会和外设引脚冲突。

后来用ZYNQ做了两个项目,发现真心好东西,一个火车上的运动采集设备,一个8轴机器人控制卡,内部AXI总线真心好用,有高速的有简易的,搭配使用很给力,挂了一堆东西,扩展起来非常方便,价格也不贵,现在真心爱上这个片子了,以后再有ARM+FPGA的项目肯定选这个。

所以这次花点时间做这些希望能帮到更多的朋友。

如何检查板子好坏

板子默认是NAND启动模式的,如果没有抹除代码或者修改启动方式的话, 上电后(上电的位置下文有提到),离网口最近的两个指示灯中的绿色指示灯会常亮,1分钟后另一个红色指示灯闪烁(证明板子是正常工作的,自带的矿机程序运行成功,系统自带linux系统,可以通过串口读到linux的命令行)

矿机原始资料

首先会买这个EBAZ4205 ZYNQ7010板子的都是知道这个是一个矿板

原始收集到的资料先做一个打包,这些资料是别人整理的 ,我只是负责搬运,等有时间 我也要好好整理一下这个,里面包括 矿机的原理图,矿机的PCB文件,还有矿机的开发准备工作(焊接晶振 TF等资料)

彩色液晶屏资料(厂家提供的资料) 店铺 中景园电子

https://pan.baidu.com/s/1sqzKVlQiuvcBzXB_MOAR5w 提取码:8888 (如链接失效可以找 店铺厂家要)

ebaz4205_转接板资料

紫色版和黑色版 在LCD部分细微不同,紫色的版本有背光控制,CS接GND, 黑色版背光常亮,CS单独控制,程序控制上略有区别) 紫色转接板原理图: 黑色转接板原理图: 板子实物图

板子上有一处串口的跳线帽如下图所示

当串口需要和PL的接口连接时,跳线帽接上

当需要连接PS的串口接口时跳线帽拔出,并用杜邦线将右侧TX RX,GND 与主板的PS 串口相应连接即可

串口驱动程序下载

需要注意的点

要玩转矿机板硬件上需要注意的地方

供电问题

如果用我们的转接板的情况下, 供电是直接通过MICRO USB进行供电的, 主板供电部分不需要做修改, 如果没有用转接板,那主板供电部分 需要额外接,一般5V 供电即可 ,如果线材不好可以适当提高电压,不能超过12V

左边的排线接口和右边的座子 二选一即可 切记,

电源和地不能接反,接反后 板子将烧坏

排线接口接线时,注意不要接到普通口子上,否则也将烧坏

另外如果电源接在右边的电源座子上,则背面需要额外焊接一个二极管(也可以用导线短接,或者将板子上原本焊接的3个二极管拆下一个来用)

晶振的焊接

主板默认PL部分晶振是没有焊接的,要使用PL逻辑部分可以有两种方式:

  1. 用PS部分共享时钟给PL

  2. PL部分单独焊接一个晶振 包括1个3225有源晶振(推荐50M) 1个0-22R 的0402电阻, 以及一个0603的 0R电阻或磁珠

背面 L29 可以用0603的0R电阻,或者0603的磁珠都可

X5 焊接 3225的50M 有源晶振, R1372焊接0402 的0-22R的电阻

SD卡卡座

如果板子需要通过SD卡启动。将R2584挪到R2577上。

需要焊接TF 卡座

下载管脚

下载口的管脚定义:

DDR设置

板子如果跑PS核心, 则DDR的设置部分如下图所示

启动方法

这块板子的R2577和R2584电阻用于配置启动设备。 把R2584焊到R2577上,将原来nand启动改为SD卡启动。 ebaz4205 启动方法有三种

  1. 从存储芯片启动
  2. 从SD卡启动
  3. 从JTAG调试器启动

需要对板子做简单的改造才行.

从NAND存储启动

默认是从存储芯片启动的.

从SD卡启动

先把SD卡分两个区

  • 第一个FAT
  • 第二个 ext4

都是最常见的分区方法,FAT分个100M就够了。

把image目录里的bootfat.tar.bz2 解压放到第一个FAT分区 rootfs.tar.gz是debian的文件系统,解压到第二个ext4分区。

然后启动就OK。