fpga设计方案1
- 格式:doc
- 大小:131.00 KB
- 文档页数:8
FPGA 设计方案
一、功能概述
业务接口模块FPGA 实现以下功能: ● 与MCU 通信的模块
● 业务接口模块的初始化信息模块 ● 控制以太网芯片通信的模块 ● 与610通信的模块
二、结构框图
FPGA 设计总体框图如图1所示,包括四大模块块:与MCU 通信的SSP 模块、业务接口模块的初始化信息控制CTR_LOCAL 模块、与以太网芯片通信的CTR_ETH 的模块和与610通信的CRT_OMI 模块。
FPGA
SSP
PVG610
OMI
CTR_LOCAL
MCU
OMI_RCLK
OMI_R XD
OMI_T CLK OMI_TXD
CTR_OMI
ETH
CTR_ETH
MISO_ETH
CS_ETH SCLK_ETH
MOSI_ETH MCU_SS
MCU_MOSI MCU_SCLK
FPGA_INT
MCU_MISO
图1 FPGA 设计的总体框图
三、接口说明
表1 输入输出接口说明表:
信号名称IO方向信号说明
MCU_SS I 网管监控模块MCU输给业务接口模
块FPGA的片选信号,低电平有效。
MCU_SCLK I 网管监控模块MCU输给业务接口模
块FPGA的时钟信号,上升/下降沿采
集数据。
MCU_MOSI I 网管监控模块MCU输给业务接口模
块FPGA的数据。
MCU_MISO O 业务接口模块FPGA输出给网管监控
模块MCU的数据。
FPGA_INT O 业务接口模块FPGA输出给网管监控
模块MCU的中断信号,低电平有效。
OMI_RCLK I PVG610的OMI给业务接口模块
FPGA的接收时钟,上升/下降沿采集
数据。
OMI_RXD I PVG610的OMI给业务接口模块
FPGA的数据信号
OMI_TCLK I PVG610的OMI给业务接口模块
FPGA的发送时钟,上升/下降沿采集
数据。
OMI_TXD O 业务接口模块FPGA给PVG610的
OMI的数据信号
CS_ETH O ETH芯片的片选信号,低电平有效SCLK_ETH O 业务接口模块FPGA给ETH芯片的时
钟
MOSI_ETH O 业务接口模块FPGA给发送数据ETH
芯片
MISO_ETH I 业务接口模块ETH芯片发送数据给
FPGA
四、各模块功能、接口及时序说明 4.1 FPGA 与MCU 通信模块
FPGA
MCU
SSP
FPGA_INT
MCU_SS MCU_SCLK
MCU_MOSI MCU_MISO SSP_TX 单元SSP_RX 单元
SSP_INST 解析单元SSP_INT 单元
图2 FPGA 与MCU 通信模块框图
MCU 与FPGA 之间传输数据方式为SPI ,MCU 作主片,FPGA 为从片;业务接口模块需要中断时,由FPGA 产生中断请求信号。
SSPI —INSTREG 表示指令寄存器,FPGA 对该寄存器中的指令进行解析 4.1.1 指令解析单元 1.设计框图
SSP_INST 解析单元
INST_REG
MCU_CS FIR_BYTE_RECIVED
wren_OMI
rden_OMI rden_ETH wren_ETH rden_LOCAL
r/w
A0
A1
X
X
X
X
X
FIR_BYTE
r/w A0A1X
X X X X
图 3 指令解析单元框图
2.实现方案
MCU_CS 有效,接收单元接收数据,第一个字节接收完毕后FIR_BYTE_RECIED 有效,使能指令解析单元,接受的第一个自己放入指令解析单元的指令寄存器。
表2 标识位含义说明表: r/w A0 A1 使能信号(高有效) 0 0 0 wren_OMI 1 0 0 rden_OMI 0 0 1 wren_ETH 1 0 1 rden_ETH 1 1 x rden_LOCAL
4.1.2 数据接收单元
SSP_RX 单元
sys_clk
SSP_RX_DATA_REG
A0
SSP_RX_SHIFT_REG MCU_MOSI
SSP_RX 控制器MC U_C S
SSP_RX_SHIFT_EN
MCU_SCLK SSP_RX_DATA_LOADEN
写出并行数据
图4 SSP 模块接收数据单元
4.1.3 数据发送单元
SSP_TX 单元
sys_clk
SSP_RX_DATA_REG
A0
SSP_RX_SHIFT_REG
MCU_M ISO
SSP_TX 控制器MC U_C S
SSP_TX_SHIFT_EN
MCU_SCLK SSP_TX_DATA_LOADEN
读入并行数据
图5 SSP 模块接收数据单元
4.1.4 中断产生单元
SSP_INT 单元
中断产生逻辑
FPG A_I NT
LOCAL_CONF_INT
READ_OMI_INT
图6 SSP 模块中断产生单元
4.2 业务接口模块初始信息模块
CTR_LOCAL
控制单元
INIT_CONF_ROM
INIT _CO NF[7:0]
系统上电
LOCAL_CONF_INT
rden_LOCAL
rd_clk
rd_en
图7 业务接口模块初始信息模块框图
系统上电后,控制单元发中断信号LOCAL_CONF_INT ,MCU 响应该中断后,该控制单元收到rden_LOCAL 有效信号时,产生rd_en ,按照时钟rd_clk 读出INIT_CONF_ROM 中的业务接口模块的初始配置信息,并送到SSP_TX 单元。
由于INIT_CONF_ROM 中的数据时预先存的,在控制单元中设置一个减计数器LOCAL_rd_cnt ,它的初始值为要读的数据个数,当该计数器为LOCAL_rd_cnt=0时,rd_en 为低,配置信息发送完毕。
4.3 FPGA 与ETH 芯片通信模块
FPGA
CTR_ETH
控制单元
SSP
数据收发单元
ETH
MOSI_ETH SCLK_ETH
CS_ETH MISO_ETH
ETH_REG
图8 FPGA 与ETH 芯片通信设计框图
4.3.1 给ETH 芯片发送数据模块
LOAD_CLK
ETH_TX
TX_ETH 控制单元
TX_ETH_REG
TX_ETH_SHIFT_REG TX_ETH_DATA_REG
wren_ETH
w e
写并行数据CS_ETH
SCLK_ETH
LOAD _TX_E TH_D ATA_REG
LOAD _TX_E TH_SH IFT_R EG
_LOA D_CLK
MO SI_ET H
图9 给ETH 芯片发送数据的实现框图
4.3.1 读ETH 芯片配置信息模块
ETH_RX
RX_ETH_DATA_REG
RX_ETH_SHIFT_REG RX_ETH 控制单元
RX_ETH_REG
rden_ETH
读并行数据MO SI_E TH
CS_ETH SCLK_ETH
_LOA D_CL K
LOAD _TX_E TH_SH IFT_R EG
LOAD _TX_E TH_SH IFT_R EG
LOAD_CLK
r e
图10 读ETH 芯片配置信息实现框图
4.4 FPGA 与PVG610的OMI 通信模块
FPGA
CTR_OMI 控制模块
FIFO
通信模块
数据收发模块
PVG610
OMI TCLK _OMI
TXD_OMI
RCLK_OMI RXD_OMI
图11 FPGA 与PVG610的OMI 通信
4.4.1 发OMI 数据的设计与实现
OMI_TX
监测包头包尾单元控制插0单元
TX_FIFO
写的位并行数据
TX_rden
TX_wren
TX_rden
TX_ETH_SHIFT_REG TX_ETH_DATA_REG
LOAD_OMI_TX_DATA_REG_
LOAD_OMI_TX_CLK LOAD_OMI_TX_SHIFT_REG_LOAD_OMI_TX_CLK rd_c;lk wr_clk 插0
插0检测连1计数
OMI_TXD
OMI_TCLK wre n_O MI
图12 发OMI 数据的实现框图
4.4.2 收OMI 数据的设计与实现
OMI_RX
监测包头包尾单元
控制抽0单元
RX_FIFO
读的位并行数据
RX_DATA
RX_rden
wr_rden
TX_ETH_SHIFT_REG TX_ETH_DATA_REG
LOAD_OMI_RX_DATA_REG_
LOAD_OMI_RX_CLK LOAD_OMI_RX_SHIFT_REG_LOAD_OMI_RX_CLK wr_c;lk rd_clk 抽0
抽0检测连1计数
OMI_RXD
OMI_TCLK READ_OMI_INT 监测使能
图13 收OMI数据的实现框图。