OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6123|回复: 0

[XILINX] 【正点原子FPGA连载】第三章 硬件资源详解--摘自【正点原子】超越者之FPGA开发指南 V1.1

[复制链接]

1107

主题

1118

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4615
金钱
4615
注册时间
2019-5-8
在线时间
1218 小时
发表于 2021-1-6 11:05:21 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2021-1-18 16:22 编辑

1)实验平台:正点原子超越者FPGA开发板
2)平台购买地址:https://item.taobao.com/item.htm?&id=631660290421
3)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz-chaoyuezhe.html
4)正点原子FPGA交流群:905624739 点击加入:
5)关注正点原子公众号,获取最新资料更新




第三章 硬件资源详解

本章我们将向大家详细介绍超越者开发板各部分的硬件原理图,让大家对超越者开发板的各部分硬件原理有个深入理解,并向大家介绍开发板的使用注意事项,为后面的学习做好准备。
本章包括以下几个部分:
1            
1.1            超越者FPGA开发板的IO分配
1.2            超越者FPGA开发板原理图详解
1.3            超越者FPGA开发板使用注意事项
1.4            FPGA的学习方法


1.1       超越者FPGA开发板IO分配
超越者FPGA开发板的主控芯片选择的是Spartan6系列的XC6SLX16-2FTG256C,XC6SLX16 IO Bank包括Bank 0、Bank 1、Bank 2和Bank 3。XC6SLX16-2FTG256C总共256个IO,其中186个为可用IO。了解器件的IO分配方式,有助于我们在硬件设计时根据器件的一些约束,对设计进行合理的IO分配,减少硬件出错的可能性。
1.1.1        FPGA BANK原理图
image002.jpg
3.1.1 BANK0原理图
image003.png

图 3.1.2 BANK1原理图
image005.jpg

图 3.1.3 BANK2原理图
image007.jpg

图 3.1.4  BANK3原理图
通过每个Bank原理图可以看出我们使用了XC6SLX16-2FTG256C几乎所有的IO,把该芯片的硬件资源发挥到了极致。值得注意的是,BANK3完全提供给DDR3使用,该BANK电压使用1.5V。
1.1.2        管脚分配
表 3.1.1 管脚分配
lALPBE1XdnZRwADNBGzNAwc_775_1132.png
lALPBF8a7640gfTNA9rNAwQ_772_986.png
lALPBFuNcQlwsv3NAxHNAwY_774_785.png
lALPBFRyc7_g-mnNA7jNAwg_776_952.png
lALPBFf_8mSqa4TNAebNAwg_776_486.png
lALPBGY17PfC8bTNBDHNAwU_773_1073.png
lALPBGY17PfFzvHNAUHNAwo_778_321.png
超越者整个板子的电源来自电源适配器的12V供电电压,经过DC-DC芯片(型号为JW50690T_6)之后,转变为系统+5V电压,再经过电源开关后,给系统供电。除此之外,USB UART接口的+5V也可以用来给系统供电,但是需要特别注意,由于USB接口的驱动能力有限,所以不能驱动供电电流需求大的器件如LCD,这种情况下,请改用电源适配器供电。
下图中的电源开关(K1)控制系统+5V的电源,+5V电源可以为部分外设或者模块供电,如ATK模块、RGB LCD、CAN、扩展口等。另外+5V的电源经过电源芯片(EA3059),可以输出其它不同的电压,分别为1.2V、1.5V、2.5V和3.3V。其中使用3.3V电压供电的外设或者模块最多,包括EEPROM、RTC、KEY、触摸按键、LED、BEEP、摄像头、TF卡、以太网、数码管、BANK0、BANK1和BANK2等;1.2V为VCCINT供电;2.5V作为备用电源暂未使用到;1.5V为DDR3和BNANK3供电。
image009.png

图 3.2.1 超越者开发板电源拓扑
12V电源适配器供电的电源接口原理图如下图所示:
image011.jpg

图 3.2.2 电源适配器供电电源接口
DC_IN用于外部直流电源输入,输入电压(12V)经过DC-DC芯片转换为5V电源输出,其中D4是防反接二极管,避免外部直流电源极性接反的时候,烧坏开发板。
超越者开发板的供电电源既可以从电源适配器供电,也可以通过USB供电,无论通过哪种方式供电,都经过电源开关K1控制是否对开发板供电,其原理图如下图所示:


