当前位置:首页 > 汽车电子 > 汽车电子
[导读]无线终端测试‌是指对无线通信设备进行的一系列测试,以确保其在各种通信环境中的性能和安全性符合标准。这些测试主要包括OTA测试和SAR测试。

无线终端测试‌是指对无线通信设备进行的一系列测试,以确保其在各种通信环境中的性能和安全性符合标准。这些测试主要包括OTA测试和SAR测试。

OTA测试

‌OTA(Over The Air)测试‌是通过电磁波在空气中传播来评估无线设备的性能,而不是通过传导线连接。这种测试方法能够更真实地反映设备在实际使用环境中的表现。OTA测试的主要方法包括:

‌直接远场法(DFF)‌:直接在远场区域进行测试。

‌间接远场法(IDFF)‌:通过近场数据推算远场性能。

‌近场测试方法(NF)‌:在近场区域内进行测试,然后通过算法推算远场性能。

SAR测试

‌SAR(Specific Absorption Rate)测试‌用于测量无线设备对人体吸收的电磁辐射量,确保其符合安全标准。SAR值表示单位时间内单位质量的人体组织吸收的电磁波能量,用于评估设备对人体健康的影响。

测试标准和方法

‌OTA测试标准‌:包括GB/T 9410-2008、YD/T 1484.6-2021、ANSI IEEE 149-2021等。

‌SAR测试标准‌:如IEEE 1528、OET 65、ANSI/IEEE C95.1-1999等。

1 S3C2410硬件平台简介

S3C2410是韩国三星公司生产的新一代高性能微处理器,它是基于ARM920T内核的16/32位RISC处理器.主要应用于嵌入式系统中。

S3C2410拥有强大的数据处理能力.又有着低成本.低功耗等优点.在各种手持及移动设备上的应用越来越广泛,基于其平台的程序功能也越来越复杂。于是,在其平台上架构多线程的操作系统已成为越来越多系统设计者的诉求,本文介绍多线程在S3C2410上的具体实现过程。

2 系统结构分析

串行端口的本质功能足作为CPU和串行设备问的编码转换器,一般微机内都配有通信适配器,使计算机能够与其他具有RS232C串口的计算机或设备进行通信。本系统主要目的是实现宿主机与目标机之间的近距离串行通信,采用的宿主机是Intel X86架构的Red HatLinux9.03环境PC机,而目标机是ARM架构的开发板。

本系统中目标机开发板的内核采用的是三星的S3C2410,该开发板采用核心板加底板的模式.核心板接口采用DIMM200标准连接器.工作非常可靠,可稳定运行在203 MHz的时钟频率下。其外设非常丰富.功能强大.完全可以满足设计需要。串口线采用常用的RS 232C型接口模式。能实现计算机与开发板间的数据传输与控制。

3 系统硬件结构原理

串行通信可以在DOS或Windows环境下进行。可以用汇编或高级语言编写通信程序,本文介绍如何在Linux操作系统下来实现串口间的通信。

在串口通信的实现过程中。要保证数据传输的可靠性和稳定性.其硬件设计是必不可少的,本文中选用S3C2410芯片作为核心器件。S3C2410芯片是SAMSUNG公司16/32位的RISC处理器。采用ARM920T内核,内部具有2个独立的UART控制器以及分开的16 kB的指令Cache和16 kB数据Cache,每个控制器支持的最高波特率可达到230.4 kb/s。S3C2410芯片的这些特点,为实现在“nux操作系统下计算机与开发板问的串口通信提供了可靠的保证。基于S3C2410的嵌入式串口通信的硬件结构原理如图1所示。


无线终端三层程序的主要功能及C语言实现

宿主机计算机系统中,在Linux操作系统下编写好串口通信的程序.通过JTAG接口模块下载至目标机即开发板中,在相应的软件控制命令下.通过串行接口线即町实现宿主机与目标机问数据的发送和接收。目标机中电源模块提供了开发板系统工作所需的正常电压。各种数据信息町以通过液晶显示模块及时显示出来.还可以通过键盘控制模块来实现对日标机操作的控制,外扩存储器模块町以由FLASH或SDRAM构成,当然作为一个完整的系统.还必须配有其他外围电路,以保证系统的正常工作。

4 软件实现

串口通信软件的设计是系统成功运行的关键,如何保证通信的效率、可靠性、实时性以及节约系统的资源足设计者关心的问题,因此通信协议的定义、软件外发的结构设计、程序开发工具的选择在系统设计中极其重要。PC端串口通信程序的开发是基于Windows环境面向对象的设计方法,开发环境选用vc++,实现的方法有多种,对此作介绍的文献也较多。在此不详述。对于单片机端的串口通信程序,有文献介绍基于汇编语言的程序框架,但基于分层结构的C语苦实现却少有介绍。下面将具体介绍在KeilC51中,分层结构框架下串口全双工通信程序的设计与实现。

4.1 通信协议口波特率

