一种缩减代码量的射频驱动程序编程方法.doc

上传人:sccc 文档编号:5192641 上传时间:2023-06-12 格式:DOC 页数:6 大小:361.50KB
返回 下载 相关 举报
一种缩减代码量的射频驱动程序编程方法.doc_第1页
第1页 / 共6页
一种缩减代码量的射频驱动程序编程方法.doc_第2页
第2页 / 共6页
一种缩减代码量的射频驱动程序编程方法.doc_第3页
第3页 / 共6页
一种缩减代码量的射频驱动程序编程方法.doc_第4页
第4页 / 共6页
一种缩减代码量的射频驱动程序编程方法.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《一种缩减代码量的射频驱动程序编程方法.doc》由会员分享,可在线阅读,更多相关《一种缩减代码量的射频驱动程序编程方法.doc(6页珍藏版)》请在三一办公上搜索。

1、精品论文一种缩减代码量的射频驱动程序编程方法贾行行1,谭敏强2(1. 北京邮电大学信息与通信工程学院,北京 100876;52. 诺基亚西门子通信,北京 100015) 摘要:针对射频驱动程序需要配置大量数据常量的现象,依据 ARM 存储体系结构,本文实 现了一种优化的射频驱动程序编程方法,可有效缩减代码量。常规的射频驱动程序编写方案 是将需要配置的射频常量以立即数的方式存储到指令代码中,本文实现的程序编写方案为在 ROM 中开辟一段连续的存储空间存储数据常量,用循环语句依次配置射频器件。为验证本10文实现的方案的可行性,在 XILINX Vertex 540 开发板上,开发了以射频器件 AD

2、9361、串 口为外设,RAM 和 ROM 为片上存储器,ARM 为微处理器的 SoC 系统。基于常规编写方案和本文实现的编写方案编写 TD LTE 射频驱动程序,通过 Modelsim 观察程序流程,得出本 文的编写方案可使 ARM 微处理器依据 TD LTE 协议控制 AD9361 工作在指定的载波频率上 和依据 TD LTE 时频资源收发信号。与常规的射频驱动程序编写方法相比,本文实现的射频15驱动编写方案,在保证驱动软件性能的前提下,可极大的减少代码量,节约存储空间。 关键词:射频驱动程序;ARM 微处理器;缩减代码量;SoC 系统 中图分类号:TN929.53A RF Driver

3、Programming Method Which Can Reduce the20Amount of Code EffectivelyJIA Xingxing1, TAN Minqiang2(1. School of Information and Communication Engineering, Beijing University of Posts andTelecommunications, Beijing 100876;2. Nokia Siemens Networks, Beijing 100015)25Abstract: In this paper a kind of opti

4、mized RF driver programming method based on the ARMmicroprocessor architecture is implemented to solve the phenomenon that RF driver needs to configure a large number of constant data. And the method can effectively reduce the amount of code. The constant datas used to cofigure radio frequency equip

5、ment are stored in the instruction code commonly. The RF driver programming implemented in this paper opens a period of storage30space in ROM to store the constant datas which will be configured to RF equipment and use loop sentence to configure the RF equipment when needed. To verify the feasibilit

6、y of the RF driver, develop a programmable system on chip on the platform of Field-Programmable Gate Array, with one serial port, AD9361 being RF device and ROM and RAM as being on-chip memory, based on a simplified ARM soft core. Based on the scheme of the conventional RF driver programme and35the

7、way implemented in this paper, write the RF driver programme of TD LTE. Observing the program flow through Modelsim, the results show that this scheme can cause the ARM to work atdesigned carrier frequency and receive and transmit signals based on TD LTE protocols. Compared with the conventional RF

8、driver programming methods, the scheme in this paper can greatly reduce the amount of code in accordance with the performance.40Keywords: RF Driver; ARM Microprocessor; Reduce the Amount of Code; SoC0引言嵌入式系统(Embedded System),是一种“完全嵌入受控器件内部,为特定应用而设 计的专用计算机系统”,根据英国电器工程协会(U.K. Institution of Electrical

9、 Engineer)的45定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这作者简介:贾行行,(1986-),男,硕士研究生,主要研究方向:LTE 物理层协议研究。通信联系人:谭敏强,男,博士,高级工程师,主要研究方向:FPGA 开发与 LTE 物理层实现。E-mail:minqiang.tan- 6 -样的通用计算机不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用 系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统具有非 常广阔的应用前景1,

