包含Smart Zynq (SL 版)的原理图,注意事项,以及后续更新的转接板的原理图等一些资料
首先感谢各位的关注和支持,有任何问题可以咸鱼APP中搜索用户: 超级大电工,或者taobao店铺 hellofpga
备注 本站所有的资料都是基于VIVADO2018.3版本的,如果不熟悉开发过程,版本尽量保持一致
另外备注 本页是 SL 版本的 资料,如果是Smart ZYNQ 标准版 或者 SP版 的主板 请看对应的内容
主板资料(此板 为SL版)
主板型号 | Smart Zynq SP | Smart Zynq SL | 相同 |
主控芯片 | XC7Z020 | XC7Z020 | √ |
DDR内存 | 256M x 16bit (512MB) | 256M x 16bit (512MB) | √ |
FLASH | 128Mbits (16MB) | 128Mbits (16MB) | √ |
EEPROM | 24C02 2kbits | 24C02 2kbits | √ |
时钟 | PS端 :33.33M有源晶振 PL端 : 50M有源晶振 | PS端 :33.33M有源晶振 PL端 : 50M有源晶振 | √ |
板子层数 | 8层 | 8层 | √ |
TF卡槽 | 一路TF卡槽 | 一路TF卡槽 | √ |
网络功能 | 千兆网络 X1 (接PL端,PS也可使用) | 千兆网络 X1 (接PL端,PS也可使用) | √ |
HDMI接口 | 带一路HDMI输出接口(IO模拟) | 带一路HDMI输出接口(IO模拟) | √ |
按键 | 可编程按键(PL端) X2 RST复位按键 X1 | 可编程按键(PL端) X2 RST复位按键 X1 | √ |
LED指示灯 | 可编程LED 指示灯 X2 DONE指示灯 X1 电源指示灯 X1 | 可编程LED 指示灯 X2 DONE指示灯 X1 电源指示灯 X1 | √ |
启动选项 拨码开关 | 带一个双路拨码开关 负责启动方式的选择 | 带一个双路拨码开关 负责启动方式的选择 | √ |
排针引出 | 68路 可编程GPIO(全都由PL端引出,PS可通过EMIO方式映射) 所有引出的管脚均以差分线方式两两引出(差分线内等长) 管脚间距2.54mm | 68路 可编程GPIO(全都由PL端引出,PS可通过EMIO方式映射) 所有引出的管脚均以差分线方式两两引出(差分线内等长) 管脚间距2.54mm | √ |
BANK电压 是否可调 | 引出的GPIO中 其中一边的bank电压可调 | 引出的GPIO中 其中一边的bank电压可调 | √ |
串口 | 自带一路串口 TYPE C接口 | 自带一路串口 TYPE C接口 | √ |
USB | 板子自带USB 功能,可作为USB HOST,或USB SLAVE | 不带USB 功能 | × |
LCD | 板子自带一个1.47寸的 SPI LCD屏,接在PL测(PS也可使用) | 不带板载LCD功能 | × |
JTAG 下载器 | 板子集成了 xilinx jtag下载器部分功能,无需额外配置 | 不带板载下载器,需要外接下载器 | × |
资源汇总 | TYPE C :JTAG + UART(供电) TYPE C :USB SLAVE (供电) USB A : USB HOST LCD :1.47寸 彩色 TF :TF 卡槽 (可启动) RJ45 :千兆以太网 HDMI : HDMI OUT 40PIN 排针 X2 (68个PL GPIO) 可编程LED X2 可编程按键 X2 POR复位按键 X1 ZYNQ 7020 芯片 512MB DDR 2Kbits EEPROM 16MB FLASH(可启动) 晶振 33.33M (PS) 50M(PL) 一路bank电压可调 | TYPE C :UART(供电) TF :TF 卡槽 (可启动) RJ45 :千兆以太网 HDMI : HDMI OUT 40PIN 排针 X2 (68个PL GPIO) 可编程LED X2 可编程按键 X2 POR复位按键 X1 ZYNQ 7020 芯片 512MB DDR 2Kbits EEPROM 16MB FLASH(可启动) 一路bank电压可调 晶振 33.33M (PS) 50M(PL) 备注:(SL款需要额外配下载器) | × |
SP 和SL 版 相同资源的程序 是可以完全兼容的,管脚和GPIO的线序也完全一致,除USB HOST ,USB SLAVE 以及 板载 LCD 等SL版没有的功能外 其余资料相通
主板原理图如下:(最新更新 2023年5月10日)
尺寸图
板子上排针的 引脚长度报告:(备注 差分线 组内都做了等长,组外没有做等长,如果设计底板过程中对等长有要求,请参考下列长度报告)
板子上所有功能IC 的数据手册:
7010 和7020的PL资源 如下图所示
注意事项
1)Smart ZYNQ SP与 SL 版 V1.0 的板子上的Uart的丝印标注是标反的,TX–>L17, RX–>M17 (大家使用的时候以原理图为准)
2) 板子上的TYPE C接口都可为板子进行供电,板子排针上的VCC口也可以外接5V 为板子进行供电,USB和外接供电互不冲突(USB有二极管作电源防倒流保护)
3) 部分笔记本以及老电脑的USB口输出功率低于5V 500ma,如遇板子因供电问题导致的功能不稳定,请尝试更换数据线,或者更换USB口再尝试 ,也可以通过外接转接板单独为板子提供5V电源(排针的VCC脚)
4) 排针上的VCC口可作为电源输入,也可作为电源输出
- 作为输入时,可外接5V电源(即通过转接板,或者底板为板子供电,如用杜邦线供电效果不好)
- 作为输出时(没有外接5V电源,仅通过USB供电时)可以输出4.5-4.7V的电压(即主板为转接板供电)
5) 板子上的 POR RST 是整个硬件的复位按钮 (优先级高于任何程序,只要此按键按下整个系统将根据BOOT启动方式重新启动)
6) 关于BANK33的电压, BANK 33电压可以通过调整背面两颗0805大小的电阻(板子上丝印标注为RA RB)来实现电压的调整(出厂默认是3.3V)
7)BANK35 因为连接了板子上的各种外设,所以BANK35电压不可调固定为3.3V
8) 如果需要画上方扩展板 请务必要注意RJ45接口的高度,预留RJ45的槽,否则上拓展板将无法插入
随板预下载的演示程序介绍 (boot模式选择 QSPI FLASH再上电)
- HDMI输出720p的 测试彩色条纹
- UART以一秒钟为间隔发送 “hello world”
- LED灯在上电后以流水灯的方式 来回点亮 (一旦按下KEY1 KEY2 任意按键,则流水灯停止,程序切换到对应按键方向的灯亮起)
可供测试的 TF固件
(使用方法:将文件下载并解压缩,将内容复制到FAT32格式的TF卡的根目录,并插入到主板上,拨码开关设置成SD启动,并按下板子上的POR复位键盘)
1.全功能测试
- 所有的GPIO (排针输出端)进行流水灯闪烁
- HDMI输出720p的 测试彩色条纹
- UART以一秒钟为间隔发送 “hello world”
- LED灯在上电后以流水灯的方式 来回点亮 (一旦按下KEY1 KEY2 任意按键,则流水灯停止,程序切换到对应按键方向的灯亮起)
2. 网络和USB HOST测试固件(linux 进入账号root 密码 root) (备注 PL板不带 USB功能)
NET_USB_LINUX_20230430下载 (备注 PL板不带 USB功能)
- 用串口通过命令行登录Linux, 然后插上网线连接路由器,通过ping来测试网络功能
- 操作上可以参考 下方演示的操作 ZYNQ linux开发 章节八 Petalinux 千兆以太网络功能的测试( Smart ZYNQ SP&SL 版)
已整理的一些图文例程(持续更新中)
- 当遇到ZYNQ ,SDK debug失败报错的解决方法
- ZYNQ板PL部分程序添加复位信号的几种办法
- Vivado 2018.3 下载及安装
- Verilog 快速上手笔记
- 关于7020芯片磨码的说明
- Vivado 2019.2 以上带 vitis 版本的简单教程演示 (本文大多数例子都是基于2018.3创建的,所以本章节选看)
- ADB_ZD01-正点原子模块转接板(可连接摄像头及AD、DA等模块)附gerber文件可以直接打板
- Smart ZYNQ(SP&SL 版) 工程一 用ZYNQ的PL资源点亮一个LED(完整图文)
- Smart ZYNQ(SP&SL 版)工程二 用ZYNQ的PL(FPGA)设计流水灯
- Smart ZYNQ(SP&SL 版) 工程三 通过PS部分来为PL逻辑提供时钟(做工程时的常用方法)
- Smart ZYNQ(SP&SL 版) 工程四 PL部分按键功能演示(IO输入功能)
- Smart ZYNQ(SP&SL 版) 工程五 基于ZYNQ PL资源的HDMI功能演示
- Smart ZYNQ(SP&SL 版) 工程六 用ZYNQ的PS点亮连接到PL端的LED灯AXI_GPIO_IP方式(完整图文)
- Smart ZYNQ(SP&SL 版) 工程七 用ZYNQ的PS点亮连接到PL端的LED灯EMIO 方式 (推荐使用方式)
- Smart ZYNQ(SP&SL 版) 工程八 将程序固化至QSPI FLASH
- Smart ZYNQ(SP&SL 版) 工程八 (补充) 纯FPGA程序 固化至QSPI FLASH
- Smart ZYNQ(SP&SL 版) 工程九 将程序放置在TF卡,并进行TF卡启动演示
- Smart ZYNQ(SP&SL 版) 工程十 Vivado自带的仿真功能演示
- Smart ZYNQ(SP&SL 版) 工程十一 FPGA 硬件调试 ILA功能的演示
- Smart ZYNQ(SP&SL 版) 工程十二 基于ZYNQ FPGA资源的PWM演示
- Smart ZYNQ(SP&SL 版) 工程十三 基于PL端 的PLL 时钟模块的测试
- Smart ZYNQ(SP&SL 版) 工程十四 基于PL端的 BLOCK RAM IP核的使用
- Smart ZYNQ(SP&SL 版) 工程十五 ZYNQ端PS 访问 PL端的reg 寄存器,实现PS与PL数据交互
- Smart ZYNQ(SP&SL 版) 工程十六 基于ZYNQ的PS部分UART功能演示
- Smart ZYNQ(SP&SL 版) 工程十七 千兆网络模块初测(基于PS EMIO)
- Smart ZYNQ(SP&SL 版) 工程十八 基于PS端的 定时器中断
- Smart ZYNQ(SP&SL 版) 工程十九 基于PS端的 GPIO(EMIO)输入功能演示
- Smart ZYNQ(SP&SL 版) 工程二十 基于PS端的 外部中断测试
- Smart ZYNQ(SP&SL 版) 工程二十一 基于PL的 VIO在线调试功能测试
- (工程二十二 暂时整理中 RGB800X480屏幕模块)
- Smart ZYNQ(SP&SL 版) 工程二十三 用VDMA模块来缓存图像并在HDMI上显示(一)800X600分辨率测试
- Smart ZYNQ(SP&SL 版) 工程二十四 用VDMA模块来缓存图像并在HDMI上显示(二)用always分频来适配更多分辨率
- Smart ZYNQ(SP&SL 版) 工程二十五 用VDMA模块来缓存图像并在HDMI上显示(三)显示TF卡上的BMP格式图片
Smart ZYNQ(SP版) 工程二十六 用zynq的PS的硬件SPI资源驱动彩色LCD(SL版不带此功能)Smart ZYNQ(SP) 工程二十七 基于PS的 USB slave功能测试(即ZYNQ模拟U盘的功能测试) (SL版不带此功能)- (工程二十八 暂时整理中 )
- Smart ZYNQ(SP&SL 版) 工程二十九 在PS端调用片内XADC资源 来实时读取芯片的电源和温度等信息
- Smart ZYNQ(SP&SL 版) 工程三十 在PL端调用片内XADC资源来读取 ADC对应管脚的电平电压
- Smart ZYNQ(SP&SL 版) 工程三十一 PL(FPGA) 读写 PS端DDR的实验
- Smart ZYNQ(SP&SL 版) 工程三十二 PS端 QSPI FLASH读写测试
- Smart ZYNQ(SP&SL 版) 工程三十三 ZYNQ端 PS 访问 PL端的BRAM资源,实现PS与PL数据交互
- Smart ZYNQ(SP&SL 版) 工程三十四 ZYNQ PS 端的双核AMP实验
下面是linux部分的图文教程资料(持续更新中)
- ZYNQ linux开发 章节一 之Ubuntu及虚拟机Vmware的安装
- ZYNQ linux开发 章节一(补充)Ubuntu下的共享文件夹设置(选看)
- ZYNQ linux开发 章节二 Ubuntu 下 Vivado 开发环境的安装(选看)
- ZYNQ linux开发 章节三 Petalinux开发环境的安装
- ZYNQ linux开发 章节四 设计zynq的linux启动镜像——QSPI Flash启动 ( Smart ZYNQ SP&SL 版)
- ZYNQ linux开发 章节五 Petalinux 设计zynq的linux启动镜像——TF卡启动( Smart ZYNQ SP&SL 版)
- ZYNQ linux开发 章节六 Petalinux 下GPIO(EMIO方式)的输入输出实验一 ——sysfs方式(Smart ZYNQ SP&SL 版)
- ZYNQ linux开发 章节七 Petalinux 下GPIO(EMIO方式)的输入输出实验二——通过编写应用程序来调用(Smart ZYNQ SP&SL 版)
- ZYNQ linux开发 章节八 Petalinux 千兆以太网络功能的测试( Smart ZYNQ SP&SL 版)
ZYNQ linux开发 章节九 Petalinux USB HOST实验( Smart ZYNQ SP 版)(SL版不带此功能)ZYNQ linux开发 章节十 Petalinux 板载LCD 显示linux命令行实验(Smart ZYNQ SP版)(SL版不带此功能)
下面是PYNQ 部分的图文教程资料(已跑通,镜像在章节三)
- PYNQ 开发 章节一 开发移植环境的部署
- PYNQ 开发 章节二 Vivado 硬件工程搭建 (Smart Zynq SP & SL版)
- PYNQ 开发 章节三 PYNQ镜像构建 (Smart Zynq SP & SL版) (含可供测试的镜像链接)
备注 PYNQ部分仍然还在测试中,不一定完善,感兴趣的大家自行测试 2023年8月21日
Xillinux 图形化操作系统(资料更新中) (Smart ZYNQ SL主板因没有USB不能进入桌面系统,但可运行除桌面系统外的有限的功能,或者通过第十四章节的内容远程访问桌面系统容)
Xillinux 是Xillybus 为Zynq 发行的Linux,现已官方适配支持Smart ZYNQ SP主板,Smart ZYNQ SL主板也可以跑Xillinux 但是因为没有USB功能所以无法进入图形桌面,但可使用串口终端或者网络来进行操作)
- Xillinux 操作系统 资料整理
- Xillinux 章节一 TF卡准备工作之 镜像烧录
- Xillinux 章节二 TF卡准备工作之 demo bundle 的使用说明
- Xillinux 章节三 Xillinux 的启动验证(SL版不带USB 功能,所以暂时无法进入桌面系统, 但是可以通过第十四章节内容远程访问桌面系统)
- Xillinux 章节四 调整 file system 的大小
- Xillinux 章节五 设置自定义Ethernet MAC 地址 (选看)
- Xillinux 章节六 使用SmartZynq SP上的板载SPI LCD屏幕 (SL版不带屏幕,无法演示此功能)
- Xillinux 章节七 EEPROM 存储实验
- Xillinux 章节八 GPIO的输入输出实验
- Xillinux 章节九 通过 ssh 远程登录 Xillinux
- Xillinux 章节十 Windows 通过 SCP 命令 远程传输文件给Xillinux 系统
- Xillinux 章节十一 Xillinux 使用CIFS 挂载 Windows共享文件夹
- Xillinux 章节十二 在Xillinux 系统上搭建 CIFS服务(samba),实现与Windows 文件共享
- Xillinux 章节十三 在Xillinux 系统中自动挂载(mount) TF卡分区
- Xillinux 章节十四 在 Windows 计算机上远程显示并操作Xillinux 桌面及应用
- Xillinux 章节十五 将普通耳机连接到 digital output pin 并播放音乐
- Xillinux 章节十六 使用 Smart Zynq 从 OV7670 摄像头模块进行实时取景和视频捕捉
UART串口接收数据无法进入接收中断,但其它的开发板没有这个问题,不知道怎么解决
这边uart 是emio 方式 但是应该对中断不影响才对 ,可能还是要工程上找找问题看看
Can I use PS SPI on this Smart Zynq SL board
You can use EMIO to map the SPI function of the PS to the PL terminal
Hi! Why is the voltage VCC3V3 output to pins 37 and 38 of the U12 connector? Logically, it should be VCCIO_ADJ
Because the use of 3.3V is more common, and there is a VCCADJ connector port on the board, which is close to the position of KEY1 (2P)
And even if the communication voltage outside the chip is 1.8V, the power supply voltage may still need 3.3V to provide
(因为相比于其他电压,3.3V更常使用, 而且很多芯片即使外设的通讯电压是1.8V,但是供电电压仍然可能需要3.3V来提供, 另外板子上有引出VCCADJ的电压,在按键KEY1 的位置附近)
Hello! But you have 5V_DC output to the connector. If necessary, any voltage can be made from 5V. Moreover, the board itself can also receive power from the 5V_DC line. At the same time, you have VCCADJ equal to 3.3V and does not go anywhere except U32. You could route VCCADJ to the connector instead of VCC3V3, they are the same anyway 3.3V. It is often necessary 2.5V but you don’t have them. It would be more convenient to make VCCADJ = 2.5V. Moreover, it’s better to make a jumper for switching 2.5/3.3V. And would be convenient to use a flat cable 40-cores, but for VCCADJ I will have to add a separate wire.
I understand what you’re saying. Thank you for your suggestion.