java怎么拦截某个对象
264
2022-11-06
基于Spartan3 XCS1000实现NGN网关接口芯片的设计
方案介绍
图1 网关接口板功能结构图
设计描述
图2 FPGA内部功能结构图
数据流
从数据流角度看,FPGA包括与专用处理芯片OBCI3 相连的MasterLink[A,B],与终端控制板相连的Serial Link,与TDM芯片相连的ST_Link。为提高网关接口设备的可靠性,所有的数据流都包括A、B两路,分别来自主/备用设备,当其中一路发生故障时,系统自动切换到另外一路。以上行数据为例,从终端控制板来的Serial Link共分6路,其中每一路数据格式都是由A、B两路经过Manchester编码过的复用数据,A/B路复用数据在Coder/Decoder模块中经过线路端解码,恢复出A 、B两路Cluster Link数据,该数据采用PCM格式,其速率为4MHz,共分为32 个PCM 信道,每个信道16位,其中CH0 用于同步信道,CH16 用于信令信道,其它信道可以承载语音和数据,又叫SPATA 信道。16位的SPATA 信道包含了8位的语音编码和协议位,CH0包含同步编码,如表1所示:其中PP 是协议比特,当有告警时PP=11,否则为00,A=1时表明存在软件或硬件告警,M=1 时表明存在摘挂机事件。其中,13 、12以及7 “4为同步位,当上下游接口芯片以每125ms的间隔固定检测到同步码的时候,整个系统处于完全同步状态,否则,对端芯片会在CH16发出远端告警,用于通知网关设备进行故障处理。
图3 控制状态机
CH16 是16位宽的控制信道,用于发送控制命令包或接收反馈包,用于控制终端控制板的操作。MasterLink 只承载同步和信令信道,不包括SPATA 信道,MasterLink 也包含A B两条链路。ST_Link是与TDM芯片相连的TDM 链路,满足标准ST-BUS 的接口要求,只承载8位的语音信道。FPGA将前述Serial Link经过Manchester解码后分离的A/B路数据分别进行8位数据提取,然后按照ST_BUS总线的格式分别放到各自对应的通道中,共12路ST_link数据。具体实现上,采用2个双口RAM,进行数据缓存后,按照ST_BUS格式按序读出。反之,FPGA进行ST_BUS到Serial Link的扩展。
图4 GPBUS与386总线映射关系
控制流
图3是在FPGA具体实现中所采用的状态机,系统共有4个状态,状态翻转的信号见图3右下侧,低为有效。当CPU没有总线操作时,系统为空闲状态;当CPU需要进行SRAM操作时,SRAM片选信号有效,系统进入OBC SRAM 存取状态,在此状态下,FPGA将CPU的操作映射为标准的SRAM时序,从而完成SRAM的读写操作。FPGA同时监测OBCI3的DMA请求信号,当状态为OBCI3 SRAM 存取时,如果CPU授权DMA请求,FPGA则激活OBCI3的HOLD_OUT信号,使OBCI3获得系统总线控制权,并启动DMA模式直接存取片外SRAM,从而大大加快了系统处理的速度。当CPU需要与OBCI3进行通讯的时候,系统进入OBCI3 存取状态,在该状态下,FPGA将异步的GPBUS总线逻辑的读写操作映射为同步的Intel-386接口时序,见图4。图中上半部分是GPBUS的读写时序,而下半部分则是经过FPGA映射后输出的标准386 CPU接口时序。图中箭头标明了两组总线控制信号之间的时序关系。
设计实现
本设计采用Xilinx的Spartan3-XCS1000实现。Spartan3系列器件采用90nm工艺,具有丰富的内部资源,包括17280个逻辑单元,120Kbit的分布式RAM和432Kbit的Block RAM,并提供了丰富的引脚接口类型。设计利用Synplify Pro 7.7进行综合,在ISE8.1中完成布局布线。经过系统验证,完全符合系统要求,现在已经进行批量生产。
结语
为顺利向下一代网络结构过渡,本文设计了NGN网关设备中的接口芯片,该芯片能够提供设备所需要的多种逻辑功能,极大地简化了电路板的设计。同时,设计本身采用可扩展的设计结构,可以满足系统扩展的要求。采用Spartan3系列FPGA实现,经过系统测试,完全符合设计需求。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~