本帖最后由 robe.zhang 于 2020-5-31 22:02 编辑
创龙TLZ7x-EasyEVM评估板 -- 系统框架,上电开机
创龙TLZ7x-EasyEVM评估板 -- 试用总结
本文主要内容是创龙TLZ7x-EasyEVM评估板的:
1,底板系统框架,
2,核心板系统框架,
3,核心芯片框架,
4,系统软件框架,
5,核心芯片介绍
本文内容很重要,使用这块板子,这些东西必须搞清楚,以后才能事半功倍,磨刀不误砍柴工。
本文还比较抽象,但是很有用,越往后也能体现出来框架的价值
本次试用的创龙TLZ7x-EasyEVM 开发板具体型号如下图:
底板是A3 版本,
核心板是A·1版本:
产品配置如下:
开发板扩展接口图示:
先看底板框架图: 如下图,中间灰色的SOM-TLZ7x 是核心板,从核心板扩展了一些接口,比如网口,camera 接口,can接口,microSD卡槽,usb host 接口,usb uart x2,还有两个扩展接口,一些LED指示灯和按键。
这里是两个uart,一个用于ps部分xc7020 的PS部分,另一个用于PL部分,
PS/PL 部分都可以单独使用。两个debug 端口共用输出到 usb 接口,
框架图中每一部分更详细信息查看底板的原理图,比如电源部分:
电源插座输入 12V 直流电源,电源开关控制 Q6 的通断,从而控制整个板子 VDD_12V_BRD 的通断,LED5 作为 VDD_12V_BRD 的状态只是灯,用户无法控制使用
VDD_12V_BRD 经过电源芯片,转换为 VCC_3V3_SOM 给核心板使用
VDD_12V_BRD 经过电源芯片,转换为 VCC_5V_MAIN
VCC_5V_MAIN 再转换为1.5V,1.8V,3.3V,提供了板子需要的各种电源参数
底板电源系统给核心板提供一路专用的 3.3V 电源,通过CONOA 输入给核心板,可以让核心板不受底板负载的影响,让核心板工作更稳定:
框架图是个功能性的抽象的图,虽然是抽象的,但是很重要,开发板实物就是这个抽象图的一个实例,每个部分都是一一对应的: 开发板上的电源系统对应的位置如下图:
其他部分电路都也很简单 Xlinx fpga 端口命令规格如下,看开发板原理图的时候很有用:
比如 PS uart 串口的tx端口,使用了: pad 编号为:D9,
pin name 为:PS_MIO12_500
功能名字:UART1_TX
端口电压:3.3V
整个底板差不多就这样,比价简单。
核心板框架更简单,基本就是个最小系统:Zynq 7020,DDR3 内存,QSPI NOR flash,EMMC 存储,PS/PL部分各一颗晶振,几个LED灯,四组连接器把所有信号引出到底板上:
以上就是整个系统,都比较简单,这也是单芯片的好处,在芯片内实现 ARM + FPGA 的整合,由xlinx 厂商完成硬件整合工作,用户使用起来比较简单。同时 xlinx厂商提供芯片级软件全家桶支持,用户在软件层的开发更简单,使用也更方便。
核心芯片内部框架
Xilinx Zynq 7020 芯片单芯片系统架构,整个芯片分为2部分: 1, 是PS(processing system)部分,如上图米黄色,PS 部分的核心是arm cortex a9 双核应用处理器。这部分和普通的应用处理器一样APU,存储接口,IO外设,内部互联总线,DAP 等 2,是PL(programmableLogic)可编程逻辑单元,就是 FPGA,如上图粉红色部分,PL 部分当作 PS 部分的设备来使用。详细如下列表: PS 和 PL 整合主要是以下接口,中断,信号,IO,时钟,复位,配置等,实现芯片级整合, 芯片级架构看到这里,基本上就会用这颗芯片了,这就是一颗arm核心的MPU,MPU怎么用,这个Zynq7020 就怎么用,同时还能额外对FPGA编程写一个特定的IP当作 arm 的外设使用,编译外设的设备树和驱动,搞定,大概的思路就这样 系统软件框架 系统启动过程: 从芯片内部固化的代码/BootROM代码启动,初始化必要的外设,然后按照启动顺序,从存储设备读取First Stage Bootloader (FSBL),运行 FSBL FSBL 运行后,配置 FPGA/PL,加载 uboot,运行uboot Uboot 再初始化外设,加载kernel,dtb,运行 kernel Kernel 完成内核初始化,挂载rootfs,运行系统,运行用户应用
稍后使用时候再看详细开发流程,基本就和上面差不多,系统框架需要什么就给什么,需要什么格式就准备什么格式,给它全准备好就完了。
继续看一下 xlinx Zynq 7020 这颗芯片: 板子使用的详细型号是:
xlinx 公司 ZYNQ 系列 XC7020 型号 CLG400封装, ABX 环保标号,不知道啥意思 2019年49周生产的芯片 批号是 D6059418A 产地:中国台 这颗芯片是 BGA封装,pitch0.8mm,芯片尺寸 17x17m,PL SIO 最多125个,PS IO 最多128个这就是这个芯片的内部结构: 芯片底部有很多锡球,芯片顶部是黑胶。芯片里面是个二氧化硅基底制作的半导体芯片电路/IC,IC 黏在一底部的PCB板子上,使用金线把IC 的信号链接到PCB板子对应的端口上,这个工艺叫做wirebond,然后上面灌黑胶,冷却后切成一个一个芯片,就是看到的样子了
xlinx 还有其他封装形式是 FCBGA,那块Die就是IC 电路,倒装焊接再substrate 上,不考虑上面的TIM 和顶盖,就是 FCBGA 的封装形式,和英特尔笔记本CPU i7-10710U 封装形式一摸一样,FCBGA 加上TIM 和顶盖,就和和英特尔台式机 CPUi9-10900 封装形式差不多,都是FC 倒装。英特尔的 LGA 芯片底部没有锡球,xlinx BGA 芯片底部有锡球 PL 部分SIO 125个全部是 HR IO(High Range IO),支持1.2V 到 3.3V 电压 下面几张图是芯片的 pinout ,io banks,memory groups,电源/地 信号图,估计硬件工程师很喜欢这几张图,看着很清爽
芯片封装和 pad 编号图示: 系统地址映射: 系统开机: 本开发板,没有 HDMI 等通用的显示器接口,所以只能链接 debug 接口开机使用, 从底板系统框架能看出来,usb debug 端口包含 PS debug 和 PL debug 两个 uart。两个uart 公用 usb debug 端口
把这个端口链接到电脑上,电脑设备管理器会出现两个设备,分别对应 PS debug,和 PL debug 实在懒得区分哪个是PS ,哪个是PL ,把两个 COM 口都打开,总有一个是PS debug 端口 串口配置信息如下图,串口速度 115200,8N1,然后插电源适配器,打开开关,LED5 常量, LED5是说底板上的 此时整个系统已经启动了,串口会有输出信息 如果此时还没有启动,看看启动选项的拨码开关对不对: 如果选择从 QSPI-SPI 启动,要确认 QSPI-SPI 中有没有程序 如果选择从 SD 卡启动,需要确认SD 卡烧写的程序对不对,确认好再重试
开机运行了一会,芯片有点烫手,坏是不可能的,这块板子可以在85摄氏度环境中,工作两个小时一切正常都没事,现在室温远远低于 85摄氏度,不可能烧坏,只是别烫了自己手烫了胳膊
总结:从板子框架,芯片框架,能看出来,以往 arm 芯片 + FPGA 芯片,需要开发板厂商,或者用户自己实现板级整合,现在好了,芯片上把这部分工作全做了,简花了用户开发过程,隐藏了整合的具体细节,用户只管买这种 arm + FPGA SoC 芯片,当作一个芯片用,方便了用户。芯片级的整合,可靠性比板级要高很多,对高速信号影响也可以小很多。
还有更强大的开发软件全家桶,稍后会体验开发软件全家捅的便利。
创龙开发板没有提供核心板的原理图,但是有核心板的框架图,和核心板引脚定义表格,核心板也比较简单,有这两个也足够了
创龙TLZ7x-EasyEVM评估板 -- 试用总结
|