基于STM32的CMMB智能网络监测系统的设计与实现

发布者:技术旅人最新更新时间:2021-03-10 来源: eefocus关键字:STM32  CMMB 手机看文章 扫描二维码
随时随地手机看文章

中国移动多媒体广播(CMMB)是我国自主研发的、具有完全自主知识产权的移动多媒体广播标准。目前,全国各大城市的CMMB网络正在建设和完善当中,而CMMB信号的覆盖测试为网络优化和调整提供了重要的数据依据。数字电视广播网络的建设是一个长期复杂的过程,需要经过不断地调整和优化才能达到一个理想的效果。而只有有效、精确的网络覆盖测试才能为调整、优化提供可靠的依据。一个成熟稳定的CMMB网络覆盖测试系统,对于CMMB的发展具有重大意义。因此,有必要设计一款针对CMMB网络的覆盖测试系统。


本设计基于高性能单片机STM32和GPRS无线通信方案实现了对测试点CMMB网络覆盖情况的实时监测,并利用GPS接收器将测试终端的地理位子信息上传到服务器端,完成了对监测终端的精准定位。


终端板卡供电方式采用太阳能供电系统,保障其在无电源和人员看守的情况下长期稳定的工作。最后通过综合测试,能实现所有要求的功能,完全满足本次设计的要求。


1 测试需求分析


为了对测试点进行实时准确的信息监测,需要做好以下几点。测试地点的地理位置,包括经度、纬度,至少每秒统计一次;终端板卡供电蓄电池电量实时更新;8 M信号带宽内的平均功率,单位为dBm,每秒统计一次,测量精度达到±1 dBm;CMMB信号解码LDPC误包率、RS误包率,每秒统计一次;服务器端可以随时更改信息上报时间间隔,并能对终端调谐器、解调器配置参数进行更改,以适应不同地区解调参数的不同。


2 总体设计


本系统分为测试终端和服务器端,服务器端只需要一台性能良好的个人计算机,而测试终端主要由以下几个模块构成:射频前端模块模块、功率测量与存储模块、GPS接收器、太阳能供电模块、处理器模块及GPRS无线通信模块。各个模块主要是通过STM32微处理器的GPIO口连接与通信。处理器需要对射频前端的调谐器和解调器进行调谐频道和解调参数设置,并对RS误包率、LDPC误包率等信息进行读取。CMMB信号调谐器主要是对从天线接收的高频信号进行调谐输出中频信号;CMMB调谐解调模块主要是对信号进行解调和信道解码;功率的测量与存储模块负责将信号功率转换为电平信号送给STM32的ADC和将系统设置参数进行存储,GPS接收器用于获取监测点地理位子信息,最后处理器通过GPRS无线模块将信息发送至服务器端并从服务器接收控制命令。系统整体结构如图1所示。

CMMB网络监测系统结构框图


3系统硬件设计


3.1射频前端模块


射频前端模块包括调谐单元和解调单元。


本系统中RF射频信号的调谐模块采用MXL5007,芯片能够通过天线或有线接收从44~885 MHz连续频段信号,并将输入的RF射频信号进行调谐输出4~44 MHz的中频信号;此芯片还具有对原始的RF射频信号无损耗的环出功能,这使得芯片再输出中频信号给功率测量模块的同时,还能无损耗的环出一路CMMB信号到后级的解调模块,是本系统调谐器的理想选择。


调谐解调模块选用了创毅视讯公司的IF206型号的芯片,IF206芯片支持CMMB广播信道标准和复用标准;可同时接收卫星信号和地面信号;低功耗、低成本、对前端后端设备无特殊要求。


3.2 GPRS无线通信模块


本系统选用GPRS无线通信方案,采用Fibocom的G600模块,支持Dual 900/1800或850/1900双频。G600模块外观小巧,功耗低,GPRS数据连接可靠,内置TCP/IP协议栈,G600模块采用串口通信


3.3 GPS接收器


监测终端通过GPS接收器采集监测点地理信息,包括:经纬度、海拔等,测试系统根据得到的GPS信息在地图的相应位置显示测试数据。本系统中选用GTS-4E-00模块,采用邮票贴片封装,可适应高温高湿,电磁干扰等恶劣工作环境。其简化的电路图如图2中所示,TXD连接STM32串口1,模块唤醒端连接PA9,J1为接收天线。

