首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的通用网络下载器硬件设计

基于FPGA的通用网络下载器硬件设计

摘 要 :网络下载器作为航天计算机地面检测系统的重要组成部分,发挥着重要的作用。文中主要介绍了网络下 载器的总体设计思路, 给出了硬件模块的设计原理图。并在PCB设计中, 对于LVDS接口、 高速总线以及叠层的设计 中给出了应用参考,保证了系统硬件的可靠性, 且在实际应用中取得了稳定的性能表现。
随着航天技术的发展,地面检测设备作为大系统 的重要组成部分,发挥着重要作用。 通用下载器作为 测试指令和测试数据上传下发的重要通道, 其可靠性 和稳定性备受关注,本文介绍了通用下载器的总体设计思路, 给出了原理图和PCB 的设计参考,同时在实 际测试中验证了该设计的可靠性和稳定性。
1        系统概述
该设备主要完成的功能是将70Mbit的数据包通 过网口分包发送给接收设备,并发送控制数据给接收 设备,从而接收来自接收设备的状态数据。

整个设备 主 要 由ARM芯 片 和FPGA芯 片 组 成,ARM芯片采用 三 星 2440, FPGA 选 用 Xilinx 的 Xilinx Spartan6 系列FPGA, 型号为XC6SLX45F484,将FPGA挂在ARM的RAM 接 口 下,其接口带宽可达133M/5x4Byte=106 MByte, 通过100Mbit•s-1 以太网网卡与 PC上位机通信, 通过LVDS接口来完成与下位机的数据和控制信息交互。
FPGA 通过一 个FIFO 接 收ARM发 送 的 数 据, 写 使能信号( fifo_wren) 由ARM 发送的片选信号(nce) 和 写使能( nwe) 控制, 当地址信号为0, nce 和 nwe 同时有效时,FIFO被写人数据 (16位宽 ) 。 FIFO读 使 能 由FIFO空信号( fifo_empt_w) 控制, 当FIFO 有数据写人 时,FIFO空信号( fifo_empt_w) 由低变高, 触发读使能, 数据被读出, 并经LVDS后进人下位机。


FPGA 通过另一个FIFO接收下位机发送的数据,写使能信号(lvds_en_in) 由下位机控制, 使能信号为高后, 下位机提供写时钟(lv_clk_in_wire) ,数据(8位宽)被写人FIFO。 FIFO读使能(fifo_rden) 由ARM发送的 片选信号(nce) 和写使能信号 (noe) 控制, 当FIFO有 数据写人时, FIFO空信号(fifo_r_empt_w) 由低变高,ARM 检测到此信号后使能nce 和 noe, 并给出读时钟,FIFO 数据被读出。
ARM 通 过100MBIT网口接收上位机发送的TCP/IP数据包,ARM将其解包使数据内容通过ARM 的RAM口发送给FPGA, 而 FPGA 将数据包通过 LVDS接口发送给接收设备。


下载器通过 LVDS 口接收来自接收设备发送的状 态数据包并缓存至FIFO中, 接收完一帧后给ARM 发 送中断信号,ARM接收到中断信号通过 RAM接口读取 FPGA FIFO中的状态数据包并打包成 TCP/IP 数据 包并通过100Mbit 网口发送给上位机。
2        原理图设计
2.1        电源设计
系统采用5V直流供电,FPGA需要1.2V的核心电压,2.5V的VCCAUX 电压,3.3V 的bank 电压,RAM板 与 LVDS 接口芯片sn551vds31/32均使用3.3V电压供 电, 同时保证各个电压等级互不影响, 采用 5V直接产生1.2V, 2.5V 和3.3V 电压的方式, 其中FPGA的1.2V核 心电压采用开关电源LM2852, 保证供电电压的精度, 提 高了电源效率,2.5V 和3.3V 电流预估较大, 为满足系 统长时间工作的散热, 使用TI的电源模块pth04070。


