- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件无线电实验报告讲述
电 子 科 技 大 学
实 验 报 告
学生姓名: 学 号: 指导教师:
邮 箱:
一、 实验名称:软件无线电实验平台基本通信实验
二、 实验目的:
1. 了解软件无线电实验平台基本模块:ARM模块、FPGA模块、DSP模块、BASEBAND AD\DA模块及RF模块的功能及其工作原理;
2. 熟悉CCS、ISE软件平台;能够熟练地对DSP及FPGA程序进行调试;
3. 掌握TMS320C6713的HPI接口;通过发送HPI中断给ARM,熟悉ARM与DSP的通信方式;
4. 掌握AD9201,AD9761的工作原理以及工作时序图;编写FPGA控制AD、DA的VHDL程序;
三、 实验原理:
1. 软件无线电实验平台组成及工作原理
高级软件无线电综合实验系统平台由6个模块组成,分别如下:ARM模块、FPGA模块、MCU模块、DSP模块、BASEBAND AD\DA模块、RF模块。
各模块功能如下:
ARM(S3C2410)模块其上的操作系统为WINCE5.0,提供用户交互界面。应用程序与FPGA的交互通过SPI接口驱动实现,应用程序与DSP(C6713)的交互通过HPI接口驱动实现;
DSP(C6713)模块主要实现基带信号的调制与解调。其与ARM的接口为HPI;与FPGA的接口是MCBSP;
FPGA(XC3S400)主要实现外部模拟信号的AD采样,以及数字与模拟转换的DA控制,与RF模块联合实现CC2420的功能。其与DSP的接口为MCBSP,与MCU(C8051F120)是通过SPI以及MCU的P1、P3口实现交互;
MCU模块主要实现对RF发射功率,发射、接收信道等一些工作参数配置。其与FPGA的交互是通过SPI以及P1、P3口实现的;
BASE BAND AD\DA模块主要实现数模转换的功能;
RF模块主要实现将基带信号转化为射频信号,然后发射出去。其与FPGA的通信是通过RF自定义接口实现的。
各模块间的通信以及接口示意如图1所示:
图1 软件无线电实验平台模块结构
2. DSP与ARM通信原理
DSP与ARM通过HPI接口协同工作,实现通信。ARM主要提供用户交互的界面,用户可以在程序界面中输入传输的数据,ARM将用户输入的数据通过HPI口发送给DSP,并且通知DSP开始工作。DSP在接收到ARM发送的开始工作命令后,从固定的地址获取ARM传送的数据长度以及数据存放地址,然后到相应地址读取数据,将读取到的数据进行搬移,搬移完毕后发送HINT中断给ARM通知DSP数据操作已经完成。ARM接收到DSP发送的HINT中断后从DSP相应位置读取DSP搬移后的数据,重新在应用程序界面中显示。工作原理简易框图如图2所示:
图 2 DSP和ARM工作原理框图
HPI接口简介
HPI口是并行接口, HOST可以通过HPI口直接访问DSP的存储空间。HOST作为HPI接口的主控,访问非常便捷。
HOST与DSP可以通过内部或者外部存储器交换信息。并且HOST端可以直接访问内存映射的外设。HPI与DSP的CPU连接是通过DMA或者EDMA实现的。HOST以及DSP都可以访问HPI控制寄存器HPIC。通过外部数据以及接口控制信号HOST端可以访问HPI地址寄存器HPIA,HPI数据寄存器HPID。C64XX系列DSP端CPU也可以访问HPIA。
TMS320C6713的HPI硬件接口如图3 所示:
图 3 DSP HPI 接口示意图
其时序图如图4:
图4 HPI 时序图
DSP程序示例
DSP与ARM通信完成如下内容:
1. 在数据输入界面中输入数据按ENTER后,ARM将用户输入的数据长度一通过HPI口写在DSP的SDRAM的0X20008地址中;把用户输入数据所存储的地址放在0x10000的地址单元中;把数据写在0X20004(存储在0X1000)开始的位置。置位FLAG=1通知DSP用户已经输入数据。
2. DSP在检测到0x20000存储的数据为1后,首先从0X20008获取用户输入的数据长度;然后从0X1000获得用户输入的数据存储在何位置。在得到位置与长度信息后,DSP程序将数据拷贝到0开始的位置。完成数据搬移后,DSP发送HINT中断,通知ARM,数据处理已经完成。
如上功能的DSP示例程序如下:
while(1)
{
flag=*((int *)(0x20000));
if(flag==1)
{
temp=(*((int *)0x20004));
pData=(int *)temp;
iCountData=*((int *)0x20008);
pMovedData=(int*)0x800000
文档评论(0)