1)资料下载:
点击资料即可下载
2)对正点原子FPGA感兴趣的同学可以加群讨论:876744900
3)关注正点原子公众号,获取最新资料更新
/r/hEhUTLbEdesKrfIv9x2W (二维码自动识别)
第二章 实验平台简介
本章内容主要向大家简要介绍我们的实验平台:alientek开拓者EP4CE10开发板。通过本
章的学习,你将对我们后面使用的实验平台有个大致的了解,为后面的学习做铺垫。
本章包括以下几个部分:
2.1 ALIENTEK开拓者EP4CE10开发板资源初探
2.2 ALIENTEK开拓者EP4CE10开发板资源说明ALIENTEK开拓者EP4CE10开发板资源初探
首先,我们来看开拓者FPGA开发板的资源图,如图 2.1.1所示:
图 2.1.1 开拓者FPGA开发板资源图
从图 2.1.1可以看出,开拓者FPGA开发板的资源十分丰富,把FPGA EP4CE10的内部资源发
挥到了极致,同时扩充了丰富的接口和功能模块,整个开发板显得十分大气。
开发板的外形尺寸为121mm*160mm,板子的设计充分考虑了人性化设计,并结合ALIENTEK
多年的开发板设计经验,经过多次改进,最终确定了这样的设计。
ALIENTEK开拓者FPGA开发板板载资源如下:
◆
主控芯片:EP4CE10F17C8,封装:BGA256
◆
晶振:50Mhz
◆
FLASH:M25P16,容量:16Mbit(2M字节)
◆
SDRAM:W9825G6KH-6,容量:256Mbit(32M字节)
◆
EEPROM:AT24C64,容量:64Kbit(8K字节)
◆
1个电源指示灯(蓝色)
◆
4个状态指示灯(DS0~DS3:红色)
◆
1个红外接收头,并配备一款小巧的红外遥控器
◆
1个高性能音频编解码芯片,wm8978
◆
1个无线模块接口,支持NRF24l01无线模块
◆
1路CAN接口,采用TJA1050芯片
◆
1路485接口,采用SP3485芯片
◆
1路RS232串口(母)接口,采用 SP3232 芯片
◆
1路单总线接口,支持DS18b20/DHT11等单总线传感器
◆
1个ATK模块接口,支持ALIENTEK蓝牙/GPS/MPU6050/RGB灯模块
◆
1个环境光传感器,采用AP3216C芯片
◆
1个标准的2.4/2.8/3.5/4.3/7寸MCU TFT-LCD 接口,支持电阻/电容触摸屏
◆
1个标准的RGB TFT-LCD接口
◆
1个OLED/摄像头模块接口
◆
1个USB串口
◆
1个有源蜂鸣器
◆
1个RS232/rs485选择接口
◆
1个USB串口选择接口
◆
1个CAN选择接口
◆
1个SD卡接口(在板子背面)
◆
1个百兆以太网接口(RJ45)
◆
1个VGA接口,数据格式为RGB565
◆
1个标准的JTAG调试下载口
◆
1个录音头(MIC/麦克风)
◆
1路音频输入接口
◆
1路音频输出接口
◆
1个小扬声器(在板子背面)
◆
1组多功能端口(DAC/ADC/TPAD)
◆
1组5V电源供应/接入口
◆
1组3.3V电源供应/接入口
◆
1个直流电源输入接口(输入电压范围:DC6~16V)
◆
1个RTC后备电池座,并带电池(在板子背面)
◆
1个RTC实时时钟,采用PCF8563芯片
◆
1个模数/数模转换,采用PCF8591芯片
◆
1个复位按钮,可作为FPGA程序执行的复位信号
◆
4个功能按钮
◆
1个电容触摸按键
◆
1个电源开关,控制整个开发板的电源
◆
两个24x2扩展口,共88个扩展IO口
ALIENTEK开拓者FPGA开发板的特点包括:
1)
接口丰富。板子提供了丰富的标准外设接口,可以方便的进行各种外设的实验和开
发。
2)
设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。其中芯片两
侧引出两排24x2扩展口,共88个扩展IO口。
3)
资源充足。主控芯片采用自带414Kbit嵌入式RAM块的EP4CE10F17C8,并外扩256Mbit
(32M字节)和64Kbit(8K字节)的EEPROM,满足大内存需求和大数据存储。板载
高性能音频编解码芯片、百兆网卡、环境光传感器以及其它各种接口芯片,满足各
种不同应用的需求。
4)
人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常
用外设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。ALIENTEK开拓者FPGA开发板资源说明
开拓者FPGA开发板资源说明分为两个部分:硬件资源说明和软件资源说明。2.2.1 硬件资源说明
这里我们首先详细介绍开拓者FPGA开发板的各个部分(图 2.1.1中的标注部分)的硬件资
源,我们将按逆时针的顺序依次介绍。
1.
CAN接口
这是开发板上用于CAN总线通信的接口,CAN接口通过2个端口和外部CAN总线连接,即CANH
和CANL。这里提醒大家:can通信的时候,必须CANH接CANH,CANL接CANL,否则可能通信不正
常!
2.
WIRELESS模块接口
这是开发板上的一个无线模块扩展接口(U2),只要在该接口上插入NRF24L01模块,便可
以实现无线通信,从而使我们板子具备了无线通信的功能。这里需要注意的是,两个开发板和
两个无线模块同时工作才可以实现无线通信的功能;只有1个开发板或1个模块,是无法实现无
线通信功能的。
3.
SD卡接口
这是开发板板载的一个标准SD卡接口(SD_CARD),该接口在开发板的背面,采用大SD卡
接口(即相机卡,TF卡是不能直接插的,TF卡需要加卡套才行),可以使用SPI/SDIO驱动方式,
有了这个SD卡接口,就可以满足海量数据存储的需求。
4.
引出IO口(总共有三处)
这是开发板IO引出端口,总共有三组主IO引出口:P6、P7和P8。其中,P6和P7分别采用2*24
排针引出,总共引出88个IO口,P8采用1*16排针,按顺序引出D0~D15共16个IO口。
5.
RGB TFT-LCD接口
这是开发板板载的RGB LCD接口(LCD),可以连接各种ALIENTEK的RGB LCD屏模块,并且
支持触摸屏(电阻/电容屏都可以)。为了节省IO口,采用的是RGB565格式,虽然降低了颜色
深度,但是节省了IO,且RGB565的数据格式,在程序上更通用一些。
6.
50Mhz晶振
这是开发板上用于为FPGA芯片提供时钟的晶振(XTAL),该晶振输出的时钟是FPGA的最原
始的时钟,其它需要的各种频率的时钟都是在这个时钟的基础上利用PLL(锁相环)或者其它
分频方法得到的。
7.
CAN选择接口
这是一个CAN通信的选择接口(P5),在做CAN通信实验时,需要使用跳帽将引脚连接在一
起,CTX接N3(TX),CRX接M6(RX);在未使用跳帽连接时,N3引脚和M6引脚还可以当成扩展
口来用。
8.
USB串口选择接口
这是一个USB 串口的选择接口(P9),在做USB UART通信的实验时,需要使用跳帽将引脚
连接在一起,CTX接N5(RX),CRX接M7(TX);在未使用跳帽连接时,N5引脚和M7引脚还可以
当成扩展口来用。
9.
JTAG接口
这是ALIENTEK开拓者FPGA开发板板载的10针标准JTAG调试口(JTAG),该JTAG口直接可以
和FPGA下载器(调试器)连接,用于下载程序或者对程序进行在线调试。
10.
USB转串口
这是USB转串口的一个接口(USB_232),之所以设计成USB串口,是出于现在电脑上串口
正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了USB串口可以方便大家进行USB
串口通信的试验。而在板子上并没有直接连接在一起,则是出于使用方便的考虑。同时这个USB
接口还可以给开发板提供电源,但是其最大电流只有500mA,大家在做LCD显示实验或者高速
AD/DA实验等对供电能力要求较高时,推荐大家使用DC6~16V电源输入接口。
11.
SDRAM
这是开发板外扩的SDRAM芯片(U23),型号为:W9825G6KH,容量为256Mbit(32M字节),
轻松应对各种大内存需求场景,比如摄像头图像数据存储、录音数据存储等。
12.
六位数码管
这是开发板上的一个6位共阳极数码管(SEGLED),该数码管提供了一种最简单直观的显
示,比如显示温度值、光照强度等。
13.
小喇叭
这是开发板自带的一个8Ω 2W的小喇叭(SPEAKER),安装在开发板的背面,可以用来播放音乐。该喇叭由WM8978直接驱动,最大输出功率可达0.9W。
14.
OLED/摄像头模块接口
这是开发板板载的一个OLED/摄像头模块接口(P1),如果是OLED模块,靠左插即可(右
边两个孔位悬空)。如果是摄像头模块(ALIENTEK提供),则刚好插满。通过这个接口,可以
分别完成多个外部模块的相关实验。
15.
环境光传感器
这是开发板板载的一个环境光传感器(U7),它可以作为环境光传感器和近距离传感器。
通过该传感器,开发板可以感知周围环境光线的变化和接近距离,从而可以实现类似手机的自
动背光控制。
16.
有源蜂鸣器
这是开发板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃。
17.
红外接收头
这是开发板的红外接收头(U11),可以实现红外遥控功能,通过这个接收头,可以接收
市面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得
当,该接收头也可以用来传输数据。
开拓者FPGA开发板给大家配备了一个小巧的红外遥控器,该遥控器外观如图 2.2.1.1 所
示:
图 2.2.1.1 红外遥控器
18.
RTC实时时钟
这是开发板的一个RTC实时时钟芯片(U12),开拓者FPGA开发板上的实时时钟芯片为PCF8563,PCF8563是PHILIPS公司推出的一款工业级多功能时钟/日历芯片,具有报警功能、定
时器功能、时钟输出功能以及中断输出功能,能完成各种复杂的定时服务。
19.
单总线接口
这是开发板的一个单总线接口(U9),该接口由4个镀金排孔组成,可以用来接
DS18B20/DHT11等单总线传感器。在不需要用的时候,大家可以拆下上面的传感器,放到其他
地方去用,使用上是十分方便灵活的。
20.
4个LED
这是开发板板载的四个LED灯(DS0~DS3)。四个LED灯对于一般的应用足够了,在调试代
码的时候,使用LED来指示程序执行状态,是非常不错的一个辅助调试方法。
21.
复位按钮
这是开发板板载的复位按键(RESET),可以作为FPGA程序执行的复位信号,注意按键复
位信号默认是高电平的,当复位按钮按下之后为低电平。
22.
4个按键
开发板板载的4个机械式按键(KEY0~KEY3)是直接连接在FPGA的IO口上的,可以作为人机
交互的输入信号。这4个按键信号默认都是高电平的,当按键被按下之后,按键信号变为低电
平。
23.
电池接口
这是RTC实时时钟的供电接口(BAT1),可以保证在PPGA开发板断电时,实时时钟仍然能
够继续工作,这样的话,配置的日期与时间不会因FPGA开发板的断电而恢复到默认值。
24.
触摸按钮
这是开发板板载的一个电容触摸输入按键(TPAD),利用电容充放电原理,实现触摸按键
检测的功能。
25.
电源指示灯
这是开发板板载的一颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候电源
指示灯会处于点亮的状态,否则为熄灭的状态。通过这个LED,可以判断开发板的上电情况。
26.
多功能端口
这是1个由8个排针组成的一个接口(P3&P4)。不过大家可别小看这8个排针,这可是本开发板设计的很巧妙的一个端口(由P3和P4组成),这组端口通过组合可以实现的功能有:ADC
采集、DAC输出、PWM DAC输出、电容触摸按键、DAC ADC自测等,所有这些功能,你只需要通
过1个跳线帽的连接,就可以逐一实现这些功能。
27.
数模/模数转换
这是一个用于数模和模数转换的器件(U27),芯片型号是PCF8591。该芯片内部同时集成
了模数和数模转换的功能,使用IIC总线接口和FPGA进行通信。
28.
耳机输出接口
这是开发板板载的音频输出接口(PHONE),该接口可以插入3.5mm的耳机。当WM8978播放
音乐的时候,就可以通过在该接口插入耳机来欣赏音乐。
29.
音频输入接口
这是开发板板载的音频输入接口(LINE_IN),该接口可以用来连接电脑或者手机的耳机
输出接口。
30.
MIC(麦克风)
这是开发板的板载录音输入口(MIC,即麦克风),该麦克风直接连接到WM8978的录音输
入通道上,可以实现录音的功能。
31.
ATK模块接口
这是开发板板载的一个ALIENTEK通用模块接口(U5),目前可以支持ALIENTEK开发的GPS
模块、蓝牙模块、MPU6050模块和全彩RGB灯模块等,直接插上对应的模块,就可以进行相关模
块的开发。后续我们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。
32.
3.3V电源输入/输出
这是开发板板载的一组3.3V电源输入输出排针(2*3)(VOUT1),用于给外部提供3.3V的
电源,也可以从外部接3.3V的电源给板子供电。大家在做实验的时候可能经常会为没有3.3V电
源而苦恼不已,有了开拓者FPGA开发板,你就可以很方便的拥有一个简单的3.3V电源(最大电
流不能超过500mA)。
33.
5V电源输入/输出
这是开发板板载的一组5V电源输入输出排针(2*3)(VOUT2),该排针用于给外部提供5V
的电源,也可以从外部接5V的电源给板子供电。同样大家在实验的时候可能经常会为没有5V电
源而苦恼不已,ALIENTEK充分考虑到了大家的需求,有了这组5V排针,你就可以很方便的拥有一个简单的5V电源(USB供电的时候,最大电流不能超过500mA,外部供电的时候,最大可达
1000mA)。
34.
电源开关
这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电,如果通过开关切
断电源,则整个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。
35.
DC6~16V电源输入
这是开发板板载的一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板
载了DC-DC芯片(MP2359),用于给开发板提供高效、稳定的5V电源。由于采用了DC-DC芯片,
所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~16V
的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到4.3寸屏/7寸屏/网口/高
速AD/DA的时候,建议大家使用外部电源供电,可以提供足够的电流给开发板使用。
36.
RS485接口
这是开发板板载的RS485总线接口(RS485),通过2个端口和外部485设备连接。这里提醒
大家,RS485通信的时候,必须A接 A,B接B,否则可能通信不正常!
37.
以太网接口(RJ45)
这是开发板板载的网口(ETHNET),可以用来连接网线,实现网络通信功能。该接口连接
到开发板上的PHY芯片(RTL8201CP),支持10Mbps/100Mbps的通信速率。
38.
RS232/485选择接口
这是开发板板载的一个RS232模块/RS485模块选择接口(P2),通过该选择接口,我们可
以选择FPGA的引脚连接在RS232模块还是连接在RS485模块接口上面,以实现不同的应用需求。
39.
VGA接口
这是开发板板载的一个VGA接口,该接口可以连接在带有VGA接口的显示器上,FPGA通过VGA
接口来驱动VGA显示器,使其显示出彩条、图片以及视频图像等。
40.
LCD接口
这是开发板板载的MCU TFT-LCD模块接口(16位并口数据),兼容ALIENTEK全系列LCD模块,
包括:2.4寸、2.8寸、3.5寸、4.3寸和7寸等MCU TFT-LCD 模块,并且支持电阻/电容触摸功能。
41.
FPGA(EP4CE10)
这是开发板的核心芯片(U14),型号为EP4CE10F17C8。该款芯片拥有10320个逻辑单元、
414Kbits的嵌入式存储资源、23个18×18的嵌入式乘法器、2个通用锁相环、10个全局时钟网
络、8个用户I/O BANK和最大179个用户I/O,是一款非常具有性价比的芯片。
42.
Flash(M25P16)
这是开发板的Flash芯片(U15),现在大规模的FPGA都是基于SRAM结构的,程序掉电后会
丢失。因此,在FPGA上电后,需要一个外部芯片在短时间内将程序加载到FPGA硬件里面,并且
这个外部芯片存储的程序在掉电后是不丢失的,这个外部芯片就是FPGA的配置芯片。配置芯片
用于储存FPGA的程序,以保证FPGA在重新上电后仍能继续工作。开拓者FPGA开发板的配置芯片
型号为M25P16(完全兼容EPCS16芯片),存储容量为16Mbit(2M字节)。
43.
RS232接口(母)
这是开发板板载的一个RS232接口,通过一个标准的DB9母头和外部的串口连接。通过这个
接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信的功能。
44.
EEPROM (AT24C64)
这是开发板板载的EEPROM芯片(U6),容量为64Kbit,也就是8K字节。用于存储一些掉电
不能丢失的重要数据,比如系统设置的一些参数等。有了这个就可以方便的实现掉电数据保存。2.2.2 软件资源说明
上面我们详细介绍了ALIENTEK开拓者FPGA开发板的硬件资源。接下来,我们将向大家简要
介绍一下ALIENTEK开拓者FPGA开发板的软件资源。
开拓者FPGA开发板提供的标准例程多达47个,我们提供的这些例程,基本都是原创,拥有
非常详细的注释、代码风格统一、循序渐进,非常适合初学者入门。而其他开发板的例程,注
释比较少且工程文件管理不统一,对初学者来说不那么容易入门。
开拓者FPGA开发板的例程列表如表2.2.2.1所示:
表2.2.2.1 ALIENTEK开拓者FPGA开发板例程
从上表可以看出,ALIENTEK FPGA开发板的例程是非常丰富的,并且扩展了很多有价值的
例程。各个例程的安排是循序渐进的,首先从最基础的流水灯开始,然后一步步深入,从简单
到复杂,有利于大家的学习和掌握,所以,ALIENTEK开拓者FPGA开发板是非常适合初学者的。
当然,对于想深入学习FPGA开发的朋友,ALIENTEK开拓者FPGA开发板也绝对是一个不错的选择。2.2.3 开拓者IO引脚分配
为了让大家更快更好的使用我们的开拓者FPGA开发板,这里特地将开发板的IO引脚分配做
了一个总表,以便大家查阅。开拓者IO引脚分配总表如表2.2.3.1所示:
表2.2.3.1 ALIENTEK开拓者FPGA IO引脚分配总表
在表2.2.3.1中,表格中列出来了除扩展口外,开发板上所有的IO引脚,扩展口上的引脚
IO可以参考开发板的原理图或者直接查看开发板上的丝印标注。
该表在:光盘→3_ALIENTEK开拓者EP4CE10开发板原理图文件夹下有提供Excel格式,方便
大家查看。
p1口实验_【正点原子FPGA连载】第二章 实验平台简介-摘自【正点原子】开拓者 FPGA 开发指南...
如果觉得《p1口实验_【正点原子FPGA连载】第二章 实验平台简介-摘自【正点原子】开拓者 FPGA 》对你有帮助,请点赞、收藏,并留下你的观点哦!