2. 2 网络接口设计
网络接口使用DM9000芯片以及网络接口芯片HR911103A组成, DM9000是一个全集成、 功能强、 性价 比高的快速以太网MAC层控制器[ 1]。其带有一个通用 处理器接口、EEPROM接 口、10/100PHY 和16kb的SRAM( 其 中 13KB 用 来 接 收FIFO,3kB 用来发送FIFO) 。 电源模块采用单一电源, 可分别兼容3.3V 和5V的IO 接口电平。 设计采用3.3V 电源供电, 保证了 系统的稳定性,100m 网口双向通信带宽为50Mbit• s-1(6MByte/s) 。DM9000和2440 连接了16条数据线,1条 地址线, 唯一地址线用于判断数据线传输的是地址或是数据, 所以这16条数据线为数据和地址复用, 如图4所示。


2. 3 LVDS 接口设计
LVDS:Low Voltage Differential Signaling, 低电压差 分信号。LVDS传输支持速率一般在155Mbit•s-1以 上。LVDS是一种低摆幅的差分 信号技术, 其使得信号能在差分PCB线对或平衡电缆上以几百Mbit•s-1的速率传输, 其低压幅和低电流驱动输出实现了低噪 声和低功耗。 IEEE在两个标准中对LVDS信号进行了定义[2]。ANSI/TIA/EIA-644中, 推荐最大速率为 655Mbit•s-1。 设计采用了LVDS接口发送芯 片sn551vds31和接收芯片sn551vds3132, 其中发送部分采用50Ω 的串联匹配[3] , 电阻精度选择为1% , 保证终端匹 配电阻的精度。



3        PCB 设计
系统PCB设计需注意叠层设计, ARM和FPGA 间 高速总线的设计以及LVDS总线的阻抗匹配及信号约 束问题[ 4 - 5] 。

根据 TI的参考于册, 通常的叠层结构为LVDS信号层、 电源层 ( 分割成LVDS电平电源和 TTL电平电源)、地层( 分割成LVDS电平地和TTL电平地) 和 TTL信号层[6] , 如图7 所示。


但在实际设计中, 由于叠层的设计, 不可能单独列 出较多层, 对于TTL 和LVDS信号的地层也无需进行 分割, 因其会破坏地层的完整性, 在确保完整地的情况 下, 可对其他地层TTL 和LVDS信号分割。 总之, 在保 证地层完整的情况下, 使LVDS信号和TTL 信号尽量 分离, 最好是在不同的层进行布线。 在本PCB 板的设 计中, 使 用6层叠层结 构:TOP-GND1-INNER-POWER-GND2-BOTTOM, 其中TOP 和BOTTOM层走LVDS信号,INNER 和GND2走LVTTL信号,这样 既保持了信号的分层,也保持了完整的信号回流路径。LVDS信号频率可达600MHz 以上, 所以差分线要 求严格等长, 差分对内最好不超过10mil(0.254mm) , 若频率低于600MHz ,该约束值可适当放宽,但上限不 能超过75mil
[ 7] 。 不同LVDS对间的布线最大差值不超 过200mil[ 8] 。 文中在Cadence16.3 的约束设置中, 具体设置如下。




差分阻抗的不匹配会产生反射, 有 10% 的阻抗不 匹配便会产生 5% 的反射, 所以需根据不同的情况进 行不同 的 匹 配 控 制。LVDS 信 号 的 差 分 特 性 阻 抗 为100 Ω, 对于LVDS信号发射端(TX) , 采用差分对各自 串联精度为1% 的50 Ω 电阻进行匹配, 这样既保持了 信号传输的功率要求,又满足了阻抗控制的要求。
4        实测结果
下载器性能实测时, 将LVDS接口接收和发送部 分回环连接, 可使用网络调试助于发送55AA 组成的1032Byte 的 数 据 包, 测试下载器的功能。 结果如图10所示,从图中可看到,下载器稳定的收发数据。


5        结束语
设计的网络下载器将FPGA在信号处理中的优势 和ARM 芯片在网络通信中的优势相结合, 在PCB 设 计中对于LVDS接口的阻抗、高速线时序以及叠层进行了设计, 较好地保证了系统硬件的可靠性, 并在实际 使用中达到了良好的效果。

作者:吴        杰 来源:电子科技2014年 第27卷 第4 期
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表