任旺 刘蓓 李春娟 张彪 秦夷
摘要:本文主要简单介绍ARM单片机的主要性能和其在某接收机中的应用,对整个接收机的控制、数据融合、数据存储、数据传送及完成自动测试所要的软件配合。以某项目为例来介绍,可以扩展到很多设计中。
关键词:ARM接收;数据处理;控制器
中图分类号:TN911.25 文献标识码:A 文章编号:1007-9416(2019)04-0068-01
0 引言
现代雷达中数字信号的应用以其灵活、方便、便捷、兼容性强和易于学习掌握接收受到了很多设计师的青睐,在很多领域得到应用。尤其因其多I/O口,具有多串口、复用功能、多功能,使得在电路设计中可以在硬件设计上大大节省空间,硬电路简单,在软件上除了可以分担部分软件工作,并可以分担一些本应在FPGA中完成比较复杂的一些逻辑关系、解码工作等等。
本文主要依据ARM在某项目中接收机的应用为例,介绍它的部分应用,并给出核心技术的软件实现和测试结果。
1 器件简单介绍
在这个项目中我们采用的ARM型号为STM32F103xE,属增强型系列,使用高性能的ARM CortexTM-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达512K字节的闪存和64K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有增强型型号的器件都包含3个12位的ADC、4个通用16位定时器和2个PWM定时器,还包含标准和先进的通信接口:多达2个I2C、3个SPI、2个I2S、1个SDIO、5个USART、一个USB和一个CAN。
外部中断/事件控制器(EXTI) 外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达112个通用I/O口连接到16个外部中断线。
温度传感器产生一个随温度线性变化的电压,转换范围在2V~3.6V之间。温度传感器在内部被连接到ADC1_IN16的输入通道上,用于将传感器的输出转换到数字数值。
工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。
2 ARM在接收机中的一些应用
2.1 项目中接收机需要解决的关键技术
该项目接收机部分完成射频到50MHz~550MHz中频的变频过程;采样部分我们采用1.2GHz时钟的高速采样;提取模块完成对各路信号的相位提取;微波器件因频段、频点、温度等因素会影响其硬件指标,会引起的不同状态时的固定相位误差,最终会引起方位角和俯仰角测算的误差。在工程设计中,除了采取硬件线缆的等相设计之外,可以在软件上对排除不了的进行校正。我们采用了查表的形式对数据进行了校正,通过校正测算出的角度在0.60以内。
2.2 控制部分的硬件电路介绍
在控制部分电路中,ARM作为FPGA和计算机之间进行数据存储、数据传输、数据融合、数据整理等功能的控制器件。首先,ARM和FPGA之间的数据传输依靠地址线、数据线、访问信号线的逻辑关系进行传输;ARM和计算机之间的数据传输依靠串口,以报文串行方式通讯。原理框图为图1。
2.3 ARM中软件设计介绍
ARM中的程序一直处于循环状态,以中断触发方式工作,根据中断不同去触发不同的响应程序,完成响应的任务。该项目中应用的主要中断包括3个硬件电平中断(分别对应三根来自FPGA的线),和两个串口中断。其中硬件电平中断来自FPGA,主要传达硬件信息;串口中断主要传达计算机有信息过来,需要处理这些信息。
在图1中,设置硬件参数程序主要完成把需要状态的参数以一定的格式写入对应的FPGA寄存器中,FPGA中对应的逻辑电路完成对这些数据的解码,并传输给硬件,对对应的硬件进行控制,例如,各个开关控制码、DDS频率码、频段码、灵敏度高低控制码、放大器增益控制码等等。
下载校表进行补偿程序主要完成把相应的表下载到FPGA的功能。FPGA对采样的数据进行补偿运算。表的表项包括温度、湿度、频点、带宽、频段。
读取FPGA数据程序主要完成对暂存在FPGA中双口RAM中的采樣数据进行读取,并生成一定格式的报文,通过串口发送到计算机,用来进行显示,利于调试用。而实际设备中,FPGA中的采样数据在另来端口以并行方式传输给设备中的计算机,速度可以达到对信号的实时监测和跟踪。
发送数据存储信号主要完成对FPGA的触发,对数据进行存储,当存储到设定的数据长度时,FPGA会以中断方式触发ARM中的程序来读取数据(使ARM中参数=2的那根中断使能线的电平发生变化)。
存储数据到FLASH程序主要完成对无信号、某种状态时测试的数据进行存储,以备对相近状态时测试的信号进行补偿。当硬件状态、频段、温度、湿度等条件变化时,FPGA将告知ARM下载对应表相的表到FPGA,依据频点访问表,进行实时补偿。
2.4 ARM在自动测试中应用和计算机软件实现
在本项目中,调试阶段的测试利用信号源经喇叭发射信号,在环境单纯的微波暗室进行测试,排除了外部信号干扰。
ARM在自动测试中也起到了主导性的作用。计算机中的测试程序利用串口发送报文,控制信号源和接收机的状态,并对接收到的数据进行解析,以一定的方式显示。
在自动测试中,利用循环程序,依据设定的步进对信号源和接收机进行参数设定状态,稳定后对数据进行检测,最后形成的数据进行存储和显示,形成的校表存储后,形成报文发送到RAM中,存储到FLASH,以备补偿用。
3 测试结果
在校表完成后,对各个状态进行测试,角度分辨率可达0.35度,误差在0.6度内。ARM在调试和自动测试中起到了关键作用。在大批数据需要测试的情况下,节省了很多时间,给测试工作带来了很多方便。
4 结语
本文简单阐述了ARM在此项目中的应用,STM32F103增强型微控制器丰富的外设配置,使其适合于多种应用场合:电机驱动和应用控制、医疗和手持设备、PC外设和GPS平台、工业应用、可编程控制器、变频器、打印机和扫描仪、警报系统,视频对讲,和暖气通风空调系统等等。
参考文献
[1] STM32F103xCDE数据手册[K].