Abstract: The paper presents a circuit design of intercommunication measurement and forecast instrument of fishery ship. The hardware core of system is ARM9 processor, and the software operating platform is Linux. To meets actual requirement of measurement and forecast, the content of hardware and software design included BeiDou satellite and GPRS communication, ADC circuit. The instrument is capable of data collection, location and navigation, search and rescue alarm. The test proved that it performed reliable and stability. 图8 渔船测报北斗通信系统报文流程图 如表1所示,双向通信渔船测报仪能够实时获取海洋环境水文动力参数,性能稳定可靠。
Key Words: ARM9; Fishery Ship;Linux; BeiDou(COMPASS)Navigation Satellite System
引言
随着我国经济的发展,海上渔业生产活动愈加频繁,安全问题成为人们越发关注的焦点。很多海损事故的发生主要是因为海事部门没有及时地向船舶提供相应的天气或灾害预警信息,不能及时地确定遇险船舶的具体位置,船舶遇险虽然能发出紧急无线电信号或遇险警报,但不能反应船舶遇险前后的航行状况。根据中国海上搜救中心的统计,超过80%的海上遇险事故发生在距岸边小于50公里的海域[1]。因此,以完善的北斗卫星通讯定位系统、GPRS通信网络以及各种搭载传感器设备等技术平台为依托,具有测量风、温、湿、压等气象参数和采集海流、盐度、化学及其它所需的海洋水文参数,目标定位,紧急警情上报,信息发送,统计报表等完善功能的渔船测报仪器设备的研发有着更加广阔的应用前景。
本文提出了一种双向通信渔船测报仪电路系统设计方案。该渔船测报仪电路系统具有低功耗、微型化、接口丰富、可靠性高等特点,可为渔民提供船舶定位、海上通信、遇险求救等多种功能服务,可提升海上船舶安全防范能力,因而对相关行业主管部门具有重要意义。
1 系统总体设计
整个渔船远程定位监控系统以GPRS/CDMA无线通讯网络及北斗卫星通讯定位网络为基础,主要分为远程信息服务中心及渔船船载终端两部分。海洋渔业部门可以通过该监控系统发布渔情信息、天气预警信息,并对渔船进行实时有效跟踪定位,在获得渔船的报警信号后,岸站信息监控中心将通过海洋电子地图,根据报警信号中的信息立即定位渔船所在具体海域,同时还能在屏幕上显示渔船特定信息(例如船号、吨位、通信方式)等,随时掌握渔船动态位置,从而及时、准确地进行海上救助,为启动后继的应急保障流程赢得时间,避免救助的盲目性。监控中心还可实现渔船寻呼调度、信息服务、路线预警、船舶状态监控、黑匣子功能、船舶信息化管理等服务。此外,搭载测报仪的渔船还可起到志愿船的功能,可将测量的各项气象参数与海洋水文参数上传至远程信息中心,构建出广阔近海海域的有效数据平台[2]。整个系统的网络结构图如图1所示。
图1 渔船测报仪远程监控系统网络结构图
2 系统硬件设计
2.1 ARM9处理器S3C2440A
渔船测报仪采用三星公司基于ARM920T内核的S3C2440A作为系统中央处理器,配备128M的SDRAM,256M的NAND FLASH和16M的NOR FLASH,以应对嵌入Linux操作系统所消耗的内存。S3C2440A集成了MMC/SD卡读写控制器,LCD与触摸屏接口,3路UART串口,1路主控与1路从动USB接口,1个IDE接口可挂接大容量硬盘,实时时钟,AC'97音频接口、多至130个通用IO口等众多硬件资源[3]。系统硬件设计的整体框图如图2所示,虚框中的硬件资源是扩展性的。从该图可以看出,S3C2440A内部集成的3路串口可通过外接简单的RS232电平转换芯片,分别连接北斗卫星通讯定位终端、GPRS模块和风传感器。此外,ARM9处理器S3C2440A通过内部集成的两路SPI接口可外接16位ADC,以外接温度、湿度、盐度、压力等传感器。S3C2440A的通用IO口作为开关量输入检测和输出控制接口,并可根据用户需求进行扩展。与此同时,S3C2440A还可满足连接以太网控制器,USB外设,电子罗盘、海流计、水声传输等可扩展应用需求。
图2 渔船测报仪硬件整体框图
渔船测报仪电路系统涵盖众多功能模块,下面仅详细论述北斗卫星通讯模块电路、GPRS模块电路及16位ADC电路的硬件设计方案。
2.2 北斗卫星通讯模块电路设计
北斗卫星通讯模块电路的设计可以从信号接收、信号处理及功能界面显示三个层次加以展开,相对应采用性价比高的北斗卫星通讯终端,并设计出串口通讯电路与LCD液晶显示电路[4]。北斗卫星通讯模块可选用和芯星通公司的UM220模块,该模块支持北斗二代(BD2)与GPS双系统导航授时,具有尺寸小(仅40×30×3.7mm)、功耗低(仅350mW)、集成度高等优点,其实物图如图3所示。该模块三维定位精度为3m,速度精度为0.1m/s,数据更新率可达1Hz。UM220还配有卫星显控软件CDT(Control&Display Tool),该软件提供简约的图形用户界面,可便捷地控制卫星接收机并进行功能能够设置,获取所需信息[5]。
北斗卫星通讯模块电路主要包括UM220接口、天线、后备电源、复位及串口通讯电路,其电路原理图如图4所示。ARM9处理器S3C2440A的串口0引脚TXD0、RXD0与UM220的RXD3、TXD3相连接构成串口通讯电路。S3C2440A的引脚GPE0与UM220的PPS引脚连接,可接收UM220输出的脉宽与极性可调的PPS信号;S3C2440A的引脚GPE1可编程
图3 和芯星通UM220北斗导航授时模块实物图
图4 UM220电路原理图
输出脉宽与极性可调的事件信号提供给UM220的EVENT引脚。UM220供电电源引脚VCC与GND间并联有电解电容CT1和陶瓷电容C1,以滤除高频与低频杂波信号,使得UM220
供电电源稳定纯净,且电压峰峰值不超过50mV。UM220具有精确授时功能,为维持系统时钟,UM220的VBAT引脚经限流电阻R1与压降二极管D2、D3接有3V锂电池。其中,二极管D3压降0.3V,而D2压降0.7V,以确保UM220的VBAT引脚平时由主电源3.3V供电,而主电源失电时,则由后备电源3V锂电池供电。UM220的GNSS_ANT引脚在PCB电路板需要布线50Ω以匹配天线阻抗,然后外接北斗卫星蜂窝天线。此外,电阻R2、R3与电容C2及二极管D1构成稳定的低电平复位电路,且低电平保持时间大于2ms。
2.3 GPRS模块电路设计
当渔船进行远洋作业时,测报仪主要依赖卫星通讯网络进行数据通讯与定位;而渔船在近海作业时,为降低测报仪系统功耗及运营成本,则可选用GPRS/CDMA网络进行远程通讯。
GPRS模块外围应用电路设计包括模块启动电路、数据通信电路、语音通信电路及SIM卡应用电路[6]。GPRS模块可选用西门子公司的MC55。MC55是西门子公司推出的新一代
图5 MC55电路原理图
无线通信GPRS模块,可以快速可靠地实现系统方案中的数据、语音传输、短消息服务和传真,模块结构紧凑,重量轻,内置TCP/IP协议找,由AT指令控制可使应用程序很容易地接入网络[7]。GPRS模块电路主要包括MC55接口、SIM卡电路、启动电源及与S3C2440A连接的串口通讯电路,其电路原理图如图5所示。S3C2440A串口1的RXD1,TXD1引脚与MC55的TXD0、RXD0引脚连接构成串口通讯电路。MC55的CCGND、CCIN、CCREST、CCIO、CCVCC与CCCLK引脚组成SIM卡接口,并接有滤波电容C4、C5。MC55的供电电源VBATT由5V经二极管D2降压得到。S3C2440A的GPE3驱动控制MC55的IGT引脚,使其进入正常工作模式;S3C2440A的GPE2可检测MC55的RING引脚输出的脉冲信号,以决定系统是否休眠进入低功耗状态。为了在有GPRS数据信息传送时产生同步信号,可通过配置MC55的SYNC引脚控制发光LED状态指示来实现[8]。当有数据发送时,SYNC引脚输出高电平使得三极管T1基极导通,则红色发光二极管LED1被点亮。
2.4 16位ADC电路设计
S3C2440A可通过自身的SPI接口级联多片高精度快速16位ADC芯片,以实现温度、湿度、盐度、压力等多种传感器模拟信号的采集与数据转换。16位ADC芯片选用ADI公司的AD7798,AD7798具有适合高精度测量应用的低功耗、低噪声、完整模拟前端,内置一个低噪声16位Σ-Δ型ADC,其中含有3个差分模拟输入,还集成了片内低噪声仪表放大器,因而可直接测量输入小信号[9]。图6中给出了S3C2440A通过SPI接口连接1片AD7798,用以测量
图6 AD7798电路原理图
温度、压力及盐度数据的电路原理示意图。S3C2440A的SPICLK1、SPIMOSI1、SPIMISO1与GPE4引脚构成SPI接口分别连接AD7798的串行时钟(SCLK)、数据输入(DIN)、数据输出
(DOUT)和片选( )。以AD7798的第3模拟通道测量温度为例,热敏电阻与3个精密电阻R14、R15、R16构成不平衡电桥,输出的差分小信号经R18、C13、 R17、C14及C12构成的双路RCπ型一阶低通滤波电路,连接AD7798的AIN3+与AIN3-引脚。
3 系统软件设计
渔船测报仪移植有Linux内核、文件系统YAFFS2及底层驱动程序,加载特定的系统引导程序Bootloader与渔船测报仪应用程序后,可实现功能完善的渔船测报应用要求[10]。
3.1 渔船测报仪应用主程序设计
渔船测报仪系统软件主要功能是:在MiniGUI图形用户界面支持系统的基础上,以完善的北斗卫星通讯定位系统与GPRS通信网络以及各种传感器设备为技术平台,具有测量各项参数,目标定位,设置回放参数,控制外设,故障检测和紧急警情上报,信息发送,统计报表和数据装订、打印等功能。应用程序主要采用C语言编写,软件具有较强的数据处理功能和与硬件协调所具备的较强抗干扰能力。渔船测报仪主程序流程图如图7所示。
主程序首先完成系统初始化功能,然后打开所需的设备文件和驱动程序,通过模数转换器采集温度、湿度、盐度、压力等传感器数值并进行数据处理和保护,通过串口采集电子罗盘,风传感器及其它所需传感器数值并进行数据处理和保护,然后将数据打包经北斗卫星通讯定位终端发送给陆上监控中心。主程序实时响应串口的中断程序,以及时接收卫星通讯数据,解析船用测报仪所需的定位等有效信息,并完成相应的参数设置和外设控制功能。此外,主程序还时刻响应键处理程序,完成系统的功耗管理,并进行故障检测和报警。3.2 北斗卫星通讯串口程序设计
在渔船测报仪系统设计中,北斗卫星通讯导航定位模块起着重要的通讯桥梁与沟通媒介作用。首先要设计出渔船测报终端串口通讯协议,协议内容应包含特定的帧头,帧长,渔船编码,命令号,数据信息及校验码。其次设计出岸站远程监控中心与渔船测报仪的通信报文定义,例如位置查询与岸站应答主从顺序,报警求救与岸站应答主从顺序等[11]。确定好串口通讯波特率、数据帧长、CRC校验方式等通讯协议,设计渔船测报仪与远程监控中心的主要通信报文流程如图8所示。
如图8所示,渔船测报仪可以向监控中心发送温、盐、深等数据,并查询其他渔船测报仪经纬度信息;也可以向监控中心或其他渔船测报仪发送短信息。渔船测报仪接收来自监控中心调度控制等命令向其回报经纬度信息;遇到紧急情况,可向监控中心发送报警求救信息。
4 实验结果
2012年7月26日,以位于青岛胶州湾的山东省科学院海洋仪器仪表研究所“海洋岸边实验站”为远程数据监控中心,将双向通信渔船测报仪搭载于渔船之上,并装配了温盐深传感器,进行了近海海试,所得到的试验结果如表1所示:
表1 双向通信渔船测报仪测试结果
结语
本文设计的渔船测报仪电路系统以ARM9处理器为核心,硬件资源丰富、功耗低、体积小,移植Linux操作系统实现多任务并发处理,满足渔船测报、定位等特定功能需求,且易于远程监控与维护,并便于系统功能升级,代表着渔船测报仪嵌入式控制系统未来发展的方向。
参考文献:
[1]陈磊. 基于ARM技术的渔船船位监控系统的研究与实现[D].北京:北京交通大学,2006:1-3.
[2]李扬. 基于ARM和嵌入式Linux的志愿船自动测报仪的设计与开发[D].青岛:中国海洋大学,2008:1-3.
[3]田磊. 基于S3C2440嵌入式系统的远程抄表监控系统设计[J].电子质量,2009(3):41-42.
[4]武英洁.船用北斗/GPS联合导航终端的研究[D].大连:大连海事大学,2010:19-22.
[5] UM220 BD2/GPS双系统导航/授时模块.
http://www.unicorecomm.com/files/um220%20user%20manual.pdf[EB].2011.6.
[6]曲广强,李丹,常国权.GPRS无线通信模块MC351及其外围电路设计[J]. 东北电力大学学报,2006(4):79-82.
[7]朱应波.基于GPRS的无线抄表终端系统的研究与实现[D].武汉:武汉理工大学, 2008.
[8]赵敏.基于GPRS网络的无线通信系统的研究和实现[D].太原:太原理工大学,2008.
[9]AD7798:3通道、低噪声、低功耗、16位Σ-Δ型ADC、内置片内仪表放大器. http://www.analog.com/static/imported-files/data_sheets/AD7798_7799.pdf[EB].2007.3.
[10]田磊. Linux体系结构及嵌入式Linux的移植与应用[J]. 西安邮电学院学报, 2009(3):102-105.
[11]高迪驹.基于北斗卫星通信系统的船载终端串口通信[J].上海海事大学学报,2008(4):10-14.