image013.jpg

图 3.2.3 电源按键开关
电源适配器输入的12V电压经电源转换芯片后,得到VBTN(5V)电压,VUSB为通过USB 接口输入的电压。
下面是+5V电压经过EA3059转换为其他电压的原理图,一颗电源芯片可以输出四路电源,如下图所示。
image015.jpg

图 3.2.4 开关电源电压转换电路
可以看到输出的电压分别是1.2V、1.5V、2.5V和3.3V,其输出的电压电平由电阻进行调节。
除此之外,超越者还板载了一组5V/3.3V输入输出接口,其原理图如下图所示:

image017.jpg

图 3.2.5 5V和3.3V输入输出接口
图中是一组2*3的排针,两个5V排针,两个3.3V排针,和两个GND排针。有了这个接口,我们可以通过开发板给外部提供3.3V和5V电源,虽然功率不大(最大1000ma),但是一般情况都够用了,大家在调试自己的小电路板的时候,有这两组电源还是比较方便的。同时这组端口,也可以由外部给开发板供电。
1.2.2        时钟输入
超越者FPGA开发板提供给FPGA的时钟晶振(有源晶振)为50Mhz,原理图如下图所示:
image019.jpg

图 3.2.6 时钟晶振电路
1.2.3        JTAG 接口
image021.jpg

图 3.2.7  JTAG 接口电路

这里,我们采用的是10脚的JTAG接口,Pin引脚间距为2.0mm,使用FPGA TCK、FPGATDO、FPGA TDI、FPGA TMS四个引脚来对FPGA进行下载测试。
1.2.4        按键电路
按键的电路原理图如下图所示:
image023.jpg

图 3.2.8 复位、按键电路
RESET为复位按键,默认为高电平,当按键按下时为低电平,作为FPGA程序的复位信号。KEY0~KEY3为普通按键输入,外接上拉电阻,未按下时按键端口输出高电平,按下时输出低电平。按键作为最简单的输入设备,适合在需要给系统输入控制信号的场合使用。
1.2.5        LED
超越者FPGA开发板板载了4个LED,在调试代码的时候,可以使用LED来指示程序执行状态,是一个很好的辅助调试方法。电路原理图如下图所示:
image025.jpg

图 3.2.9 LED电路
四个LED均由FPGA管脚直接驱动,当FPGA输出高电平时点亮对应的LED灯;输出低电平时,熄灭LED灯。
1.2.6        有源蜂鸣器
蜂鸣器是现代常用的一种电子发声器,主要用于产生声音信号。蜂鸣器(Buzzer)常用于计算机、打印机、报警器、电子玩具等电子产品中。常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器,这里的 “有源”不是电源,而是震荡源,有源蜂鸣器内部带有震荡源,所以有源蜂鸣器只要通电就会叫。无源蜂鸣器内部不带震荡源,无法用直流电直接驱动,需要2K-5K的方波去驱动。
超越者FPGA开发板板载了一个有源蜂鸣器,电路原理图如下图所示:
image027.jpg

图 3.2.10 有源蜂鸣器
图中通过一个NPN型三极管S8050来驱动蜂鸣器,BEEP连接到FPGA开发板的IO,这个IO可以控制三极管Q1的导通。当BEEP输出高电平的时候Q1导通,相当于蜂鸣器的正极连接到+3.3V,蜂鸣器形成一个通路,因此蜂鸣器会鸣叫。同理,当BEEP输出低电平的时候Q1不导通,那么蜂鸣器就没有形成一个通路,因此蜂鸣器也就不会鸣叫。
1.2.7        电容触摸按键
超越者FPGA开发板板载了一个电容触摸按键,触摸按键在稳定性、使用寿命、抗干扰能力等方面都优于传统的机械按键,被广泛应用于遥控器、便携电子设备、楼道电灯开关和各类家电控制面板等场景,超越者FPGA与触摸按键之间的连接框图如下图所示:
image029.png

图 3.2.11 触摸按键连接框图
电路原理图如下图所示:
image031.jpg

