第2章 硬件开发平台详解
2.1 开发板简介
本书配套的硬件平台为野火EP4CE10F17C8征途Pro FPGA开发板,书中所有的工程都是围绕该开发板进行设计、讲解的,在学习的时候如果配套该硬件平台,会达到事半功倍的效果。征途Pro开发板的硬件资源图如图2-1所示。
图2-1 征途Pro开发板硬件资源图
从图2-1中可以看到征途Pro开发板的硬件资源是极为丰富的,下面分别为大家介绍主要硬件资源。
▪ RS-485接口
板载RS-485总线接口,搭载的收发器为MAX3485芯片。通过485A和485B两个端口与外部RS-485设备进行通信,通信时需要将A口与A口连接,B口与B口连接。
▪ CAN接口
板载CAN通信总线接口,搭载的收发器为TJA1042芯片。通过CANH和CANL两个端口与外部CAN设备通信,通信时需要将H口与H口连接,L口与L口连接。
▪ EBF Module接口
自定义的外设接口,可以连接野火部分配套的外设,比如OLED屏(I2C)。
▪ AD/DA(模数/数模转换)
板载模数/数模转换的AD/DA模块,搭载的芯片型号为PCF8591T。该芯片使用I2C总线与FPGA进行通信,使用该芯片可实现模拟信号与数字信号之间的转换。
▪ 以太网接口
板载网线接口(RJ45),搭载的PHY芯片型号为LAN8720A,使用RMII协议通信。可以利用该芯片通过网线实现网络通信功能,通信速率可达100Mbps。
▪ 主芯片
该芯片为开发板的主芯片,即FPGA芯片,其型号为EP4CE10F17C8。该芯片拥有10KB的逻辑单元,179个可配置的I/O口,414Kbit的嵌入式RAM资源(每9Kbit容量为一个块,每块为一个嵌入式存储单元,即有46个嵌入式存储单元),2个独立PLL锁相环,10个全局时钟网络,是一款性价比较高的芯片。
▪ 下载接口(JTAG)
FPGA下载器通过该接口与开发板连接,用于程序的下载、固化以及调试。
▪ SPI-FLASH
Flash存储器,芯片型号为W25Q16,存储容量为16Mbit。使用SPI协议实现FPGA芯片与Flash存储器的通信。Flash具有断电数据不丢失的特性,其作为FPGA芯片的上电配置器件,只要我们将程序存储在Flash中,FPGA上电后就能直接运行Flash中的程序,保证FPGA断电后程序不丢失。
▪ 数码管
征途Pro开发板上配置了六位八段数码管,同时搭载了2块74HC595芯片,74HC595具有串行输入、并行输出的功能。使用该芯片的4位控制信号即可输出14位的数码管控制信号,这样可以大大节省I/O口资源。
▪ 红外接收头
板载红外接收头,使用的接收头型号为HS0038B。同时我们还配套了一个红外遥控器用于实现遥控功能。
▪ 音频
一个音频输入接口(连接播放器),一个音频输出接口(连接耳机),搭载WM8978音频芯片。该音频芯片使用I2S总线传输音频数据,FPGA通过I2C总线对该芯片的寄存器进行配置。
▪ 咪头
板载咪头(MIC/麦克风),该接口连接到了WM8978音频芯片的录音输入端口,可用于接收录音数据。
▪ 喇叭接口(XH2.0P)
可通过喇叭接口与喇叭进行连接,连接后可播放WM8978音频芯片输出的音频数据。
▪ RTC时钟芯片
实时时钟芯片,芯片型号为PCF8563T,该芯片具有报警、时钟输出、定时等功能。FPGA芯片通过I2C总线与实时时钟芯片进行通信。
▪ 温湿度接口
该接口可用于连接DHT11(温湿度传感器)以及DS18B20(温度传感器)。FPGA芯片通过单总线与这两个器件进行通信。
▪ 摄像头接口
板载摄像头接口,支持野火OV7725/OV5640摄像头的连接使用。
▪ 蜂鸣器
板载蜂鸣器,这里我们使用的是无源蜂鸣器。该蜂鸣器在设计时可作为信息提示的发声器件。
▪ TF卡座
板载TF卡座,该卡座用于插入Micro SD卡。插入SD卡后,FPGA可实现与SD卡的通信,例如可读取SD卡内的图片、音乐等。
▪ 环境光传感器
板载环境光传感器,芯片型号为AP3216C。FPGA通过I2C总线与该芯片进行通信,利用该芯片可检测环境光强。
▪ RTC底座
板载RTC底座,该底座的型号为CR1220,用于放置供RTC使用的纽扣电池。
▪ 40P排针
征途Pro开发板上配置了2个40Pin的排针接口,这些接口是开发板引出的扩展I/O口,共引出80个扩展I/O口。
▪ 触摸按键
征途Pro开发板上配置了两个电容式触摸按键。通过该按键可学习电容式按键的工作原理,同时在设计中电容按键还可以作为控制信号来控制系统的运行。
▪ HDMI接口
板载的HDMI接口(高清多媒体接口),该接口可与HDMI显示器相连接。开发板通过该接口发送需要显示的信息到HDMI显示器,从而达到高清显示。
▪ SDRAM
板载SDRAM芯片,SDRAM是一个同步动态随机存储器。这里我们使用的SDRAM芯片型号为W9825G6KH-6,容量为256Mbit。在设计中其往往用于数据缓存,如VGA显示中的待显示图片缓存,录音时的音频数据缓存,摄像头HDMI显示中的图像缓存等。
▪ LCD接口
板载LCD接口,该接口可用于接入野火的RGB565 LCD显示屏,可用于显示格式为RGB565的图像,同时支持5点触控。FPGA芯片使用I2C总线对其进行触控驱动。
▪ 4个LED显示灯
板载4个LED显示灯(蓝灯),这4个LED灯可以作为程序的状态指示灯。可以设计通过LED灯来判断程序是否正确执行,起到辅助调试作用。
▪ 复位按键
一个机械式的复位按键,用于主芯片的复位控制。
▪ 4个机械按键
征途Pro开发板上配置了丰富的按键资源,不仅有两个触摸按键和一个复位按键,还有4个机械按键。有了丰富的控制按键资源,更便于控制程序。
▪ 电源开关
在接入电源后,该开关可用于控制开发板的上电与断电。
▪ 电源(直流电源输入接口)
直流电源输入接口,可接入6V~12V的直流电源给开发板供电。
▪ USB转串口
征途Pro开发板上配置了一个USB转串口的接口,可能有人会问为什么要配置这个接口,不是有串口接口了吗?那是因为现在的计算机上的串口接口正渐渐被摒弃,而笔记本上几乎就没有了这个接口。所以我们配置这个USB转串口的接口就可以让大家很方便地进行串口通信的调试。我们使用一根平时用的Tape C数据线,一端连接开发板,一端连接计算机即可进行调试。注意,在使用USB串口通信时,必须将J2和J3的引脚用跳帽连接在一起,让TXD和RX相连,RXD和TX相连。
▪ RS-232接口(母头)
板载RS-232接口(母头),公头一端连接外部串口设备(如计算机)。通过串口线实现FPGA与外部串口设备的通信。使用时必须将J6的TX和T1INT以及RX和R1OUT用跳帽连接。
▪ 电位器接口
板载电位器,通过旋转电位器,可以改变输入板载AD/DA芯片PCF8591T的A_IN0端口的模拟电压。
▪ EEPROM
板载EEPROM芯片,容量为64Kbit(8Kbyte)。FPFA通过I2C总线与该芯片进行通信,可读可写,掉电后数据不丢失,可用于存储一些重要数据,如系统配置参数。
▪ VGA接口
板载VGA接口,该接口可与VGA显示器直接相连。相连后FPGA可通过VGA接口传输信息给VGA显示器进行显示。