如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?
他人面经
面经1:
- 自我介绍
- 项目介绍
- 你在项目中遇到过什么问题?如何解决的?
- 期望薪资是多少?
- 以后职业的规划是什么?
- 反问环节
面经2:
- 自我介绍
- 简述一下autosar整体架构 各部分的作用是什么?
- 数组,结构体,枚举,联合体之间的区别是什么?
- 为什么要选择联合汽车电子?
- 自身具备哪些优势能胜任这个岗位?
- 未来的职业规划是什么?
- 能适应加班吗?
- 还有其他想问的吗?
面经3:
- 英文自我介绍;
- 之前做过什么实习工作?
- 项目介绍;
- 电源的各个部分;
- 用过哪些仿真软件?
- 低通滤波器,
- 霍尔效应,
- 模电问题,
- 画一个12V电压用MOSFET驱动电阻电路
面经4:
- 对公司有什么了解;
- 职业规划;
- 有什么爱好;
- 反问;
- 使用过哪些调试方式?
- 对看门狗了解过吗?
- CAN的配置?CAN的采样点?CAN的BUSOFF?
- AutoSar?
- 在xx项目中为什么使用RTOS?与纯32相比有什么优势?
- 如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?
- 与UART相比,SPI的优势是什么?
- 为什么用TCP而不是UDP?
- 什么是socket?什么是端口?
- C编程?
面经5:
- 项目细节,算法步骤,用了哪些库
- CAN autosar协议了解程度
- icmp、三四次握手挥手
- 自我介绍
- 介绍一下 IMU6LL
- 项目中用到了哪些数据结构,怎么使用的链表
- 网络编程知道吗,有用过吗
- socket流程,说一下流程中具体的函数大概的作用
- tcp可靠传输、HTTPS如何实现加密的
- 项目中为什么用tcp而不用udp
- 项目中遇到的困难,怎么解决的
比较有参考价值的:
自我介绍
简述一下AUTOSAR整体架构 各部分的作用是什么?
回答1:(内容整理自网络)
标准的AUTOSAR架构:
编辑
编辑
1应用层(app/ASW)
2RTE层
3服务层-ECAL-MCAL-CCD(非上下层关系)
23加起来即是BSW层
4微控制器层(硬件层)
特别解释:
Service服务层:给应用层提供后台服务,如存储管理、网络管理等。
ECU抽象层:ECUAL - ECU Abstraction Layer,标准化硬件的基础功能和接口,控制网关报文转发、存储器读写等。
硬件抽象层:MCAL - Microcontroller Abstraction Layer,硬件相关的驱动软件。
复杂驱动:CDD
更细化的AUTOSAR架构:
编辑
数组,结构体,枚举,联合体之间的区别是什么?
回答2:(内容整理自网络)
数组
- 存储方式:只能存储相同数据类型的元素,通过索引访问。
- 内存占用:所有元素连续存储,大小为元素数量乘以单个元素大小。
结构体
- 存储方式:可包含不同数据类型的成员,通过成员名访问。
- 内存占用:各成员总和(可能因内存对齐增加额外字节)。
枚举
- 存储方式:定义一组符号常量,每个常量对应一个整数值。
- 内存占用:大小为整型(通常4字节)。
联合体
- 存储方式:共享同一块内存,同一时间只能存储一个成员的值。
- 内存占用:大小为最大成员的大小。
电源的各个部分介绍
回答3:(内容整理自网络)
发电机,蓄电池,电压调节器
EMC滤波器,压敏电阻,热敏电阻,整流桥,滤波电容,开关管,PWM控制器,整流器,高频变压器
用过哪些仿真软件?
回答4:(内容整理自网络)
使用过哪些调试方式?
回答5:(内容整理自网络)
eg:JTAG SWD 版本回溯 调试IO
看门狗相关问题
回答6:(内容整理自网络)
看门狗(Watchdog)是一种用于监视系统运行情况的硬件设备,它可以在系统出现故障或者卡死时自动重启系统,从而保证系统的稳定性和可靠性。
CAN的配置?CAN的采样点?CAN的BUSOFF?
回答7:(内容整理自网络)
(1)硬件连接
CAN通信需要两个节点之间的物理连接,一般使用两根电缆,其中一根称为CAN_H,一根称为CAN_L。两条电缆应该成对使用,不可颠倒。
(2)硬件配置
在实际应用中,需要使用控制器(如STM32)配置CAN总线的工作模式、波特率、滤波模式等参数。
(3)软件配置
在软件方面,需要编写CAN总线的通信协议,包括数据帧的发送和接收处理等。
采样点= (同步段时间+位段1时间)/(同步段时间+位段1时间+位段2时间) = (同步段时间+位段1时间)/每个BIT时间
CAN总线关闭(CAN bus off)是指CAN节点进入一种错误状态,无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时,该节点将进入CAN总线关闭状态。在这种状态下,该节点将停止发送和接收数据,并且无法参与到总线通信中。
在xx项目中为什么使用RTOS?与纯32相比有什么优势?
回答8:(内容整理自网络)
RTOS相对于裸机程序的优势在于它可以提供更高的可靠性、可维护性和可扩展性。RTOS可以提供更好的任务管理、内存管理、中断处理和通信机制,使得开发者可以更加方便地开发和维护复杂的嵌入式系统。此外,RTOS还可以提供更好的实时性能和响应能力,使得嵌入式系统可以更加稳定和可靠地运行。
如果通信时同时支持UART、CAN、TCP等通信方式,会选择哪个?
回答9:(内容整理自网络)
速率有限,简单的点对点通信:UART
长距离、抗干扰要求高、多主多从:CAN
效率要求相对低,但对准确性要求相对高:TCP
效率要求相对高,对准确性要求相对低:UDP
与UART相比,SPI的优势是什么?
回答10:(内容整理自网络)
通信速度
SPI支持更高的数据传输速率,通常比UART快1-2倍。SPI无起始位和停止位,数据可连续流传输,而UART需添加起始/停止位,导致传输效率略低 。
全双工能力
SPI支持全双工通信(MOSI和MISO独立传输),可同时发送和接收数据;UART仅支持半双工(需分时复用Tx和Rx引脚) 。
多设备连接
SPI通过SS/CS引脚选择从设备,支持多个从设备共用数据线,而UART需一对一连接,扩展性较差 。
抗干扰能力
SPI使用同步时钟信号(SCLK),减少时序误差;UART为异步通信,依赖波特率匹配,长距离传输易受干扰 。
SPI适合高速、短距离的板内或板间通信;UART更适用于长距离或低速场景
为什么用TCP而不是UDP?
回答11:(内容整理自网络)
效率要求相对低,但对准确性要求相对高:TCP
效率要求相对高,对准确性要求相对低:UDP
什么是socket?什么是端口?
回答12:(内容整理自网络)
socket包括 IP 地址和端口号两个部分
端口:设备与外界通讯交流的出口
介绍一下 IMU6LL
回答13:(内容整理自网络)
原生支持8路UART、2路Ethernet、2路CAN-bus、2路USB 2.0以及LCD等常用接口。
tcp可靠传输、HTTPS如何实现加密的
回答13:(内容整理自网络)
1.对称加密
2.非对称加密
3.数据摘要
4.CA数字证书
socket流程,说一下流程中具体的函数大概的作用
回答14:(内容整理自网络)
建立连接(以TCP为例)
-
创建套接字
- 服务器和客户端分别调用
socket()函数创建套接字,指定协议类型(如TCP)
- 服务器和客户端分别调用
-
绑定地址和端口
- 服务器通过
bind()将套接字绑定到特定IP和端口,客户端通常不绑定(使用系统分配的随机端口) 。
- 服务器通过
-
监听连接
- 服务器调用
listen()进入监听状态,等待客户端连接请求 。
- 服务器调用
-
三次握手
-
客户端调用
connect()发起连接,触发以下过程:- 客户端发送SYN(同步)报文
- 服务器响应SYN-ACK(同步-确认)报文
- 客户端发送ACK(确认)报文,连接建立 。
-
数据传输
-
接收连接
- 服务器调用
accept()接受客户端连接,生成新的套接字用于数据传输
- 服务器调用
-
双向通信
- 客户端和服务器通过
send()/recv()(或write()/read())发送和接收数据 。
- 客户端和服务器通过
-
缓冲区管理
- 数据先写入发送缓冲区(send buffer),通过网络传输后进入接收缓冲区(recv buffer),再由
recv()读取到应用层 。
- 数据先写入发送缓冲区(send buffer),通过网络传输后进入接收缓冲区(recv buffer),再由
断开连接(以TCP为例)
-
四次挥手
-
任一方调用
close()发起断开:- 主动方发送FIN(结束)报文
- 被动方确认ACK,关闭接收通道
- 被动方发送FIN,主动方确认ACK,等待2MS后关闭连接 。
-
其他协议(如UDP)
- 无需握手,直接通过
sendto()/recvfrom()发送和接收数据,适用于实时通信(如音视频流)
项目细节,算法步骤,用了哪些库
CAN autosar协议了解程度
icmp、三四次握手挥手
项目中用到了哪些数据结构,怎么使用的链表
网络编程知道吗,有用过吗
项目中遇到的困难,怎么解决
自身具备哪些优势能胜任这个岗位?
未来的职业规划是什么?
能适应加班吗?
期望薪资是多少?
对公司有什么了解;
职业规划;
有什么爱好;
反问
后记
看到这里的读者朋友们可以点击专栏查看同系列的其他文章,希望能帮到屏幕前的每一位技术人,该博文最初发表在CSDN上。