说明

在UDS协议中,其中有一点我视作为基础,即帧传输。也即是数据传输这一块,在UDS的帧传输中,分为4种:

  1. SF单帧
  2. FF第一帧
  3. CF连续帧
  4. FC流控制帧

首先,我们抛开以上的东西,假设一个销售商(超市)和一个供应商之间存在某种通信协议,该协议大致规定了货物的发送和接收。即:

  1. 供应商每次提供给超市的货物的数量与种类。

经过分析,发现,就只有以上的这些东西。假设,之间的传输是通过货车来运输的,我们知道,对于同一辆货车所载的货物是一定的,当然,这里需要转换一下,即UDS data的传输是基于CAN协议的。所以,不能单单理解为所载的货物,我认为理解为信息稍微好点。

以下为分析:

  1. 如果供应商给销售商发货物,当货物很少的时候,可以只用一辆货车载货物。
  2. 当货物有点多的时候,就需要控制信息了,即表明哪是我的第一辆车,哪是第二辆车。
  3. 销售商对货物的接纳需要有个控制,协定好供应商每多少天发送多少货物过来,直到两者之间的某种服务结束。
  4. 当供应商要发很多货物给超市的时候,当这个数量超过了超市的可接收的范围,表明问题来了,超市可以有权不接收这些货物。

对于UDS中的数据传输,如果按照以上这些的话,需要有如下的信息。

  1. 帧类别
  2. 帧数据数
  3. 帧数据

以上说了,帧类别4种,每一帧的数据数不超过8(此处后面解释),为了利用空间,完全可以压缩在一个byte进行表示。即Byte的前4bit表示帧类型,后4位表明该帧数据区域的个数。

UDS帧传输的更多相关文章

  1. thrift之TTransport层的分帧传输类TFramedTransport

    帧传输类就是按照一帧的固定大小来传输数据,所有的写操作首先都是在内存中完成的直到调用了flush操作,然后传输节点在flush操作之后将所有数据根据数据的有效载荷写入数据的长度的二进制块发送出去,允许 ...

  2. UDS报文解读

    UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的汽 ...

  3. SDL实现限制帧速

    很多人都在SDL_PollEvent和SDL_WaitEvent之间纠结.前者会带来更好的帧数表现,但是CPU占用极大,可以直接吃掉一个核心.后者则基本不占用CPU,但是帧数会受到影响.有没有办法使两 ...

  4. 深入理解linux网络技术内幕读书笔记(十)--帧的接收

    Table of Contents 1 概述 1.1 帧接收的中断处理 2 设备的开启与关闭 3 队列 4 通知内核帧已接收:NAPI和netif_rx 4.1 NAPI简介 4.1.1 NAPI优点 ...

  5. Android和C#实时视频传输Demo

    说起去年的Demo.以今天的免费整齐优势. 原理很easy,虽然没有写android申请书.但,好了~ 高级语言是相通的.傲慢约.就这么简单研究了一下api后,找到相机对象有一个预览回调方法. 意识到 ...

  6. 3G下的无压缩视频传输(基于嵌入式linux) (转载)

    本课题研究嵌入式系统在数据采集,3G无线通信方面的应用,开发集视频采集.地理信息采集.无线传输.客户机/服务器模式于一体的车载终端,实现终端采集视频与GPS信息的传输,支持服务器端显示视频与GPS信息 ...

  7. 在传统以太网中,为什么要有最小帧长度(64 bytes)和最大帧长度(1500 bytes)的限制?

    遇到的问题:以太网的数据帧封装如下图所示,包含在IP数据报中的数据部分最长应该是( )字节? A.1434 B.1460 C.1480 D.1500 答案:C 原因: 以太网(IEEE 802.3)帧 ...

  8. CAN总线过载帧

    过载帧 过载帧与主动错误帧具有相同的格式.但是,过载帧只能在帧间间隔产生,因此可通过这种方式区分过载帧和错误帧(错误帧是在帧传输时发出的).过载帧由两个字段组成,即过载标志和随后的过载定界符.过载标志 ...

  9. 以太坊RLPx传输协议

    本文主要内容翻译自:The RLPx Transport Protocol,其中添加了一些个人的理解,由于密码学水平有限,不正确之处望指正.另外原文可能已经更新,最新内容请直接阅读原文. 本文档定义了 ...

随机推荐

  1. warning C4005: “AF_IPX”: 宏重定义的解决办法

    warning C4005: “AF_IPX”: 宏重定义warning C4005: “AF_IPX”: 宏重定义 解决方法: 由以上代码可以看出如果在没有定义WIN32_LEAN_AND_MEAN ...

  2. re正则表达式13_review of regex symbols

    Review of Regex Symbols This chapter covered a lot of notation, so here’s a quick review of what you ...

  3. SQL 使用小记

    1. case语句 示例 select id, name, case user_role then "管理员" then "未注册用户" then " ...

  4. Java Web的两种开发模式

    参考文献:http://www.cnblogs.com/xdp-gacl/p/3908610.html 一.Jsp+JavaBean 此模式如下图所示:

  5. C++ typedef用法小结 (※不能不看※)

    C++ typedef用法小结 (※不能不看※) 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不 ...

  6. C语言进行面向对象编程

    http://blog.csdn.net/dadalan/article/details/3983888 http://blog.163.com/zhqh43@126/blog/static/4043 ...

  7. macbook 放flash发烫,转html5

    http://zythum.sinaapp.com/youkuhtml5playerbookmark/

  8. [工具]Swagger-api接口文档描述

    摘要 工作中经常的用到webapi,之前都是提供的使用postman模拟请求的截图,非常的不方便,如果能在项目中集成一个在线查看接口说明的地方,肯定更方便更直观.在网上看到swagger这个组件,界面 ...

  9. Linux下查看文件和文件夹大小

     当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.    du可以查看文件及文件夹的大小. ...

  10. Typecho中的gravatar头像无法加载

    将var/Typecho/Common.php中的第939行中的http://www.gravatar.com/中的www.给去掉即可! //修改前 $url = $isSecure ? 'https ...