EBAZ4205介绍
最近矿难,某宝某鱼上都出现了大量矿机控制板.
ASIC负责挖矿,而控制板负责联网、监视、控制之类。
控制板不乏有各种水果派,像香橙派、树莓派、狗骨头之类的所谓“极客玩具”在其之列,想必国内水果派厂家活的是相当滋润。
光靠极客教育哪有什么赚头,极客大都很穷的,像我这样看到这么便宜的“zynq开发板”,便忍不住要跟风收一波垃圾了。
某鱼上EBAZ4205控制板泛滥,它出自翼比特E9+矿机。
它的老版控制卡EBAZ4203配置与其基本一样。
下面一大坨都是计算卡,上面一小块才是控制板
板子概况
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。
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逻辑部分可以有两种方式:
-
用PS部分共享时钟给PL
-
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卡启动。 启动方法有三种
- 从存储芯片启动
- 从SD卡启动
- 从JTAG调试器启动
需要对板子做简单的改造才行.
从NAND存储启动
默认是从存储芯片启动的.
从SD卡启动
先把SD卡分两个区
- 第一个FAT
- 第二个 ext4
都是最常见的分区方法,FAT分个100M就够了。
把image目录里的bootfat.tar.bz2 解压放到第一个FAT分区 rootfs.tar.gz是debian的文件系统,解压到第二个ext4分区。
然后启动就OK。