单片机借口电路原理图


3.4处理器模块


处理器是整个监测终端的核心,负责采集射频前端的数据以及与服务器端的通信。处理器采用STM32F103RCT6型单片机,该芯片是基于Cortex—M3内核的新型32位嵌入式微处理器,它集合了性能高,实时、低功耗、集成度高等特点,系统时钟高达72 M,开发简便且芯片内集成多种外设。单片机电路图如图2所示。


其中单片机的PB6、PB7口为其IIC接口,负责与MXL5007、存储芯片AT24C1024通信;PA5-PA7口是其SPI接口,用于与IF206通信;PA10口是串口1接收端,用于接收GPS模块数据,PA9口用于使能GPS模块;PA2、PA3是串口3,用于与GPRS模块G600通信;PC2、PC3分别作为MXL5007的使能和复位端;STM32内部还有两个12位ADC,PC4是内部ADC1模拟输入口,用于测量CMMB信号平均功率。


3.5太阳能供电模块


测试终端采用太阳能供电方式,使得终端可以长期稳定的工作在缺少电源、无人管理的状太下。监测终端板卡电源接口采用DC—12 V,采用太阳能供电方式,设计控制器对蓄电池进行充放电管理。本控制器为太阳能直流供电系统设计,并使用了专用电脑芯片的智能化控制器。控制器功能框图如图3所示。

太阳能控制器原理框图


4系统软件设计


STM32处理器的软件编程采用C语言编程,开发环境为MDK-4.0,软件基本原理如图4所示。

软件基本原理


开机后系统进行初始化,包括STM32各个外设的初始化、从EEPROM中读取系统之前设置的参数值、对MXL5007和IF206的初始化。系统初始化完成后分别读取太阳能蓄电池剩余电量信息、GPS信息、RS误包率、LDPC误码率、信号平均等信息,之后判断是否与服务器建立连接,连接建立成功后按照设定时间间隔定时向服务器上传这些数据;与此同时时刻查收来自服务器端的命令信息,如设定更改信息上传时间间隔、各参数门限值、调谐及解调芯片的频点等,参数被修改后立即被存入EEPROM中,防止断电信息丢失,下次开机后这些参数再次被读取出来。


5 设备样机与系统联调


测试终端设备样机与服务器端软件完成后,项目组使用设备样机和服务器软件进行了系统联调。项目组在北京市选取了3个监测点,监测点信息如表1所示,3个监测点分别放置了一台CMMB监测终端,如图5所示。

监测点测试结果

CMMB监测终端样机


各个监测点实时回传监测参数到服务器,服务器通过IP网络获得监测数据,并且根据软件设置进行分析和报警处理,服务器软件的监测界面如图6所示。

CMMB监测服务器软件界面


通过设备联调,项目组优化了系统性能,提高了系统的稳定性,经过数天的实验,证明监测系统能够及时有效地反应CMMB网络的信号状况。


6 结论


该监测系统采用了处理器STM32开发平台和GPRS无线通信方案,成功地实现了对用户端CMMB网络覆盖情况的实时监测,为广大工程技术人员提供了一种高效、便捷的监管手段,达到了设计要求。


关键字:STM32  CMMB 引用地址:基于STM32的CMMB智能网络监测系统的设计与实现

上一篇:STM32的双路信号源及其配置平台设计
下一篇:STM32L053开发板 超声波测距系统

推荐阅读最新更新时间:2024-11-05 11:22

