• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

终端–通信和传输协议

开发技术 开发技术 3小时前 1次浏览

核心概念

工作模式  传输时序

硬件

感知芯片-Perception chip  SoC称为系统级芯片,也有称片上系统System-on-a-Chip
微控制单元(Microcontroller Unit;MCU)
ECU(Electronic Control Unit)电子控制单元
线控: 线控- drive-by-wire  
  线控执行主要包括线控制动、转向和油门
  ECU(电控单元)

硬件连接关系

硬件设计方案
  SPI(Serial Peripheral Interface,串行外设接口)是一种高速、全双工、同步通信总线,
  允许嵌入式处理器与各种外围设备以串行方式进行通信、数据交换
  连接方案
    只有一个maser、一个slave时,将master与slave上名字相同的4对接口两两互联,即可完成了接口的互联

引脚

  通信使用3根线完成:(1)地线,(2)发送数据线,(3)接收数据线。
      RS-232通信方式允许简单连接三线:Tx、Rx和地线
      串口通信最重要的参数是波特率、数据位、停止位和奇偶校验
  SPI它只需4条线:
	 -SCLK (Serial Clock,也叫SCK、CLK) 接口时钟,master输出至slave的通讯时钟。
	    串行时钟线
     - MOSI(Master Output Slave Input,也叫SIMO、MTSR、DI、DIN、SI)自master输出至slave的数据线。
	    主机输入/从机输出数据线(MISO)
     - MISO(Master Input Slave Output,也叫SOMI、MRST、DO、DOUT、SO)自slave输出至master的数据线。
	   主机输出/从机输人数据线(MOSI)
     - SS  (Slave select,也叫 NSS、CS、CSB、CSN、EN、STE、SYNC)master对slave的片选信号,自master输出至slave,低有效  
	     低电平有效的从机选择线(NSS) 	

传输协议

    SPI 是串行外设接口(Serial Peripheral Interface)
      (RS-232、RS-422与RS-485的标准与应用)
      (RS-232、RS-422与RS-485的标准与应用)
    USB(Universal Serial Bus)
      COM接口就是遵循RS232标准的物理口。
	  COM口指串口的物理实现,而RS232是一种串口接口标准
	GPIO G英文全称为 General-Purpose IO ports,也就是通用IO口 
 串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,
    但是串口可以在使用一根线发送数据的同时用另一根线接收数据

基本过程

   通信由主设备发起,主设备通过 CS 选择要通信的从设备,
   然后通过 SCLK 给从设备提供时钟信号,
   主设备的数据通过 MOSI 输出给从设备,
   同时主设备通过MISO 接收从设备发送的数据

优缺点

  SPI的缺点:没有指定的流控制,没有应答机制确认是否接收到数据
  SPI 的优点:可以同时发出和接收串行数据;

SPI控制器的结构

	 主要波特率发生器、主控逻辑、收发缓冲、控制部分等几大部分组成

SPI调试

SPI 通信的调试有多种方法,可以通过逻辑分析仪、示波器和变量观察法

分层

  SPI 物理层-硬件实现
  SPI 驱动层-通信协议层
  SPI 链路传输层--通信协议管理,应用数据分片等
  SPI 应用层
     周期性报文--结构化输出输出
	 数据格式-- Header+ content
	   Header
	        MessageID  MeasageName  MessageDirection   MessageDescription

开发代码集成

 操作系统调用
 驱动

CAN信号的数据形式

 汽车电子范畴常用到的两种数据库:dbc,CDD(还有一种用于标定的数据库A2L)。
   DBC解析属于收发报文之后的事情

dbc;

dbc(data base CAN)文件描述单一CAN网络中各逻辑节点信息,
      依据该文件可以用来监视何分析CAN网络中所有逻辑节点的运行状态信息。习惯叫它通信数据库
     比如现在以车载娱乐系统为例,作为与车载其他节点数据交互频繁的节点,
	 车载娱乐系统需要实时反馈其他节点状态。最典型的莫过于与倒车雷达和车身空调控制器的交互。
     OEM在研发款新车时,会先确定整车网络拓扑(谁是网管,谁是其中网络节点)。
     对于CAN网络,会定义网络通信内容。确定网络中有那些节点(Nodes)、用到那些CAN通信报文(Messages)、报文中包含那些信号(Signals)。
     这些内容一般存在方式是Excel或者PDF文件。这时将其内容编辑成数据库形式:

    1、 数据库为dbc;
    2、 编辑工具为CANdb++ Editor
 二
   CDD是业界常用的诊断数据库,通过CANdelaStudio工具编辑生成

Vector软件 CANdb++

 Vector品牌下的CANdb++软件产品编辑器提供了可视化的选项中包含的数据容易DBC数据库和修改数据。 
 为此它包含专业、面向应用的数据视图
 DBC数据库中描述的属性可以网络,ecu连接到总线,消息和信号。 
     CANdb + +编辑器提供了可视化的选项中包含的数据容易DBC数据库和修改数据。 为此它包含专业、面向应用的数据视图。 
     CANdb + +编辑器支持开发人员在开发过程的不同阶段:
     DBC文件的创建
     向现有DBC添加消息和信号数据库
     发射和接受关系的定义
     仿真的定义环境变量
     添加特殊消息用于测试目的
     添加消息校准ecu

 demo车,通常软件模块使用ROS作为middleware进行开发,
   在ROS系统上运行 preception model, localization model, path planning model 等,
   control model的ROS节点发出制动油门转向信号,通过CAN网络控制车辆的加减速和转向

参考

 SPI接口扫盲 SPI定义/SPI时序(CPHA CPOL)  https://blog.csdn.net/douqingl/article/details/50452355
 Linux下若没有SPI控制器,GPIO火速来救主!https://my.oschina.net/u/4280959/blog/4776730
 SPI通信协议介绍及调试方法
 CAN报文DBC解析的编程方法说明 https://www.vecll.com/news/10.html
 自动驾驶系统:CAN与ROS通信  https://zhuanlan.zhihu.com/p/48632100

程序员灯塔
转载请注明原文链接:终端–通信和传输协议
喜欢 (0)