图 3.2.12 电容触摸按键
图中1K电阻是电容充电电阻,AR101是触摸按键专用驱动芯片,用于产生稳定无毛刺的信号。AR101的1脚TPAD信号就是处理后的IO信号。当用户触摸了触摸按键时,TPAD会变为高电平;用户不触摸按键时,TPAD信号为低电平。
1.2.8        数码管
超越者FPGA开发板板载了6个共阳数码管,电路原理图如下图所示:
image033.jpg

图 3.2.13 数码管
需要注意的是,这里是用PNP作为开关控制位选信号,由PNP三极管原理可知,当基极为低电平时,三极管导通,输出高电平;如对Q7而言,当SEL0_T为低电平时,选通数码管DIG1。
1.2.9        RS232接口
RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准,在早期它是个人计算机上的通讯接口之一,虽然现在个人电脑上几乎看不到他的身影了,但他还是广泛应用在工业领域。
超越者板载了一个母头RS232接口,连接到了FPGA的IO上,如下图所示:
image035.jpg

图3.2.14  RS232 接口
为了减少外设接口对IO的占用,超越者的RS232接口和RS485接口复用IO,可以通过跳线帽来进行选择使用哪个接口。
由于FPGA输入输出引脚为数字信号,3.3V代表逻辑“1”,0V代表逻辑“0”;而计算机串口采用RS-232电平,它是负逻辑电平,即-15V~-5V代表逻辑“1”,+5V~+15V代表逻辑“0”。因此当计算机与FPGA通信时,需要一个电平转换芯片,这里我们选择的是SP3232(也可以用MAX3232)来做电平转接,同时图中的P1用来选择打开RS232接口(COM2)还是RS485接口。
当使用跳帽将U2_RX连接UART2_TX,U2_TX连接UART2_RX时,可以完成FPGA和RS232接口的通信;当使用跳帽将RS485_RX连接UART2_TX,RS485_TX连接UART2_RX时,可以完成FPGA和RS485接口的通信。当未使用跳帽进行连接时,FPGA的UART2_TX和UART2_RX两个IO可以作为扩展IO使用。
1.2.10     RS485接口
RS-485接口是针对UART串口的一种接口标准,它定义了串行通信系统中发送器和接收器的一系列电气特性。相比于RS-232,RS-485标准的通信系统抗干扰能力较强,可实现长距离数据传输,同时支持多个收发器连接到同一个通信网络中。因此,RS-485在工业控制领域以及有类似需求的领域得到了广泛的应用。其原理图如下图所示:
image037.jpg

图 3.2.15 RS485原理图
RS485的电平特性和LVDS类似,都是通过两线间的电压差表示逻辑“1”和逻辑“0”,逻辑“1”的两线间线压差为+(2至6)V,逻辑“0”的两线间线压差为-(2至6)V。RS485的电平不能直接连接到FPGA芯片的引脚上,需要通过电平转换芯片(SP3485)将RS485的差分电平信号转换成3.3V的数字电平信号。
上图中的RS485_RX和RS485_TX的信号命名是以SP3485芯片来说的,即RS485_RX为SP3485芯片的接收侧,连接FPGA的串口发送引脚;RS485_TX为SP3485芯片的发送侧,连接FPGA的串口接收引脚。除此之外,由于RS485通信属于半双工通信,不能同时发送和接收数据,因此RS485_DE信号用于控制SP3485的通信方向。当RS485_DE信号为高电平时,SP3485芯片将接收到的FPGA引脚电平转换为差分信号;当RS485_DE信号为低电平时,SP3485芯片将差分信号转换为数字信号,并连接至FPGA的接收引脚。
需要说明的是,RS485_DE信号并没有连接到FPGA的引脚上,而是连接至自动选择方向电路,从而可以节省FPGA的一个IO引脚,图 3.2.15中的三极管Q5、MBR0520等器件组成了自动方向选择电路。自动选择方向电路是根据RS485_RX的电平状态来改变RS485_DE信号的电平状态,从而最终改变SP3485芯片的电平转换方向。当RS485_RX信号为低电平时,三极管Q5截止,此时RS485_DE信号被上拉到3.3V,SP3485芯片将接收到的FPGA引脚电平转换为差分信号;当RS485_RX信号为高电平时,三极管Q5导通,此时RS485_DE信号连接至GND,SP3485芯片将差分信号转换为数字信号,并连接至FPGA的接收引脚。
1.2.11     RGB LCD 模块接口
TFT-LCD是一种液晶显示屏,它采用薄膜晶体管(TFT)技术提升图像质量,如提高图像亮度和对比度等。相比于传统的CRT显示器,TFT-LCD有着轻薄、功耗低、无辐射、图像质量好等诸多优点,因此广泛应用于电视机、电脑显示器、手机等各种显示设备中。超越者开发板板载的RGB LCD模块接口电路如下图所示:
超越者FPGA开发板板载的RGB LCD模块接口电路如下图所示:
image039.jpg

