基于SOPC的射频模块控制器的设计*

2014-07-19 11:10赵庆平苗曙光
河南城建学院学报 2014年1期
关键词:开发板应用程序射频

赵庆平,邵 芬,苗曙光

(淮北师范大学物理与电子信息学院,安徽 淮北 235000)

基于SOPC的射频模块控制器的设计*

赵庆平,邵 芬,苗曙光

(淮北师范大学物理与电子信息学院,安徽 淮北 235000)

针对ISM射频模块UTC-903SE,提出一种基于嵌入式软核的设计方法,在FPGA片上系统中构建出UTC-903SE控制器IP核以及嵌入式处理器Nios II软核。通过FPGA控制无线射频模块,可以实现数据的无线收发,并具有实时性,为需要远距离采集数据的场合提供了方便快捷的方法。

现场可编程门阵列;可编程片上系统;Nios;工业、科学和医疗频段

随着微电子工业的发展,现场可编程门阵列(Field Programmable Gate Array,简称FPGA)作为可编程逻辑器件得到了越来越广泛的应用。可编程片上系统(System on a Programmable Chip,简称SOPC)是一种片上系统(SOC),它是由单个芯片完成整个系统的主要逻辑功能。作为可编程系统,它的设计方式比较灵活,可删减、扩展、升级[1-4]。

由于无线通信技术的快速发展,工业、科学和医疗频段(简称ISM频段)前端射频技术已经是通讯和弱电领域的核心技术,受到了广泛的关注。ISM频段具有使用不受限制,收发设备价格低廉等优点[5]。

1 方案设计

本文设计采用的主控芯片是ALTERA公司的cyclone II 系列芯片EP2C35F484C8N。该芯片有3 326个可配置逻辑单元和475个用户引脚,不仅满足本设计的要求,而且有较大的升级空间。ISM射频模块采用杭州威步科技有限公司UTC-903SE模块。该模块为UART串行数据接口,操作简易且适用性广,实测距离可达1 800~2 000 m,FSK调制,工作频率可配置在430~440 MHz,适合多节点的场合。

本文实验采用两个相同的上述开发板(取名为A和B),用来实现数据的无线发射和接收[6-7]。该实验是将实时采集的温度数据通过开发板A读取出来,按照已设定的频率无线发送出去,最后在开发板B上接收并显示出来。方案的总体设计如图1所示。

2 射频模块控制器的硬件设计

2.1 构建SOPC系统

在两个开发板的FPGA芯片上构建SOPC硬件系统,包括FLASH控制器、SDRAM控制器、UTC-903SE模块、温度传感器控制模块和FIFO模块。FLASH用于存储硬件配置和应用程序, SDRAM用做数据缓存区,UTC-903SE模块用于控制射频模块发送数据和接收数据。构建的SOPC硬件系统如图2所示。

图1 方案的总体设计

图2 UTC-903SE模块

图3 UTC-903SE 模块引脚定义

2.2 UTC-903SE模块

UTC-903SE模块共有7个引脚,定义如图3所示,表1给出了UTC-903SE模块的接口定义。UTC-903SE模块与FPGA的引脚连接如图4所示。

3 射频模块控制器的软件设计

Nios II处理器的软件程序设计使用硬件抽象层(Hardware Abstration Layer,简称HAL)系统库。HAI系统库为程序员提供了应用程序与底层硬件交互的设备驱动接口,简化了应用程序的开发,同时还为应用程序与底层硬件驱动划分了一条清晰的分界线,从而大大提高了应用程序的可复用性,使得应用程序不受底层硬件变化的影响,实现系统硬件和应用程序之间的通信。HAI 应用程序接口 (Application Program Interface,简称API)集成了ANSI C标准库,可以使上层程序像访问C函数库一样访问系统硬件和软件[8-9]。程序流程如图5所示。

表1 UTC-903SE引脚说明

图4 主控芯片与模块连接示意图

控制器的发送代码为:

void main(void)

