精华内容
下载资源
问答
  • 2021-10-12 09:12:31

    1. 接口数据传输约定
            串口非同步传送,参数定义如下:
            传输速率:115200bit/s(默认)
            1 bit 开始位;
            8 bit 数据位;
            1 bit 停止位;
            无校验 。
    接口数据传输基本格式如下:
            指令 / 内容  长度  用户地址  信息内容  校验和
            “指令”或“内容”传输时以 ASCII 码表示,每个 ASCII 码为一个字节;
            “长度”表示从 “指令或内容”起始符“$”开始到“校验和”(含校验和)为止的数据总字节数;
            “用户地址”为与外设相连的用户机 ID 号,长度为 3 字节,其中有效位为低21bit,高 3bit 填“0”;
            “校验和”是指从“指令或内容”起始符“$”起到“校验和”前一字节,按字节异或的结果;
            “信息内容”用二进制原码表示,各参数项按格式要求的长度填充,不满长度要求时,高位补“0”。信息按整字节传输,多字节信息先传高位字节,后传低位字节;对于有符号参数,第 1 位符号位统一规定为“0”表示“+”,“1”表示“-”,其后位数为参数值,用原码表示。

    更多相关内容
  • 北斗接口说明

    2012-04-17 22:06:43
    接口文件定义了北斗卫星导航(区域)系统空间星座和用户终 端之间 B1频点空间信号相关内容。
  • 本要求规定了北斗卫星导航系统与终端之间的数据接口相关要求。 本要求适用于北斗卫星导航系统与应用研究。
  • 北斗卫星导航系统用户终端通用数据接口.zip
  • 北斗卫星导航系统用户终端通用数据接口-2.1协议(标准版)
  • 北斗2.1通信协议

    2016-09-20 17:15:22
    北斗通信协议2.1版本
  • 北斗卫星导航系统用户终端通用数据接口 内容原文链接:http://www.chinabeidou.gov.cn/hybz/150.html 现在好像访问不了,幸亏之前存过一份。 希望能给相关开发者提供点帮助。
  • 北斗卫星导航系统用户终端通用数据接口(预) - 行业标准 _ 中国卫星导航定位应用管理中心
  • 规定北斗卫星导航系统与终端之间的数据接口相关要求。 适用于北斗卫星导航系统与应用研究。

    规定北斗卫星导航系统与终端之间的数据接口相关要求。
    适用于北斗卫星导航系统与应用研究。

     

    展开全文
  • 北斗卫星导航系统的空间信号接口
  • 本文件是对《北斗卫星导航系统空间信号接口控制文件公开服务 信号(2.1 版)》的升级, 主要定义了北斗卫星导航系统空间星座和用 户终端之间公开服务信号 B1I 的相关内容。其中, B1I 信号在北斗二 号和北斗三号的...
  • 北斗卫星导航系统空间信号接口控制文件(ICD2.1)汇编.pdf
  • 北斗一号接口协议,可用于android系统手机接口开发。此协议为4.0格式
  • 北斗2.1协议,可用法各类北斗设备的应用开发。Android、window等等平台
  • 辅助《北斗卫星导航系统用户终端通用数据接口(预)》使用 两者对照 更明晰
  • 北斗一号模块接入手册4.0版,包含指令详细说明,方便模块接入人员开发调试
  • 北斗系统B3I信号的描述文件,对于北斗B3I信号结构的了解有很大的帮助,在了解结构的基础上才能够进行信号的捕获之类的工作,这个文件也可以在北斗卫星导航官网进行下载
  • 北斗卫星导航系统空间信号接口控制文件-精密单点定位服务信号PPP-B2b(1.0版)中文版.pdf
  • 北斗导航用户机数据接口4.0协议详细说明,希望对学习和使用的人有用
  • 用于北斗通信数据传输,北斗通信具有全天候、全天时、双向通信的特点,在GPRS的环境下可采用北斗进行信息传输
  • 北斗卫星导航系统空间信号接口控制文件公开服务信号B2b(1.0版).pdf
  • 本文件是对《北斗卫星导航系统空间信号接口控制文件公开服务信号( 2.1 版)》的升级, 主要定义了北斗卫星导航系统空间星座和用户终端之间公开服务信号 B1I 的相关内容。其中, B1I 信号在北斗二号和北斗三号的中圆...
  • 北斗一号用户机数据接口北斗十六进制指令
  • 北斗系统控制接口文件(ALL)
  • 北斗卫星导航系统空间信号接口控制文件,了解信号格式
  • 北斗卫星导航系统地基增强服务接口控制文件(1.0版)英文版.pdf
  • 北斗4.0的二进制协议不好用,更多使用2.1协议,这个与NMEA标准兼容,这一章了解命令的基本构成。

    上一章介绍了简短的几行C#代码,从串口读取北斗数据的方法。

    这一章需要介绍一下北斗数据接口的基本协议,也就是类似下面的命令的含义。

    $CCICA,0,0*4B\r\n
    

    网上有很多比较早的代码是基于北斗4.0的协议,那个协议是一种二进制协议,编程人员需要认真准备数据中的每一个bit,如果出错,调试会极为困难。

    所以后来出现了2.1协议,这个协议是文本协议,北斗终端中的芯片负责把它们转换成二进制,实际内部传输的仍是二进制,但编程起来更加容易,所以新的北斗终端都会支持2.1协议。

    关于这个2.1协议,北斗官网上曾经公开过一份文档《北斗卫星导航系统用户终端通用数据接口(预)》,发布日期为2014年8月,后来这个资料被撤下了,但还能从其它地方找到,只是文档中有许多错误。

    北斗指令

    北斗指令以$开始(据说也可以是叹号!,但我现在还没遇到),然后是5个字符的指令代码,后面有多个参数,用逗号分隔,*表示指令结束,hh是校验码,最后是回车换行符,十六进制为0x0D和0x0A。

    $CCICA,0,0*4B\r\n
    

    指令代码为5个字符,前2个字符为发送器(信源)的标识符,后3个字符为语句标识符。

    前2个字符的定义见下表:

    标识符发送器(信源)数据类型
    BD北斗导航定位系统(BDS)
    GP全球定位系统(GPS-global positioning system)
    GN全球导航卫星系统(GNSS-global navigation satellite system)
    GLGLONASS系统
    GA伽利略系统
    CC计算机系统

    后面3个字符的定义可参考《北斗卫星导航用户终端通用数据接口2.1协议》,不同的北斗厂商又增加了不同的自定义语句。

    例如:CCICA、BDICI、BDGGA、GPGGA、GNGGA、GPGSA、CCRMO、CCTXA、BDFKI都是常用的指令。

    校验码生成规则

    hh校验码是$ 和*之间(不含$和*)所有字符的异或,然后用两个16进制大写字符表示,C#代码如下。

    byte sum = 0;
    foreach (char c in bdstr)
    {
        if (c == '$' || c == '!') continue;
        if (c == '*') break;
        sum ^= (byte)c;
    }
    return sum.ToString("X2");
    

    下面以$CCICA指令为例,说明校验码的生成过程。

    在这里插入图片描述
    根据这个规则,你可以自行验证一下,下面这行命令的校验码。

    $BDICI,0925867,2204536,1934946,6,60,3,N,0*0F
    

    实现一个小功能,发一行北斗命令,查看反馈信息

    现在我们可以实现一个小功能,给串口写入一段北斗命令,立刻从串口读取一行信息,可以开展北斗命令的测试工作。

    /// <summary>
    /// 这个函数不是非常严谨,由于串口通讯是异步的,
    /// 你给串口写入一行命令,然后立即读串口,存在一定的概率,紧接的反馈文本行并不是你期望的结果,
    /// 比如,你发送了$CCICA,可能并不能立即收到$BDICI反馈。
    /// </summary>
    /// <param name="port">串口</param>
    /// <param name="cmd">北斗命令,程序自动补上校验码</param>
    /// <returns>串口的一行反馈信息</returns>
    static string SendCmd(SerialPort port, string cmd)
    {
        cmd = cmd.Trim();
        cmd = cmd + "*" + CheckSum(cmd) + "\r\n";
        Console.Write("写串口:" + cmd);
        port.Write(cmd);
        return port.ReadLine();
    }
    
    /// <summary>
    /// 计算校验码, $和*(或行尾)之间(不含$和*)的所有字符的异或。
    /// </summary>
    /// <param name="bdstr">北斗指令</param>
    /// <returns>两个16进制数字,大写</returns>
    static string CheckSum(string bdstr)
    {
        byte sum = 0;
        foreach (char c in bdstr)
        {
            if (c == '$' || c == '!') continue;
            if (c == '*') break;
            sum ^= (byte)c;
        }
        return sum.ToString("X2");
    }
    

    现在主程序比较简单了,我们可以试验两条北斗命令的输出结果。SBX的反馈信息包括设备的厂商、类型、协议版本、序列号和卡号等信息。有关SBX的说明可以参看北斗2.1协议。

    string result = SendCmd(port, "$CCICA,0,0");
    Console.WriteLine(result);
    result = SendCmd(port, "$CCRMO,SBX,2,0");
    Console.WriteLine(result);
    

    小结

    1)4.0协议不好调试,常用2.1文本协议
    2)$开头
    3)命令有5个字符,前2个是信源,后3个是命令的含义
    4)*hh是校验码,异或生成,两个16进制数
    5)回车换行\r\n放末尾

    展开全文
  • 本文档是北斗B1C的接口控制文件1.0版本,中文的。也是从北斗网下载的。需要的也可以到官网 http://www.beidou.gov.cn/xt/gfxz/ 免费下载。
  • 北斗空间信号接口控制文件,公开服务信号V2.0 版
  • 本文件定义了北斗卫星导航系统空间星座和用户终端之间公开服务信号 B1C 的相关内容。 B1C 信号只在北斗三号中圆地球轨道( MEO)卫星和倾斜地球同步轨道( IGSO)卫星上播发,提供公开服务,地球静止轨道( GEO)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,233
精华内容 893
关键字:

北斗接口