图 3.2.16 RGB LCD模块原理图
图中,RGBLCD是RGB LCD液晶接口,采用RGB888数据格式,最大支持256*256*256=1677W色颜色显示,并支持触摸屏(电容屏)。该接口仅支持RGB接口的液晶(不支持MCU接口的液晶),目前正点原子的RGB接口LCD模块有:4.3寸(ID:4342 , 480*272和ID:4384 , 800*480)、7寸(ID:7084, 800*480和ID:7016,1024*600)和10.1寸(ID:1018, 1280*800)等尺寸可选。
图中的T_MISO/T_MOSI/T_PEN/T_CS/T_SCK用于实现对液晶触摸屏的控制(电容屏)。LCD_BL用于控制LCD的背光,LCD_BL为高表示打开背光。
1.2.12     EEPROM
EEPROM (Electrically Erasable Progammable Read Only Memory)即电可擦除可编程只读存储器,是一种常用的非易失性存储器(掉电数据不丢失),也常在嵌入式领域中作为数据的存储设备,在物联网及可穿戴设备等需要存储少量数据的场景中也有广泛应用。
超越者板载的EEPROM是Atmel公司的AT24C64,使用I2C接口进行通信,该芯片的容量为64Kb,对于一般应用来说是足够了。驱动该EEPROM只需要用到两个IO。超越者FPGA与AT24C64连接框图如下图所示:
image041.png

图 3.2.17 EEPROM连接框图
EEPROM硬件原理图如下图所示:
image043.jpg

图 3.2.18 EEPROM原理图
EEPROM采用IIC接口,一个IIC接口上最多支持连接8个EEPROM,每个EEPROM由原理图上的A0~A2连接不同的电平进行区分。这里我们把A0~A2均接地,对AT24C64来说也就是把这三个地址位设置成了0。另外AT24C64采用IIC协议进行数据的读写,而IIC的串行时钟线SCL和数据线SDA均是开漏的,所以需要接上拉电阻。
1.2.13     RTC实时时钟
超越者FPGA开发板板载了一个实时时钟RTC,实时时钟芯片采用NXP公司的PCF8563,可以提供年月日时分秒、星期以及日历功能。PCF8563与FPGA之间的连接框图如下图所示:
image045.png

图 3.2.19 RTC连接框图
超越者板载的实时时钟芯片,共有两组电源选择,分别是开发板上的3.3V电源和纽扣电池。
其电路原理图如下图所示:
image047.jpg

图 3.2.20 实时时钟 RTC
PCF8563需要外接一个32.768KHz的无源时钟,采用直接供电(VCC3.3)和备用电源供电两种供电方式。PCF8563采用IIC协议进行通信,与EEPROM共用IIC引脚。为了开发板掉电以后实时时钟还可以正常运行,还需要配一个电池给PCF8563供电,图中为BAT1为电池座,我们将纽扣电池(型号CR1220,电压为3.3V)放入BAT1插座以后,当系统掉电后,纽扣电池还可以继续给PCF8563供电。原理图中的BAT54C是一款正向电压为320mV的半导体二极管,防止3.3V和电池互相导通。
1.2.14     红外接收头
超越者板载了一个红外接收头(HS0038),可以接收由红外控制器发出的红外光,连接示意图如下图所示。
image049.png

图3.2.21 红外接收示意图
电路原理图如下图所示:
image051.jpg

图3.2.22 红外接收原理图
HS0038是一个通用的红外接收头,几乎可以接收市面上所有红外遥控器的信号,有了它,就可以用红外遥控器来控制开发板了。REMOTE_IN为红外接收头输出的信号,即FPGA的红外输入信号。
1.2.15     以太网接口(RJ45)
超越者FPGA开发板板载了一个以太网PHY芯片,型号为RTL8211FD。用户可以使用FPGA的逻辑资源来实现一个以太网MAC层软逻辑,可以通过编写Verilog代码来实现。PHY和FPGA芯片的连接框图如下图所示:
image053.png

