汽车网络处理设计

Posted 吴建明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汽车网络处理设计相关的知识,希望对你有一定的参考价值。

汽车网络处理设计

适用于中央网关、域控制器、FOTA、安全密钥管理、智能天线和高性能中央计算节点

概述

恩智浦S32G-VNP-RDB2是一款紧凑型、高度优化的集成板,适用于汽车服务型网关(SoG)、域控制应用、高性能处理、功能安全和信息安全应用。

S32G-VNP-RDB2基于4个Arm® Cortex®-A53内核和3个双核锁步Arm Cortex-M7内核,提供高性能计算能力和丰富的输入/输出(I/O),为中央网关、域控制器、FOTA、安全密钥管理、智能天线和高性能中央计算节点等各种典型的汽车应用提供了参考。

S32G-VNP-RDB2为新的汽车应用提供了高水平的计算、实时网络性能、数千兆字节的数据包加速和安全性。

开箱即用

1.1 S32-VNP-RDB2汽车网络处理参考设计板介绍

 

1.2 完整的板套件介绍

 

获取软件

2.1 为控制台安装终端仿真器

安装任意终端仿真器,如Tera Term、Putty等。
建议使用Tera Term 2.3. Tera Term是支持UTF-8协议的免费开源软件终端仿真器。现在TTSSH支持SSH2协议(最初版本支持SSH1)。

2.2 安装FTDI CDM WHQL驱动程序

FTDI芯片的FTDI CDM v2.12.28 WHQL串行配置驱动程序

连接!

开始试用S32-VNP-RDB2板!

3.1 插入SD卡

SD卡出厂时预装了Linux BSP镜像,只需将SD卡插入S32G-VNP-RDB2板上的相应插槽中即可。

3.2 连接UART线缆

使用UART线缆的Micro-AB接口连接S32G-VNP-RDB2的UART0端口。
使用UART线缆的typeA接口连接PC。

3.3 连接12 V电源

将电源连接至S32G-VNP-RDB2上的12 V电源插孔。

运行

4.1 设置控制台

1. 打开控制台终端仿真器。
注:使用Windows PC上的Tera Term 2.3 。

2. 选择PC的 “设备管理器”中的串行端口,点击OK (确定)。

3. 前往Setup > Serial Port,选择115200波特率。

4.2 为板通电

将电源开关SW15拨到S32G-VNP-RDB2板的左侧。左侧是第1.1章中图片的视角

4.3 运行Linux BSP

Linux BSP自动从SD卡运行。
Tera Term的控制台显示屏显示Linux BSP的运行日志。

Processors

Transceivers

Power Management

  • VR5510 :  面向S32G处理器的多通道(9) PMIC – 8个高功率,1个低功率,符合ASIL D安全级别

Switches

  • SJA1110 :  内置100BASE-T1 PHY的多Gig安全TSN以太网交换机

产品规格

 

·        S32G-VNP-RDB2   ACTIVE

  • S32G Reference Design 2 for Vehicle Network Processing
  • S32G-VNP-RDB2仅适用于授权客户购买。
    每个订单将在完成前进行审查。
    对于此审批流程给带来的不便,我们深表歉意。 S32G-VNP-RDB2仅适用于授权客户购买。
  • S32G参考设计板2
  • 通用AC适配器
  • AC/DC 12V, 6.67A电源
  • 16GB SD卡
  • DuPont线路
  • (2) USB A转Micro B线缆(UART0/1)
  • 以太网和以太网环回电缆
  • 100BASE-T1以太网线
  • J5线缆(LIN/ADC)和J6线缆(CAN/FlexRay)
  • (4) 散热器
  • (4) 散热垫
  • M2螺钉

套件包含

AWS IoT Greengrass

将S32G-VNP-RDB和S32G-VNP-RDB2作为Greengrass内核

AWS IoT Greengrass是AWS提供的一款软件,用于将云功能扩展到本地连接的设备。
这允许本地设备发布/订阅主题,即使与AWS IoT控制台没有连接
Greengrass组由一个Greengrass内核、连接到该内核的多个Greengrass设备、lambda函数和其他运行在该内核上的服务组成。

1. 前提条件

  • AWS Greengrass账户
  • S32G-VNP-RDB或S32G-VNP-RDB2板
  • Linux主机(本指南使用Ubuntu 18.04)
  • Linux主机和S32G目标应连接同一个LAN

2. 通过Greengrass支持创建S32G镜像

在Linux主机中按以下步骤操作。
如果以前使用Yocto构建了一个S32G Linux BSP,则可跳过第2.1节。

