1、基于FPGA的TDMA数字通信系统的设计: 基于EDA 技术及VHDL 硬件描述语言, 提出了一种TDMA 数字频带通信系统, 在一片EPF10K10 的FPGA 芯片上完成了位同步、帧同步、A 律压缩与解压、FSK 调制与解调等系统的大局部功能, 实现了4 路语音与2路64kB 数据全双工通信。关键词: FPGA; TDMA; 通信系统引言门阵列逻辑电路在数字系统中得到广泛的应用, 从GAL、EPLD 到目前的FPGA/CPLD, 芯的容量和功能都得到很大的开展。随着器件的开展和开发环境的进一步优化, 很容易实现各种电路的设计, 完成各种复杂的运算。同时, 借助EDA 技术, 还可以使软件硬
2、化, 特别是在高速的数字通信系统中, 是非常有效的。目前, 基于FPGA/CPLD芯片开发的EDA 技术在通信领域得到了广泛的应用, 尤其是在对基带信号的处理和整个系统的控制中, FPGA/CPLD 不但能大大缩减电路的体积, 提高电路的稳定性, 而且先进的开发工具使整个系统的设计、调试周期大大缩短。正是基于这一技术背景, 开发了这款数字通信系统, 在一片FPGA芯片上实现了同步、压缩与解压、FSK 调制与解调等系统的主要功能。系统框图及工作过程系统由发送和接收两局部构成, 其工作原理框图见图1 和图2。4 路语音信号经过滤波器过滤314kHz 以上的谐波后传送到4 路模拟开关, 模拟开关分时
3、接通4 路语音信号, 把选中的信号放大到适宜的幅度后, 由模数转换器以8kHz 的采样速率进行12b it 的模数转换, 经过A律压缩后转换为8b it 的数据。数据输入局部用于产生2 字节的数据, 数据通过数码管显示, 同时与语音数据一起传送至码型变换局部, 产生1 帧为256b it 的串行码。1 帧数据分为7 个时隙, 第1 时隙为用于帧同步的7位巴克码与一位未定义位, 第2 至5 时隙为4 路语音数据, 第6、第7 时隙为输入的2 字节数据。对串行码进行FSK 调制, 码元为0 时产生2 个频率为896kHz 的正弦波, 为1 时产生1 个频率为448kHz 的正弦波, 由载波为1.
4、2GHz, 带宽为1MHz 的发射模块把信号发送。接收模块接收到的信号经过FSK 解调后复原为串行码。位同步单元用数字锁相环在串行码中提取同步信息, 产生与码元同步的同步信号, 送至帧同步单元与码型反变换单元, 作为提取数据的时间基准。帧同步单元用于侦察串行码, 当侦察到帧同步码后触发码型反变换单元进行串型码至并行码的转换, 复原出发送端所发送的语音数据和2 字节输入数据, 同时, 2 字节数据送数码管显示。语音数据经过A 律解压后复原为12b it 的语音数据, 数模转换单元把语音数据转换为语音信号后传送至4 选1 模拟开关, 该开关与发送端的4 选1 模拟开关严格同步, 准确地把每一路的语
5、音信号送到各自的后续单元。电压保持单元在开关接通时输出模拟开关传送的电压, 开关断开是仍然保持相同的电压直到再次接通开关, 因此电压保持单元输出的是各路的语音信号, 滤波器过滤3. 4kHz 以上的谐波后由听筒输出语音信号。本设计使用一片AL TERA 公司的型号为EPF10K10 的FPGA 芯片, 用VHDL 硬件描述语言编程, 实现对数模转换、模数转换芯片的控制,A 律压缩和A 律解压缩, 码型变换和反变换, FSK 调制与FSK 解调, 位同步与帧同步, 数据输入与显示数据等功能。系统主要单元电路设计及实现滤波器系统分别在语音输入局部与输出局部配置了滤波器, 用于过滤3. 4kHZ 以
6、上的频率成分。电路采用二阶压控电压源低通滤波器, 电路如图3 如示:本设计中选定等效品质因数Q = 01707, 特征频率f = 314kHz。AD 与DA 电路AD 转换用AD574 集成芯片实现。AD574 进行12b it 模数转换的转换时间为20Ls, 满足系统的要求。根据采样定理, 最小采样频率为语音信号最高频率314kHz 的2 倍为618kHz, 本系统的采样频率略高于最小采样频率为8kHz。设计中使用一个摩尔状态机控制AD574 的动作。DA 转换用LC7881 集成芯片实现,LC7881 是16b it 串行输入数据的数模转换芯片, 转换频率大于44kHz, 满足系统32kH
7、z 的要求。设计中把12b it 的语音信号转换为串行码送到LC7881 的数据输入端, 输入完毕后启动数模转换。数据压缩与解压为了便于编程实现本设计采用近似A 律函数规律的13 折线(A = 8716) 的压扩特性, 来代替A 律压扩特征以实现12b it 至8b it 的压缩, 这种方法根本上保持了连续压扩规律曲线的优点, 又便于用编程实现。编成的8 位码C7C6C5C4C3C2C1 中, 最高位C7 是极性码, C7 为0 时表示采样值为负值, 反之为正值。C6C5C4 段落码, 与其对应的8 个段落起点电平为:C3C2C1C0 为段内码, 段内码是在已经确定输信号所处段落的根底上, 用
8、来表示输入信号处于该段的哪一量化间隔。在编程上, 首先把12b it 采样数据D 的最高位D11作极性码, 然后用D 与段落码的8个值分别比拟, 由此确定段落码。再求出该段内的间隔电平D, 接着求出采样电平与段落起点电平之差C,最后由D/C 求出段内码。数据解压缩是把8b it 复原为12b it 的数据, 是对数据进行压缩时相反的操作。在编程上, 首先把8b it 压缩数据的最高位C7 作为语音数据的最高位D 11, 然后根据段落码查出段落电平, 接着用段内码乘上段内间隔电平, 所得之值加上段落电平值便是解压值。码型变换及码元反变换码型变换用于实现把一帧7 字节的并行数据转换为串行码。一帧数
9、据结构图如图4 所示。在编程上, 码型变换用一个56b it 的并行置入串行输出的移位存放器实现。在变换之初, 同时置入巴克码X1110010、4 字节语音数据和2 字节数据, 然后在码元脉冲的驱动下, 把数据从巴克码开始依次移出。发送一帧数据的时间是125Ls, 码元速率为448kHz。码元反变换用于把48b it 串行码转换为6 字节的并行数据。在编程上, 用一个48b it 的移位存放器接收码元。当收到帧同步信号后, 在每一个位同步信号的下降沿, 码元移入存放器, 接收完48b it 后, 把数据锁存输出。调制及解调设计采用FSK (移频键控) 调制方式。码元为0 时产生2 个频率为89
10、6kHz 的正弦波, 为1 时产生1 个频率为448kHz 的正弦波。如图5 所示。在电路实现上, 先由矩型波转换为三角波, 再由三角波转换为正弦波,如图6 所示。从矩型波到三角波的转换是由RC 串联积分电路实现的。在该电路上接通阶跃信号, 电容上的电压按指数规律上升, 但在刚接通时刻电容上的电压是按近似直线规律上升, 如图7 所示, 因此当输入周期远小于RC 时间常数S的对称方波时输出是近似三角波。三角波至正弦波的转换由差分放大器来完成。变换的原理是利用差分放大器传输特性曲线的非线性。分析说明, 当输入的三角波幅度正好使三极管接近饱和区和截止区时, 那么差分放大器输出的波形为近似正弦波, 如
11、图8 所示。FSK 解调是通过计算一个正弦波周期来实现的。接收到的正弦波经过施密特电路整形后变成方波。在编程上, 定义一个6b it 的计数器, 其对频率为20MHz 脉冲计数。当检测到输入的方波信号发生一个上升沿时对计数器清零, 然后计数器对20MHz 脉冲计数, 当再次检测到方波信号上升沿时, 对发生的脉冲个数进行判别。码元为1 时正弦波频率为448kHz, 一个周期内发生的脉冲个数为20/01448= 44, 码元为0 时正弦波频率为896kHz, 一个周期内发生的脉冲个数为20/01896= 22。因此通过判别脉冲个数可知当大于33 时为码元1, 反之是码元0。同步系统位同步用数字锁相
12、环来实现, 如图9 所示。此单元需要频率为16 倍于码元速率448kHz16= 7168kHz的脉冲CL K, 当同步信号与码元同相同频时, 数控分频器对CL K 进行16 分频。当同步信号超前于码元时, 数控分频器对CL K 进行大于16 的分频, 反之对CL K 进行小于16 的分频, 最终实现对码元的根本同步(会有一个小于36016= 2215的误差)。在编程实现上, 先对串行码进行跳变检测, 当出现0 到1 或1到0 的跳变时, 说明此刻是一个码元的开始, 然后判别此刻同步信号的电平(同步信号是对称的方波, 起始电平为0) , 当电平为0 时说明同步信号超前, 将分频系数加1, 相位将
13、向后22.5, 反之将分频系数加1, 相位将向前22.5。因为判别同步信号的电平时不是0 就是1, 故每一次跳变都会调整一次分频系数, 所以同步信号最终与码元的相位差维持在+ 22.5与- 22.5之间。帧同步用于判别一帧数据的开始, 当检测到发送端传送的7 位巴克码时, 说明此刻为一帧数据的开始,输出信号启动码元反变换单元工作。在编程上, 用一个7b it 的移位存放器接收码元。在每一个位同步信号的下降沿, 码元移入存放器, 在上升沿对移位存放器的内容判断, 当为巴克码1110010时输出帧同步信号, 延迟56 个码元时间重新判断。FPGA 配置及无线发送与接收设计采用一片AL TERA 公
14、司的FPGA 芯片EPF10K10。断电后必须重新配置才能工作, 为此设计了一个配置电路。系统采用一片A T 89C51 单片机与一片7128EPPROM 实现FPGA 配置功能。EPF10K10的配置文件为15KBYTE, 将其写进EPPROM。在系统上电时, 单片机以PS 方式对FPGA 配置, 1 秒钟后完成配置, 系统开始工作。无线发送接收局部, 系统采用的信道为无线传输发射接收模块, 其调制方式为FM , 载波频率为1.2GHz, 带宽为1MHz, 设计通信距离为20m。发射局部用锁相环锁频, 接收局部用锁相环解调, 具有性能稳定, 体积小等优点。结束语以A ltera 公司的FPGA 芯片为核心, 开发了能实现4 路语音和2 路64KB 数据全双工无线通信系统,该系统作为实验教学系统, 在通信原理/EDA 技术实践教学中得到了应用, 实践说明, 系统性能稳定, 对加深学生对通信原理根本概念的认识, 增进学生对EDA 技术的理解, 提高学生硬件编程能力, 起到了良好的作用。同时, 基于系统的设计思路, 在无线发送/接收等模块上作的电路改良, 系统还能作为简单实用的的无线数字通信系统。