图 3.2.23 千兆以太网PHY芯片连接框图
电路原理图如下图所示:
image055.jpg

图 3.2.24 以太网接口
RTL8211FD芯片支持10/100/1000Mbps网络传输速率,通过RGMII接口跟FPGA端的IO进行数据通信,并支持通过MDIO总线进行PHY寄存器的管理。
超越者板载了一个自带网络变压器的RJ45插座(HR911130A),它们能够满足高带宽通信的需求,比如,可以使用网线连接到电脑,来与电脑上位机进行通信。
1.2.16     USB串口
超越者FPGA开发板载了一个UART转USB接口的转换芯片,一般用于串口通信,也可以用来在程序调试的时候打印信息,下图是其与FPGA之间的连接框图:
image057.png

图3.2.25 UART连接框图
其电路原理图如下图所示:
image059.jpg

图3.2.26 USB串口
USB转串口,我们选择的是CH340C,是国内芯片公司南京沁恒的产品。USB_UART是一个MiniUSB座,提供CH340C和电脑通信的接口,同时可以给开发板供电,VUSB就是来自电脑USB的电源,USB_UART是本开发板的可选供电口。
1.2.17     OLED/摄像头模块接口
超越者FPGA开发板板载了一个OLED/摄像头模块接口,电路原理图如下图所示:
image061.jpg

图 3.2.27 OLED/摄像头模块接口
图中P2接口可以用来连接正点原子OLED模块或者正点原子摄像头模块。如果是OLED模块,则CMOS_PWDN和CMOS_XCLK不需要接(在板上靠左插即可),如果是摄像头模块,则需要用到全部引脚。
1.2.18     Micro SD卡接口
超越者FPGA开发板板载了一个Micro SD卡(也叫TF卡),电路原理图如下图所示:
image063.jpg

图 3.2.28 Micro SD卡接口
上图中的TF_CD信号用于Micro Card的热插拔检测,当插上Micro Card时,TF_CD信号会被拉低,未连接TF卡时,TF_CD信号为高电平。SD卡支持两种驱动模式,分别为SPI模式和SDIO模式。SPI模式操作简单,但读写速度较慢,而SDIO模式的读写速度更快,但操作较麻烦。如果采用SDIO方式驱动,理论上最大速度可以达到25MB/S,非常适合需要高速存储的情况。
1.2.19     CAN接口
CAN是控制器局域网络(Controller Area Network)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准。目前CAN总线是国际上应用最广泛的现场总线之一。
超越者板载一个CAN收发器芯片,型号为TJA1050芯片。该芯片是控制器区域网络(CAN)协议控制器和物理总线之间的接口芯片。该器件为总线提供差分发射能力并为CAN控制器提供差分接收能力。CAN接口与FPGA之间的连接框图如下图所示:
image065.png

图 3.2.29 CAN接口连接框图
其电路原理图如下图所示:
image067.png
3.2.30 CAN
原理图中R2为终端匹配电阻。TJA1050转换得到的数字电平信号连接到了FPGA的IO上,超越者CAN TX和RX是与扩展口IO复用的,所以使用CAN接口时要加上跳线帽P3来导通CAN TX和RX与IO口的连接。
1.2.20     QSPI FLASH
超越者FPGA开发板板载的SPI FLASH的型号为W25Q128,存储容量为128Mbit(16M字节)。QSPI Flash可用于存储FPGA芯片的配置数据,实现程序固化,以保证FPGA在重新上电后仍能继续工作。
image069.png

图 3.2.31 QSPI FLASH 连接框图
其电路图如下:
image071.jpg

图 3.2.32 QSPI FLASH芯片
ATK模块接口
超越者FPGA开发板板载了一个ATK模块接口,电路原理图如下图所示:
image073.jpg

图 3.2.33 ATK 模块接口
如上图所示,U4是一个1*6的排母座,可以用来连接正点原子开发的“ATK-USB-UART”模块或者其他ATK接口的外设模块,如:蓝牙串口模块、GPS模块、MPU6050模块等。当连接“ATK-USB-UART”模块时,则实现UART串口通信功能。
1.2.21     I2S音频编解码接口
超越者的音频编解码芯片采用Wolfson公司的WM8960,WM8960是一颗低功耗、高性能的立体声多媒体数字信号编解码器。下图是WM8960与FPGA之间的连接框图:
image075.png

