python编辑七段数码管引脚图_EDA/PCB

哈喽,我们又见面了,Jaya这次带来的还是一款FPGA板卡,本期的主角板卡是上次ALINXAXU3EG开发板的进阶板卡,同样是由ALINX设计的AXU4EV-P开发板。先来简单的开个箱,让大家看看今天主角的庐山真面目。现在ALINX的开发板基本把黑底金字发挥的淋漓尽致,拆开快递包装就一种莫名的高大上,拿出快递箱,依然还是2个盒子,这一点和AXU3EG开发板的配置一致,只不过盒子的尺寸更大。两个盒子,一个盒子用来装开发板本体,也就是高大上的黑底金字盒,另外一个盒子用来装相关的配件的,比如下载器,电源适配器,连接线,以及读卡器。不得不说黑色的盒子,对板卡本体的保护还是比较到位的,整个一圈都布满了泡棉,整体来说对办卡的保护很到位。AXU4EV-P开发板依旧是子母板的形式,对比AXU3EG开发板,从底板来看,可以说是加料满满多出很多功能,有些童鞋可以能会说,两块板子的核心板是一模一样的,只是底板功能不同么?简单从核心板的表面来说两块确实是一模一样,但是如果你了解这个核心的ZynqUltraScale芯片,可能就不会这样么想了,两款板卡的核心芯片分别是XCZU4EV和XCZU3EG,不论是逻辑单元还是功能性来说,两款新品都是有着一定的差异。下面简单来介绍Zynq这个神奇的系列。首先Xilinx有那么多不同的FPGA系列,Virtex7,Kintex7,Artix7,Spartan7四大FPGA系列,为什么还要额外加一个Zynq系列?Zynq和传统的FPGA有什么却别?其实当我们打开Xilinx的官方网站就可以明白,Xilinx根本就没有把ZYNQ系列算成FPGA,而是算成了SoC。事实上,SoC更加合理,可编辑逻辑门,只是片上系统的一个部分,相比较经典的FPGA,Zynq系列最大的特点是将处理系统PS和可编程资源PL分离开来,固化了PS系统的存在,实现了真正意义上的SoC(SystemOnChip)。ZYNQ的第一代产品,也就是Zynq-7000系列,配备双核ARMCortex-A9处理器,A9处理器与基于28nmArtix-7或Kintex®-7的可编程逻辑集成,实现优异的性能功耗比和最大的设计灵活性。可以通过下图了解ZYNQ-7000系列的型号与选型。ZYNQ-7000系列获得了很大的成功与创新,熟悉电子技术的童鞋肯定了解,CPU或者ARM核心,和FPGA两种器件实现的方式方法完全不同,所以适用的功能也完全不同,CPU可以顺序执行任务,而FPGA更加擅长并行任务。在真正的应用场景下,往往两种执行任务的方式都需要,在FPGA中内建软核,会消耗很多的资源,并且通用性和可移植性有不会不好,所以我们就看见了比如STM32+FPGA,MiniPC+FPGA,等等的系统结构。而ZYNQ的出现打破了这种系统结构的常规,内建了标准ARM核心,可以完成大多数顺序任务的需求。也正是因为ZYNQ解决的很多方案的痛点,成功的创新才会发展出我们现在的AXU4EV-P开发板的ZYNQUltraScale+MPSOCEV核心。继ZYNQ-7000系之后XilinxZYNQ系列就在不断的发展,如下图,我们可以看见,我们本期主角AXU4EV-P开发板所使用的就是高端ZYNQUltraScale+MPSOCEV系列芯片。对比下我们两次接触的ZYNQU1traScale+MPSOC的芯片之间的差异。首先是PL端的差异:ZU3EG器件:154K的系统逻辑单元,7.6Mb的内存,以及360个DSPslice。ZU4EV器件:192K的系统逻辑单元,18.5Mb的内存,以及728个DSPslice,对比ZU3EG还会多出来一个视频代码单元,这个就是EV系列和EG系列主要的差异,VideoCodec,视频编码可以进行H.264/H.265的编码。根据如上数据,我们可以简单的了解到两块ZYNQ的区别,首先最大的差异是逻辑单元,ZU4EV比ZU3EG要多出48K的逻辑单元,逻辑单元越多,那么可以内建的逻辑就越复杂,其次内存,ZU4EV比ZU3EG要多出多出10.9Mb,整整多出来一倍,DSP也是368也是整整多出来一倍,两款芯片相对,ZU4EV会更加偏向于视频处理,有内建硬件的VideoCodec,可以进行视频的H.264/H.265的编码,并且多出1路VCU,视频代码单元,来协助VideoCodec硬核实现功能。相信看了上述对Xilinx的ZYNQ系列介绍,对于整块开发板已经有了一个完整的了解了,那么重点回归到我们的开发板上,我们依旧从核心板开始了解。ALINXAXU4EV-P核心板上使用了5片Micron(美光)的DDR4芯片,型号:MT40A512M16GE,单片容量1GB,其中PS端挂载4片DDR4(如下图,红框),组成了64位数据总线带宽和4GB的容量。而PL端挂载1片(如下图,黄框),为16位的数据总线宽度和1GB的容量。PS端的DDR4SDRAM的最高运行速度可达1200MHz,也就是2400Mbps的数据速率。PL端的DDR4SDRAM的最高运行速度可达1066MHz,数据速率也就是2132Mbps。除了DDR部分,核心板上还有存储相关的芯片,集成了1片256MBit大小的QSPIFLASH(如下图,红色框)和来自美光的8GBeMMCFLASH芯片(如下图,黄色框),这两个存储芯片都可以用来进行启动存储配置,以及系统和文件系统等。如下图蓝色框中的是PMIC(电源管理模块),芯片是来自TI(德州仪器半导体)的TPS6508641RSKR。这颗芯片是TI专门用来配置FPGA,以及MPSoCs供电的多路电源电源管理模块,集成度非常高,具有6个DCDCBuck输出,以及4路LDO输出,同时还可以透过I2C接口,对PMIC部分进行实时的调整和监控。然后我们要看的ALINXAXU4EV-P核心板卡的背面,主要的就是4个连接器,以及一些去耦电容的排布,如下图。连接器用于连接主板和底板的信号。这些接口主要扩展出了PS端的USB2.0接口,千兆以太网接口,SD卡接口及其它剩余的MIO口;也扩展出了4对PSMGT高速收发器接口;以及PL端的几乎所有IO口HPI/O共有96个,HDI/O共有84个。XCZU4EV芯片到接口之间走线做了等长和差分处理,即使跑高速信号,也可以保持较高的信号完整性。ALINXAXU4EV-P核心板卡的尺寸仅为80mmX60mm,可以用于定制化开发,小尺寸,高集成度的核心板设计,可以满足大多数的应用场景,方便二次开发,核心板的设计也经过了信号完整性的考量,电源完整性的考量,整体来说以ALINXAXU4EV-P核心板卡作为蓝本进行Demo和产品原型的设计可以大大的提高开发效率,将精力用在核心的上层功能的设计与实现。相比于AXU3EG核心板,AXU4EV-P核心板上还是有一些区别的,两个板卡使用的PCB应该是同一板的,但是上件的BOM是有区别的,在AXU4EV-P的版本上U83,U33,U36,还有U36是上件的,而AXU3EG核心板上却没上见。其中U33&U34是TPS74801DRCR,具有电源正常指示和使能功能的1.5A、低输入电压(0.8V)、可调节超低压降稳压器,是一颗来自TI的高性能LDO,再加上U83,TPS72018DR也是TI的LDO,这三颗器件的主要是用来共给XCZU4EV的GTH或GTY收发器,提供模拟电源电压和终端电路的模拟电源电压,看起来应该是因为在AXU4EV-P开发板中有使用光纤SFP接口和PCIe金手指,所以会用到GTH收发器,所以收发器的模拟电源需要单独提供一个高质量的LDO,为啥要收发器就要用单独的高质量LDO呢?主要是因为收发器的速度很快,模拟电路有点偏差就会对整体结果影响极大,为了获取好的结果,且不受其他模块部分的影响,所以理所当然要用单独的,且电源质量更好的LDO,另一个参考,可以看电源部分,ZU4EV的手册只给了3%的电源误差空间,也可见收发器部分对电源的需求之高。收发器这个部分要是详细说的话,估计今天都不用做其他事了,有兴趣的小伙伴可以参考下Xilinx的文档,自行参悟。https://www.xilinx.com/support/documentation/user_guides/ug476_7Series_Transceivers.pdfALINXAXU4EV-P核心板上U36这颗就相对比较好理解了,这颗电源应该是在做板子的阶段,特意做的兼容性设计,这路PL_VCU_0V9的电源是专门共给ZYNQZU4EV核心的VideoCodec的部分使用的,ZU3EG没有VideoCodec的部分当然就不用上件。如果感觉ALINXAXU4EV-P核心板不够用的话,ALINX大大还给出了更强的解决方案,AXU5EV-P。资源数目再次翻倍,内核主频提升10%。ALINXAXU4EV-P核心板介绍到这里告一段落,下面看下ALINXAXU4EV-P的底板部分,相比较来说ALINXAXU4EV-P的底板,可是要比ALINXAXU3EG更加的丰富:ALINXAXU4EV-P开发板的设计框图:ALINXAXU4EV-P开发板配备了一个PCIEx1标准的M.2接口,用于连接M.2的SSD固态硬盘,通信速度高达6Gbps。只支持PCIe的固态硬盘,作为经常和电脑打交道的人,M2就不多介绍了,DP显示接口也一样不做过多的说明,最高支持4Kx2K@30Fps输出。ALINXAXU4EV-P开发板还有4个我们常用的USB3.0,这部分USB的实现是透过USBPHYUSB3320C芯片实现USB功能,再配合2对差分信号收发器,加上USB3.0的HUB实现USB3.0的功能,口头描述好痛苦,直接看图。其中的Si5332是一颗来自SiliconLabs的多路时钟芯片,来个FPGA,以及其他模块提供参考时钟。ALINXAXU4EV-P开发板上还有两路Ethernet,通过RGMII接口连接的GPHYKSZ9031RNX。说白了也就是我们平是最常见而又离不开的接口——网口。UART就不用太介绍了,通过SiliconLabsCP2102将串口转换成了MINIUSB接口。AXU4EV-P扩展板还包含了一个Micro型的SD卡接口,以提供用户访问SD卡存储器,存储ZU4EV芯片的BOOT程序,Linux操作系统内核,文件系统以及其它的用户数据文件。由于电平的不匹配ALINX在信号上设计了电平换,使用的是TI的TXS02612RTWR。ALINXAXU4EV-P扩展板具有ALINXAXU3EG所没有的HDMI部分,使用的是ADI的ADV7511,ADV7611来实现HDMI的收入和输出,均可以支持1080P@60Hz。还有MIPI接口用来连接摄像头。MIPI接口15PIN的FPC连接器,为2LANE的数据和1对时钟分别连接BANK65的差分IO管脚上,电平标准为1.2V。同时ALINXAXU4EV-P扩展板还具有FMCLPC的扩展口,可以外接XILINX或者我们ALINX的各种FMC模块(HDMI输入输出模块,双目摄像头模块,高速AD模块等等)。FMC扩展口包含36对差分IO信号,分别连接在ZYNQBANK65&BANK66的IO上。(如下图,红框)ALINXAXU4EV-P扩展板上,有很多的高速接口,是需要使用GTH收发器的,首先就是PCIEx2金手指,可以实现PCIE3.0的数据传输,同时兼容PCIE2.0。使用ZYNQBANK224的GTH收发器,单通道通信速率可高达8Gbit带宽。再就是光纤接口,购买SFP光模块(市场上1.25G,2.5G,10G光模块)插入到这2个光纤接口中进行光纤数据通信。2路光纤接口分别跟ZYNQBANK224的GTH收发器的2路RX/TX相连接,每路TX发送和RX接收数据速率高达12.5Gb/s。这样,ALINXAXU4EV-P开发板的整体结构大致都会有个数,软件部分呢还是Vitis统一软件平台,这个平台是Xilinx大大将功能性的软件的一次整合,其内容主要包括:1.全面的内核开发套件,可无缝构建加速的应用。2.完整的硬件加速开源库,针对Xilinx硬件平台进行了优化。3.插入特定领域的开发环境,可直接在熟悉的更高层次框架中进行开发。4.不断发展的硬件加速合作伙伴库和预建应用生态系统这一边。ALINX也很给力的给出了SOP,即标准作业程序,或者叫做UserGuide。总之有了相关说明就比较简单,按照步骤一步一步装下来就好了,正好也没有用过XilinxVitis这里也就当作给童鞋们做个尝试了,不过整体差异应该不会很大,2020年开始Xilinx把IDE打包升级成了新的开发软件群,改原来的DCSoc命名为Vitis,包含了Vivado和HLS,以及导入新的如AI,Vidoe等,专项应用功能软件。VITIS开发环境在上次简单使用ALINXAXU3EG开发板的时候就搭建好了,这次也就省事了,直接开始尝试着使用的阶段。简单的进行文件读写的例子,使用的是裸板程序没有基于Linux,我直接找到ALINX所提供的对应的工程。这个实验相对简单,其根本想要实现的就是通过FATFS,进行SD卡,或者EMMC的读写,FatFs是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。FatFs的编写遵循ANSIC,因此不依赖于硬件平台。FatFs系统提供了很多API函数,我们只需要优先看下,我们在使用需要的部分。f_mount-注册/注销一个工作区域(WorkArea)f_open-打开/创建一个文件f_close-关闭一个文件f_read-读文件f_write-写文件有兴趣想要对FATFS了解更加深入的,可以去看下如下的网站,这个网站给出来了每个API函数的使用说明和例子。http://elm-chan.org/fsw/ff/00index_e.html在例程中提供了EMMC和SD卡的测试程序,程序流程为注册工作空间->检查状态->检查是否驱动准备好,文件系统是否存在,如果不存在,则创建->检查目录文件是否存在,如果有,则删除->写入一个文件->读出文件内容。注意BSP要勾选xilffs库。进行工作空间注册,文件系统检查,如果没有文件系统的时候需要创建文件系统,利用f_mkfs函数,如果是SD0,路径就是”0:”,如果是SD1,路径就是”1:”,创建文件系统需要较长时间,需要等待,再判断是否文件存在,存在的话,先删除掉,然后向其中写入一个文件,并再读出来。操作的代码如下这里还需要定义文件路径,文件内容,文件路径要注意,如果SD0就是“0:/”,如果是SD1就是”1:/”,对于我们的板卡和现在的系统来说,SD0就是EMMC,SD1就是SD卡。下载EMMC的程序到开发板,则会打印以下信息,如果EMMC中已经存在目录文件,则会打印第一条语句,最后一条语句则是打印文件中的内容。如果是SD卡,也会有一样的log产生,只不过我们可以将卡拔下来在电脑上进行观察。这样呢我们就跟着例程,实现了裸板的FATFS读写SD卡orEMMC的实验了,有SOP和参考教程实现起来真的相对简单方便。然后我就再找编译好的petalinux的系统,在资料里翻了半天总算找到了相关的image,只是这个应该是编译出来的二进制文件,并没有进行打包,我们想要烧录还是稍微有点麻烦,需要根据地址,将文件烧录在SD卡的不同地址区间。折腾了一通,我想,我们还是选择用ALINX给我们随箱带的SD卡进行启动。回头重新编译来过。使用ALINX提供我们的MINIUSB转USBYTPEA的线连接我们电脑的USB口和板卡的PSUART。通过软件打开串口,串口端口COM14(这个不同电脑端口号会不同,可以自行在设备管理器中查看),串口波特率115200。然后我们登录ALINXAXU4EV-P开发板PS端的系统:使用的用户名:root,密码:root。查看下CPU的参数:系统使用的是Xilinx家自己的petalinux。相对来说我们想要在这个系统进行一些工具的安装,就需要进行交叉编译方式,将软件编译进系统。这一般来说需要Linux系统的参与。ALINXAXU4EV-P开发板PS端CPU的参数,上面只有显示4个CPU,但是我有些好奇,CortexR5的两个试试内核应该怎么使用呢,还要好好研究一下。当ALINXAXU4EV整块板卡运行起来的时候,系统基本处于idel状态,整板的功耗大概在13.57W左右,相比较于我们之前的ALINXAXU3EG的11.78W整整多出将近2W,其实主要开销可能是在底板上额的功能芯片,和ZYNQ内部更大的逻辑和内存的开销。整体来说还是很可观的。声明:本文系电路城的原创内容,转载请注明出处!

你可能感兴趣的:(python编辑七段数码管引脚图_EDA/PCB)