课程导论与硬件准备:Lattice FPGA光纤通信课程概览

大家好,我是你们这门课的老朋友。说实话,每次开新课前,我都要花点时间想想怎么把「光纤通信」这四个字讲得不那么吓人。你想想看,光信号在玻璃丝里跑,FPGA在电信号里算,这两者怎么搭上桥?嗯,这就是咱们这门课要干的事。

我个人习惯,第一节课不急着上代码。先把家伙事儿认全了,心里才有底。我记得刚入行那会儿,拿到一块开发板,连SFP接口和RJ45都分不清,闹了不少笑话。所以今天咱们就踏踏实实,把硬件选型和连接讲透。

核心目标:用Lattice ECP5系列FPGA,驱动SFP光模块,实现最基本的光纤收发。说白了,就是让电信号变成光信号,再从光信号变回电信号。

1.1 Lattice ECP5系列开发板:为什么选它?

市面上FPGA厂家不少,Xilinx、Altera(现Intel)是大头。但我为什么偏偏挑Lattice ECP5?原因有三:

  • 性价比高:ECP5系列在低功耗、中等规模应用里,性价比非常能打。一块几百块的开发板,就能跑千兆甚至2.5G的光纤通信。
  • 内置SERDES:这是关键。ECP5内部集成了高速串行收发器(SERDES),最高能跑到3.2Gbps。光纤通信的核心,就是靠这玩意儿把并行数据转成串行光信号。
  • 工具链友好:Lattice的Diamond软件虽然不如Vivado那么庞大,但胜在轻量、上手快。咱们做光纤通信,不需要那么多花哨的IP核,够用就行。

我在项目中遇到过用ECP5做视频光纤传输的场景,稳定跑了两年没出过问题。所以选它,我心里有底。

选型建议:如果你刚入门,推荐Lattice ECP5 Versa开发板。它自带SFP接口,省去自己画板的麻烦。淘宝上二手的大约300-500元,性价比极高。

1.2 SFP光模块:光通信的「眼睛」

SFP(Small Form-factor Pluggable)光模块,说白了就是一个小盒子,负责把电信号转成光信号(发射),或者把光信号转成电信号(接收)。

常见的SFP模块有几种:

类型 速率 传输距离 适用场景
1000BASE-SX 1.25Gbps 550m(多模光纤) 短距离,机房内部
1000BASE-LX 1.25Gbps 10km(单模光纤) 中距离,楼宇间
SFP+ 10G 10.3125Gbps 300m-40km 高速场景,但ECP5不支持

咱们这门课,主要用1000BASE-SX模块。为什么?便宜啊!一个二手的SX模块才20块钱,够你折腾了。我曾经为了省钱买了个LX模块,结果发现实验室只有多模光纤,白花了一百多块冤枉钱。所以,买之前一定确认光纤类型

避坑指南:我曾经遇到过SFP模块插反的情况。注意,SFP模块有方向性,发射口(TX)和接收口(RX)不能搞混。另外,模块的金手指很脆弱,插拔时一定要小心,别弯了针脚。

1.3 光纤跳线:连接的最后一步

光纤跳线,就是那根透明的「玻璃丝」。它分两种:

  • 单模光纤(SMF):芯径细(9μm),传输距离远,但成本高。一般用于长距离通信。
  • 多模光纤(MMF):芯径粗(50μm或62.5μm),传输距离短(几百米),但便宜。咱们实验室用这个就够了。

连接的时候,注意接口类型。SFP模块通常用LC接口,就是那种小方头。光纤跳线两头都是LC,直接插到模块上就行。

嗯,这里要注意:光纤跳线不能弯折太厉害。我见过有人把光纤绕成一个小圈,结果信号直接断了。光纤的弯曲半径一般不能小于30mm,否则光信号会泄漏。

1.4 硬件连接:一步步来

好了,东西都齐了,咱们连起来。步骤很简单:

  1. 断电操作:先把开发板电源拔掉。别带电插拔SFP模块,容易烧接口。
  2. 插入SFP模块:对准开发板上的SFP插座,轻轻推入,听到「咔哒」一声就到位了。
  3. 连接光纤跳线:把光纤跳线的一头插到模块的TX口,另一头插到另一个模块的RX口。注意,TX对RX,RX对TX,交叉连接。
  4. 上电检查:给开发板上电,观察SFP模块旁边的指示灯。如果亮了,说明物理连接没问题。

小技巧:如果你只有一块开发板,可以用一根光纤跳线把TX和RX短接(loopback模式)。这样就能自测收发是否正常。我在调试初期经常这么干,省去了找第二块板的麻烦。

1.5 知识体系总览:一张图看懂

说了这么多,咱们用一张图把整个知识体系串起来。你想想看,从FPGA到光纤,中间经历了什么?

Lattice FPGA光纤通信知识体系 Lattice ECP5 FPGA核心 并行数据处理 并行数据 SERDES 串行/解串器 并串转换 串行数据 SFP光模块 电光转换 光电转换 光信号 数据流向:FPGA → SERDES → SFP模块 → 光纤 关键知识点: ① ECP5的SERDES配置(PLL、时钟域) ② SFP模块的I²C管理接口(读取温度、电压) ③ 光纤链路建立(信号检测、时钟恢复)

这张图就是咱们整个课程的核心脉络。从FPGA内部的数据处理,到SERDES的并串转换,再到SFP模块的电光转换,最后通过光纤传输出去。反过来,接收路径就是逆过程。

1.6 硬件清单:照着买就行

最后,我给大家列个清单。照着这个买,保证不踩坑:

  • 开发板:Lattice ECP5 Versa 或 ECP5-5G-EVN(带SFP接口)
  • SFP模块:1000BASE-SX,LC接口,多模(2个,至少1个)
  • 光纤跳线:LC-LC,多模,长度1-3米(1根,用于loopback测试)
  • USB下载线:Lattice专用下载线(FTDI或Lattice原厂)
  • 电源:12V/2A直流电源(开发板自带最好)

省钱小妙招:如果你手头紧,可以先买一块开发板和一个SFP模块。用loopback模式自测,一样能跑通整个链路。我当年就是这么干的,省了一半预算。

好了,硬件准备就到这里。东西到手后,先别急着上电。下一节咱们会讲Diamond软件的安装和第一个LED闪烁工程。嗯,别急,一步一步来。


公众号:蓝海资料掘金营,微信deep3321