微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 短波发射机自动功率控制异常波形采集系统设计

短波发射机自动功率控制异常波形采集系统设计

时间:08-29 来源:电子产品世界 点击:

机接口(HPI)。主机接口是主设备或主处理器与DSP的通信接口。在C6x系列DSP中,主机接口是一个16位或者32位宽的并行端口,可以实现并行高速数据传输[3]。上位机掌管该接口的控制权。通过上位机不仅可以直接访问DSP所有的存储空间,而且可以直接访问DSP片内存储空间映射的外围设备。

系统硬件连接如图4所示。本设计中,ARM的地址线AMR_A[4:1]复用为HPI接口的控制信号。HCNTL[1:0]用作接口功能选择,用来区分外部主机当前访问的HPI寄存器种类[4]。

表1描述了主机访问HPI寄存器的选择信号HCNTL[1:0]。HR/W信号决定当前对HPI接口是读或写的操作。内部HPI选通信号来源于3个输入信号HCS、HDS1和HDS2。HCS输入用于使能HPI、HDS1和HDS2信号控制着HPI的数据传输。通过这些信号控制线可以顺利实现HPI的读/写操作。

上位机通过网口与ARM开发板连接,信号均为差分输入,差分输出。

2.3 射频信号采集

射频信号采集采用ADI公司的AD9637实现。AD9637可同步将8路模拟射频信号转换为数字信号,转换精度有10bit与12bit可选,转换速率最高可达80MSPS,最大数据量为480MSPS,用户可通过芯片的SPI控制口对AD9637进行设置。

本设计中,DSP通过FPGA实现SPI接口与AD9637通信。考虑到实际采样信号为2M~30M的短波射频信号,设置AD采样时钟为62.5MHz,并使用斩波(CHOP)模式,从而使其具有较小的低频分量。

3 软件设计

3.1 基于MATLAB的上位机软件设计

上位机程序基于MATLAB R2012a开发。利用MATLAB图形用户接口开发环境(GUIDE)可以方便地建立GUI对象,同时建立M文件框架。用户在该框架下编写GUI组件的回调函数,可以控制并决定GUI对用户操作的响应。

本设计中,DSP负责实时高速采样的分析。DSP将采样数据发送至上位机,MATLAB负责大量非实时低速信号的分析。上位机与ARM之间的通信基于UDP协议,即用户数据报协议。UDP协议提供面向事务的简单不可靠信息传送服务,属于传输层协议。虽然UDP不提供数据包分组、组装,不能对数据包进行排序,在网络环境较差的情况下存在丢包问题,但其有简单、高效的优点。在本设计中,PC与ARM通过网线连接,传输距离不远,网络质量较好,不必考虑丢包问题。

UDP报文一般分为首部和数据区两部分。本设计中,首部内容包括源端口、目的端口、报文长度与校验和[5]。MATLAB软件提供了UDP对象的创建函数。本设计在此基础上设计了顶层协议,并根据协议编写了数据读取程序,将读取到的数据打印或存入工作空间,进行包络失真等检测[6]

在上位机给DSP下达命令前,需要对发送端与接收端的参数进行设置。参数设置包括本地IP地址、本地发送端与接收端端口号、远端IP地址、远端数据发送端和接收端的端口号。基本参数设置完毕后,将设置接收端缓存大小。然后,打开接收数据端UDP,在后台等待下位机数据。

上位机发送命令时,预先设置发送数据端缓存大小;打开发送数据端UDP后,发送命令;数据发送完成后,关闭发送数据端UDP。

3.2 下位机软件设计

3.2.1 ARM控制板软件设计

本设计中,ARM主要负责上位机与DSP之间的通信,以Keil uVision4作为开发环境,C++语言为开发语言。

在实现上位机与DSP通信前,ARM先进行初始化。初始化过程包括设置系统时钟、EPI总线初始化、设置本地IP、目标IP及物理地址等参数,设置回调函数响应中断、定时器初始化以及清中断。设计中定义的回调函数包括ARM向DSP转发命令函数与ARM向上位机转发数据函数。定义完回调函数后,回调函数的函数指针会注册给调用者。当收到来自上位机或DSP的中断后,ARM将使用函数指针调用指定的回调函数对事件进行处理[7]。

初始化完成后,ARM的IP地址、HPI接口控制寄存器、地址寄存器的初始值均设置完毕,开始等待上位机发来的命令,即等待中断的过程。DSP返回数据给ARM前,同样也会给ARM硬中断,从而通知ARM对DSP进行读操作。当收到来自上位机或DSP的中断后,ARM会根据特定中断调用事先定义好的回调函数,实现命令或数据的透传[8]

3.2.2 DSP主机接口控制软件设计

HPI接口通过EDMA控制器与内存空间相连,因此,上位机访问DSP内存空间时不需要DSP的CPU参与。主机通过操作3种不同的HPI寄存器实现对DSP内存的访问,分别为控制寄存器(HPIC)、地址寄存器(HPIA)和数据寄存器(HPID)[9]

中断后,ARM将执行之前定义好的回调函数,接收UDP报文并解析。上位机既可以通过网口给ARM发送命令,也可给DSP发送命令。ARM收到来自上位机的中断后,会先将命令解析,分析是否是给自己的命令。若是,则将命令透传给DSP。ARM透传命令给DSP时,将访问DSP的RAM地址,命令内容写入相

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top