赵庆平,邵 芬,苗曙光
(淮北师范大学物理与电子信息学院,安徽 淮北 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]。
本文设计采用的主控芯片是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.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所示。
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]);
}
}
系统启动后,首先由开发板A将采集的温度数据通过UTC-903SE模块发送出去,然后由开发板B的UTC-903SE模块接收并通过串口显示在显示器上。经测试,在上位机中能够正确显示出温度数据,改变发送温度和发送距离后,接收系统均能正确反应,并在上位机上显示出来,这说明控制器达到了设计要求。
本文设计了一种基于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