图 3.2.34 WM8960音频编解码连接框图
FPGA通过IO模拟I2S总线与WM8960进行音频数据双向传输,I2C总线用于对WM8960进行配置。WM8960具有一个音频信号输入接口和一个音频信号输出接口,除此之外,还具有一个直接驱动扬声器的输出接口。其电路原理图如下图所示:
image077.jpg

图 3.2.35 WM8960音频编解码连接框图
WM8960内部集成了24位高性能DAC&ADC,可以播放最高192K@24bit的音频信号,并且自带段EQ调节,支持3D音效等功能。不仅如此,该芯片还结合了立体声差分麦克风的前置放大与扬声器、耳机和差分、立体声线输出的驱动,减少了应用时必需的外部组件,直接可以驱动耳机(16Ω@40mW)和喇叭(8Ω/0.9W),无需外加功放电路。
图中,SPK-和SPK+连接了一个板载的8Ω2W小喇叭(在开发板背面)。MIC是板载的麦克,可用于录音机实验,实现录音。PHONE是3.5mm耳机输出接口,可以用来插耳机。LINE_IN则是线路输入接口,可以用来外接线路输入,实现立体声录音。IIC1_SCL和IIC1_SDA是与EEPROM、RTC实时时钟共用一个IIC接口。
上图中,电源端口均串联了33欧姆电阻,用于和滤波电容一起构成RC滤波电路,以滤除掉电源网络上的噪声。

1.2.22     HDMI接口
超越者板载一路高清晰度多媒体接口HDMI(High Definition Multimedia Interface,HDMI)接口,可以连接显示器用来实现图片和视频的显示。超越者开发板FPGA通过差分IO直接连接到HDMI接口的差分信号和时钟,通过FPGA逻辑实现HMDI信号的差分转并行和编解码,实现数字视频输入和输出的传输解决方案,最高支持1366*768@60Hz的图像输出。超越者FPGA与HDMI接口的连接框图如下图所示:
image079.png

图 3.2.36 HDMI连接框图
HDMI口的硬件原理图如下图所示:
image081.jpg

图 3.2.37 HDMI接口
上图中的AZ1045(D6、D20)是用于电路保护的二极管,用于ESD防静电保护。
1.2.23     DDR3 SDRAM存储器
超越者FPGA开发板板载1片2Gbit DDR3内存,芯片型号为NT5CB128M16IP-DI,DDR3芯片本身支持的速率可以高达800Mhz,由于DDR3是双沿采样,该DDR3最大可以提供800M*16*2=25.6Gbps带宽。超越者板载的FPGA芯片,驱动DDR3芯片时钟频率可以达到312.5Mhz,因此实际带宽为312.5M*16*2=10Gbps。同样可以轻松应对各种大内存、高带宽场景需求,比如摄像头图像数据存储等
DDR3连接到超越者FPGA的BANK3上,供电电压为1.5V。原理图如下图所示:
image083.jpg

图 3.2.38 DDR3 硬件原理图
DDR3由于速度高且是双倍速率采样,所以硬件设计时需要严格考虑信号完整性,开发板在原理图设计、PCB布线和PCB加工时候就充分考虑了匹配电阻/终端电阻,走线阻抗控制,走线等长控制,保证DDR3的高速稳定的工作。
1.2.24     引出IO口
超越者FPGA开发板总共有两组IO引出口:J1和J2。两个扩展口均采用2*20排针引出,总共引出80个IO口,如下图所示:
image085.jpg