关于在stm32中使用printf函数的问题
想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式)。 标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调用的与输出设备相关的函数. 例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),方法如下: #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR
[单片机]
基于STM32单片机的工业循环水极化控制系统设计
0 引言 工业生产中的循环水系统在运行中对淡水消耗非常大,同时,为防止工业设备结垢等现象,需要对循环水不断添加各种化学药剂,且需要不断地排放污水、补充新鲜水,这样既对水资源造成了很大的浪费又污染环境。鉴此,笔者设计了一种基于ARM的工业循环水极化控制系统。该系统通过极化场对水的极化作用 ,实现对工业循环水的处理功能,达到减少水资源消耗、避免使用化学药剂、有效防止水资源污染的目的。 1 系统总体设计方案 基于ARM 的工业循环水极化控制系统采用ST公司的STM32F103微控制器作为主控制核心,由极化能量检测电路实时检测循环水水质参数,经STM32F103运算处理后,由极化能量输出电路调整极化能量的输出,由LCD显示电路实时显
[单片机]
基于<font color='red'>STM32</font>单片机的工业循环水极化控制系统设计
STM32共用中断和共用中断函数的判断
STM32外部中断查询: 15-10线的外部中断共用一个中断函数,怎么在该函数里查询是哪个中断线产生了中断呢? 使用 EXTI_GetITStatus()来查询哪根线产生了中断。 比如EXTI_GetITStatus(EXTI_Line13)就是查询13线是否产生了中断的。 还有 :当初你在设置中断引脚的时候都是不能把PB1和PD1同时设置为中断源的。如果非要设置,后面设置的会把前面的覆盖掉的。 编写中断服务函数经常需要使用两个函数。 第一个是判断某个中断线上的中断是否发生(即标志位是否置位): ITStatus EXTI_GetITStatus(uint32_t EXTI_line); //放在中断服务函数开
[单片机]
STM32串口配置(基于uC/OS)
在uC/OS下,串口配置与不使用uC/OS基本相同,但中断处理有些差别。在uC/OS下取消了固件库中的stm32f10x_it.c文件,去而代之的是app_vect_v5.c. 下面是几个中断处理的函数: bsp_int.c提供几个关键的中断操作函数: void BSP_IntDis (CPU_DATA int_id) //关闭指定中断 void BSP_IntDisAll (void) //关闭所有中断 void BSP_IntEn
[单片机]
stm32 IO口模式的寄存器配置
CRL的位意义如下: 举几个配置例子: GPIOB- CRH&=0XFFFF00FF; GPIOB- CRH|=0X00003300;//PB10,11推挽输出 GPIOB- CRL&=0XFF0FFFFF; GPIOB- CRL|=0X00800000;//PB5 上拉输入 GPIOB- ODR|=1 5; //PB5 上拉 GPIOB- CRL&=0XFF0FFFFF; GPIOB- CRL|=0X00800000;//PB5 下拉输入 GPIOB- ODR|=0 5; //PB5 可以看出来配置过程,先把CRL中对应的IO用‘&’刷成0,再用‘|’写入。
[单片机]
<font color='red'>stm32</font> IO口模式的寄存器配置
STM32 HSI RCC时钟配置
因为不用精确的定时,因此想不用外部晶振,直接使用内部的8MHz RC振荡器作为主振,倍频后系统时钟为36MHz 现将源代码贴在此处。 /********************************************************************** * 名 称:void RCC_HSEConfiguration(void) * 功 能:使用HSI作为主时钟,然后经过倍频PLL=36MHz * 入口参数:无 * 出口参数: ----------------------------------------------------------------------- * 说 明:
[单片机]
STM32之USART库函数USART_SendData的bug
1.最近在调试ATM32F103CB时发现,一串数据的最后一个字节总是发送不出去,用的是RS485收发; 2.代码如下: void uartReturn(unsigned char childBoardAddr) { uchar temp = 0; //must have temp += 0xAB; temp += childBoardAddr; temp += 0x30; temp += 0x01; temp += childBoardAddr; RS485_TX_EN; //enable rs485 tx sendByte(0xAB); sendByte(childBoardAddr); se
[单片机]
STM32固件库SYSTEM文件夹介绍
SYSTEM 文件夹里面的代码,此文件夹里面的代码由 ALIENTEK 提供,包含了几乎每个实验都可能用到的延时函数,位带操作,串口打印代码等。SYSTEM 文件夹下包含了 delay、 sys、 usart 等三个文件夹。分别包含了 delay.c、 sys.c、usart.c 及其头文件 delay.h,sys.h,usart.h。 delay 文件夹代码介绍 delay 文件夹内包含了 delay.c 和 delay.h 两个文件,这两个文件用来实现系统的延时功能,其中包含 3 个函数: void delay_init(u8 SYSCLK); //该函数用来初始化 2 个重要参数:fac_us 以及 fac_ms;同时把
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved