CN101645916B - 具有通信协议栈的gnss基带处理方法 - Google Patents

具有通信协议栈的gnss基带处理方法 Download PDF

Info

Publication number
CN101645916B
CN101645916B CN2009100135347A CN200910013534A CN101645916B CN 101645916 B CN101645916 B CN 101645916B CN 2009100135347 A CN2009100135347 A CN 2009100135347A CN 200910013534 A CN200910013534 A CN 200910013534A CN 101645916 B CN101645916 B CN 101645916B
Authority
CN
China
Prior art keywords
module
gnss
data
software module
carry out
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100135347A
Other languages
English (en)
Other versions
CN101645916A (zh
Inventor
张淑芳
胡青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian Maritime University
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN2009100135347A priority Critical patent/CN101645916B/zh
Publication of CN101645916A publication Critical patent/CN101645916A/zh
Application granted granted Critical
Publication of CN101645916B publication Critical patent/CN101645916B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及定位导航领域,属于卫星定位、通信和集成电路技术的交叉应用领域。各种远程移动或固定位置实时获取技术需要将GNSS接收机模块、网络通信模块及控制模块等集成在一起,以实现位置数据的远程传输,此类方法***结构复杂,本发明提供一种具有通信协议栈的GNSS基带处理方法,该方法通过GNSS处理器芯片模块、外部GNSS下变频模块、远程网络连接模块和外部控制参数配置模块实施,进行GNSS卫星定位解算,并通过通信协议栈将获得的位置数据直接发送到远程目的地。

Description

具有通信协议栈的GNSS基带处理方法
技术领域
本发明属于定位导航领域,涉及卫星定位、通信和集成电路技术的交叉应用学科,特别涉及一种具有通信协议栈的GNSS基带处理方法。
背景技术
随着信息技术的发展,GNSS卫星定位技术和网络通信技术的结合越来越紧密,各种远程移动或固定位置实时获取技术需要将GNSS接收机获得的位置数据通过无线或有线通信方式实时传输到目的地,为满足上述需求,通常需要将GNSS接收机模块、网络通信模块及控制模块等集成在一起,以实现位置数据的远程传输,此类方法的最大缺点是***结构复杂,价格也比较昂贵。
发明内容
本发明的目的是提供一种具有通信协议栈的GNSS基带处理方法,进行GNSS卫星定位解算,并通过通信协议栈将获得的位置数据直接发送到远程目的地。
本发明的技术方案是:具有通信协议栈的GNSS基带处理方法,其通过GNSS基带处理器***实施,该GNSS基带处理器***包括GNSS处理器芯片模块1、外部GNSS下变频模块2、远程网络连接模块3和外部控制参数配置模块4。其中,基带处理器芯片模块1包括GNSS多通道相关器模块5、数据和程序存储器模块6和内嵌MCU处理器7。数据和程序存储器模块6的程序存储模块内存储由主控软件模块8、GNSS定位解算软件模块9、数据存储管理软件模块10、通信协议栈软件模块11和控制配置参数软件模块12组成的逻辑软件程序模块。GNSS多通道相关器模块5从外部GNSS下变频模块2中获取GNSS中频采样数据,并对其进行载波相关和码相关运算后提交给内嵌MCU处理器7。内嵌MCU处理器7执行数据和程序存储器模块6的逻辑软件程序模块以实现位置数据的解算和传输,处理步骤是:(a)、基带处理器芯片模块1启动或判断控制配置参数更新后,主控软件模块8利用数据存储管理软件模块10从数据和程序存储器模块6中直接读取控制配置参数;(b)、GNSS定位解算软件模块9从GNSS多通道相关器模块5中获得载波相关和码相关测量数据后进行GNSS定位解算,主控软件模块8获得解算后的位置数据;(c)、主控软件模块8根据读取的控制配置参数判断是否需要进行位置数据的远程传输;(d)、如需进行远程传输,则判断是否进行点对点的PPP连接,如需进行PPP连接,主控软件模块8读取PPP连接控制配置参数,进行PPP连接后再进行远程TCP/IP通信连接;若不进行PPP连接,则直接进行远程TCP/IP通信连接,所述的PPP连接和远程TCP/IP通信连接是利用通信协议栈软件模块11与远程目的地进行连接;(e)、远程网络连接模块3将解算后的位置数据打包进行远程传输,如不需要远程传输则直接进行本地传输;(f)、位置数据输出后,判断控制配置参数是否更新,如果控制配置参数有更新,则从步骤(a)重新执行,否则循环执行步骤(e)。
主控软件模块8获取的控制配置参数,是由控制配置参数软件模块12通过实时中断的方式从外部的控制参数配置模块4中获取的,并通过数据存储管理软件模块10将其存放到数据和程序存储器模块6的数据存储模块中。
GNSS多通道相关器模块5包括12通道载波相位相关器和码相关器,以硬件逻辑电路的方式存在于基带处理芯片模块1中。
控制配置参数的内容包括:数据输出连接方式;数据输出格式;数据输出频率;PPP连接的用户名和密码、认证方式;TCP/IP连接的目标IP地址和连接端口号。
本发明的有益效果是:采用本发明能够在不需要外部主控模块和控制模块的条件下直接进行用户位置数据的远程传输和获取。
附图说明
下面结合附图和具体实施例对本发明作详细说明。
图1是本发明的***模块结构图;
图2是本发明的逻辑软件程序模块结构图;
图3是本发明的内部逻辑软件程序的流程图。
具体实施方式
如图1所示,本发明通过GNSS基带处理器***实施,该***包括GNSS处理器芯片模块1、外部GNSS下变频模块2、远程网络连接模块3和外部控制参数配置模块4。其中,GNSS处理器芯片模块1包括GNSS多通道相关器模块5、数据和程序存储器模块6和内嵌MCU处理器7。GNSS多通道相关器模块5包括12通道载波相位相关器和码相关器,以硬件逻辑电路的方式存在于基带处理芯片模块1中。数据和程序存储器模块6的程序存储模块内存储由主控软件模块8、GNSS定位解算软件模块9、数据存储管理软件模块10、通信协议栈软件模块11和控制配置参数软件模块12组成的逻辑软件程序模块,主控软件模块8负责协调GNSS定位解算软件模块9、数据存储管理软件模块10、通信协议栈软件模块11和控制配置参数软件模块12的组织和执行。GNSS多通道相关器模块5从外部GNSS下变频模块2中获取GNSS中频采样数据,并对其进行载波相关和码相关运算后提交给内嵌MCU处理器7。内嵌MCU处理器7执行数据和程序存储器模块6的逻辑软件程序模块以实现位置数据的解算和传输,处理步骤是:(a)、基带处理器芯片模块1启动或判断控制配置参数更新后,主控软件模块8利用数据存储管理软件模块10从数据和程序存储器模块6中直接读取控制配置参数;(b)、GNSS定位解算软件模块9从GNSS多通道相关器模块5中获得载波相关和码相关测量数据后进行GNSS定位解算,主控软件模块8获得解算后的位置数据;(c)、主控软件模块8根据读取的控制配置参数判断是否需要进行位置数据的远程传输;(d)、如需进行远程传输,则判断是否进行点对点的PPP连接,如需进行PPP连接,主控软件模块8读取PPP连接控制配置参数,进行PPP连接后再进行远程TCP/IP通信连接;若不进行PPP连接,则直接进行远程TCP/IP通信连接,所述的PPP连接和远程TCP/IP通信连接是利用通信协议栈软件模块11与远程目的地进行连接;(e)、远程网络连接模块3将解算后的位置数据打包进行远程传输,如不需要远程传输则直接进行本地传输;(f)、位置数据输出后,判断控制配置参数是否更新,如果控制配置参数有更新,则从步骤(a)重新执行,否则循环执行步骤(e)。
在此流程中,主控软件模块8获取的控制配置参数,是控制配置参数软件模块12通过实时中断的方式从外部控制参数配置模块4获取的指令数据,数据存储管理软件模块10将该指令数据存放到数据和程序存储器模块6中。
控制配置参数的内容包括:(1)、数据输出连接方式(包括三种:远程PPP连接、远程TCP/IP连接和本地直接输出);(2)、数据输出格式(自定义数据、NMEA-0183数据);(3)、数据输出频率(以时间间隔‘秒’为单位);(4)、当需要远程数据传输时,还包括远程传输参数:PPP连接的用户名和密码、认证方式,TCP/IP连接的目标IP地址和连接端口号。以上各种控制配置参数的相应指令内容如下:
(1)数据输出连接方式控制:
控制参数配置模块4发送数据传输控制指令给GNSS处理器芯片模块1,指令内容分别如下:
$$0001*#——本地数据传输;
$$0002*#——远程PPP连接数据传输;
$$0003*#——远程TCP/IP数据传输。
GNSS处理芯片模块1对应应答指令如下:
$$1001*#——本地数据传输应答;
$$1002*#——远程PPP连接数据传输应答;
$$1003*#——远程TCP/IP数据传输应答。
(2)数据输出格式控制:
控制参数配置模块4发送给GNSS处理器芯片模块1的指令如下:
$$0101GGA/RMC/GSV/GLL/VTG/GSA*#——NMEA0183数据传输控制指令,可选其中一种,当需要多条语句时,之间用‘/’隔开;
$$0102NAV/MEM/SAT*#——自定义数据传输控制模式,NAV主要包括用户位置相关信息、包括时间、经度、纬度、高度、速度、航向、DOP值等;MEM为测量信息,包括卫星X、Y、Z天体协议坐标值、伪距、多普勒频移、接收机时间误差等;SAT为卫星相关信息,包括卫星的仰角、方位角、信噪比等。
GNSS处理器芯片模块1对应的应答指令如下:
$$1101GGA/RMC/GSV/GLL/VTG/GSA*#——NMEA0183数据传输控制应答指令,解释同输入指令;
$$1102NAV/MEM/SAT*#——自定义数据传输控制模式应答指令,解释同输入指令。
(3)数据输出频率控制:
控制参数配置模块4发送给GNSS处理器芯片模块1的指令如下:
$$0201XXX.YY*#——XXX.YY表示位置数据传输间隔,单位为‘秒’,取值范围为0.01~999.99。
GNSS处理芯片模块1对应的应答指令如下:
$$1201XXX.YY*#——输出频率控制应答指令。
(4)远程传输参数控制指令:
控制参数配置模块4发送给GNSS处理器芯片模块1的指令如下:
$$0301XX…XX/YY…YY*#——PPP连接用户名/密码设置指令,其中,‘XX…XX’表示PPP连接认证用户名,不定长,ASCII码;‘YY…YY’表示PPP连接认证密码,不定长,ASCII码;
$$0302XXXXXX/YYYY*#——TCP/IP连接地址和端口号设置指令,其中,‘XXXXXX’为6字节二进制机器码IPV6地址,当地址为IPV4时,前两字节默认为0x00;‘YYYY’为4字节二进制端口号。
GNSS处理器芯片模块1对应的应答指令如下:
$$1301XX…XX/YY…YY*#——PPP连接用户名/密码设置应答指令;
$$1302XXXXXX/YYYY*#——TCP/IP连接地址和端口号设置应答指令。
远程连接时,应答数据如下所示:
PPP连接过程:
发送:
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 207D 20 22 7D 28 7E
7E FF 7D 23 C0 21 7D 21 7D 22 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 207D 20 25 DE 7E
7E FF 7D 23 C0 21 7D 24 7D 21 7D 20 7D 28 7D 21 7D 24 7D 25 DC 30 56 7E7E FF 7D 23 C0 21 7D 22 7D 22 7D 20 7D 32 7D 22 7D 26 7D 20 7D 20 7D 207D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 CD 36 7E
应答:
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 36 7D 21 7D 24 7D 25 DC 7D 22 7D26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 26B4 7E
7E FF 7D 23 C0 21 7D 22 7D 21 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 207D 20 4B 7C 7E
7E FF 7D 23 C0 21 7D 22 7D 22 7D 20 7D 2A 7D 22 7D 26 7D 20 7D 2A 7D 207D 20 4C AA 7E
7E FF 7D 23 C0 21 7D 21 7D 21 7D 20 7D 36 7D 21 7D 24 7D 25 DC 7D 22 7D26 7D 20 7D 20 7D 20 7D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 26B4 7E
7E FF 7D 23 C0 21 7D 21 7D 22 7D 20 7D 32 7D 22 7D 26 7D 20 7D 20 7D 207D 20 7D 27 7D 22 7D 28 7D 22 7D 23 7D 24 C0 23 F5 37 7E
发送:
7E FF 7D 23 C0 23 7D 21 7D 23 7D 20 7D 24 E1 7D 36 7E
应答:
7E FF 7D 23 C0 23 7D 22 7D 23 7D 20 7D 2D 7D 28 57 65 6C 63 6F 6D 65 21BF 5D 7E
TCP/IP连接过程如下:
发送:
7E FF 7D 23 80 21 7D 21 7D 24 7D 20 7D 2A 7D 23 7D 26 7D 20 7D 20 7D 207D 20 7D 2B 5A 7E
7E FF 7D 23 80 21 7D 22 7D 21 7D 20 7D 2A 7D 23 7D 26 C0 A8 6F 6F DA D37E
7E FF 7D 23 80 21 7D 21 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 20 7D 20 7D 207D 20 F6 7D 37 7E
7E FF 7D 23 80 21 7D 21 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 E22C 7E
应答:
7E FF 7D 23 80 21 7D 21 7D 21 7D 20 7D 2A 7D 23 7D 26 C0 A8 6F 6F B3 A77E
7E FF 7D 23 80 21 7D 23 7D 24 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 5139 7E
7E FF 7D 23 80 21 7D 23 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 AC74 7E
7E FF 7D 23 80 21 7D 22 7D 25 7D 20 7D 2A 7D 23 7D 26 7D 2A 30 22 52 8B58 7E
发送:
7E FF 03 00 21 45 00 00 2F 00 00 00 00 FF 06 E6 2D 0A 30 20 53 DA 3D D0DA 7D 33 88 7D 33 8A 00 7D 5D 33 00 00 00 00 00 60 02 02 00 67 AA 00 0002 04 01 00 03 03 00 0B 1B 7E
应答:
7E FF 03 00 21 45 00 00 2C 6A 3A 40 00 72 06 C8 F6 DA 3D D0 DA 0A 30 2053 7D 33 8A 7D 33 88 65 2F 2B A5 00 7D 5D 33 01 60 12 FF FF D7 66 00 0002 04 05 64 24 7A 7E
发送:
7E FF 03 00 21 45 00 00 28 00 01 00 00 FF 06 E6 33 0A 30

Claims (4)

1.具有通信协议栈的GNSS基带处理方法,其特征在于,该方法通过GNSS基带处理器***实施,该GNSS基带处理器***包括GNSS处理器芯片模块(1)、外部GNSS下变频模块(2)、远程网络连接模块(3)和外部控制参数配置模块(4);其中,基带处理器芯片模块(1)包括GNSS多通道相关器模块(5)、数据和程序存储器模块(6)和内嵌MCU处理器(7),数据和程序存储器模块(6)内存储由主控软件模块(8)、GNSS定位解算软件模块(9)、数据存储管理软件模块(10)、通信协议栈软件模块(11)和控制配置参数软件模块(12)组成的逻辑软件程序模块;GNSS多通道相关器模块(5)从外部GNSS下变频模块(2)中获取GNSS中频采样数据,并对其进行载波相关和码相关运算后提交给内嵌MCU处理器(7),内嵌MCU处理器(7)执行数据和程序存储器模块(6)的逻辑软件程序模块以实现位置数据的解算和传输,处理步骤是:(a)、基带处理器芯片模块(1)启动或判断控制配置参数更新后,主控软件模块(8)利用数据存储管理软件模块(10)从数据和程序存储器模块(6)中直接读取控制配置参数;(b)、GNSS定位解算软件模块(9)从GNSS多通道相关器模块(5)中获得载波相关和码相关测量数据后进行GNSS定位解算,主控软件模块(8)获得解算后的位置数据;(c)、主控软件模块(8)根据读取的控制配置参数判断是否需要进行位置数据的远程传输;(d)、如需进行远程传输,则判断是否进行点对点的PPP连接,如需进行PPP连接,主控软件模块(8)读取PPP连接控制配置参数,进行PPP连接后再进行远程TCP/IP通信连接;若不进行PPP连接,则直接进行远程TCP/IP通信连接,所述的PPP连接和远程TCP/IP通信连接是利用通信协议栈软件模块(11)与远程目的地进行连接;(e)、远程网络连接模块(3)将解算后的位置数据打包进行远程传输,如不需要远程传输则直接进行本地传输;(f)、位置数据输出后,判断控制配置参数是否更新,如果控制配置参数有更新,则从步骤(a)重新执行,否则循环执行步骤(e)。
2.根据权利要求1所述的具有通信协议栈的GNSS基带处理方法,其特征在于,所述的主控软件模块(8)获取的控制配置参数,是由控制配置参数软件模块(12)通过实时中断的方式从外部控制参数配置模块(4)获取的,并通过数据存储管理软件模块(10)将其存放到数据和程序存储器模块(6)中。
3.根据权利要求1所述的具有通信协议栈的GNSS基带处理方法,其特征在于,所述的GNSS多通道相关器模块(5)包括12通道载波相位相关器和码相关器,以硬件逻辑电路的方式存在于基带处理芯片模块(1)中。
4.根据权利要求1或2所述的具有通信协议栈的GNSS基带处理方法,其特征在于,所述的控制配置参数的内容包括:数据输出连接方式;数据输出格式;数据输出频率PPP连接的用户名和密码、认证方式;TCP/IP连接的目标IP地址和连接端口号。
CN2009100135347A 2009-08-25 2009-08-25 具有通信协议栈的gnss基带处理方法 Expired - Fee Related CN101645916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100135347A CN101645916B (zh) 2009-08-25 2009-08-25 具有通信协议栈的gnss基带处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100135347A CN101645916B (zh) 2009-08-25 2009-08-25 具有通信协议栈的gnss基带处理方法

Publications (2)

Publication Number Publication Date
CN101645916A CN101645916A (zh) 2010-02-10
CN101645916B true CN101645916B (zh) 2012-07-04

Family

ID=41657636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100135347A Expired - Fee Related CN101645916B (zh) 2009-08-25 2009-08-25 具有通信协议栈的gnss基带处理方法

Country Status (1)

Country Link
CN (1) CN101645916B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102510554B (zh) * 2011-10-18 2014-07-23 山东大学 异构通信多分辨率组合定位融合处理装置及其工作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132191A (zh) * 2007-10-15 2008-02-27 北京航空航天大学 一种gnss接收机基带信号处理方法
CN101349740A (zh) * 2008-07-29 2009-01-21 北京航空航天大学 通用卫星导航信号干扰源及其信号产生方法
WO2009036434A3 (en) * 2007-09-14 2009-05-28 Magellan Systems Japan Inc Low cost, high performance gps/gnss receiver architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009036434A3 (en) * 2007-09-14 2009-05-28 Magellan Systems Japan Inc Low cost, high performance gps/gnss receiver architecture
CN101132191A (zh) * 2007-10-15 2008-02-27 北京航空航天大学 一种gnss接收机基带信号处理方法
CN101349740A (zh) * 2008-07-29 2009-01-21 北京航空航天大学 通用卫星导航信号干扰源及其信号产生方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王尔申 等.卫星定位信号接收机***研究与设计.《微计算机信息》.2008, *

Also Published As

Publication number Publication date
CN101645916A (zh) 2010-02-10

Similar Documents

Publication Publication Date Title
US8818270B2 (en) Method and system for determining a location for a RF communication device based on its proximity to a mobile device
WO2014183690A1 (zh) 一种应用程序的升级处理方法及终端设备
CN102547561B (zh) 实现移动设备的定位业务方法和无线接入设备
CN104202723A (zh) 位置增强数据播发服务***及方法
CN103759386B (zh) 空调器、空调控制器、***及其控制方法
CN104502941A (zh) 一种基于蓝牙和gps混合定位的***与方法
CN103235283B (zh) 一种基于蓝牙判别运动趋势的方法
CN102196601A (zh) 基于wsn、gprs和gps的无线数据传输设备
CN103297915A (zh) 一种收集位置信息的方法及***
CN103369671A (zh) 一种基于wifi的近距离定位***及定位方法
EP3247048B1 (en) System and method for embedded operating system achieving bluetooth slave device function
CN103052027A (zh) 一种基于lbs的宠物定位***
CN111200869A (zh) 集uwb单基站定位与无线数据传输为一体的装置及***
CN102573109B (zh) 基于cdma或gprs无线公网的无线数据传输方法、装置及***
CN101645916B (zh) 具有通信协议栈的gnss基带处理方法
CN201497804U (zh) 具有通信协议栈的gnss基带处理器
CN106982463B (zh) 基于多信息的定位方法、定位装置、定位终端和服务端
CN109116380A (zh) 一种gnss接收机、基于gnss接收机的定位***和方法
CN110446191B (zh) 一种数传电台的设置方法、移动终端设备、存储介质
CN105025594A (zh) 长距离物联网数据传输***及其无线路由
KR100451199B1 (ko) 블루투스 단말기를 이용한 위치정보 검출방법
CN101132218A (zh) 定位装置、***及其方法
EP1693682B1 (en) A system with co-located GPS receiver and cellular transceiver controllable by an external micro-controller via an interface
US20150026360A1 (en) Method and system for supporting wireless communications
CN112423386A (zh) 一种物联网终端定位方法、装置及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: DALIAN MARTITIME AFFAIRS UNIV.

Free format text: FORMER OWNER: ZHANG SHUFANG

Effective date: 20140604

Free format text: FORMER OWNER: HU QING

Effective date: 20140604

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140604

Address after: 116026 No. 1, Ling Hai Road, Ganjingzi District, Liaoning, Dalian

Patentee after: Dalian Maritime University

Address before: 116026 School of information science and technology, Dalian Maritime University, Dalian, Ganjingzi, Liaoning province 1

Patentee before: Zhang Shufang

Patentee before: Hu Qing

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20150825

EXPY Termination of patent right or utility model