图 3.2.39 引出IO口
引出的IO口可扩展用做其他用途,比如接双目摄像头,高速AD/DA模块等。
1.3       超越者FPGA开发板使用注意事项
为了让大家更好的使用超越者开发板,我们在这里总结该开发板使用的时候尤其要注意的一些问题,希望大家在使用的时候多多注意,以减少不必要的问题。
USB供电电流最大500mA,且由于存在导线电阻,供到开发板的电压,一般都不会有5V,如果使用了很多大负载外设,比如4.3寸屏、7寸屏、摄像头模块等,那么可能引起USB供电不足,所以开发板如果连接大负载模块的场合,或者同时用到多个模块的时候,建议大家使用一个电源适配器供电。
当你想使用某个IO口用作其他用处的时候,请先看看开发板的原理图,该IO口是否有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成干扰,先确定无干扰,再使用这个IO。
当液晶显示白屏的时候,请先检查液晶模块是否插好(拔下来重新插试试),如果还不行,可以通过串口看看LCD ID是否正常,再做进一步的分析。
至此,本手册的实验平台超越者FPGA的硬件部分就介绍完了,了解了整个硬件对我们后面的学习会有很大帮助,有助于后面的管脚约束(分配),在编写程序的时候,可以事半功倍,希望大家细读!另外正点原子开发板的其他资料及教程更新,都可以在技术论坛www.openedv.com下载到,大家可以经常去这个论坛获取更新的信息。
1.4       FPGA的学习方法
Spartan6系列FPGA作为目前热门的FPGA芯片,正在被越来越多的公司选择使用。学习FPGA的朋友也越来越多,初学者可能会认为FPGA很难学,以前只学过51,或者甚至连51都没学过的,一看到FPGA就懵了。其实,万事开头难,只要掌握了方法,学好FPGA,还是非常简单的,这里我们总结学习的几个要点:
1、一款实用的开发板。
这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果学个四不像。倒不如从一而终,学完一个再学另外一个。
2、掌握方法,勤学慎思。
FPGA不是妖魔鬼怪,不要畏难,FPGA的学习和普通单片机一样,基本方法就是:
1)了解FPGA的基本结构。
学习FPGA之前需要先对FPGA的基本结构和其功能有个大概的了解,如时钟管理单元MMCM、FIFO等。需要知道时钟管理单元是用来产生不同频率的时钟,如使用SD卡时要产生频率都是50Mhz,但两个时钟相位相差180度的时钟;FIFO用于数据的缓存和异步时钟域数据的传递等。
2)了解Verilog HDL基本语法
没有软件的硬件就如同行尸走肉一般。软件是硬件的灵魂,硬件是软件的舞台。好的软件设计才能发挥硬件的性能,而软件的精髓在于代码。学习FPGA也是这样,Verilog HDL做为一种硬件描述语言,是对数字电路的一种描述,而数字电路是并行工作的,因而在编写Verilog HDL时要有并行的思想,不同于软件设计语言,软件设计语言是由CPU统一进行处理,一条指令一条指令的串行运行,所以软件设计语言是基于串行的设计思想,因而在写Verilog HDL代码的时候要注意这种差别。另外对于Verilog HDL的基本语法是务必要掌握的,如一般常用的module/endmodule、input/output/inout、wire/reg、begin/end、posedge/negedge、always/assign、if/else、case/default/endcase/parameter/localparam等关键字要清楚它们的作用和区别。掌握了Verilog HDL的基本语法和Verilog HDL的并行设计思想后,会觉得Verilog HDL和C语言一样简单。
3)多思考,多动手
所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多练习了,光看或说是没什么太多用的。只有在使用FPGA的过程中,才会一点点的熟悉,也只有动手实练,才能对FPGA有切实的感受。
熟悉了之后,就应该进一步思考,也就是所谓的巧了。我们提供了几十个例程,供大家学习,跟着例程走,无非就是熟悉FPGA的过程,只有进一步思考,才能更好的掌握FPGA,也即所谓的举一反三。例程是死的,人是活的,所以,可以在例程的基础上,自由发挥,实现更多的其他功能,并总结规律,为以后的学习和使用打下坚实的基础,如此,方能信手拈来。
所以,学习一定要自己动手,光看视频,光看文档,是不行的。举个简单的例子,你看视频,教你如何煮饭,几分钟估计你就觉得学会了。实际上你可以自己测试下,是否真能煮好?机会总是留给有准备的人,只有平时多做准备,才可能抓住机会。
只要以上三点做好了,学习FPGA基本上就不会有什么太大问题了。如果遇到问题,可以在我们的技术论坛:开源电子网:www.openedv.com提问,论坛FPGA板块有各种主题,很多疑问已经有网友提过了,所以可以在论坛先搜索,很多时候,就可以直接找到答案了。论坛是一个分享交流的好地方,是一个可以让大家互相学习,互相提高的平台,所以有时间,可以多上去看看。





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-3 16:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表