{

alt_u8 t[3];

FILE *fp;

while(1)

{

t[0]=IORED_BALTERC_AVDLON_PPO_DETA(WAMDU_D_BCSE);

t[1]=IORED_ELTERA_AVHLON_PIO_DETA(WAMDU_L_BCSE)

fp = fopen("/dev/UTC903SE_UART","r+");

fwrite(t,3,1,fp);

fclose(fp);

图5 UTC-903C模块程序流程

}

}

控制器的接收代码为:

void main(void)

{

aly_u8 r[3];

FILE *fp;

while(1)

{

fp = fopen("/dev/UTC903

SE","r+");

fread(t,3,1,fp);

fclose(fp);

IOWT_ALRERS_AVALOM_PIO_DETA(WENSU_H_BOSE,r[1]);

IOWT_ALRERS_AVALOM_PIO_DETA(WENSU_L_BOSE,r[2]);

printf("r[0]==%xm",r[1]);

printf("r[1]==%xm",r[2]);

}

}

4 实验结果

系统启动后,首先由开发板A将采集的温度数据通过UTC-903SE模块发送出去,然后由开发板B的UTC-903SE模块接收并通过串口显示在显示器上。经测试,在上位机中能够正确显示出温度数据,改变发送温度和发送距离后,接收系统均能正确反应,并在上位机上显示出来,这说明控制器达到了设计要求。

5 结束语

本文设计了一种基于FPGA的SOPC Builder和Nios II软硬件结合的射频模块控制器,实现了数据的无线传输。该设计方法简便快捷,移植性强,适用性广。实验结果表明,所设计的无线模块控制器方案,易于开发,功能正常,可实现无线接收和发送。

[1]陈文娟,石江宏,陈凌宇.基于SOPC的高速通信接口设计[J].电子测量技术,2010,33(7):117-124.

[2]陈东明,叶玉堂,蒲亮,等. 基于SOPC可重构的图像采集与处理系统设计[J].电子器件,2011,34(2):232-236.

[3]王培元.基于FPGA的SOPC设计[J].襄樊学院学报,2010,31(8):42-44.

[4]尚媛园,杨新华,徐达维.基于SOPC技术的高速图像采集控制系统的设计与研究[J].传感技术学报,2011,24(6):864-869.

[5]黄玉兰.一种新的ISM频段低噪声放大器设计方法[J].电子技术应用,2010(5):60-62.

[6]宗晓萍,刘巍.无线温湿度采集系统设计[J].河北工业科技,2010,27(6):500-502.

[7]王智超,翁惠辉.基于无线通信模块的温湿度采集系统设计[J].长江大学学报,2010,3(7): 272-274.

[8]石红晓,吴光敏.基于Nios II处理器的TFT-LCD图形显示设计[J].微型机与应用,2010,29(18):37-43.

[9]郑见灵,原亮,较文成,等.基于Nios II的TFT-LCD控制器的设计与实现[J]. 计算机技术与发展,2009(4):192-195.

Design of RF module controller based on SOPC

ZHAO Qing-ping, SHAO Fen, MIAO Shu-guang

(SchoolofPhysicsandElectronicInformation,HuaibeiNormalUniversity,Huaibei235000,China)

The paper puts forward a design method using embedded soft core based on ISM RF module UTC-903SE. It constructs UTC-903SE controller IP core and the embedded processor Nios II soft core on a chip system of FPGA. The design can realize real-time wireless transceiver of data. The design provides a convenient and fast method for many remote data acquisition. The design put forward a simple and fast method for many remote data acquisition.

field programmable gate array; system-on-a-programmable-chip; Nios II; ISM

国家自然科学基金资助项目(41275027);安徽高校省级自然科学研究项目(KJ2013Z228)。

2013-09-18

赵庆平(1972-),男,辽宁锦州人,硕士,淮北师范大学物理与电子信息学院讲师。

1674-7046(2014)01-0073-04

TP331.2

A

猜你喜欢
开发板应用程序射频
5G OTA射频测试系统
关于射频前端芯片研发与管理模式的思考
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
浅析单片机开发板的设计与制作
ALLESS转动天线射频旋转维护与改造
腹腔镜射频消融治疗肝血管瘤
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板