10、其应用领域2可以包括:工业控制、交通管理3、信息家电、家庭智50能管理系统4、POS 网络及电子商务及机器人5。所以,开发和探讨嵌入式系统具有非常重 要的意义。随着信息化、智能化和网络化的发展,嵌入式系统技术也将获得广阔的发展空间。在嵌入式设备中,内存资源是极为宝贵的。因为增加嵌入式设备的内存意味着成本的增 加、功率的上升和封装尺寸的变大,所以嵌入式设备(包括各种手持设备)无法配备大容量 的内存。但随着嵌入式设备使用范围的扩大和嵌入式处理器性能的进一步提高,越来越多的55应用程序需要在内存极为有限的嵌入式设备上运行。因此出于对成本、功率和尺寸等因素的 考虑,嵌入式系统的内存容量有限,这就迫使我

11、们必须从编程上重视内存的使用效能,运用 一些节约内存的技巧来设计程序。在仔细研究 ARM 微处理器存储体系结构的基础上,本文 实现了一种射频器件驱动程序的编写方法,即将需要配置射频器件的数据常量先连续的存储 在一段 ROM 空间中,待需要配置射频时,用循环语句依次将数据配置到射频器件中。60文章安排如下,首先介绍了本文实现的两种射频驱动程序实现方案,即常规方案和优化 方案。接着对在以射频模块 AD9361 为外设,精简 ARM 软核为微处理器的 SoC 系统6上对本文实现的优化7的射频驱动程序进行了性能8测试 9,符合预期的要求。然后,从代码 量的角度,对两种软件编程方案进行了性能对比10,并

12、对本文所做的工作进行了总结。1软件实现方案65虽然关于代码优化的大多数论述都描述了编译器是如何能生成高效代码的,但是应用程 序员有很多方法来协助编译器完成这项任务。没有任何编译器能用一个好的算法或数据结构 代替低效率的算法或数据结构,因此程序设计的这些方面仍然应该是程序员主要关心的。在实现配置射频模块的设备驱动程序时,通常需要配置大量的数据。本文依据 ARM 存 储结构,对数据常量在内存 ROM 中的存储形式,进行了研究。并基于不同的存储方式,分70别对 LTE 射频器件驱动程序进行了常规方案的代码实现,即方案一和本文实现的优化方案, 即方案二。最后,从代码量的角度对程序进行分析,本文实现的软

13、件设计方案可有效缩减代 码量。1.1软件方案一考虑到本工程中配置射频器件的数据常量符合立即数的要求,将需要配置的大部分数据75以立即数的形式包含到指令代码中;少量的数据以常量的形式存储到 ROM 单元中,需要对 其进行操作时,以寻址的方式加载到相应的寄存器中。依 据此存 储方案 ,实现 配置射 频模块的 驱动程序 如 图 1 所 示,其 中,子 函数SPIWrite(unsigned int addr, unsigned int data)实现配置射频模块的功能。80图 1 软件实现方案一Fig. 1 the first implementation of software programmi

14、ng1.2软件方案二将待配置的数据常量全部存储在连续的 ROM 空间中,需要时,以寻址的方式将其从85ROM 空间取出。因为用户栈空间有限,而配置的数据量大并且占用连续的 ROM 存储空间, 可根据用户栈的大小分批将要配置的数据从 ROM 空间搬移至用户栈中。然后用循环的方式, 将用户栈中的数据循环配置到射频模块中。即可编写一个循环语句,循环条件是根据需要配 置的数据个数判断数据是否配置完毕,循环体是以寻址的方式从用户栈中取出数据,并使指 针指向下一要配置的数据。90将配置射频模块的数据分成 N 组,在充分利用用户栈空间的前提下,每组 Mx2 个数据。 本文中,实现配置射频模块的驱动程序如图

