基于fpga的時(shí)隙交換裝置及方法
【專利摘要】本發(fā)明公開了一種基于FPGA的時(shí)隙交換裝置,其配置模塊的端口配置單元根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);其上交換網(wǎng)模塊對(duì)至少一上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將匯聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊;其交換網(wǎng)模塊根據(jù)至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將輸出時(shí)隙數(shù)據(jù)發(fā)送至下交換網(wǎng)模塊;其下交換網(wǎng)模塊對(duì)輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口。本發(fā)明還公開了一種基于FPGA的時(shí)隙交換方法。采用本發(fā)明所公開的方案,能夠支持多種速率的業(yè)務(wù)接入、且支持多個(gè)業(yè)務(wù)端口的匯聚交換。
【專利說明】基于FPGA的時(shí)隙交換裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種基于FPGA的時(shí)隙交換裝置及方法。
【背景技術(shù)】
[0002]在數(shù)字電信系統(tǒng)中,數(shù)據(jù)在時(shí)隙中是以一種連續(xù)比特流的方式傳輸。
[0003]目前很多時(shí)隙交換都是基于El通道進(jìn)行交換,即采用2.048Mbps通信鏈路,劃分為32個(gè)時(shí)隙,每間隔為64Kbps,但是這種時(shí)隙交換只支持特定速率的業(yè)務(wù)接入,只能完成特定速率的交換。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種能夠支持多種速率的業(yè)務(wù)接入、且支持多個(gè)業(yè)務(wù)端口的匯聚交換的基于FPGA的時(shí)隙交換裝置及方法。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于FPGA的時(shí)隙交換裝置,包括:與外圍CPU連接的配置模塊、用于接收上行數(shù)據(jù)的上交換網(wǎng)模塊、用于發(fā)送下行數(shù)據(jù)的下交換網(wǎng)模塊和用于時(shí)隙交換的交換網(wǎng)模塊,其中,所述上交換網(wǎng)模塊包括若干接收端口,所述下交換網(wǎng)模塊包括若干發(fā)送端口;
[0006]所述配置模塊包括端口配置單元,所述端口配置單元用于根據(jù)所述CPU的配置信號(hào),配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);
[0007]所述上交換網(wǎng)模塊,用于對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將所述匯聚數(shù)據(jù)發(fā)送至所述交換網(wǎng)模塊;
[0008]所述交換網(wǎng)模塊,用于根據(jù)接收的至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將所述輸出時(shí)隙數(shù)據(jù)發(fā)送至所述下交換網(wǎng)模塊;
[0009]所述下交換網(wǎng)模塊,用于對(duì)接收的輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將所述下行數(shù)據(jù)分發(fā)至所述發(fā)送端口。
[0010]優(yōu)選地,所述上交換網(wǎng)模塊包括:
[0011]第一緩存單元:用于對(duì)所述上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù);
[0012]發(fā)送單元:用于將所述緩存單元內(nèi)的匯聚數(shù)據(jù)根據(jù)相應(yīng)的時(shí)鐘發(fā)送至所述交換網(wǎng)模塊。
[0013]優(yōu)選地,所述配置模塊還包括時(shí)隙交換配置單元,所述時(shí)隙交換配置單元用于配置所述交換網(wǎng)模塊進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
[0014]優(yōu)選地,所述交換網(wǎng)模塊包括:
[0015]第二緩存單元:用于存儲(chǔ)至少一條所述匯聚數(shù)據(jù),并生成輸入時(shí)隙數(shù)據(jù);
[0016]控制單元:用于存儲(chǔ)所述交換網(wǎng)模塊進(jìn)行時(shí)隙交換處理的交換時(shí)隙,并根據(jù)所述交換時(shí)隙和所述輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù);
[0017]第三緩存單元:用于存儲(chǔ)所述輸出時(shí)隙數(shù)據(jù)。
[0018]優(yōu)選地,所述基于FPGA的時(shí)隙交換裝置還包括幀頭處理模塊,用于生成與所述下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。
[0019]本發(fā)明還提供一種基于FPGA的時(shí)隙交換方法,包括:
[0020]根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口用于接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口用于發(fā)送下行數(shù)據(jù);
[0021]對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù);
[0022]根據(jù)至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù);
[0023]對(duì)所述輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將所述下行數(shù)據(jù)分發(fā)至所述發(fā)送端口。
[0024]優(yōu)選地,所述對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)包括:
[0025]對(duì)所述上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù);
[0026]根據(jù)相應(yīng)的時(shí)鐘發(fā)送所述匯聚數(shù)據(jù)。
[0027]優(yōu)選地,在執(zhí)行所述對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)之前,還包括:
[0028]配置進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
[0029]優(yōu)選地,所述根據(jù)至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù)包括:
[0030]根據(jù)至少一條所述匯聚數(shù)據(jù)生成輸入時(shí)隙數(shù)據(jù);
[0031]根據(jù)所述交換時(shí)隙和所述輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù)。
[0032]優(yōu)選地,在執(zhí)行所述對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)之前,還包括:
[0033]生成與所述下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。
[0034]本發(fā)明通過根據(jù)CPU的配置信號(hào),端口配置單元配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);上交換網(wǎng)模塊對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將匯聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊;交換網(wǎng)模塊根據(jù)接收的至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將輸出時(shí)隙數(shù)據(jù)發(fā)送至下交換網(wǎng)模塊;下交換網(wǎng)模塊對(duì)接收的輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口,從而能夠支持多種速率的業(yè)務(wù)接入、且支持多個(gè)業(yè)務(wù)端口的匯聚交換。
【專利附圖】
【附圖說明】
[0035]圖1為本發(fā)明基于FPGA的時(shí)隙交換裝置一實(shí)施例的結(jié)構(gòu)示意圖;
[0036]圖2為本發(fā)明基于FPGA的時(shí)隙交換裝置中配置模塊的結(jié)構(gòu)示意圖;
[0037]圖3為本發(fā)明基于FPGA的時(shí)隙交換裝置中上交換網(wǎng)模塊的結(jié)構(gòu)示意圖;
[0038]圖4為本發(fā)明基于FPGA的時(shí)隙交換裝置中交換網(wǎng)模塊的結(jié)構(gòu)示意圖;
[0039]圖5為本發(fā)明基于FPGA的時(shí)隙交換方法一實(shí)施例的流程示意圖;
[0040]圖6為本發(fā)明基于FPGA的時(shí)隙交換方法中生成匯聚數(shù)據(jù)的流程示意圖;
[0041]圖7為本發(fā)明基于FPGA的時(shí)隙交換方法又一實(shí)施例的流程示意圖;
[0042]圖8為本發(fā)明基于FPGA的時(shí)隙交換方法中生成輸出時(shí)隙的流程示意圖
[0043]圖9為本發(fā)明基于FPGA的時(shí)隙交換方法再一實(shí)施例的流程示意圖。
[0044]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0045]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0046]本發(fā)明提供一種基于FPGA的時(shí)隙交換裝置。
[0047]參照?qǐng)D1和圖2,圖1為本發(fā)明基于FPGA的時(shí)隙交換裝置一實(shí)施例的結(jié)構(gòu)示意圖;圖2為本發(fā)明基于FPGA的時(shí)隙交換裝置中配置模塊的結(jié)構(gòu)示意圖。
[0048]本發(fā)明提供的基于FPGA的時(shí)隙交換裝置包括:與外圍CPU連接的配置模塊10、用于接收上行數(shù)據(jù)的上交換網(wǎng)模塊20、用于時(shí)隙交換的交換網(wǎng)模塊30和用于發(fā)送下行數(shù)據(jù)的下交換網(wǎng)模塊40,其中,上交換網(wǎng)模塊20包括若干接收端口,下交換網(wǎng)模塊40包括若干發(fā)送端口 ;
[0049]配置模塊10包括端口配置單元101,端口配置單元101用于根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);
[0050]上交換網(wǎng)模塊20,用于對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將匯聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊30 ;
[0051]交換網(wǎng)模塊30,用于根據(jù)接收的至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將輸出時(shí)隙數(shù)據(jù)發(fā)送至下交換網(wǎng)模塊40 ;
[0052]下交換網(wǎng)模塊40,用于對(duì)接收的輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口。
[0053]上述時(shí)隙交換裝置還包括時(shí)鐘處理模塊(圖中未標(biāo)示)和同步處理模塊(圖中未標(biāo)示)。其中,時(shí)鐘處理模塊與外部時(shí)鐘芯片連接,并產(chǎn)生該時(shí)隙交換裝置的邏輯所需要的時(shí)鐘。例如,在16M的交換網(wǎng)中,該時(shí)鐘處理模塊需要根據(jù)外部時(shí)鐘芯片產(chǎn)生16M的時(shí)鐘和16M相移90度的時(shí)鐘;在接收端口和發(fā)送端口中產(chǎn)生相應(yīng)頻率的時(shí)鐘。
[0054]上述時(shí)鐘處理模塊發(fā)送同步頭信號(hào)至同步處理模塊,當(dāng)同步處理模塊檢測(cè)到該同步頭信號(hào)時(shí)開始計(jì)數(shù),并按照幀周期(125 μ S)進(jìn)行循環(huán)計(jì)數(shù),由計(jì)數(shù)結(jié)果確定每個(gè)幀周期內(nèi)各個(gè)時(shí)隙的位置。例如,在2Μ時(shí)鐘下由O開始計(jì)數(shù),當(dāng)計(jì)數(shù)到255后再從O開始計(jì)數(shù);在16Μ時(shí)鐘下由O開始計(jì)數(shù),當(dāng)計(jì)數(shù)到2047后再從O開始計(jì)數(shù)。
[0055]上交換網(wǎng)模塊20的接收端口數(shù)量和下交換網(wǎng)模塊40的發(fā)送端口數(shù)量可根據(jù)實(shí)際需要進(jìn)行設(shè)置。
[0056]配置模塊10根據(jù)外圍CPU的BUS總線,分配固定的地址映射出相應(yīng)的寄存器,并根據(jù)地址映射配置相應(yīng)的寄存器,邏輯將上述寄存器作為控制信號(hào)線引入到門控處理,配置靈活,實(shí)現(xiàn)簡(jiǎn)單。本實(shí)施例中,配置模塊10包括端口配置單元101和帶寬配置單元102。
[0057]上述端口配置單元101配置相應(yīng)數(shù)量的接收端口用于接收上行數(shù)據(jù),同時(shí)配置相應(yīng)數(shù)量的發(fā)送端口用于發(fā)送下行數(shù)據(jù)。此外,端口配置單元101還能夠配置各個(gè)接收端口接收的各條上行數(shù)據(jù)在輸入時(shí)隙數(shù)據(jù)中的位置,即端口配置單元101為每個(gè)接收端口配置一個(gè)槽位號(hào),例如,若2M的接收端口的槽位號(hào)為O,則該接收端口的時(shí)隙占用第O條16M匯聚數(shù)據(jù)的0-31時(shí)隙;若2M的接收端口的槽位號(hào)為1,則該接收端口的時(shí)隙占用第O條16M匯聚數(shù)據(jù)的32-63時(shí)隙;若2M的接收端口的槽位號(hào)為9,則該接收端口的時(shí)隙占用第I條16M匯聚數(shù)據(jù)的32-63時(shí)隙,以此類推。同理,端口配置單元101還能夠?yàn)槊總€(gè)發(fā)送端口配置一個(gè)槽位號(hào),下交換網(wǎng)模塊40根據(jù)該槽位號(hào)將輸出時(shí)隙數(shù)據(jù)發(fā)送至對(duì)應(yīng)的發(fā)送端口。
[0058]上述帶寬配置單元102包括一帶寬配置寄存器,用于配置交換網(wǎng)的容量。時(shí)鐘處理模塊根據(jù)帶寬配置寄存器產(chǎn)生上交換網(wǎng)模塊20、交換網(wǎng)模塊30和下交換網(wǎng)模塊40所需要的時(shí)鐘,同步處理模塊根據(jù)帶寬配置寄存器進(jìn)行相應(yīng)時(shí)鐘的選擇,交換網(wǎng)模塊30根據(jù)時(shí)鐘進(jìn)行內(nèi)存分配、端口映射等處理功能。
[0059]例如,通過帶寬配置單元102將上交換網(wǎng)模塊20的容量配置為16M,當(dāng)上行數(shù)據(jù)為2M的業(yè)務(wù)數(shù)據(jù)時(shí),通過端口配置單元101配置8個(gè)接收端口用于接收上行數(shù)據(jù),通過上交換網(wǎng)模塊20將上述接收端口接收的8條2M的數(shù)據(jù)轉(zhuǎn)換為一條16M的匯聚數(shù)據(jù);當(dāng)上行數(shù)據(jù)為4M的業(yè)務(wù)數(shù)據(jù)時(shí),通過端口配置單元101配置4個(gè)接收端口用于接收上行數(shù)據(jù),通過上交換網(wǎng)模塊20將上述接收端口接收的4條4M的數(shù)據(jù)轉(zhuǎn)換為一條16M的匯聚數(shù)據(jù)。應(yīng)當(dāng)說明的是,上交換網(wǎng)模塊20的容量可以根據(jù)實(shí)際需要進(jìn)行設(shè)置。
[0060]上述交換網(wǎng)模塊30可以根據(jù)時(shí)鐘頻率的不同完成不同容量的時(shí)隙交換。以16M的交換網(wǎng)為例,用32.768M的時(shí)鐘處理,則該交換網(wǎng)模塊30最多可以將16條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù)。該交換網(wǎng)模塊30對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理后,生成輸出時(shí)隙數(shù)據(jù)。
[0061]下交換網(wǎng)模塊40將輸出時(shí)隙數(shù)據(jù)按照接收端口的速率進(jìn)行分發(fā),生成相應(yīng)的下行數(shù)據(jù)。
[0062]本發(fā)明實(shí)施例提供的基于FPGA的時(shí)隙交換裝置,根據(jù)CPU的配置信號(hào),通過端口配置單元101配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);上交換網(wǎng)模塊20對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將匯聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊30 ;交換網(wǎng)模塊30根據(jù)接收的至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將輸出時(shí)隙數(shù)據(jù)發(fā)送至下交換網(wǎng)模塊40 ;下交換網(wǎng)模塊40對(duì)接收的輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口。本發(fā)明提供的基于FPGA的時(shí)隙交換裝置能夠支持多種速率的業(yè)務(wù)接入、且支持多個(gè)業(yè)務(wù)端口的匯聚交換。
[0063]進(jìn)一步地,參照?qǐng)D3,圖3為本發(fā)明基于FPGA的時(shí)隙交換裝置中上交換網(wǎng)模塊的結(jié)構(gòu)示意圖,上交換網(wǎng)模塊20包括:
[0064]第一緩存單元201:用于對(duì)上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù);
[0065]發(fā)送單元202:用于將第一緩存單元201內(nèi)的匯聚數(shù)據(jù)根據(jù)相應(yīng)的時(shí)鐘發(fā)送至交換網(wǎng)模塊30。
[0066]本實(shí)施例中,上交換網(wǎng)模塊20的容量以16M為例進(jìn)行說明,接收端口容量可以為2M、4M、8M或16M,本實(shí)施例中以接收端口容量為2M為例進(jìn)行說明,即上行數(shù)據(jù)為2M,每條2M的上行數(shù)據(jù)占用32個(gè)時(shí)隙,所以每條16M的線路上可以承載8條2M的數(shù)據(jù)。
[0067]先將上述8條2M的上行數(shù)據(jù)按照時(shí)隙存儲(chǔ)至第一緩存單元201,從而生成一條16M的匯聚數(shù)據(jù);然后發(fā)送單元202在每個(gè)時(shí)隙結(jié)束的時(shí)候?qū)?shù)據(jù)從第一緩存單元201中取出并裝載到移位寄存器中,移位寄存器根據(jù)16M的時(shí)鐘一位位的將數(shù)據(jù)發(fā)送出去。
[0068]請(qǐng)?jiān)俅螀⒄請(qǐng)D2,配置模塊10還包括一使能寄存器103,用于確定上述發(fā)送單元202是否將匯聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊30中。本實(shí)施例中,若配置為使能模式,則發(fā)送單元202能夠?qū)R聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊30 ;若配置為不使能模式,則發(fā)送單元202不能夠?qū)R聚數(shù)據(jù)發(fā)送至交換網(wǎng)模塊30,即不能夠進(jìn)行時(shí)隙交換處理。
[0069]進(jìn)一步地,請(qǐng)?jiān)俅螀⒄請(qǐng)D2,配置模塊10還包括時(shí)隙交換配置單元104,時(shí)隙交換配置單元104用于配置交換網(wǎng)模塊30進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
[0070]進(jìn)一步地,參照?qǐng)D4,圖4為本發(fā)明基于FPGA的時(shí)隙交換裝置中交換網(wǎng)模塊的結(jié)構(gòu)示意圖,交換網(wǎng)模塊包括:
[0071]第二緩存單元301:用于存儲(chǔ)至少一條匯聚數(shù)據(jù),并生成輸入時(shí)隙數(shù)據(jù);
[0072]控制單元302:用于存儲(chǔ)交換網(wǎng)模塊30進(jìn)行時(shí)隙交換處理的交換時(shí)隙,并根據(jù)交換時(shí)隙和輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù);
[0073]第三緩存單元303:用于存儲(chǔ)輸出時(shí)隙數(shù)據(jù)。
[0074]本實(shí)施例中,以16M交換網(wǎng)為例,用32.768M的時(shí)鐘處理。
[0075]第二緩存單元301為一接收雙口 RAM,首先將N (N < 16)條16M的匯聚數(shù)據(jù)存儲(chǔ)到接收雙口 RAM中。應(yīng)當(dāng)說明的是,由于處理時(shí)鐘為32M,每個(gè)時(shí)隙存儲(chǔ)到雙口 RAM中最多能等待8個(gè)16M的時(shí)鐘周期,也就是16個(gè)32M的時(shí)鐘周期,所以即使每個(gè)32M的時(shí)鐘都存儲(chǔ)數(shù)據(jù)也只能存儲(chǔ)16條16M的匯聚數(shù)據(jù),按照這種方式存儲(chǔ),邏輯采用了流水線方式執(zhí)行,占用了較少的邏輯資源。存儲(chǔ)時(shí)將每條16M的匯聚數(shù)據(jù)按照0-255時(shí)隙順序存儲(chǔ),第一條16M的匯聚數(shù)據(jù)存儲(chǔ)在接收雙口 RAM的第O?255字節(jié),第二條16M的匯聚數(shù)據(jù)存儲(chǔ)在接收雙口 RAM的第256?511字節(jié),以此類推,存在雙口 RAM中的最后一個(gè)時(shí)隙時(shí)最后一條16M的匯聚數(shù)據(jù)的最后一個(gè)時(shí)隙。
[0076]配置模塊10對(duì)控制單元302進(jìn)行配置??刂茊卧?02為一控制雙口 RAM,由16比特組成,最高比特為對(duì)應(yīng)時(shí)隙的交換網(wǎng)使能位,其他15比特為控制交換網(wǎng)的時(shí)隙,即控制雙口 RAM里的數(shù)據(jù)為接收雙口 RAM的讀地址。
[0077]第三緩存單元303為一發(fā)送雙口 RAM,根據(jù)控制雙口 RAM按照順序?qū)懭霃慕邮针p口 RAM讀出來的數(shù)據(jù),即最終生成并存儲(chǔ)輸出時(shí)隙數(shù)據(jù)??刂齐p口 RAM的讀時(shí)序超前發(fā)送雙口 RAM的寫時(shí)序一個(gè)時(shí)鐘。讀發(fā)送雙口 RAM的時(shí)候避開正在寫入的數(shù)據(jù),因此可以錯(cuò)開一個(gè)時(shí)隙來循環(huán)發(fā)送。
[0078]下交換網(wǎng)模塊40將第三緩存單元303內(nèi)的輸出時(shí)隙數(shù)據(jù)按照發(fā)送端口的速率進(jìn)行分發(fā)。本實(shí)施例中,先用16M的時(shí)鐘將數(shù)據(jù)按照時(shí)隙存入到每條2M的數(shù)據(jù)對(duì)應(yīng)的發(fā)送雙口 RAM中,再用2M的時(shí)鐘按照時(shí)隙將2M的數(shù)據(jù)從雙口 RAM中讀出,從而完成2M數(shù)據(jù)的發(fā)送。
[0079]進(jìn)一步地,請(qǐng)?jiān)俅螀⒄請(qǐng)D1,上述基于FPGA的時(shí)隙交換裝置還包括幀頭處理模塊50,用于生成與下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。其中,幀頭處理模塊50與外圍芯片連接,由于不同的芯片對(duì)應(yīng)的同步頭信號(hào)不同,有的芯片的同步頭信號(hào)為高電平有效,有的為低電平有效,有的為下降沿同步,有的為上升沿同步,該幀頭處理模塊50能夠根據(jù)外圍芯片的時(shí)序來調(diào)整其輸出的同步頭信號(hào),以使得該時(shí)隙交換裝置能夠適應(yīng)不同芯片的接入需求。
[0080]本發(fā)明還提供一種基于FPGA的時(shí)隙交換方法,參照?qǐng)D5,圖5為本發(fā)明基于FPGA的時(shí)隙交換方法一實(shí)施例的流程示意圖。
[0081]本發(fā)明提供的基于FPGA的時(shí)隙交換方法包括:
[0082]步驟S10,根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口用于接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口用于發(fā)送下行數(shù)據(jù)。
[0083]根據(jù)外圍CPU的BUS總線,分配固定的地址映射出相應(yīng)的寄存器,并根據(jù)地址映射配置相應(yīng)的寄存器,邏輯將上述寄存器作為控制信號(hào)線引入到門控處理。第一,配置相應(yīng)數(shù)量的接收端口用于接收上行數(shù)據(jù),同時(shí)配置相應(yīng)數(shù)量的發(fā)送端口用于發(fā)送下行數(shù)據(jù)。第二,配置各個(gè)接收端口接收的各條上行數(shù)據(jù)在輸入時(shí)隙數(shù)據(jù)中的位置,即為每個(gè)接收端口配置一個(gè)槽位號(hào)。例如,若2M的接收端口的槽位號(hào)為0,則該接收端口的時(shí)隙占用第O條16M數(shù)據(jù)的0-31時(shí)隙;若2M的接收端口的槽位號(hào)為1,則該接收端口的時(shí)隙占用第O條16M數(shù)據(jù)的32-63時(shí)隙;若2M的接收端口的槽位號(hào)為9,則該接收端口的時(shí)隙占用第I條16M數(shù)據(jù)的32-63時(shí)隙,以此類推。同理,還能夠?yàn)槊總€(gè)發(fā)送端口配置一個(gè)槽位號(hào),根據(jù)該槽位號(hào)將輸出時(shí)隙數(shù)據(jù)發(fā)送至對(duì)應(yīng)的發(fā)送端口。
[0084]步驟S20,對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)。
[0085]例如,當(dāng)交換網(wǎng)容量為16M,上行數(shù)據(jù)為2M的業(yè)務(wù)數(shù)據(jù)時(shí),通過配置8個(gè)接收端口用于接收上行數(shù)據(jù),上述接收端口接收的8條2M的數(shù)據(jù)轉(zhuǎn)換為一條16M的匯聚數(shù)據(jù);當(dāng)上行數(shù)據(jù)為4M的業(yè)務(wù)數(shù)據(jù)時(shí),通過配置4個(gè)接收端口用于接收上行數(shù)據(jù),將上述接收端口接收的4條4M的數(shù)據(jù)轉(zhuǎn)換為一條16M的匯聚數(shù)據(jù)。
[0086]步驟S30,根據(jù)至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù)。
[0087]本實(shí)施例中,可以根據(jù)時(shí)鐘頻率的不同完成不同容量的時(shí)隙交換。以16M的交換網(wǎng)為例,用32.768M的時(shí)鐘處理,則最多可以將16條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù)。對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理后,生成輸出時(shí)隙數(shù)據(jù)。
[0088]步驟S40,對(duì)輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口。
[0089]將輸出時(shí)隙數(shù)據(jù)按照接收端口的速率進(jìn)行分發(fā),生成相應(yīng)的下行數(shù)據(jù)。
[0090]本發(fā)明實(shí)施例提供的基于FPGA的時(shí)隙交換方法,根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù);對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù);根據(jù)至少一條匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù);對(duì)輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將下行數(shù)據(jù)分發(fā)至發(fā)送端口。本發(fā)明提供的基于FPGA的時(shí)隙交換方法能夠支持多種速率的業(yè)務(wù)接入、且支持多個(gè)業(yè)務(wù)端口的匯聚交換。
[0091]進(jìn)一步地,參照?qǐng)D6,圖6為本發(fā)明基于FPGA的時(shí)隙交換方法中生成匯聚數(shù)據(jù)的流程示意圖。在上述實(shí)施例中,步驟S20包括:
[0092]步驟S21,對(duì)上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù);
[0093]步驟S22,根據(jù)相應(yīng)的時(shí)鐘發(fā)送匯聚數(shù)據(jù)。
[0094]以16M的交換網(wǎng)為例進(jìn)行說明,接收端口容量可以為2M、4M、8M或16M,本實(shí)施例中以接收端口容量為2M為例進(jìn)行說明,即上行數(shù)據(jù)為2M,每條2M的上行數(shù)據(jù)占用32個(gè)時(shí)隙,所以每條16M的線路上可以承載8條2M的數(shù)據(jù)。
[0095]先將上述8條2M的上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),從而生成一條16M的匯聚數(shù)據(jù);然后在每個(gè)時(shí)隙結(jié)束的時(shí)候?qū)?shù)據(jù)從取出并裝載到移位寄存器中,移位寄存器根據(jù)16M的時(shí)鐘一位位的將數(shù)據(jù)發(fā)送出去。
[0096]進(jìn)一步地,參照?qǐng)D7,圖7為本發(fā)明基于FPGA的時(shí)隙交換方法又一實(shí)施例的流程示意圖?;谏鲜鰧?shí)施例中,在執(zhí)行步驟S20之前,還包括:
[0097]步驟S50,配置進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
[0098]CPU根據(jù)需要交換的輸出時(shí)隙計(jì)算出輸出時(shí)隙地址,再在這個(gè)地址中寫入要交換的輸入時(shí)隙的地址,這樣在進(jìn)行時(shí)隙交換時(shí),交換網(wǎng)會(huì)將對(duì)應(yīng)的輸入時(shí)隙的數(shù)據(jù)放入到對(duì)應(yīng)的輸出時(shí)隙上。
[0099]進(jìn)一步地,參照?qǐng)D8,圖8為本發(fā)明基于FPGA的時(shí)隙交換方法中生成輸出時(shí)隙的流程示意圖。在上述實(shí)施例中,步驟S30包括:
[0100]步驟S31,根據(jù)至少一條匯聚數(shù)據(jù)生成輸入時(shí)隙數(shù)據(jù);
[0101]步驟S32,根據(jù)交換時(shí)隙和輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù)。
[0102]本實(shí)施例中,以16M交換網(wǎng)為例,用32.768M的時(shí)鐘處理。
[0103]首先將N (N < 16)條16M的匯聚數(shù)據(jù)存儲(chǔ)至內(nèi)存中。存儲(chǔ)時(shí)將每條16M的匯聚數(shù)據(jù)按照0-255時(shí)隙順序存儲(chǔ),例如第一條16M的匯聚數(shù)據(jù)存儲(chǔ)在內(nèi)存的第O?255字節(jié),第二條16M的匯聚數(shù)據(jù)存儲(chǔ)在內(nèi)存的第256?511字節(jié),以此類推,存在內(nèi)存中的最后一個(gè)時(shí)隙時(shí)最后一條16M的匯聚數(shù)據(jù)的最后一個(gè)時(shí)隙。
[0104]根據(jù)上述配置好的交換時(shí)隙,按照順序?qū)懭霃膬?nèi)存中讀出來的數(shù)據(jù),即最終生成并存儲(chǔ)輸出時(shí)隙數(shù)據(jù)。
[0105]將輸出時(shí)隙數(shù)據(jù)按照發(fā)送端口的速率進(jìn)行分發(fā)。本實(shí)施例中,先用16M的時(shí)鐘將數(shù)據(jù)按照時(shí)隙存入到每條2M的數(shù)據(jù)對(duì)應(yīng)的發(fā)送端口中,再用2M的時(shí)鐘按照時(shí)隙將2M的數(shù)據(jù)從發(fā)送端口中讀出,從而完成2M數(shù)據(jù)的發(fā)送。
[0106]進(jìn)一步地,參照?qǐng)D9,圖9為本發(fā)明基于FPGA的時(shí)隙交換方法再一實(shí)施例的流程示意圖?;谏鲜鰧?shí)施例中,在執(zhí)行步驟S20之前,還包括:
[0107]步驟S60,生成與下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。
[0108]即根據(jù)外圍芯片的時(shí)序來調(diào)整輸出的同步頭信號(hào),使得能夠適應(yīng)不同外圍芯片的接入需求。
[0109]以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于FPGA的時(shí)隙交換裝置,其特征在于,包括:與外圍CPU連接的配置模塊、用于接收上行數(shù)據(jù)的上交換網(wǎng)模塊、用于發(fā)送下行數(shù)據(jù)的下交換網(wǎng)模塊和用于時(shí)隙交換的交換網(wǎng)模塊,其中,所述上交換網(wǎng)模塊包括若干接收端口,所述下交換網(wǎng)模塊包括若干發(fā)送端Π ; 所述配置模塊包括端口配置單元,所述端口配置單元用于根據(jù)所述CPU的配置信號(hào),配置相應(yīng)接收端口接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口發(fā)送下行數(shù)據(jù); 所述上交換網(wǎng)模塊,用于對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,生成一條匯聚數(shù)據(jù),并將所述匯聚數(shù)據(jù)發(fā)送至所述交換網(wǎng)模塊; 所述交換網(wǎng)模塊,用于根據(jù)接收的至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù),并將所述輸出時(shí)隙數(shù)據(jù)發(fā)送至所述下交換網(wǎng)模塊; 所述下交換網(wǎng)模塊,用于對(duì)接收的輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將所述下行數(shù)據(jù)分發(fā)至所述發(fā)送端口。
2.如權(quán)利要求1所述的時(shí)隙交換裝置,其特征在于,所述上交換網(wǎng)模塊包括: 第一緩存單元:用于對(duì)所述上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù); 發(fā)送單元:用于將所述第一緩存單元內(nèi)的匯聚數(shù)據(jù)根據(jù)相應(yīng)的時(shí)鐘發(fā)送至所述交換網(wǎng)模塊。
3.如權(quán)利要求1所述的時(shí)隙交換裝置,其特征在于,所述配置模塊還包括時(shí)隙交換配置單元,所述時(shí)隙交換配置單元用于配置所述交換網(wǎng)模塊進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
4.如權(quán)利要求3所述的時(shí)隙交換裝置,其特征在于,所述交換網(wǎng)模塊包括: 第二緩存單元:用于存儲(chǔ)至少一條所述匯聚數(shù)據(jù),并生成輸入時(shí)隙數(shù)據(jù); 控制單元:用于存儲(chǔ)所述交換網(wǎng)模塊進(jìn)行時(shí)隙交換處理的交換時(shí)隙,并根據(jù)所述交換時(shí)隙和所述輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù); 第三緩存單元:用于存儲(chǔ)所述輸出時(shí)隙數(shù)據(jù)。
5.如權(quán)利要求1所述的時(shí)隙交換裝置,其特征在于,還包括幀頭處理模塊,用于生成與所述下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。
6.一種基于FPGA的時(shí)隙交換方法,其特征在于,包括: 根據(jù)CPU的配置信號(hào),配置相應(yīng)接收端口用于接收上行數(shù)據(jù),以及配置相應(yīng)發(fā)送端口用于發(fā)送下行數(shù)據(jù); 對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù); 根據(jù)至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù); 對(duì)所述輸出時(shí)隙數(shù)據(jù)進(jìn)行處理,生成相應(yīng)的下行數(shù)據(jù),并將所述下行數(shù)據(jù)分發(fā)至所述發(fā)送端口。
7.如權(quán)利要求6所述的時(shí)隙交換方法,其特征在于,所述對(duì)至少一所述接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)包括: 對(duì)所述上行數(shù)據(jù)按照時(shí)隙進(jìn)行存儲(chǔ),并生成一條匯聚數(shù)據(jù); 根據(jù)相應(yīng)的時(shí)鐘發(fā)送所述匯聚數(shù)據(jù)。
8.如權(quán)利要求6所述的時(shí)隙交換方法,其特征在于,在執(zhí)行所述對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)之前,還包括: 配置進(jìn)行時(shí)隙交換處理的交換時(shí)隙。
9.如權(quán)利要求8所述的時(shí)隙交換方法,其特征在于,所述根據(jù)至少一條所述匯聚數(shù)據(jù)生成一條輸入時(shí)隙數(shù)據(jù),對(duì)所述輸入時(shí)隙數(shù)據(jù)進(jìn)行時(shí)隙交換處理,生成輸出時(shí)隙數(shù)據(jù)包括: 根據(jù)至少一條所述匯聚數(shù)據(jù)生成輸入時(shí)隙數(shù)據(jù); 根據(jù)所述交換時(shí)隙和所述輸入時(shí)隙數(shù)據(jù)生成相應(yīng)的輸出時(shí)隙數(shù)據(jù)。
10.如權(quán)利要求6所述的時(shí)隙交換方法,其特征在于,在執(zhí)行所述對(duì)至少一接收端口接收的上行數(shù)據(jù)進(jìn)行處理,并生成一條匯聚數(shù)據(jù)之前,還包括: 生成與所述下行數(shù)據(jù)相應(yīng)的同步頭信號(hào)。
【文檔編號(hào)】H04Q11/08GK104244119SQ201310733402
【公開日】2014年12月24日 申請(qǐng)日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】劉增華 申請(qǐng)人:深圳市邦彥信息技術(shù)有限公司