本帖最后由 正点原子01 于 2020-6-9 10:48 编辑
1)实验平台:正点原子领航者ZYNQ开发板
2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761
3)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-301505-1-1.html
4)对正点原子FPGA感兴趣的同学可以加群讨论:712557122
5)关注正点原子公众号,获取最新资料更新
第二章 实验平台简介本章内容主要向大家简要介绍我们的实验平台:领航者ZYNQ开发板。通过本章的学习,你将对我们后面使用的实验平台有个快速的了解,为后面的学习做铺垫。 本章包括以下几个部分: 1.1 领航者ZYNQ开发板资源初探 1.2 领航者ZYNQ开发板资源说明
1.1领航者ZYNQ开发板资源初探正点原子目前已经拥有多款 STM32、I.MXRT以及FPGA开发板,这些开发板常年稳居淘宝销量冠军,累计出货超过10W套。这款ZYNQ开发板,是正点原子针对中高端应用场景所推出的开发板,采用核心板+底板的设计,方便用户对核心板进行二次开发。 1.1.1 领航者开发板底板资源首先我们来看领航者ZYNQ开发板的底板资源图,如图2.1.1所示。
从图2.1.1可以看出,领航者ZYNQ开发板底板资源非常丰富,把ZYNQ芯片内部的资源发挥到了极致,同时扩充了丰富的接口和功能模块,整个开发板显得十分高端和大气。 开发板的外形尺寸为120mm*160mm,板子的设计充分考虑了人性化设计,并结合正点原子多年的开发板设计经验,经过多次改进,最终确定了这样的设计。 正点原子领航者开发板底板资源如下: u 1个核心板接口,支持ZYNQ7020/ZYNQ-7010核心板 u EEPROM芯片:AT24C64,容量:64Kbit(8K字节) u 1个电源指示灯(蓝色) u 2个PL LED(红色) u 2个PS LED(红色) u 1个有源蜂鸣器 u 1个PL复位按键 u 2个PL功能按键 u 2个PS功能按键 u 1个电容触摸按键 u 1路CAN接口,CAN收发器采用TJA1050芯片 u 1路RS232串口(母)接口,采用SP3232芯片 u 1路RS485接口,和RS232的接口复用 u 1个RS232/RS485选择接口 u 1个CAN选择接口 u 1个标准的RGB888 TFT-LCD接口 u 1个XADC接口 u 1个OLED/摄像头模块接口 u 1个20x2扩展口,共36个扩展IO口 u 1个RTC实时时钟,芯片型号为PCF8563 u 1个RTC电池座,并带电池 u 1个ATK MODULE接口,支持正点原子蓝牙/GPS/UART等模块 u 1个BOOT模式选择开关 u 1个电源指示灯 u 1路音频输出接口 u 1路音频输入接口 u 1个高性能音频编解码芯片WM8960,支持录音、音频输入和音频输出 u 1个录音头(MIC/麦克风) u 1个小扬声器(位于开发板背面) u 1路HDMI输入/输出接口 u 4路USB HOST接口 u 1路USB SLAVE接口 u 14-Pin JTAG接口,提供开发板下载和调试的功能 u 1组5V电源供应/接入口 u 1组3.3V电源供应/接入口 u 3路3.3V电源口和3路5V电源口,方便给外扩模块供电 u 1个电源开关,控制整个开发板的电源 u 1个直流电源输入接口(输入电压范围:DC6~16V) u 1个PL端千兆以太网接口(RJ45) u 1个PS端千兆以太网接口(RJ45) u 1个Micro SD(TF)卡接口(位于开发板背面) u 1个USB串口 领航者ZYNQ开发板底板的特点包括: 1) 接口丰富。板子提供了丰富的标准外设接口,可以方便的进行各种外设的实验和开发。 2) 设计灵活。我们采用核心板+底板的形式,板上很多资源都可以灵活配置,以满足不同条件下的使用;板上很多资源都可以灵活配置,以满足不同条件下的使用。其中芯片左下侧引出一排20x2扩展口,共36个扩展IO口。 3) 资源充足。板载高性能音频编解码芯片、HDMI接口、RGB LCD接口、1个PL千兆网口+1个PS千兆网口、4个USB HOST接口+1个USB SLAVE接口以及各种接口芯片,满足各种应用需求。 4) 人性化设计,各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。 1.1.2 领航者开发板核心板资源接下来我们来看领航者ZYNQ核心板资源图,正点原子的ZYNQ核心板根据主控芯片和DDR3内存容量的不同分为ZYNQ-7020核心板和ZYNQ-7010核心板。领航者ZYNQ-7020核心板和领航者ZYNQ-7010核心板的资源图分别如图2.1.2和图2.1.3所示:
由图2.1.2和图2.1.3可知,ZYNQ核心板板载资源丰富,可以满足各种应用的需求。整个核心板的外形尺寸为45mm*60mm,非常小巧,并且采用了贴片板对板连接器,使得其可以很方便的应用在各种项目上。 ZYNQ-7020核心板和ZYNQ-7010核心板除ZYNQ主控芯片和DDR3存储容量不同外,其余外设完全相同。ZYNQ-7020核心板和ZYNQ-7010核心板具体资源如下: u ZYNQ芯片采用Xilinx公司的ZYNQ7000系列芯片,ZYNQ-7020核心板的ZYNQ芯片型号为XC7Z020CLG400-2,PL逻辑单元多达85K,BRAM存储资源为4.9Mbit;ZYNQ-7010核心板的ZYNQ芯片型号为XC7Z010CLG400-1,PL逻辑单元多达28K,BRAM存储资源为2.1Mbit;两种ZYNQ芯片的处理器系统均为双核Cortex-A9结构。需要注意的是,ZYNQ-7020核心板主控芯片的速度等级为“-2”,ZYNQ-7010核心板主控芯片的速度等级为“-1”,因此ZYNQ-7020核心板主控芯片的速度等级更高,所支持的频率也更高 u 2片DDR3 SDRAM,ZYNQ-7020核心板的DDR3型号为NT5CB256M16EP-DI,每片4Gbit,总容量为8Gbit(1GB);ZYNQ-7010核心板的DDR3型号为NT5CB128M16IP-DI,每片2Gbit,总容量为4Gbit(512MB) u 1个1x6下载接口,与底板的14-Pin JTAG接口功能一致 u 1个PL LED u 1个PS LED u 1个PL晶振:50Mhz,给PL可编程逻辑提供时钟 u 1个PS晶振:33.333Mhzz,给PSCPU逻辑提供时钟 u 1个电源指示灯 u 1个PL配置状态指示灯(DONE LED) u 1个PS端千兆以太网PHY芯片:RTL8211E-VL u 1个PS复位按键 u 1个QSPI FLASH,型号W25Q256FVEI,容量:256Mbit(32MB) u 1个eMMC,型号为KLM8G1GETF,容量:8GB。 领航者ZYNQ开发板底板的特点包括: 1) 体积小巧。核心板仅45mm*60mm大小,方便使用到各种项目里面。 2) 集成方便。核心板使用两个2*40PBTB连接座,可以非常方便的集成到客户PCB上,更换简单,方便维修测试。 3) 资源丰富。核心板板载1GB/512MBDDR3、32MB QSPI Flash、8GB eMMC存储器,可以满足各种应用场合 4) 性能稳定。核心板采用10层板设计,单独地层、电源层,保证运行稳定、可靠。 5) 人性化设计。核心板各种放有详细丝印,使用起来一目了然。资源搭配合理,物尽其用。 6) 接口丰富。板子提供了丰富的标准外设接口,可以方便的进行各种外设的实验和开发。 1.2 领航者ZYNQ开发板资源说明领航者ZYNQ开发板资源说明分为两个部分:硬件资源说明和软件资源说明。 1.2.1 硬件资源说明领航者ZYNQ开发板分别为ZYNQ的PL端和PS端配备了丰富的硬件外设,如下图所示:
XC7Z020和XC7Z010芯片的PS端IO bank包括Bank 502、Bank 501和Bank 500,PL端的IO bank包括Bank 13、Bank 34和Bank 35,我们分别为PS端和PL端的IO连接了不同的外设,如图2.2.1所示。 下面我们分别介绍领航者ZYNQ核心板和底板上的硬件资源。 底板外设简介: 1. 有源蜂鸣器 领航者底板板载一个有源蜂鸣器(BEEP),可以实现简单的报警/闹铃。 2. 1个PL复位按键 领航者底板板载一个PL端的复位按键(PL_RESET),可以作为ZYNQ PL端逻辑的复位信号,按键复位信号默认是高电平的,当复位按键按下之后为低电平。 3. 2个PL LED 领航者底板板载2个PL LED灯(PL_LED0~PL_LED1),连接到了PL端的IO口上。在调试代码的时候,使用LED来指示程序执行状态,是非常不错的一个辅助调试方法。 4. 2个PL功能按键 领航者底板板载2个机械式按键(PL_KEY0~PL_KEY1)是直接连接在PL端的IO口上的,可以作为人机交互的输入信号。这2个按键信号默认都是高电平的,当按键被按下之后,按键信号变为低电平。 5. 2个PS LED 领航者底板板载2个PS LED灯(PS_LED0~PS_LED1),LED连接到了PS端的IO口上。 6. 2个PS功能按键 领航者底板板载2个机械式按键(PS_KEY0、PS_KEY1),按键都是直接连接在PS端的IO口上的,可以作为人机交互的输入信号。这2个按键信号默认都是高电平的,当按键被按下之后,按键信号变为低电平。 7. 1个触摸按钮 领航者底板板载1个电容触摸输入按键(TPAD),触摸方案采用AR101芯片,该芯片利用电容充放电原理,实现触摸按键检测的功能。当手指触摸TPAD按键时,触摸芯片输出高电平,松开为低电平。 8. USB转串口 领航者底板板载一个PS端的USB转串口,之所以设计成USB形式的串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了USB串口可以方便大家进行USB串口通信的试验。同时这个USB接口还可以给开发板提供电源,但是其最大电流只有500mA,但是在运行PS端的ARM处理器时它却不能够提供足够大的电流,所以还是建议大家使用专门的电源适配器来为开发板供电。 9. RS232接口(母头) 领航者底板板载一个普通RS232接口,通过一个标准的DB9母头和外部的串口连接。通过这个接口,领航者可以连接带有串口的电脑或者其他设备,实现串口通信的功能。 10. RS485接口 领航者底板板载一个RS485接口,通过一个两PIN的端子和外部的485接口连接。通过这个接口,领航者可以连接带有RS485接口的开发板或者其他设备,实现RS485通信的功能。这里提醒大家,两个RS485接口进行通信的时候,必须A接A,B接B,否则可能通信不正常! 11. RGB TFT-LCD接口 领航者底板板载一个RGB LCD接口,可以连接各种分辨率的正点原子RGB LCD屏,采用的是RGB888格式,可显示1677万色,色彩显示丰富。并且支持触摸的功能。 12. XADC接口 领航者底板板载一个XADC接口(J1),用于测量外部输入的模拟电压,范围为0~1V。ZYNQ内部的XADC模块既可以测量ZYNQ芯片内部的温度和电压,也可以用来测量外部的模拟电压。 13. OLED/摄像头模块接口 领航者底板板载一个OLED/摄像头模块接口(P2)。如果是正点原子的摄像头模块,则刚好可以直接插上去。通过这个接口,可以分别完成OLED显示或者摄像头显示实验。 14. EEPROM (AT24C64) 领航者底板板载一个I2C接口的EEPROM芯片,容量为64Kbit,也就是8K字节。用于存储一些掉电不能丢失的重要数据,比如系统设置的一些参数等。有了这个就可以方便的实现掉电数据保存。 15. RTC实时时钟 领航者底板板载一个RTC实时时钟芯片(U6),芯片型号为PCF8563。PCF8563是PHILIPS公司推出的一款工业级多功能时钟/日历芯片,具有报警功能、定时器功能、时钟输出功能以及中断输出功能,能完成各种复杂的定时服务。 16. 电池接口 领航者底板板载一个RTC实时时钟的供电接口(BAT1),可以保证在开发板断电时,实时时钟仍然能够继续工作,这样的话,配置的日期与时间不会因开发板的断电而恢复到默认值。 17. ATK MODULE接口 领航者底板板载一个ALIENTEK通用模块接口(U4),目前可以支持ALIENTEK开发的GPS模块、蓝牙模块、MPU6050模块和全彩RGB灯模块等,直接插上对应的模块,就可以进行相关模块的开发。后续我们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。 18. BOOT模式选择开关 领航者底板板载一个ZYNQ的BOOT模式选择开关(BOOT_CFG),用于设置PS端在上电后的启动源,包括JTAG、NAND、QSPI FLASH和SD Card。 19. 电源指示灯 领航者底板板载1颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候电源指示灯会处于点亮的状态,否则为熄灭的状态。通过这个LED,可以判断开发板的上电情况。 20. 耳机输出接口 领航者底板板载1个音频输出接口(PHONE),该接口可以插入3.5mm的耳机。当WM8960播放音乐的时候,就可以通过在该接口插入耳机来欣赏音乐。 21. 音频输入接口 领航者底板板载1个音频输入接口(LINE_IN),该接口可以通过音频线来连接电脑或者手机的耳机接口。 22. MIC(麦克风) 领航者底板板载1个录音输入口(MIC,即麦克风),该麦克风直接连接到WM8960的录音输入通道上,可以实现录音的功能。 23. 扬声器 这是开发板自带的一个小喇叭(SPEAKER),安装在开发板的背面,可以用来播这放音乐。该喇叭由WM8960直接驱动。 24. HDMI接口 领航者底板板载1个HDMI(HighDefinition Multimedia Interface,HDMI)接口,该接口可以连接到HDMI显示器上,从而显示出视频或者图片等。开发板没有板载HDMI的PHY芯片,HDMI的PHY编解码功能由ZYNQ PL逻辑来模拟实现。 25. 14-Pin JTAG接口 领航者底板板载1个14针标准JTAG调试口(JTAG),该JTAG口与核心板的6-Pin JTAG接口在硬件上是连在一起的,可以直接和FPGA下载器(调试器)连接,用于下载程序或者对程序进行在线调试。 26. 3.3V电源输入/输出 领航者底板板载1组3.3V电源输入输出排针(2*3),用于给外部提供3.3V的电源,也可以从外部接3.3V的电源给板子供电。大家在做实验的时候可能经常会为没有3.3V电源而苦恼不已,有了领航者ZYNQ开发板,你就可以很方便的拥有一个简单的3.3V电源(最大电流不能超过500mA)。 27. 5V电源输入/输出 领航者底板板载1组5V电源输入输出排针(2*3),该排针用于给外部提供5V的电源,也可以从外部接5V的电源给板子供电。同样大家在实验的时候可能经常会为没有5V电源而苦恼不已,正点原子充分考虑到了大家的需求,有了这组5V排针,你就可以很方便的拥有一个简单的5V电源(USB供电的时候,最大电流不能超过500mA,外部供电的时候,最大可达1000mA)。 28. 电源开关 领航者底板板载1个电源开关(K1)。该开关用于控制整个开发板的供电,如果通过开关切断电源,则整个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。 29. DC6~16V电源输入 领航者底板板载1个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载了DC-DC芯片(JW5060T),用于给开发板提供高效、稳定的5V电源。由于采用了DC-DC芯片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~16V 的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到4.3寸屏/7寸屏/网口/高速AD-DA的时候,建议大家使用外部电源供电,可以提供足够的电流给开发板使用。 30. PL端千兆以太网接口(RJ45) 领航者底板板载1个千兆的RJ45网口(PL_GE),连接到了PL端的IO口上,PHY芯片型号是B50610,支持10Mbps/100Mbps/1000Mbps的通信速率,板载的RJ45插座可以连接网线,实现网络通信功能。 31. PS端千兆以太网接口(RJ45) 领航者底板板载1个千兆的RJ45网口(PS_GE),通过转接板连接到了核心板上的以太网PHY芯片,支持10Mbps/100Mbps/1000Mbps的通信速率,板载的RJ45插座可以连接网线,实现网络通信功能。 32. USB2.0接口 领航者开发板为PS端的USB模块配备了一个USB2.0PHY芯片,并且根据主从模式的不同,外接了4个HOST模式的接口和一个SLAVE模式的接口。4个HOST模式的接口可分别用来连接不同的USB SLAVE设备,可以用来连接鼠标、键盘等不同的设备,以满足各种不同的需求。一个SLAVE模式的接口可以用来连接HOST设备,以满足特定的应用需求。 33. Micro SD接口 领航者底板板载1个标准Micro SD接口(TF_CARD),该接口位于开发板的背面,采用Micro SD接口,可以使用SPI/SDIO驱动方式。有了这个接口,就可以满足海量数据存储的需求。 34. CAN接口 领航者底板板载一个CAN总线通信接口,CAN接口通过2个端口和外部CAN总线连接,即CANH和CANL。这里提醒大家:两个CAN接口通信的时候,CANH必须接CANH,CANL必须接CANL,否则可能通信不正常! 35. 40PIN扩展口 领航者底板板载一个40PIN的扩展口,位于开发板的左下角,扩展口规格是2*20 Pin,采用标准2.54MM排针间距,其中包括36个IO口,1个+3.3V,1个+5V,2个GND。它可以用来连接不同的功能模块,例如,正点原子开发的高速AD/DA模块和双目摄像头模块等。 核心板外设简介: 1. ZYNQ主控芯片 ZYNQ-7020核心板主控芯片为XC7Z020CLG400-2,85K LC(逻辑单元),4.9MbitBRAM; ZYNQ-7010核心板主控芯片为XC7Z010CLG400-1,28K LC(逻辑单元),2.1MbitBRAM。 Zynq处理器系统里包含两个Cortex-A9处理器,除此之外,还有一组相关的处理资源,形成了一个应用处理器单元(Application Processing Unit,APU)。另外处理器系统里还有扩展外设接口、cache存储器、存储器接口、互联接口和时钟发生电路等。 2. DDR3 SDRAM ZYNQ-7020核心板板载两片4Gbit DDR3内存,芯片型号为NT5CB256M16EP-DI,总容量为8Gbit(1GB); ZYNQ-7010核心板板载两片2Gbit DDR3内存,芯片型号为NT5CB128M16IP-DI,总容量为4Gbit(512MB); 板载的DDR3芯片可以轻松应对各种大内存、高带宽场景需求,比如摄像头图像数据存储等。此外,DDR3内存也作为PS端处理器的运行内存。 3. 1个6-Pin下载接口 核心板的6-PIN下载接口与底板的14-PinJTAG接口是一体的,可以在单独使用核心板时做调试和下载使用。 4. 1个PL LED 它连接到了PL端的用户IO上,可由用户编写Verilog代码来控制其亮灭。 5. 1个PS LED 它连接到了PS端的GPIO上,可由用户使用C代码编程来控制其亮灭。 6. PL端50Mhz晶振 这是开发板上用于为ZYNQ PL端提供时钟的晶振(XTAL)。该晶振输出的时钟是PL端最原始的时钟,其它外设需要的各种频率的时钟都在此基础上进行倍频或分频。 7. PS端33.333Mhz晶振 这是开发板上用于为ZYNQ PL端提供时钟的晶振(XTAL)。该晶振输出的时钟是PS端最原始的时钟,PS端外设所需要的各种频率的时钟都在此基础上进行倍频或分频。 8. 电源指示灯(PW) 这是核心板板载的一颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候电源指示灯会处于点亮的状态,否则为熄灭的状态。通过这个LED,可以判断开发板的上电情况。需要说明的是,ZYNQ核心板没有独立的供电接口,需要通过BTB转接板连接底板,由底板上的转接板进行供电。 9. PL配置状态指示灯(DONE LED) 这是核心板板载的一颗PL配置状态指示灯,连接到了PL端的配置完成(DONE)信号,在PL端配置(下载程序)完成之后,该LED灯会被点亮。 10. PS千兆以太网PHY芯片 这是核心板板载的一颗PS端千兆以太网PHY(物理)芯片,型号为RTL8211E-VL,实现了10/100/1000M以太网物理层功能。该PHY芯片的引脚连接到了底板上的RJ45接口上,能够满足高带宽通信的需求。 11. PS端复位按键(PS_RST) ZYNQ PS端的复位按键,它连接到了PS端的复位逻辑,按下后,PS端将重新从上电后的状态开始运行。 12. QSPI Flash(W25Q256FVEI) 这是开发板的Flash芯片,存储容量为256Mbit(32M字节),用于存储ZYNQ芯片的镜像数据,包括PS端的程序数据和PL端的配置镜像。 13. eMMC eMMC是非易失性NAND存储器,俗称电子硬盘,领航者核心板的eMMC芯片型号为KLM8G1GETF,存储容量为8GB,能够满足PS端的大容量非易失性存储需求。 1.2.2 软件资源说明上面我们简单介绍了领航者ZYNQ开发板的硬件资源。接下来,我们将向大家简要介绍一下领航者ZYNQ开发板的软件资源。 领航者ZYNQ开发板PL端提供的标准例程多达21个,领航者ZYNQ开发板PS端提供的标准例程多达34个。我们提供的这些例程,全部都是原创自主开发,注释非常详细、代码风格统一、难易程度由浅入深,非常适合初学者入门。而其他家开发板的例程,要么注释比较少,要么工程文件管理不统一,对初学者来说可能很难入门。 领航者ZYNQ开发板PL端的例程列表如下表所示: 领航者ZYNQ开发板PS端的例程列表如下表所示: 从上表可以看出,领航者ZYNQ开发板的例程是非常丰富的,并且扩展了很多有价值的例程。各个例程的难度是循序渐进的,首先从最基础的LED灯闪烁实验开始,然后一步步深入,从简单到复杂,有利于大家的学习和掌握,所以,领航者ZYNQ开发板是非常适合初学者的。当然,对于想深入学习ZYNQ开发的朋友,领航者ZYNQ开发板也是一个绝佳的选择。
|