1.23k likes | 1.37k Views
通信系统的硬件设计. 层次化体系结构. 内容简介. 通信系统的基本模型 通信中的基本概念 底层协议的硬件设计 物理层 数据链路层 网络层. 通信系统的基本模型. 通过任何媒体将信息从一地送到另一地,从广义上讲均可称为通信 点到点通信模型 网络模型. 层次化体系结构. 基本数据结构. 比特 字节 帧 信元 包 数据流. 数据结构表示. 数据结构含义. 比特: 0/1 代表有无、正负、奇偶等等 字节:代表整数、字符或其他编码 字:代表整数、多项式、地址等 帧:代表复杂数据结构,包括地址、数据、校验码、长度等等
E N D
通信系统的硬件设计 层次化体系结构 清华大学 通信系统 葛宁2005
内容简介 • 通信系统的基本模型 • 通信中的基本概念 • 底层协议的硬件设计 • 物理层 • 数据链路层 • 网络层 清华大学 通信系统 葛宁2005
通信系统的基本模型 • 通过任何媒体将信息从一地送到另一地,从广义上讲均可称为通信 • 点到点通信模型 • 网络模型 清华大学 通信系统 葛宁2005
层次化体系结构 清华大学 通信系统 葛宁2005
基本数据结构 • 比特 • 字节 • 帧 • 信元 • 包 • 数据流 清华大学 通信系统 葛宁2005
数据结构表示 清华大学 通信系统 葛宁2005
数据结构含义 • 比特:0/1代表有无、正负、奇偶等等 • 字节:代表整数、字符或其他编码 • 字:代表整数、多项式、地址等 • 帧:代表复杂数据结构,包括地址、数据、校验码、长度等等 • 信元/包:代表更为复杂数据结构,包括地址、协议类型、数据等等 清华大学 通信系统 葛宁2005
数据结构的有无 • 当数据不是永远或者全部充满信道或者资源时,需要利用某种方式表示数据的有无 • 原则:处理简单,附加信息少,可靠容错 • 方法 • 附加信号表示,如使能Enable • 特殊编码,空闲码(以太网),不适合二值信道。 • 空闲数据块:空闲码组(HDLC),空闲帧(GFP),空闲信元(cell)。 • 指示:如E1中的信令指示64K PCM有无。 清华大学 通信系统 葛宁2005
数据结构的分割 • 多个数据需要复用一个信道、资源时各个数据需要利用某种形式进行分割 • 原则:处理简单,附加信息少,可靠容错 • 方法: • 附加信号表示,如开始指示Start • 特殊编码,preamble(以太网),不适合二值信道。 • 定长帧协议:帧定位 • 变长帧协议:帧定位码组(HDLC),长度指示(GFP) 清华大学 通信系统 葛宁2005
数据标识的讨论 • 多种或多个地址的数据需要复用一个信道、资源时各个数据需要利用某种标识进行分辩 • 原则:处理简单,附加信息少,可靠容错 • 方法: • 附加信号表示,如编码指示Type/Addr • 随路表示 • 位置表示:电路交换 • 附加信息表示:包交换 • 面向连接 • 无连接 清华大学 通信系统 葛宁2005
位序的定义 • 简单的比特在通信中我们按照先后顺序传送即可,不会有什么歧义。 • 当我们传送复杂的数据结构时,由于通信往往是串行的比特流,在传送中就出现了顺序问题。 传递的顺序就是位序 • 从最常见的数据结构字节看,它由8比特构成。将这8比特传送,理论上有8!=40320种传送方法,例如可以按照32145678,也可以按照76432158等等顺序。可以预见如果这成为现实,那么双方通信将十分困难。幸运(不幸)的是人们的思维习惯决定了只有两种顺序是“合理”的,一个是高位序(Big Endian),另一个则是低位序(Little Endian)。 清华大学 通信系统 葛宁2005
通信协议位序 清华大学 通信系统 葛宁2005
时钟域和同步 • 同步包含对信号事件顺序的决定和处理。通信中同步是一个非常重要的概念,它包括载波同步、位同步和帧同步等不同层次。这里的同步与通信中的同步不同。 • 我们集中讨论数据与各种时钟之间的同步问题,例如,当数据与采样时钟异步时,就需要同步处理。为了确定在一个时钟节拍上的信号值,对于信号变化就需要决定时钟采样沿到底在信号变化之前还是之后。同样,当数据同步于一个时钟源,而又要传送到另一个时钟进行处理时,也需要同步处理。在这种情况下,信号跨越了时钟域,它必须同步于新的时钟域。 • 一个时钟域就是所有同步于同一个时钟信号的信号集合。同一个时钟域中的信号只能由同一个时钟的时钟沿(上升沿或下降沿)来触发,在时隙内,所有的信号不会发生变化。 清华大学 通信系统 葛宁2005
同步分类 清华大学 通信系统 葛宁2005
思考题1 • 电路交换如何能保证100%,没有任何信息丢失? 清华大学 通信系统 葛宁2005
物理层 • 同步恢复 • 调制解调 • 编码 清华大学 通信系统 葛宁2005
调制解调 • 数字调制解调基本形式s=a(t)*sin(ωt) • 调制的几种方式 • 基带调制 • IF调制 • RF调制 清华大学 通信系统 葛宁2005
DDFS • 如何实现sin(ωt):利用Direct Digital Frequency Synthesizer实现 • 难点:计算sin(ωt) • 直接法:利用Taylor公式或其他级数计算。运算过于复杂。 • 利用查表法。运算简单,存储量大。 • 利用eiθ旋转得到(Cordic)方法。运算复杂,但结构简单,适合FPGA和ASIC实现。 清华大学 通信系统 葛宁2005
DDFS的查表法基本结构 • 由累加器、ROM查表构成。 清华大学 通信系统 葛宁2005
性能 • 最小频率分辨率: • 输出频率: • 相位截断噪声: • 幅值截断噪声: 清华大学 通信系统 葛宁2005
DDFS结构1 • 相位累加器位数L,查表地址位数P, 查表数值位数D • 只考虑频率分辨率:达到1ppm,需要:累加器位数L=20,假设查表位数P=L,D=10 bits, Fclk = 40 MHz, CNR = 138dBc/HzROM需要2^L*D=10Mbits • 有些DDFS的L达到32,ROM就需要Gbits • 即使相位查表时可以截断,即P<L.在一般情况下,可以满足要求。例如P=14, 噪声在-72dBc以下。ROM=2^P*D=160Kbits • 主要矛盾:ROM大小 清华大学 通信系统 葛宁2005
压缩ROM方法1:对称压缩 • 利用sin(x)的对称性:sin(π-x)=sin(x); sin(π+x)=-sin(x) 清华大学 通信系统 葛宁2005
压缩ROM方法2:幅值压缩 • 利用sin(x)的幅度特性:sin(x)=>sin(πx/2)sin(πx/2)=(sin(πx/2)-x)+x • sin(πx/2)幅值为1; (sin(πx/2)-x)幅值约为0.21 清华大学 通信系统 葛宁2005
压缩ROM方法3:函数压缩 • 利用sin(x)函数特性 • 概念:利用sin(x)导数平稳,分段查表 清华大学 通信系统 葛宁2005
性能 • Matlab • 结果 • 分析 • sinx’=cosx • cosx’=sinx 清华大学 通信系统 葛宁2005
sin(x)查表法总结 清华大学 通信系统 葛宁2005
sin(x)查表法结构 清华大学 通信系统 葛宁2005
HDB3编码规则 • 将“0”码保持不变,把“1”码变为+1、-1交替的脉冲。 • 出现四个连零用取代节取代 • 当相邻破坏点V中间有奇数个原始传号(不包括B码)时,用“000V”取代用,V码与它前面的传号极性相同 • 当相邻破坏点V中间有偶数个原始传号(不包括B码)时,用“B00V”取代,B码和V码与它前面一个原始传号(或V码)极性相反 • 对于全零码,HDB3编码为+00+00+00+…,即B00VB00VB00V • 经典代码 清华大学 通信系统 葛宁2005
编码设计思路 • 设计模型是Mealy有限状态机。有限状态机设计中状态的选取和描述是设计的核心。 • 从HDB3编码规则中提取合理的状态。 • 码组变量codes (43) ,它包括了0,1,V,B码。 • 奇偶变量parity(2),反映了破坏点V之间原始传号个数的奇偶性。 • 极性变量polarity(2)。 • 状态转移的描述了。 • 正常移位 • 取代节取代 • 极性翻转 • 奇偶统计 • HDB3编码器的VHDL设计hdb3enc1。利用VHDL中的枚举类型(s0,s1,sV,sB)分别表示码位状态“0,1,V,B”。 清华大学 通信系统 葛宁2005
直接综合结果 清华大学 通信系统 葛宁2005
状态机优化 • 状态记做(Parity,Polarity,Codes[2:0])。 • Parity的两个状态分别位E(Even偶数)、O(Odd奇数); • Polarity的两个状态分别为N(Negative负极性)、P(Positive正极性); • 而Code的状态由一个三位的数组表示,每一位有“0,1,V,B”四个状态 • 例如状态EN0V1就表示Parity是偶数,Polarity是负极性,而Codes的三位分别是空号零、破坏点和传号1。 清华大学 通信系统 葛宁2005
状态说明 清华大学 通信系统 葛宁2005
自动优化结果(binary encoding) 清华大学 通信系统 葛宁2005
人工优化 • 优化的过程实际上就是选择合适的状态编码。这一问题是一个非常复杂问题,依靠简单的遍历搜索是不可能的。原则上能够反映系统工作实质的状态编码一般是比较简单的。 • 简化的途径。V和1可以合并,所有出现V的状态都有对应的1状态。例如EP00V和EN001对应,EP0V0和EN010对应。得到下面的编码方式。 清华大学 通信系统 葛宁2005
人工优化结果 清华大学 通信系统 葛宁2005
代码优化设计 • 从上述状态合并中,可以观察到对应的V状态和1状态的Polarity状态正好相反。 • 只要将Polarity在出现V时翻转,就可以合并V和1状态。Polarity状态的含义从上一个编码的极性变换成为下一个编码的极性。 • 直接VHDL代码描述hdb3enc。 清华大学 通信系统 葛宁2005
优化综合结果 清华大学 通信系统 葛宁2005
低功耗优化 • HDB3编码电路在进行了状态编码优化后,电路结构已经非常简单了。还存在可以改进的地方吗?实际上任何优化都是相对的,结合不同的具体情况,如电路布局布线、可扩展性等等,总存在可以改进的地方。 • 例如,如果我们考虑功耗的影响,就会发现parity这个状态,在每个“1”到来时都会翻转,消耗动态功耗。根据HDB3码型特点,任何两个相邻V码的极性都是相反的。因此,我们可以将parity这个状态用Vpolarity,即破坏点V的极性,进行替代。这样由于破坏点V的出现从统计上比“1”出现的要少,所以可以节省功耗。 • VHDL代码如hdb3enc2 清华大学 通信系统 葛宁2005
纠错编码 • Hamming码是最基本的线性分组码 • 基本概念 • 以(7,4)码为例,7指码组长度,4指信息码元长度 • 校正子与误码位置 清华大学 通信系统 葛宁2005
监督方程式 清华大学 通信系统 葛宁2005
监督矩阵H 清华大学 通信系统 葛宁2005
生成矩阵G 清华大学 通信系统 葛宁2005
接口协议 • 协议:数据传递的方式与步骤 • 输入输出均为串行码流 • 采用起始定位法 清华大学 通信系统 葛宁2005
Hamming编解码设计 • 设计原则 • 高内聚、低耦合 • 数据与程序分离 • 模块化设计 • 输入 • 处理 • 输出 • 控制 • 编码器 • 解码器 清华大学 通信系统 葛宁2005
Testbench 清华大学 通信系统 葛宁2005
Hamming编解码仿真结果 • 总体与信道 • 发送 • 接收 清华大学 通信系统 葛宁2005
思考题2 • 如果hamming解码时没有了码组同步指示怎么办? 清华大学 通信系统 葛宁2005
数据链路层 • 帧同步 • 扰码 • 差错检测 • 复接分接 清华大学 通信系统 葛宁2005
一个例子:帧同步 • 通信系统收发端采用 • 帧是数据传输时需要时分复用所采用的某种排列方式。一般由负荷与帧标志信号构成。 • 帧同步过程就是接收端与发送端同步的过程,从而可以正确地从数据流中识别各路序号。 • 在串行码流中周期性的加入固定码型 • 固定码型称为帧同步码 • 假设:每个256个时钟周期,发出“10011011”帧同步码。 清华大学 通信系统 葛宁2005
码流 清华大学 通信系统 葛宁2005