15、2 所示。/c代码/从rom中取出第一组中的Mx2个数据,放入用户/stack中,并调用写射频模块函数循环将这些数据/写入射频模块中unsigned int idx;unsigned int rf_scriptM2 =0x3DF,0x01,0x 00F,0x04,.0x009,0x15;for (idx=0; idxM; idx+) SPIWrite(rf_scriptidx0, rf_scriptidx1 );/从rom中取出第二组中的Mx2个数据,放入用户/stack中,并调用写射频模块函数循环将这些数据/写入射频模块中./从rom中取出第N组中的Mx2个数据,放入用户/stack中,并调

16、用写射频模块函数循环将这些数据/写入射频模块中/汇编代码/配置第一组数据的操作/将需要配置的数据常量从ROM中搬移到RAM中MOV R2,#0x000003C0LDRR1,PC,#0x0268 MOV R0,R13BL 0x00000F7C/将数据循环写入射频设备中MOV R6,#0x00000000B 0x00000360MOV R2,R13ADD R2,R2,R6,LSL #3LDRR1,R2,#0x0004 LDRR0,R13,R6,LSL #3BLSPIWrite(0x00000288) ADD R6,R6,#0x00000001CMP R6,#0x00000078BCC 0x0000

17、0348/配置第二组数据的操作./配置第N组数据的操作注:地址0x00000F7C是程序将ROM中的数据常量搬移到 用户栈空间的入口地址,如下示STMDB R13!,R4,R14 SUBSR2,R2,#0x00000020BCC 0x00000FA0LDMCSIA R1!,R3R4,R12,R14 STMCSIA R0!,R3R4,R12,R14 LDMCSIA R1!,R3R4,R12,R14 STMCSIA R0!,R3R4,R12,R14 SUBCSS R2,R2,#0x00000020BCS 0x00000F88MOVS R12,R2,LSL #28LDMCSIA R1!,R3R4,R

18、12,R14 STMCSIA R0!,R3R4,R12,R14 LDMMIIA R1!,R3R4 STMMIIA R0!,R3R4LDMIA R13!,R4,R14 MOVSR12,R2,LSL #30LDRCS R3,R1,#0x0004STRCS R3,R0,#0x0004MOVEQ PC,R14952测试验证图 2 软件实现方案二Fig. 2 the second implementation of software programming100为测试实现的射频方案的可行性,在 FPGA 540 开发板上,实现了以 XILINX ISE 自带 的 RAM 和 ROM IP 核为片内存储器

19、,以诺基亚西门子通信公司开发的射频模块 AD9361 和 串口为外设,以精简 ARM 软核为微处理器的 SoC 系统,如图 3 所示。其中,rf_intf_top 是 射频器件的顶层,其包括三个子模块:rf_ctrl_intf 模块、tx_rf_ctrl 模块和 rx_rf_ctrl 模块。 rf_ctrl_intf 模块实现对射频模块参数的配置和状态的转换功能;tx_rf_ctrl 根据 LTE 协议帧结 构完成数据发送过程;rx_rf_ctrl 根据 LTE 协议帧结构完成数据的接收功能。1052.1软硬件配置图 3 SoC 系统设计图Fig. 3 the scheme of a SoC1

20、10115120本文实现的 SoC 系统,可灵活的配置堆栈空间的大小和串口等外设,这种配置的灵活 性为软硬件平台的定制提供了灵活性。项目中采用的配置方案为:开 IRQ 中断,ROM 占用32k 内存空间,RAM 占用 8k 内存空间;未定义模式栈空间占用 0 个字节、管理模式栈空间 占用 0x8 个字节、禁止模式栈空间占用 0 个字节,快速中断模式栈空间占用 0x0 个字节、中 断模式栈空间占用 0x80 个字节和用户空间栈空间占用 0x800 个字节;载波频率为 2.59GHz。 时钟频率 66MHz;串口的波特率为 115200bps,8 位数据位,偶校验,1 位停止位。2.2软硬件协同仿