基于串I=1的通信模式有间步通信和异步通信两种,这取采用的是异步串行通信。在通信过程中,单片机应处理以下问题: (1)识别命令。PC机将命令传送给单片机,单片机能够识别不同的命令而且根据不同的命令内容完成不同的操作。(2)识别数据。单片机能识别附加在命令后的数据。传送数据的最大位数由设置的缓冲区大小决定。(3)出错处理。包括识别无效命令和处理通信错误。当啦片机接收到系统没有定义过的命令.或者收到的命令不符合预先定义的格式时。它应该做出响应.向系统报错并能进行错误处理,错误类型编号应事先定义。(4)正确应答。当单片机系统接收到一条没有通信错误且符合通信协议的信息时,应根据所接收的命令进行相应操作,并把操作结果返回PC机.如发一个“OK”信息以示确认。

PC机应处理的问题:(1)采集单片机发送的数据,如某设备模块的状态信息;(2)接收单片机的正常响应和错误响应信息,若足错误响应信息,应根据错误类型,以处理。由于控制的设备模块可能有多个,通过对设备模块统一编址,给不同的设备设置唯一的16位地址加以区分。这样在PC机和单片机进行数据传送时,双方能够识别数据的来源及需控制的对象。如表1所乐为通信协议格式示例.由PC机传输命令协议和单片机响应协议组成。


无线终端三层程序的主要功能及C语言实现

4.2 单片机通信软件的分层设计

单片机系统的软件开发环境为Keil C51。与汇编语言相比.C语言在结构性、可读性、可维护性上有明显的优势.更利于程序移植和扩展。串口通信程序采用分层结构。即将程序按层次分为物理层、驱动层,应用层,分层设计有以下优点:(1)与主机通信的串口程序支持接收和发送并发处理(主动发送和被动查询设备并存),利于提高通信效率及数据处珲的实时性。(2)当单片

机只有一个串口而以串口通信方式控制的设备模块有多个时。必需对串口扩展,为了简化硬件则需用软件实现模拟的串口。因此系统内部应有支持I/O口模拟串口操作的软件实现。标准串I/O和模拟串口在物理实现上有区别,但采用统一的对外封装,以提高程序的封装性和模块化祥度。(3)防止由于串口操作向在流程中独占CPU资源.避免漏检状态信息等现象发生。

三层程序的主要功能及C语言实现如下所述:

(1)驱动层:也称抽象层,在该层定义串口基本操作结构。基于此结构实现不同方式下的串口设计,包括中断方式下的串口实现和I/O口模拟方式下的串口实现。虽然两种方式的底层实现有所区别。但足驱动层屏蔽不同串口操作的物理细节,简化应用层对串口的操作。串口的结构定义如下:

typedef struct Serial

{ void (* pfSetBaudRate)(unsigned long baud_rate);//设置串口波特率

void (*pfOpen)(void); //串口打开

void (*pfClose)(void); //串口关闭

unsigned (*pfGetChar)(unsigned char *c); //从接收缓存中取一个数

void (*pfPutChar)(unsigned char c); //发送一个字节

void (*pfPutStr)(unsigned char *tmp_str, unsigned char tmp_len); //发送一串数

}Cserial;

(2)物理层:在该层针对不同的串口实体.完成不同的物理操作.如单片机串口初始化、I/O模拟串口方式下的定时器初始化、I/O中断初始化等。其作用是给不同的串口操作模式提供支撑。针对标准全双工串口和模拟串口两类不同的物理实现方式.设计不同的串口实体(包含内部执行每类串口的底层操作及相关基本的外部初始化等操作),不同的实现方式,绑定不同的操作函数指针.指针指向不同的操作。两种串口实体封装成统一的串口基础类,使程序具有更强的通用性和扩展性。在物理层采用循环FIFO双缓冲队列对接收和发送的数据进行缓存、读取,缓冲区循环FIFO操作方式与中断方式下接收和发送数据的结合使用,保证了数据处理的可靠性、实时性。,由于篇幅所限.下面只给出了缓冲区结构和相关指针的声明程序示例代码:

typedef struct Fifo

{ unsigned char *m_buf;//定义缓冲区首地址

unsigned int m_bufsize;//定义缓冲区大小

unsigned int m_wp; //写入数据

unsigned int m_rp; //读出数据

)CFifo;

unsigned char(fFifoPush)(CFifo *me, unsigned char c);//数据入队

unsigned char(fFifoPop)(CFifo *me);//数据出队

void fFifolnit(CFifo *me, unsigned char * tmp_buf,unsigned int tmp_size);//初始化

(3)应用层:完成对单片机系统初始化。包括串口驱动结构实体的初始化。然后按统一的串口驱动层接口对串口操作而不关心其物理实现方式,如波特率设置、串口开关、收发数据等,循环接收、处理串口的命令和数据.处理单片机的I/O 口操作等。以下为主应用程序基本架构.本尔例为系统接收串口数据后。直接返回主机。

extern CSerial xdata mSerial; //在物理层,已声明该串口实体

void main(void)

{ EA=0;//禁止中断

Uart_Init(); //串口初始化

mSerial.pfSetBaudRate(9600);//设置波特率为9600bps

mSerial.pfOpen(); //打开串口

//⋯其它初始化程序,

EA=l: //开放中断

while(1){

if(mSefial.pfGetchar(&i))mSerial.pfPutchar(i)

}

//⋯其它循环检测、处理程序

}

无线终端测试对于维护电磁环境和无线通信的安全至关重要。通过这些测试,可以确保设备的辐射性能符合标准,保障用户在使用过程中的安全和健康。此外,OTA测试还能帮助制造商优化产品设计,提升市场竞争力。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