1)实验平台:正点原子新起点V2开发板
2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113
2)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html
3)对正点原子FPGA感兴趣的同学可以加群讨论:994244016
4)关注正点原子公众号,获取最新资料更新
第二章实验平台简介
本章内容主要向大家简要介绍我们的实验平台:新起点FPGA开发板。通过本章的学习,你将对我们后面使用的实验平台有个快速的了解,为后面的学习做铺垫。
本章包括以下几个部分:1.3
22.1新起点FPGA开发板资源初探
2.2新起点FPGA开发板资源说明
2.1新起点FPGA开发板资源初探
正点原子目前已经拥有多款 STM32、I.MXRT以及FPGA开发板,这些开发板常年稳居淘宝销量冠军,累计出货超过10W套。这款FPGA开发板,既适合于初学者入门FPGA,同时也适合有一定经验的FPGA工程师提升自己的开发水平。
2.1.1新起点开发板资源
首先,我们来看新起点FPGA开发板的资源图,如图 2.1.1所示:
图 2.1.1 新起点FPGA开发板资源图
从图 2.1.1可以看出,新起点FPGA开发板的资源十分丰富,把FPGA EP4CE10的内部资源发挥到了极致,同时扩充了丰富的接口和功能模块,整个开发板显得十分大气。
开发板的外形尺寸为90mm*128.3mm,板子的设计充分考虑了人性化设计,并结合正点原子多年的开发板设计经验,经过多次改进,最终确定了这样的设计。
新起点FPGA开发板板载资源如下:
主控芯片:EP4CE10F17C8N,封装:BGA256
晶振:50Mhz
FLASH:W25Q16,容量:16Mbit(2M字节)
SDRAM:W9825G6KH-6,容量:256Mbit(32M字节)
EEPROM:AT24C64,容量:64Kbit(8K字节)
1个电源指示灯(蓝色)
4个状态指示灯(DS0~DS3:红色)
1个红外接收头,并配备一款小巧的红外遥控器
1个无线模块接口,支持NRF24L01无线模块
1路单总线接口,支持DS18B20/DHT11等单总线传感器
1个ATK模块接口,支持正点原子蓝牙/GPS/MPU6050/RGB灯模块
1个环境光传感器,采用AP3216C芯片
1个标准的RGB TFT-LCD接口
1个OLED/摄像头模块接口
1个USB串口
1个有源蜂鸣器
1个SD卡接口(在板子背面)
1个HDMI接口
1个标准的JTAG调试下载口
1组5V电源供应/接入口
1组3.3V电源供应/接入口
1个直流电源输入接口(输入电压范围:DC6~16V)
1个RTC后备电池座,并带电池(在板子背面)
1个RTC实时时钟,采用PCF8563芯片
1个复位按钮,可作为FPGA程序执行的复位信号
4个功能按钮
1个电容触摸按键
1个电源开关,控制整个开发板的电源
两个20x2扩展口,共72个扩展IO口(除去电源和地)
新起点FPGA开发板的特点包括:
1)接口丰富。板子提供了丰富的标准外设接口,可以方便的进行各种外设的实验和开发。
2)设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。其中芯片两侧引出两排24x2扩展口,共72个扩展IO口。
3)资源充足。主控芯片采用自带414Kbit嵌入式RAM块的EP4CE10F17C8N,并外扩256Mbit(32M字节)SDRAM和64Kbit(8K字节)的EEPROM,满足大内存需求和大数据存储。板载HDMI接口、LCD接口、UART串口、环境光传感器以及其它各种接口芯片,满足各种不同应用的需求。
4)人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。
2.2新起点FPGA开发板资源说明
新起点FPGA开发板资源说明分为两个部分:硬件资源说明和软件资源说明。
2.2.1硬件资源说明
新起点FPGA开发板不仅配备了丰富的硬件外设而且提供了大量的扩展IO,为了让大家对开发板整体的硬件资源有个清晰的了解,我们特地画出了新起点FPGA开发板硬件资源框图,如下图所示:
图 2.2.1 新起点资源框图
EP4CE10F17C8N FPGA芯片包括8个IO Bank,IO Bank可以理解为是FPGA IO的一个集合,每个Bank的IO电压和特性是相同的。我们分别为不同Bank的IO连接了不同的外设,如图 2.1.1所示。
我们再来看下EP4CE10F17C8N FPGA芯片的Bank在BGA芯片管脚上面的分布,如下图所示:
图 2.2.2 FPGA的Bank分布
下面我们来给大家解读一下上图所示的IO分布图。
EP4CE10F17C8N FPGA芯片共有256个IO(FBGA256封装),按照16行16列去分布的,又将这256个IO分成8个Bank,每个Bank上的所有IO必须保持相同的电压特性。从上图中可以看到每个Bank的颜色都不同,主要是方便我们去查找IO具体在哪个Bank,细心的同学可能还会发现这256个IO还有许多不同的符号或者字母标注,比如第A行第5列标注一个“Q”,第A行第6列标注一个“S”,甚至还有一些IO就是一些三角形圆形的符号。那么这些标注是什么意思呢,在这里我们用一张图给大家说明一下,如下图所示:
图 2.2.3 IO标识含义
从上图可以看到每个符号后面都有自己的注释,比如第一个白色圆圈代表普通IO,字母“P、N”代表差分IO,在分配IO的时候就需要注意不能把差分信号分配到普通IO上,否则编译就会报错。因此我们在设计硬件电路或者编写软件工程的时候一定要注意引脚不能乱用。
硬件资源说明:
这里我们首先详细介绍新起点FPGA开发板的各个部分(图 2.1.1中的标注部分)的硬件资源,我们将按逆时针的顺序依次介绍。
1)WIRELESS模块接口
新起点FPGA开发板板载一个无线模块扩展接口,只要在该接口上插入NRF24L01模块,便可以实现无线通信,从而使我们板子具备了无线通信的功能。这里需要注意的是,两个开发板和两个无线模块同时工作才可以实现无线通信的功能;只有1个开发板或1个模块,是无法实现无线通信功能的。
2)SD卡接口
新起点FPGA开发板板载一个标准SD卡卡槽(TF卡),该卡槽在开发板的背面,可以插入SD卡,使用SPI/SDIO驱动方式去驱动SD卡,旨在满足海量数据的存储需求。
3)引出IO口(总共有2处)
新起点FPGA开发板板载两组IO扩展口:P6和P7。其中,P6和P7分别采用2*20排针引出,总共引出72个IO口(电源和地不算)。
4)RGB TFT-LCD接口
新起点FPGA开发板板载RGB LCD接口(LCD),可以连接各种正点原子的RGB LCD屏模块,并且支持触摸屏(电阻/电容屏都可以)。为了节省IO口,采用的是RGB565格式,虽然降低了颜色深度,但是节省了IO,且RGB565的数据格式,在程序上更通用一些。
5)50Mhz晶振
新起点FPGA开发板板载一个频率为50Mhz的晶振(XTAL),该晶振输出的时钟是FPGA的最原始的时钟,其它需要的各种频率的时钟都是在这个时钟的基础上利用PLL(锁相环)或者其它分频方法得到的。
6)JTAG接口
新起点FPGA开发板板载一个10针标准JTAG调试口(JTAG),该JTAG口直接可以和FPGA下载器(调试器)连接,用于下载程序或者对程序进行在线调试。
7)USB转串口
新起点FPGA开发板板载一个USB串口(USB_UART),之所以设计成USB串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了USB串口可以方便大家进行USB串口通信的试验。而在板子上并没有直接连接在一起,则是出于使用方便的考虑。同时这个USB接口还可以给开发板提供电源,但是其最大电流只有500mA,大家在做LCD显示实验或者高速AD/DA实验等对供电能力要求较高时,推荐大家使用DC6~16V电源输入接口。
8)SDRAM
新起点FPGA开发板板载一颗SDRAM芯片(U23),型号为:W9825G6KH,容量为256Mbit(32M字节),轻松应对各种大内存需求场景,比如摄像头图像数据存储、录音数据存储等。
9)六位数码管
新起点FPGA开发板板载一个6位共阳极数码管(SEGLED),该数码管提供了一种最简单直观的显示,比如显示温度值、光照强度等。
10)OLED/摄像头模块接口
新起点FPGA开发板板载一个OLED/摄像头模块接口(P1),如果是OLED模块,靠左插即可(右边两个孔位悬空)。如果是摄像头模块(正点原子提供),则刚好插满。通过这个接口,可以分别完成多个外部模块的相关实验。
11)环境光传感器
新起点FPGA开发板板载一个环境光传感器(U7),它可以作为环境光传感器和近距离传感器。通过该传感器,开发板可以感知周围环境光线的变化和接近距离,从而可以实现类似手机的自动背光控制。
12)有源蜂鸣器
新起点FPGA开发板板载一个蜂鸣器(BEEP),可以实现简单的报警/闹铃。
13)红外接收头
新起点FPGA开发板板载红外接收头(U11),可以实现红外遥控功能,通过这个接收头,可以接收市面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当,该接收头也可以用来传输数据。
新起点FPGA开发板给大家配备了一个小巧的红外遥控器,该遥控器外观如图 2.2.1.1 所示:
图 2.2.4 红外遥控器
14)RTC实时时钟
新起点FPGA开发板板载一个RTC实时时钟芯片(U12),新起点FPGA开发板上的实时时钟芯片为PCF8563,PCF8563是PHILIPS公司推出的一款工业级多功能时钟/日历芯片,具有报警功能、定时器功能、时钟输出功能以及中断输出功能,能完成各种复杂的定时服务。
15)单总线接口
新起点FPGA开发板板载一个单总线接口(U9),该接口由4个镀金排孔组成,可以用来接DS18B20/DHT11等单总线传感器。在不需要用的时候,大家可以拆下上面的传感器,放到其他地方去用,使用上是十分方便灵活的。
16)4个LED
新起点FPGA开发板板载四个LED灯(DS0~DS3)。四个LED灯对于一般的应用足够了,在调试代码的时候,使用LED来指示程序执行状态,是非常不错的一个辅助调试方法。
17)复位按钮
新起点FPGA开发板板载一个复位按键(RESET),可以作为FPGA程序执行的复位信号,注意按键复位信号默认是高电平的,当复位按钮按下之后为低电平。
18)4个按键
新起点FPGA开发板板载4个机械式按键(KEY0~KEY3)是直接连接在FPGA的IO口上的,可以作为人机交互的输入信号。这4个按键信号默认都是高电平的,当按键被按下之后,按键信号变为低电平。
19)电池接口
新起点FPGA开发板板载RTC实时时钟的供电接口(BAT1),可以保证在PPGA开发板断电时,实时时钟仍然能够继续工作,这样的话,配置的日期与时间不会因FPGA开发板的断电而恢复到默认值。
20)触摸按钮
新起点FPGA开发板板载一个电容触摸输入按键(TPAD),利用电容充放电原理,实现触摸按键检测的功能。
21)电源指示灯
新起点FPGA开发板板载一颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候电源指示灯会处于点亮的状态,否则为熄灭的状态。通过这个LED,可以判断开发板的上电情况。
22)ATK模块接口
新起点FPGA开发板板载一个正点原子通用模块接口(U5),目前可以支持正点原子开发的GPS模块、蓝牙模块、MPU6050模块和全彩RGB灯模块等,直接插上对应的模块,就可以进行相关模块的开发。后续我们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。
23)3.3V电源输入/输出
新起点FPGA开发板板载一组3.3V电源输入输出排针(23)(VOUT1),用于给外部提供3.3V的电源,也可以从外部接3.3V的电源给板子供电。大家在做实验的时候可能经常会为没有3.3V电源而苦恼不已,有了新起点FPGA开发板,你就可以很方便的拥有一个简单的3.3V电源(最大电流不能超过500mA)。
24)5V电源输入/输出
新起点FPGA开发板板载一组5V电源输入输出排针(23)(VOUT2),该排针用于给外部提供5V 的电源,也可以从外部接5V的电源给板子供电。同样大家在实验的时候可能经常会为没有5V电源而苦恼不已,正点原子充分考虑到了大家的需求,有了这组5V排针,你就可以很方便的拥有一个简单的5V电源(USB供电的时候,最大电流不能超过500mA,外部供电的时候,最大可达1000mA)。
25)电源开关
新起点FPGA开发板板载一个电源开关(K1)。该开关用于控制整个开发板的供电,如果通过开关切断电源,则整个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。
26)DC6~16V电源输入
新起点FPGA开发板板载一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载了DC-DC芯片(MP2359),用于给开发板提供高效、稳定的5V电源。由于采用了DC-DC芯片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~16V 的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到4.3寸屏/7寸屏/网口/高速AD/DA的时候,建议大家使用外部电源供电,可以提供足够的电流给开发板使用。
27)HDMI接口
新起点FPGA开发板板载一个HDMI接口(仅支持输出),该接口可以连接在带有HDMI接口的显示器上,FPGA通过HDMI接口来驱动显示器,使其显示出彩条、图片以及视频图像等。
28)LCD接口
新起点FPGA开发板板载MCU TFT-LCD模块接口(16位并口数据),兼容正点原子全系列LCD模块,包括:2.4寸、2.8寸、3.5寸、4.3寸和7寸等MCU TFT-LCD 模块,并且支持电阻/电容触摸功能。
29)FPGA(EP4CE10)
这是开发板的核心芯片(U14),型号为EP4CE10F17C8。该款芯片拥有10320个逻辑单元、414Kbits的嵌入式存储资源、23个18×18的嵌入式乘法器、2个通用锁相环、10个全局时钟网络、8个用户I/O BANK和最大179个用户I/O,是一款非常具有性价比的芯片。
30)Flash(W25Q16)
新起点FPGA开发板板载一块Flash芯片(U15),现在大规模的FPGA都是基于SRAM结构的,程序掉电后会丢失。因此,在FPGA上电后,需要一个外部芯片在短时间内将程序加载到FPGA硬件里面,并且这个外部芯片存储的程序在掉电后是不丢失的,这个外部芯片就是FPGA的配置芯片。配置芯片用于储存FPGA的程序,以保证FPGA在重新上电后仍能继续工作。新起点FPGA开发板的配置芯片型号为W25Q16(完全兼容EPCS16芯片),存储容量为16Mbit(2M字节)。
31)EEPROM (AT24C64)
新起点FPGA开发板板载一块EEPROM芯片(U6),容量为64Kbit,也就是8K字节。用于存储一些掉电不能丢失的重要数据,比如系统设置的一些参数等。有了这个就可以方便的实现掉电数据保存。
2.2.2软件资源说明
上面我们简单介绍了新起点FPGA开发板的硬件资源。接下来,我们将向大家简要介绍新起点FPGA开发板的软件资源。
新起点FPGA开发板Verilog提供的标准例程多达49个,新起点FPGA开发板NIOS II提供的标准例程多达17个。我们提供的这些例程,全部都是原创自主开发,注释非常详细、代码风格统一、难易程度由浅入深,非常适合初学者入门。而其他家开发板的例程,要么注释比较少,要么工程文件管理不统一,对初学者来说可能很难入门。
新起点FPGA开发板Verilog的例程列表如下表所示:
表 2.2.1例程列表
从上表可以看出,正点原子 FPGA开发板的例程是非常丰富的,并且扩展了很多有价值的例程。各个例程的安排是循序渐进的,首先从最基础的流水灯开始,然后一步步深入,从简单到复杂,有利于大家的学习和掌握,所以,正点原子新起点FPGA开发板是非常适合初学者的。当然,对于想深入学习FPGA开发的朋友,正点原子新起点FPGA开发板也绝对是一个不错的选择。
2.2.3新起点IO引脚分配
表 2.2.2 IO引脚分配表
表格中列出来了除扩展口外,开发板上所有的IO引脚,扩展口上的引脚IO可以参考开发板的原理图或者直接查看开发板上的丝印标注。
该表在:新起点开发板资料盘(A盘)\3_正点原子新起点FPGA开发板原理图文件夹下有提供Excel格式,方便大家查看。