FPGA
同步[3]是通信系统的一个重要环节,通常包括载波同步、位同步和帧同步。帧同步系统的基本设计思想[1]是在系统发送端数据帧中适当的位置处插入同步字码组,在接收端设计一个大的数据缓冲区,能够将所有同步字节恰好覆盖,并在数据帧缓冲区的适当位置处提取同步字码组,同时将提取到的同步字码组送入汉明距累加器计算汉明距并与检测门限进行比较;同步控制状态机根据比较结果为接收系统提供同步控制信息,从而实现同步。当数据帧较大时,由于数据缓冲器较长,随着数据速率的提高,同步字码组很难稳定地从数据缓冲区中提取出来,同时由于同步判断时间过短而又影响同步系统的稳定性和鲁棒性。为解决这一问题,本文给出了一种并行同步的设计方法。1 并行同步的基本原理
当通信系统的接收机收到一路初始位置随机的高速数码流时,为能稳定地提取同步字码组而实现同步,可将串行数据转换为并行,从而降低数据率。经串并转换后的并行数码流中,同步字节中各个比特的位置可存在几种不同的情况。现在以一路到两路的串并转换为例进行说明。假设图1是一段包括一个同步字节的串行数码流,其中A7 A6 A5 A4 A3 A2 A1 A0为同步字节中的八个比特,高位在前,箭头表示数据传输方向。该数码流在经过一路到两路的串并转换后,由于数据起始比特的随机性,同步字节各个比特的位置可能是图2图3所示的情况。图2中同步字节的奇数位和偶数位在两路中恰好对称分开,高位A7在上边一路中。图3中的同步字节没有对称分开,高位A7在下边一路。同步过程中可以对这两种同步字相位情况进行搜索提取,计算汉明距。这样同步系统的工作数据率就降为输入数据率的一半,使得同步系统的性能稳定可靠。 同理,串行数据经一路到三路串并转换后,同步字节在三路数据中的相位有三种情况,经四路转换有四种相位情况,…可以推得,串行数据经一路到N(N≤8)路串并转换后,就有N种同步字相位情况,同步时建立N路的同步字码组搜索系统。这样数据速率就降为输入数据速率的N分之一,从而改善了同步系统的性能,即多路并行同步。2 两路并行帧同步系统的设计与仿真
考虑到成本等具体情况,设计中采用了Altera公司Flex10K系列FPGA芯片EPF10K30RC240-3,需要设计的同步缓冲器是一个缓冲长度可调、深度可变、嵌有4个位置可变的同步字节数据缓冲区,在第一、第二个同步字间和第三、第四个同步字间采用移位寄存器,其长度可调;在第二、第三个同步字间由于要缓冲的数据较长,为节省资源采用FIFO仿真移位寄存器,其深度可变。设计中先将串行数据进行一路到两路转换,再分别对两种同步字相位进行搜索提取同步字码组,计算汉明距,经同步状态控制机给出同步控制信号和同步指示信号。该同步系统的设计原理框图4所示。
其中5A、OF、66是十六进制的四个同步字节;Id和Di是交织器的两个参数;32比特进位保留流水加法阵列用于计算汉明距;两路汉明距发生器均采用华莱士树流水累加计算方式,分别对不同相位所提取的同步字码组进行汉明距计算,并将结果送同步状态控制机,进行同步搜索、同步监视和同步保护等。
设计中的同步状态控制采用IESS308标准[2]建议的同步捕获判断2次(检测门限为汉明距不超过1)、失步保护判断4次(检测门限是汉明距超过6)的设计方案。同步字码组提取采用两路全节能搜索提取方式。同步系统的状态转换原理图如图5所示。系统刚开始处于失步状态时,两路搜索同时工作,当第一路检测到同步字码组,就令第二路停止工作并给出第一路工作标志(如果第一路未检测到同步字码组而第二路检测到同步字码组,就令第一路停止工作并给出第二路工作标志),同时系统转入按帧判断方式,到下一帧该位置处判断是否还是同步字码组,是,系统进入同步状态;不是,系统则转回到两路搜索捕获状态。当系统完成首次汉明距不超过1的同步判断后(包括同步监视和同步保护状态),同步系统两路汉明距发生器转入仅在每帧的同步字码组处中的一路工作几个时钟周期(设计中工作7个时钟周期,因为汉明距发生器加了7级流水)的工作方式,从而使得同步系统的能量消耗降为最小。进入同步状态后,当系统在一帧的同步字码组处检测到的结果不满足汉明距门限值时,则系统转入同步保护一次状态;系统继续在下一帧的同步字码组处进行检测,当再次检测到结果不满足汉明距门限值时,则系统转入同步保护两次状态;以此类推,当同步系统连续四次判断汉明距不满足门限要求时,则系统转入失步状态,同时令两路同步搜索系统同时开始搜索,系统进入并行同步捕获状态。注意:在捕获过程中第一路搜索优先于第二路。图4 为了测试同步系统,在模拟发送端数据帧结构中设计了一个模拟同步信号源。该信号源仅在数据帧的同步字码组处插入同步字码组,在其它位置上均输出255。采用该模拟同步信号源测试两路并行同步系统,在MaxplusII中进行了仿真,仿真波形如图6所示。图6中Clk44832是输入的基带数据时钟(时钟周期20ns);SynIndication是同步指示信号,当该信号变高时,表示系统进入同步状态,变低时,则表示系统处于失步状态;InitDeI、InitRSDeCoder和Flag是同步系统的控制信号;SynStateMachine[2..0]是同步控制状态机的状态信息,0状态和1状态是失步状态,2状态是同步监视状态,3、4、5状态是同步保护状态。Syn1Codel[7..0]、Syn1Code2[7..0]、Syn1Code3[7..0]和Syn1Code4[7..0]是第一路同步系统的4个同步字节缓冲器;Syn2Code1[7..0]、Syn2Code2[7..0]、Syn2Code3[7..0]和Syn2Code4[7..0]是第二路同步系统的4个同步字节缓冲器,分别用于提取第一路、第二路同步系统的同步字码组。Hamming_D1[5..0]、Hamming_D2[5..0]分别是第一路和第二路汉明距发生器计算所得到的汉明距。模拟同步信号源设计成从第一路同步到失步,从第二路同步到失步,再从第一路同步搜索转换到第二路同步搜索、第二路同步的过程。从图6中可清楚地看到同步系统各个状态之间的转换过程。证明同步系统工作正常。
3 两路并行帧同步系统的测试与应用
在正常情况下,系统初始化结束后,同步指示灯应该变亮,此时表明同步系统已经同步,电路已经正常工作。测试过程中,首先按下复位键,让同步指示灯熄灭,然后松开复位键,使得系统开始一次新的同步搜索;当同步指示灯再次变亮时,说明系统已经重新建立同步,根据系统测试控制开关的位置和测试端口的数据,可以读出同步计数器的数值,从而计算出同步捕获时间。计算公式为:
同步捕获时间=(高4位×65536+中8位×256+低8位)×40×10-9s (1)
其中,高4位、中8位和低8位分别表示同步计数器的高4位、中8位和低8位二进制结果。
在没有误码的理想情况下,本系统同步捕获时间tc应满足:
(19968+7)×40×10-9s≤tc≤(19968×2+6) ×40×10-9s
即:799μs≤tc≤1597.68μs (2)图5 在有误码的情况下,系统漏掉一次同步字码组的同步捕获时间tc应该满足:
(19968×2+7)×40×10-9s≤tc≤(19968×3+6) ×40×10-9s
即:1597.72μs≤tc≤2396.40μs (3)
在误码率很高、系统连续漏掉n次同步字码组的同步捕获时间tc应该满足:
[19968×(n-1)+7]×40×10-9s≤tc≤(19968×n+6) ×40×10-9s (4)
实际测量中,采用仿随机序列模拟噪声干扰。在误比特率为10-4情况下,对实际电路进行了一系列的测量,表1是其中具有代表性的结果。表1 同步捕获时间测试结果表
同步捕获时间测试结果 | |||
高4位 | 中8位 | 低8位 | 同步捕获时间(ms) |
0 | 105 | 141 | 1.08084 |
0 | 147 | 210 | 1.51368 |
0 | 131 | 195 | 1.34924 |
0 | 158 | 190 | 1.62552 |
0 | 155 | 156 | 1.59344 |
0 | 108 | 58 | 1.10824 |
表1中的测量结果是根据公式(1)计算得出的,其中有5次结果满足(2)式,说明此时同步系统没有漏掉同步字码组,达到了同步的期望效果;有一次结果超过1.59768ms了,但满足(3)式,说明同步系统在该误码率情况下,漏掉了一个同步字码组。在实际的大量测量过程中,这种情况出现的次数很少,说明这是小概率事件。
在本设计中,每帧数据为39936比特,采用两路并行同步,每帧每路汉明距发生器要工作19968个时钟。设计中采用的全节能设计是指系统在失步时,两路同步搜索系统同时工作,在同步监视和同步保护状态时,同步系统仅在每帧的同步字码组位置处其中的一路工作7个时钟周期,其它时刻两路均不工作。半节能设计是指系统在失步时,两路同步搜索系统同时工作,在同步监视和同步保护状态时,只有其中的一路工作。在同步监视和同步保护状态时,全节能设计从每帧工作39936个时钟降为7个时钟,半节能设计从每帧工作39936个时钟降为19968个时钟。这样,全节能设计与半节能设计相比,每帧数据同步系统少工作19961个时钟。经测试,采用全节能同步设计方案,接收板工作电流约为700mA,采用半节能同步设计方案,接收板工作电流约为780mA,因此全节能同步设计比半节能同步设计节省功耗约为(780-700)×5×10-3=0.4W。可见,节能效果明显。图6 两路并行同步设计方法设计的帧同步系统在实际的某卫星数据通信系统抗干扰编解码部分中工作稳定、可靠,达到了理想的预期效果。该设计的应用简图如图7所示。图74 多路并行帧同步系统
当数据速率进一步提高,两路并行同步也不能稳定提取同步字码组时,可以采用更多路的并行同步。实现方法是将输入的串行高速数据进行串并转换,再根据串并转换后同步字可能存在的几种不同相位进行同步搜索,提取同步字码组,计算汉明距,为同步状态控制机提供同步信息。同步系统在开始时进行多路并行同步搜索,当其中一路捕获到同步字码组后,其它各路就停止工作,系统仅按一路同步系统工作。设计中可以设成同步捕获优先级从小到大,即第一路优先于第二路,第二路优先于第三路……。这样有利于同步系统各个状态之间的正常转换。设计中要采用多路全节能设计方式,当系统处于同步捕获状态时,多路同步搜索系统同时工作;当系统处于同步监视和同步保护状态时,同步系统仅在每帧数据的同步字码组位置处工作几个时钟。实际通信中,由于系统大部分时间处于同步监视状态,因而全节能设计方案可以使得同步系统的功耗降为最小。由于两路并行同步可以将数据速率降为输入数据速率的二分之一,三路并行同步可以降为三分之一,…。当采用N路并行同步时,可以将数据速率降为输入数据速率的N分之一。设N为8,由于一路同步搜索系统至少可以稳定可靠地工作于25Mbps上,则该同步系统可以稳定工作的最高数据速率至少可以达到25×8=200Mbps。可见,多路并行帧同步设计方案对于高速数据帧同步系统的设计是有意义的。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』