Nexys3学习手记3:硬件外设走马观花
0赞Nexys3学习手记3:硬件外设走马观花
解读原理图
拿到一块新的电路板,通常我们会很迫不及待先跑个测试Demo看看效果,但请相信这是“菜鸟”的特征。咱们已经不再年轻了,也没有必要再“鲁莽”的折腾板子了。回归理性,那么我建议大家不妨先看看原理图,再对照电路板实物,把整个电路简单的消化一下,并且弄清楚板载跳线、电源插座等的具体用法和注意事项,免得上演“高压冒烟”的惨剧。
Nexys3的原理图可从Digilent公司的官方网站获得(下载地址:http://www.digilentinc.com/Data/Products/NEXYS3/NEXYS3_sch.pdf)。对于原理图,通常需要大家有一定的硬件功力才能够轻松看个大概。当然了,一般开发板会配套较详细的电路说明(本开发板说明可参考http://www.digilentinc.com/Data/Products/NEXYS3/Nexys3_rm.pdf),建议大家不妨先看看,然后再来消化原理图。
Nexys3_rm.pdf(即reference manual)中示意了Nexys3电路板的整体硬件架构,如图1所示。围绕主芯片Spartan-6的XC6SLX16器件,有着较丰富的板载外设,如Cellular RAM、并行的PCM非易失存储器、SPI接口PCM非易失存储器、10/100以太网物理层接口、8位VGA接口、USB HID主机、USB-UART桥芯片和一些基本的IO外设(指示灯、按键、开关等),此外还有FPGA的USB下载配置电路、100MHz工作时钟以及其他扩展接口插座。
图1 Nexys3整体电路框图
Nexys3的原理图一共10页,我们逐个解读。
Page1里的J1是一个高速的VHDCI插座接口,如图2所示。由原理图的示意和信号命名不难推断出这里从FPGA直接引出的信号应该都是高速串行差分对。此外,我们需要注意到JP4可以用于短接J1引进的电源VUEXP和板载电源VU5V0,换句话说,若使用J1引入的5V电源供电,可以短接JP4。
图2 高速VHDCI接口
Page1的另一部分电路如图3所示,这里引出了4组8bit信号的Pmod插座,每个数据信号都通过200欧姆的匹配电阻,并且有接地的保护二极管。对于一般的扩展,这4组数据线以及相应的电源和地基本是绰绰有余了。
图3 四组Pmod接口
Page2里,基本是一些简单的常用接口电路。图4是4路独立的按键电路,按键未按下时等效于FPGA的IO脚接20K电阻下拉到地;按键按下时则等效于上拉10K到电压VCCB0。图5是8路独立的拨码开关电路,FPGA的IO脚通过10K电阻接GND或电压VCC3V3。图6是4位段式数码管电路,公共端为共阳极,通过IO脚连接三极管控制开关。图7是8位色彩的VGA接口电路,IO脚输出电压通过电阻分压得到最多256种色彩组合。图8是共地的8位指示灯电路。
图4 按键电路
图5 拨码开关电路
图6 数码管电路
图7 VGA接口
图8 指示灯电路
Page3里主要是高速USB微控制器芯片CY7C68013A的电路,该芯片在原理图中分为5个Part。其中图9为CY7C68013A与FPGA之间的接口信号;图10包括了晶振输入、各个控制信号以及USB端口的信号;图11则是电源以及部分去耦电容的电路。
图12是5PIN的Mini-B型USB接口插座连接电路。图13是一片与CY7C68013A连接的EEPROM芯片的电路,该存储器件可作为CY7C68013A片内的8051单片机的ROM。
图9 CY7C68013A电路1
图10 CY7C68013A电路2
图11 CY7C68013A电路3
图12 Mini-B型USB插座电路
图13 EEPROM芯片电路
Page4中有一款16bit的MCU,PIC24有着较丰富的外设,包括图14中的USB接口,可以作为当下主流的USB鼠标、键盘的主机控制。PIC24部分信号管脚是和FPGA连接的,使用了8MHz的外部晶体。
图14 PIC接口电路1
如图15所示,J6/J12可以引出PIC24的模拟管脚,可见PIC24集成了AD/DA的外设功能。图15也示意了PIC24的电源以及相应的去耦电路。
图15 PIC接口电路2
如图16所示,FPGA还连接了一片RS232-USB桥芯片FT232。该芯片提供一组标准的RS232接口(J14也把这些接口都额外引出可供扩展)与FPGA连接,另一端可以可以作为USB协议接口通信。
图16 FT232电路
Page5如图17所示,主要是FPGA的配置电路,包括FPGA的配置部分原理图part(IC8A)、两片(实际PCB上做成了双勒,也可以单片)存储PROM芯片(IC6/IC7)、下载配置插座(J7)。还有一个两位的跳线插座J8,原理图中也示意了相应的不同跳线方式可以实现BPI、SPI和Slave Serial等配置方式。
图17 FPGA配置电路
Page6主要是FPGA的IO管脚信号的定义和FPGA外部输入的100MHz时钟晶振电路,如图18所示。
图18 FPGA IO管脚定义
Page7是FPGA的电源电路,如图19所示,基本上每个VCC管脚都有相应的高低搭配的去耦电容。需要注意的是跳线帽JP8可选2.5V或3.3V给VCCO_0供电,这个bank的IO电源为某些特殊电平的应用做了预留。
图19 FPGA电源电路
Page8中,两片当下炒得很时髦的Micron的PCM存储器。如图19所示,为一片CellularRAM芯片,这类RAM不用于以往的RAM,结合了RAM和DRAM的优点,既可以高速访问又可以方便快速的随意寻址。如图20所示,为一片并行的PCM FLASH芯片。
图20 存储器接口1
图21 存储器接口2
Page9,如图22所示,是以太网电路,包括一片以太网的transceiver芯片LAN8710和相应的水晶头插座。
图22 以太网电路
Page10是系统的整个电源电压产生电路。使用了两片Linear的DC/DC芯片,如图23和图24所示。整个系统芯片间的接口基本是3.3V电压,FPGA的核压1.2V,PCM FLASH用到了1.8V,2.5V主要是预留电平。电源的引入也使用了两种方式,可通过跳线帽JP1切换,即常用jack插座或者USB供电。
图23 电源电路1
图24 电源电路2
在reference manual中,有如图25所示的电源供电示意图。
图25 电源供电示意图
整个原理图消化下来,可能会遇到一些未曾谋面过的芯片,不要紧,把这些芯片整理好,到他们的官网download datasheet大体浏览一遍就有底了,到具体应用的时候再仔细消化一下。Nexys3所涉及的主要芯片如列表1所示。
表1 Nexys3主要芯片列表
芯片 |
类型 |
网址 |
CY7C68013A-56 |
USB(MCU) |
|
PIC24FJ192 |
MCU |
|
FT232R |
UART-USB |
|
XC6SLX16-CSG324 |
FPGA |
|
NP5Q128A13EF8C0E |
PROM |
|
MT45W8MW16BGX |
RAM |
|
NP8P128A13T1760E |
FLASH |
|
LAN8710Ai-EZK |
LAN |
|
LTC3633EUFD#PBF |
POWER |
|
LTC3619IDD#PBF |
POWER |
|
24AA128 |
EEPROM |
剖析电路板
原理图看多了,免不了审美疲劳啊。下面就轻松一下,特权同学就不多废话,对照着前面的原理图,如图26和图27所示,把主要芯片以及接插件等元器件逐一点出。
图26 电路板正面示意
图27 电路板背面示意