21、真在 KEIL 平台下,编译用 C 语言实现的设备驱动程序,得到对应的 HEX 文件。用 hextobin.exe 转换程序将 HEX 文件转换为 BIN 文件;根据 ARM 的指令格式将 BIN 文件转 换成 TXT 文件,并在每条指令的末尾加上回车符和换行符。用 TXT 文件初始化 ROM 空间。 在 Modelsim 仿真平台中,观察实现的射频设备驱动程序流程。图 4 RF 驱动程序仿真图Fig. 4 the figure of RF driver图 4 中,ARM 微处理通过执行实现的射频设备驱动程序,可正确的配置 TD LTE 射频 器件,使 TD LTE 射频器件依据 TD LTE

22、 协议工作在指定的载波频率上,并依据 TD LTE 帧 结构正确的收发信息。1253性能分析在配置射频设备时,每配置一组数据,需要两个数据值:一个是数据,另一个是偏移地址。设配置的总数据个数为 N M 2,且数据类型为 u32。其中 M 的值是根据用户栈空130135间的大小决定的,而 N 的值由数据量大小的决定。现有的软件实现,每配置一组数据对应 3 条汇编代码,故总的代码量为 N M 3 (双 字);本文实现的软件方案,配置射频部分的代码由三部分组成:1.存储数据所需的空间 N M 2 (双字);2.将数据从 ROM 空间搬移至用户栈空间,所需的代码量 19(双字);3.将用户栈中的数据循

23、环配置到射频模块所需的代码,由于总共需配置 N 次射频设备,所以此部分所需的代码量 N 14 (双字)。 由于本文实现的方案中,需要配置射频设备 N 次。每次配置时,都重复利用“将数据从 ROM 空间搬移至用户栈空间”对应的代 码。所以总共所需的代码量为: 14 N + 19 + N M 2( 双 字 ) 。 两 种 方 案 对 应 的 代 码 量 之 差 约 为140145150N M 3 (14 N + 19 + N M 2) = (M 14) N 19 (双字)。所以当用户栈空间 大或数据量大的情形下,本文提出的软件设计方法可更有效的节省存储空间、缩减代码量。 比如,N 值为 20,M

24、值为 120,可节省的 ROM 空间约为 (120 14) 20 19 = 2101(双 字) ,约为 8.2k。4结论本文给出了一种优化的射频驱动程序的实现方法。在 FPGA 540 开发板上,实现了以 XILINX ISE 自带的 RAM 和 ROM IP 核为片内存储器,以诺基亚西门子通信公司开发的射 频模块 AD9361 和串口为外设,以精简 ARM 软核为微处理器的 SoC 系统,在该 SoC 系统 上验证了该驱动程序实现方法的可行性。从代码量的角度,对常规的射频驱动程序编写方案 和本文实现的优化的射频驱动程序编写方案进行了比较,本文实现的方法能在保证系统性能 的前提下,大大缩减代码

25、量。因此,该驱动程序方案能解决某些应用程序在嵌入式设备上因 内存不足而无法运行的问题。参考文献 (References)1551601 陈永峰. 浅谈嵌入式系统应用与发展趋势J. 科技风,2011(6).2 李福行. 嵌入式系统特点及发展趋势探讨J. 科技创新与应用,2012(10).3 Continued bud. Based on the ARM920T Samsung S3C2440AJ. embedded system real time clock analysis and research of manufacturing industry automation, 2012, 34

26、(5):99-101.4 王金宇. 嵌入式系统及其发展趋势研究J. 电脑知识与技术,2010,(05).5 符秋丽. 嵌入式系统概述J. 科技创新导报,2010,(08).6 韦照川,李德明. 嵌入式系统发展概述J. 科技信息,2010,(01).7 郭金玲,赵怡. 嵌入式系统应用概述J. 办公自动化(综合版). 2011(4). 8 严永松. 嵌入式系统开发要素浅析J. 电脑知识与技术,2010,(01).9 徐超,何炎祥,陈勇. 面向嵌入式系统的威胁建模与风险评估J. 计算机应用研究,2012,29(3):826-828.10 喻亮. 嵌入式系统的结构特征与研究概况J. 企业科技与发展,2010,(08).

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号