基于DSP的OFDM系统的设计(3)

时间:2025-04-04

基于DSP的OFDM系统的设计

发送端

1. BPSK编码和插入数据(数据个数由56变为64个)

2. 作N=64的IFFT变换,将频域的数据变到时域。

3. 加入循环前缀(数据个数由64个变为80个),防止多径延迟。

4. 通过DMA将数据送到Mcbsp发给FPGA。

接收端

5. 由Mcbsp接到数据通过DMA存入数据空间(此时数据应该与第四步结束时相同)。

6. 去掉循环前缀(数据个数又由80个变为64个,此时数据应该与第三步结束时相同)

7. 作64点FFT变换(此时结果应该与第一步结束时相同)

8. 去掉插入的数据,反映射(数据个数由64个变为56个,此时结果应该与第一步开始时相同)并解码。

2.3 DSP串口的接发配置和DMA的设置

系统实现关键在FFT的实现和DSP串口的接发配置和DMA的设置。这里详细说明串口和DMA的设计方法。

系统用Mcbsp1发送数据,用Mcbsp2来接收数据,为了不占用过多的CPU资源,用DMA的4通道来传送数据给串口,用5通道来接收数据。对于DMA和Mcbsp的使用主要是寄存器的配置问题,在这些配置当中可以对工作模式等一系列东西进行设置。现分别介绍如下:

对于Mcbsp来说,接收和发送可以配置在一起,采用了DSP自身带有的CSL库函数,它对寄存器的配置是通过结构体来定义的,可以方便的修改成自己所需要的模式。

在进行将DSP片内数据地址赋DMA中的地址时要注意,DMA中数据是以byte为单位存储的,存储的最小数据单位上byte,而片内存储区间是以word为单位的,所以将地址交过去时,要将地址右依、移1位。如:

srcAddrHi = (Uint16)(((Uint32)(dmaXmtConfig.dmacssal)) >> 15) & 0xFFFFu;

srcAddrLo = (Uint16)(((Uint32)(dmaXmtConfig.dmacssal)) << 1) & 0xFFFFu;

dstAddrHi = (Uint16)(((Uint32)(dmaXmtConfig.dmacdsal)) >> 15) &0xFFFFu;

dstAddrLo = (Uint16)(((Uint32)(dmaXmtConfig.dmacdsal)) << 1) & 0xFFFFu;

基于DSP的OFDM系统的设计(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219