2.1 安装主机依赖项

  $ sudo  update $ sudo  intall python git curl $ mdkir ~/bin $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo $ PATH=${PATH}:~/bin  

2.2 构建Greengrass镜像

Fetch Repo

按以下步骤下载构建镜像所需的Yocto步骤。

  $ mkdir <yocto_dir> $ cd <yocto_dir> $ repo init -u https://source.codeaurora.org/external/autobsps32/meta-nxp-greengrass $ repo sync  

设置主机(仅限第一次)

下一步下载Yocto依赖项并将其安装到主机。

  $ ./sources/meta-alb/scripts/host-prepare.sh  

配置构建目录

下一步创建构建目录并配置要使用的额外层。<machine>值可以是S32G-VNP-RDB或S32G-VNP-RDB2。

  $ source nxp-setup-alb.sh -m  -b <build_dir> -e "meta-aws meta-java meta-nxpgreengrass meta-tensorflow"  

安装PFE固件

meta-nxp-greengrass层在S32G-VNP-EVB中使用eth0接口访问互联网,在S32G-VNP-RDB或S32G-VNP-RDB2中使用pfe2接口。要使用pfe2,在<yocto_dir>/<build_dir>/conf/local.conf中包含以下行。
注:PFE固件通过Flexera提供。

  DISTRO_FEATURES_append = " pfe" PFE_LOCAL_FIRMWARE_DIR = "<path_to_pfe_fw_directory>"  

构建镜像

支持Greengrass的镜像为fsl-image-auto-greengrass。

  $ bitbake fsl-image-auto-greengrass  

2.3 刷新镜像并启动

将SD卡插入Linux主机并执行以下命令。

  $ sudo umount /dev/ $ cd tmp/deploy/images// $ sudo dd if=-fsl-image-auto-greengrass.sdcard of=/dev/mmcblk0 bs=4M status=progress $ sync  

将SD卡插入目标,然后通电。

首次启动

首次启动时,Greengrass守护进程将因缺少证书而失败。
按以下章节的内容获取并安装证书,并将云配置部署到Greengrass内核。

3. 准备Greengrass组

按照AWS IoT Greengrass网页的以下指示进行操作:

4. 将云配置部署到Greengrass内核

“在AWS Iot上配置AWS IoT Greengrass”时,将一个文件下载到主机,hash-setup.tar.gz (例如c6973960cc-setup.tar.gz)。此压缩文件包含内核设备证书和加密密钥,这些密钥支持AWS IoT内核和包含Greengrass内核专用配置信息的config.json文件之间进行安全通信。

将hash-setup.tar.gz放入目标rootfs。
在Linux主机执行下面的命令,将.tar.gz文件传输到目标设备。

  $ scp hash-setup.tar.gz root@<target_ip_address>:/  

在目标设备中,解压/greengrass文件夹中的文件,并下载Amazon Root CA 1证书。
完成后可重启。

  $ tar -xzvf hash-setup.tar.gz -C /greengrass $ cd /greengrass/certs/ $ wget -O root.ca.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem $ reboot  

现在有了正确的证书,Greengrass在重新启动后应该不会出错:

 

 

 根据步骤2中的将云配置部署到Greengrass代码设备指示操作,并确保S32G Greengrass内核已联网。

5. 验证Lambda函数

如果已创建了Lambda函数并使用了“HelloWorld”示例,请按照验证Lambda函数是否在核心设备上运行来测试它是否按预期运行。
如正确按指示操作,应看到以下输出:

 

走到这一步,已经使Greengrass内核在S32G上运行。

6. 增加ML框架支持

Tensorflow

Yocto构建的镜像支持tensorflow 1.13。要进行双重检查,请在目标中执行以下命令:

  $ python3 -c "import tensorflow as tf; print(tf.__version__)"  

Apache MXNet

镜像的rootfs中有libmxnet.so,但接下来的步骤应该在目标中执行,以便用Python支持它。

  $ cd /mxnet/python $ python3 setup.py Install  

要验证版本,执行以下命令:

  $ python3.7 -c "import mxnet; print(mxnet.__version__)"  

DLR

要添加DLR支持,在目标中执行下面的命令:

安装完DLR后,使用以下命令查看其版本:

  $ python3 -c "import dlr; print(dlr.__version__)"  

以上是关于汽车网络处理设计的主要内容,如果未能解决你的问题,请参考以下文章

是否有在单个活动中处理多个片段的 Android 设计模式?

汽车TBOX新能源汽车车载智能网联终端设计与应用

论如何设计一款端对端加密通讯软件

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

77GHz汽车防撞雷达信号处理设计与实现

UCLA研发新型光学神经网络可立即识别物体 或用于自动驾驶汽车等