找回密码
 立即注册
楼主: f278457546

学习stc32g

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

50 串口

波特率

起始位 高->低

数据位

校验位

停止位

一、起始位的 16 个采样点(S1~S16)

采样点 采样值(预期) 核心作用
S1 0 第一次采到低电平,标记「可能是起始位」,启动验证流程
S2 0 继续验证,确认不是短暂毛刺
S3 0 同上
S4 0 同上
S5 0 同上
S6 0 同上
S7 0 同上
S8 0 同上
S9 0 完成 9 次连续低电平采样,确认是有效起始位,退出验证
S10 0 相位对准:不再做验证,开始为下一个数据位的中点采样做准备
S11 0 同上,继续对齐时钟相位
S12 0 同上
S13 0 同上
S14 0 同上
S15 0 同上
S16 0 起始位结束,时钟相位已对准,准备进入第 1 个数据位

二、第 1 个数据位的 16 个采样点(D1~D16)

采样点 采样值(预期) 核心作用
D1~D7 任意数据位值 过渡阶段,信号刚跳变,不采样,避免误判
D8/D9 数据位值(0/1) 关键采样点:数据位的中点,此时信号最稳定,读取并锁存该 bit 值
D10~D16 任意数据位值 相位保持,为下一个数据位的中点采样做准备
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

红外收发

nec红外收发

通过时间间隔形成编码

image.png

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

51 adc

adc原理

逐次逼近型adc

800Khz

image.png

一次adc采样的时间=2倍的采样速度*[上电时间+1+通道电压保持+1+采样时间]

adc寄存器组

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

51 dma

独立于cpu的搬砖人,当做输入输出设备看待

dma使用过程

配置数据方向

清理状态寄存器

源地址

源数据长度

目标地址

启动传输

中断修改标志位告知cpu已经搬完

dma也有4级优先级

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层
  • 书籍目录

  • 前辅文
  • 第1章 单片机设计导论
    • 1.1 单片机和桌面系统的基本架构
      • 1.1.1 单片机的结构
      • 1.1.2 桌面系统的结构
    • 1.2 处理器核的指令集类型
      • 1.2.1 MCS-51指令集
      • 1.2.2 MCS-251指令集
      • 1.2.3 两个指令集的兼容性
    • 1.3 嵌入式系统的硬件和软件
      • 1.3.1 嵌入式系统硬件
      • 1.3.2 嵌入式系统软件
    • 1.4 单片机程序设计语言
      • 1.4.1 分层结构
      • 1.4.2 设计实例
    • 1.5 单片机的性能评价
  • 第2章 单片机硬件开发基础
    • 2.1 STC系列单片机的发展历史
    • 2.2 STC单片机的IAP和ISP
    • 2.3 STC32G系列单片机的功能
    • 2.4 STC 32位单片机命名规则及封装
      • 2.4.1 命名规则
      • 2.4.2 封装类型
      • 2.4.3 引脚定义
    • 2.5 STC32G系列单片机引脚驱动原理
    • 2.6 STC32G系列单片机硬件下载电路
      • 2.6.1 硬件USB直接下载
      • 2.6.2 USB Link1D工具下载
  • 第3章 单片机软件开发基础
    • 3.1 Keil μVision软件的下载和安装
      • 3.1.1 软件功能介绍
      • 3.1.2 软件的下载
      • 3.1.3 软件的安装
      • 3.1.4 导入STC单片机元件库
      • 3.1.5 软件的启动
    • 3.2 Keil μVision设计流程和应用开发
      • 3.2.1 Keil μVision软件设计流程
      • 3.2.2 Keil μVision应用程序开发
  • 第4章 数值的表示和转换
    • 4.1 常用码制
      • 4.1.1 二进制码制
      • 4.1.2 十进制码制
      • 4.1.3 十六进制码制
    • 4.2 正数的表示方法
      • 4.2.1 正整数的表示
      • 4.2.2 正纯小数的表示
    • 4.3 正数的码制转换
      • 4.3.1 十进制正整数转换成其他进制数
      • 4.3.2 十进制正纯小数转换成二进制纯小数
    • 4.4 负数的表示方法
      • 4.4.1 符号幅度表示法
      • 4.4.2 补码表示法
    • 4.5 负数补码的计算
      • 4.5.1 负整数补码的计算
      • 4.5.2 负纯小数补码的计算
    • 4.6 小数的定点数表示方法
    • 4.7 小数的浮点数表示方法
  • 第5章 处理器内核和存储空间映射
    • 5.1 8位单片机处理器核的内部结构
      • 5.1.1 控制器
      • 5.1.2 运算器
      • 5.1.3 特殊功能寄存器
      • 5.1.4 扩展特殊功能寄存器
    • 5.2 字节存储顺序
    • 5.3 8位单片机存储器结构和地址空间
      • 5.3.1 程序Flash存储器
      • 5.3.2 数据Flash存储器
      • 5.3.3 内部数据存储器
      • 5.3.4 外部数据存储器
    • 5.4 32位单片机处理器核的内部结构
      • 5.4.1 寄存器文件
      • 5.4.2 专用寄存器
      • 5.4.3 程序状态字
    • 5.5 32位单片机存储器结构和地址空间
      • 5.5.1 程序存储器
      • 5.5.2 数据存储器
      • 5.5.3 特殊功能寄存器
    • 5.6 中断系统原理及功能
      • 5.6.1 中断原理
      • 5.6.2 中断系统结构
      • 5.6.3 中断使能和请求寄存器
      • 5.6.4 中断优先级原理
      • 5.6.5 中断优先级控制寄存器
      • 5.6.6 中断向量表
  • 第6章 单片机CPU指令集架构
    • 6.1 数据类型和端
    • 6.2 指令集中的符号规则
      • 6.2.1 寄存器符号的表示
      • 6.2.2 操作数符号的表示规则
    • 6.3 单片机CPU寻址模式
      • 6.3.1 立即数寻址模式
      • 6.3.2 直接寻址模式
      • 6.3.3 间接寻址模式
      • 6.3.4 寄存器寻址模式
      • 6.3.5 位移寻址模式
      • 6.3.6 相对寻址模式
      • 6.3.7 位寻址模式
    • 6.4 单片机指令模式的选择
    • 6.5 单片机CPU指令类型和格式
      • 6.5.1 算术指令
      • 6.5.2 逻辑指令
      • 6.5.3 数据传送指令
      • 6.5.4 位指令
      • 6.5.5 控制指令
  • 第7章 汇编语言程序设计
    • 7.1 汇编语言程序结构和段分配
      • 7.1.1 汇编语言程序框架
      • 7.1.2 汇编代码中段的分配
      • 7.1.3 注释
    • 7.2 符号和符号名字
      • 7.2.1 标号
      • 7.2.2 特殊的汇编器符号
    • 7.3 表达式和操作数
      • 7.3.1 数字
      • 7.3.2 字符
      • 7.3.3 字符串
      • 7.3.4 位置计数器
      • 7.3.5 操作符
      • 7.3.6 表达式
    • 7.4 控制语句
      • 7.4.1 地址控制
      • 7.4.2 存储器初始化
      • 7.4.3 保留存储空间
      • 7.4.4 过程声明
      • 7.4.5 程序链接
      • 7.4.6 段控制
      • 7.4.7 符号定义
      • 7.4.8 杂项
    • 7.5 条件汇编
    • 7.6 宏的定义和调用
    • 7.7 设计实例一:LED驱动和控制
      • 7.7.1 硬件设计原理
      • 7.7.2 I/O端口寄存器
      • 7.7.3 建立新的设计工程
      • 7.7.4 添加汇编语言文件
      • 7.7.5 设计汇编和链接
      • 7.7.6 分析hex文件
      • 7.7.7 程序下载和运行
    • 7.8 设计实例二:按键中断和LED控制
      • 7.8.1 硬件设计原理
      • 7.8.2 复制并打开设计
      • 7.8.3 修改汇编语言文件
      • 7.8.4 程序的硬件调试
  • 第8章 C语言程序设计
    • 8.1 存储器区域
    • 8.2 数据类型
      • 8.2.1 标准C语言所支持的类型
      • 8.2.2 位寻址对象
      • 8.2.3 特殊功能寄存器
    • 8.3 类型限定符
    • 8.4 存储类别
    • 8.5 绝对位置变量
    • 8.6 指针
      • 8.6.1 指针声明中的存储器类型
      • 8.6.2 指针转换
    • 8.7 函数
      • 8.7.1 存储器模型
      • 8.7.2 寄存器组
      • 8.7.3 中断函数
      • 8.7.4 可重入函数
      • 8.7.5 外来函数
      • 8.7.6 实时函数任务
      • 8.7.7 函数参数
      • 8.7.8 函数返回值
      • 8.7.9 使用SRC命令
      • 8.7.10 函数调用实例
    • 8.8 属性
    • 8.9 预处理器
      • 8.9.1 头文件
      • 8.9.2 宏
      • 8.9.3 宏操作符
      • 8.9.4 预定义的宏
      • 8.9.5 取消定义或重定义
      • 8.9.6 使用宏的注意事项
      • 8.9.7 预处理器命令
    • 8.10 内嵌汇编程序
      • 8.10.1 嵌入汇编代码的方法
      • 8.10.2 SRC文件
      • 8.10.3 设计实例
    • 8.11 定制文件
      • 8.11.1 基本I/O
      • 8.11.2 存储器分配
    • 8.12 设计实例:按键识别与显示
      • 8.12.1 按键的识别原理
      • 8.12.2 七段数码管显示原理
      • 8.12.3 设计中使用的寄存器
      • 8.12.4 建立新的设计工程
      • 8.12.5 添加头文件
      • 8.12.6 添加C语言源文件
      • 8.12.7 设计编译和链接
      • 8.12.8 程序下载和运行
  • 第9章 时钟、复位和电源管理
    • 9.1 时钟子系统
      • 9.1.1 第一级时钟
      • 9.1.2 第二级时钟
      • 9.1.3 第三级时钟
      • 9.1.4 相关的寄存器列表
    • 9.2 复位子系统
      • 9.2.1 硬件复位
      • 9.2.2 软件复位
      • 9.2.3 相关的寄存器列表
    • 9.3 电源子系统
      • 9.3.1 运行模式
      • 9.3.2 相关的寄存器列表
    • 9.4 设计实例一:软件复位的实现
    • 9.5 设计实例二:看门狗定时器的应用
    • 9.6 设计实例三:进入和退出空闲模式的实现
    • 9.7 设计实例四:进入和退出掉电模式的实现
  • 第10章 定时器与计数器原理和应用
    • 10.1 定时器/计数器模块功能
    • 10.2 定时器/计数器工作模式
      • 10.2.1 定时器/计数器0工作模式
      • 10.2.2 定时器/计数器1工作模式
      • 10.2.3 定时器/计数器2工作模式
    • 10.3 定时器/计数器寄存器组
    • 10.4 设计实例一:定时器/计数器设置和中断生成
      • 10.4.1 设计实现
      • 10.4.2 设计下载和验证
    • 10.5 设计实例二:定时器/计数器对外部脉冲计数
      • 10.5.1 硬件设计原理
      • 10.5.2 使用的寄存器
      • 10.5.3 设计实现
      • 10.5.4 设计下载和验证
  • 第11章 UART原理和应用
    • 11.1 RS-232串口通信标准
      • 11.1.1 RS-232传输特点
      • 11.1.2 RS-232数据传输格式
      • 11.1.3 RS-232电气标准
      • 11.1.4 RS-232参数设置
      • 11.1.5 RS-232连接器
    • 11.2 串口模块功能和引脚
    • 11.3 串口寄存器及工作模式
      • 11.3.1 串口寄存器组
      • 11.3.2 串口的发送和接收过程
    • 11.4 串口波特率的计算方法
    • 11.5 设计实例一:串口重定位的设计与实现
      • 11.5.1 串口重定位的背景
      • 11.5.2 建立新的设计工程
      • 11.5.3 添加type.h文件
      • 11.5.4 添加uart.h文件
      • 11.5.5 添加uart.c文件
      • 11.5.6 添加main.c文件
      • 11.5.7 设计编译和链接
      • 11.5.8 程序下载和运行
      • 11.5.9 串口工具的使用
    • 11.6 设计实例二:红外遥控器解码的实现
      • 11.6.1 红外接收器电路
      • 11.6.2 红外信号的捕获
      • 11.6.3 红外通信协议
      • 11.6.4 红外检测原理
      • 11.6.5 复制设计文件
      • 11.6.6 修改type.h文件
      • 11.6.7 添加ISR.asm文件
      • 11.6.8 修改main.c文件
      • 11.6.9 设计验证
  • 第12章 ADC原理和应用
    • 12.1 ADC的原理
      • 12.1.1 ADC的内部结构
      • 12.1.2 ADC计算公式
    • 12.2 ADC寄存器组
    • 12.3 设计实例:直流电压的测量和显示
      • 12.3.1 直流分压电路原理
      • 12.3.2 1602字符LCD屏接口
      • 12.3.3 1602字符LCD屏原理
      • 12.3.4 建立新的设计工程
      • 12.3.5 添加lcd1602.h文件
      • 12.3.6 添加lcd1602.c文件
      • 12.3.7 添加main.c文件
      • 12.3.8 设计编译和链接
      • 12.3.9 程序下载和运行
  • 第13章 PWM原理和应用
    • 13.1 PWM波形的原理
    • 13.2 高级PWM定时器原理
      • 13.2.1 高级PWM模块的功能
      • 13.2.2 高级PWM模块内部结构
      • 13.2.3 时基单元
      • 13.2.4 时钟/触发控制器
      • 13.2.5 捕获/比较通道
      • 13.2.6 中断
    • 13.3 设计实例一:呼吸灯的设计与实现
      • 13.3.1 建立新的设计工程
      • 13.3.2 添加type.h文件
      • 13.3.3 添加main.c文件
      • 13.3.4 设计编译和链接
      • 13.3.5 程序下载和运行
    • 13.4 设计实例二:直流风扇驱动和测速的实现
      • 13.4.1 直流风扇的驱动原理
      • 13.4.2 系统硬件连接
      • 13.4.3 系统设计策略
      • 13.4.4 建立新的设计工程
      • 13.4.5 添加已有的设计文件
      • 13.4.6 添加main.c文件
      • 13.4.7 设计处理和下载
  • 第14章 DMA原理和应用
    • 14.1 DMA的基本概念
    • 14.2 STC32G系列单片机DMA
      • 14.2.1 DMA结构
      • 14.2.2 DMA类型
    • 14.3 设计实例:存储器到存储器的DMA实现
      • 14.3.1 相关寄存器
      • 14.3.2 复制设计文件
      • 14.3.3 添加isr.asm文件
      • 14.3.4 修改main.c文件
      • 14.3.5 设计下载和验证
  • 第15章 USB原理和应用
    • 15.1 USB协议概述
    • 15.2 USB2.0程序设计实现
    • 15.3 人机交互设备原理
    • 15.4 人机交互设备程序设计
    • 15.5 通信设备类原理
    • 15.6 通信设备类程序设计
  • 第16章 CAN总线原理和应用
    • 16.1 CAN规范基础
    • 16.2 CAN模块功能
    • 16.3 CAN总线通信的实现
  • 附录 STC32G系列单片机硬件开发平台原理图
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

!

usb

image.png

Usb系统组成:

usb主机:数据使用者

usb设备:数据提供者

接线: VBUS D+ D- GND

d+ d-属于差分信号,d+与gnd构成比如3v,d-与gnd构成1v,则(d+) -(d-)=3-1=2v=高电平

十几测量可以类似红表笔接d+,黑表笔接d-就可以直接得到压差

物理层:

usb芯片中有两套收发器:低速/全速,高速 1.5Mb/s 12M, 480M

识别方法:

低速: D- 接1.5k-2k上拉电阻 总线速度1.5m 数据速率800b/s

全速: D+ 接1.5k-2k上拉电阻 总线 12m 数据速率1.2MB/s

高速: D+接1.5-2k后,电脑端吧d+d-拉低至少10ms后释放,然后设备控制器往d-送入17.8ma电流,这时候主机端通过d-和gnd之间的45欧姆电阻测得800mv电压,这就是chirp K,然后主机端发送kjkj表明支持高速模式,设备端收到kjkj后500us内断开D+的1.5k上拉电阻,连接设备这边的45欧姆终端电阻切换到高速模式

全速 / 高速下,D + 为 “1”、D - 为 “0” 是 J 状态,相反为 K 状态

全速或高速模式下,J 对应差分信号 “1”,K 对应 “0”;低速模式则相反,此时已进入差分传输过程 。

主机端持续发送kjkj信号,设备端在收到3对kj信号后500us内断开d+的1.5k电阻,d+接上45欧姆终端电阻完成切换.

高速传输过程中使用电流进行驱动,D + 和 D - 是差分信号, 通常 D + 为 + 400mV 时,D - 为 - 400mV,两者压差约 800mV 。 高速总线480Mb/s 数据速度53MB/s

usb供电 低速设备最多100ma 高功耗设备最多500ma

链路层

传输中,按时间看是由帧构成 一帧1ms 高速帧125us一个微帧,8个微帧组成一个1ms的帧.

USB通信由一系列帧构成。每一帧都有一个帧开始(SOF),随后是一个或多个数据操作。每一个数据操作都由一系列数据包构成。一个数据包由一个同步信号开始,结尾是一个数据包结束(EOP)信号,一个数据操作至少有一个令牌数据包。具体的数据操作可能有一个或多个数据数据包数据操作可能会有一个握手数据包,也可能无握手数据包

!

链路层中按帧传输:

低速/全速帧

sof包开头--令牌包/数据包/握手包 一帧以1ms为限

高速帧

sof包开头--令牌包/数据包/握手包 125us为一个微帧 8个微帧组成1ms的帧

sof包作用: 同步时钟

sof包结构:

8位同步字段 固定:0000 0001 同步时钟,表示包开始

4位PID+4位反码校验: 包类型标识符,

序号 PID[3:0] 名称 包类型 功能说明
1 0 SPLIT 特殊包 高速 Split 事务
2 1 OUT 令牌包 主机→设备发送数据
3 10 ACK 握手包 数据接收正确,应答成功
4 11 DATA0 数据包 数据同步模式 0
5 100 PING 特殊包 高速端点状态查询
6 101 SOF 特殊包 帧开始,同步时钟 + 帧号
7 110 NYET 握手包 高速未就绪,下次再发
8 111 DATA2 数据包 高速高带宽同步数据
9 1000 保留 未定义 / 保留
10 1001 IN 令牌包 设备→主机请求数据
11 1010 NAK 握手包 设备忙 / 无数据,拒收
12 1011 DATA1 数据包 数据同步模式 1
13 1100 PRE 特殊包 低速 / 全速前导令牌
14 1101 SETUP 令牌包 控制传输 setup 阶段
15 1110 STALL 握手包 端点挂起,传输失败
16 1111 MDATA 数据包 高速高带宽多数据传输

16位帧号:0开始到65535循环

令牌包: [同步头][包类型][16位真号(高8+低8)][令牌数据][校验和]

1.同步头(Sync)固定 8bit:00000001 

2. 包类型(Type)用来区分:SOF / 握手 / 令牌 / 数据例:8bit ◦

0x01 = SOF ◦ 

0x02 = 握手包 ◦

0x03 = 令牌包   

3. 16 位真号(Sequence / 帧号)你说的从 0 开始,最大 65535 

4. 令牌内容(Token)一般 8/16/32 位,看你设备规定 5. 校验和(Checksum)通常 8bit 或 16bit,防止出错

!

大类 数量 方向定义 数据流向
输出端点(OUT) 16 个(EP1_OUT ~ EP16_OUT) 主机 → 设备 PC 电脑 → AI8051U 单片机
输入端点(IN) 16 个(EP1_IN ~ EP16_IN) 设备 → 主机 AI8051U 单片机 → PC 电脑

令牌(token)数据包:开始数据操作,指定与传输有关的设备,始终由主机发送。

令牌包的类型通常分为四种:SOF、运包、Out包和Zeta包。

数据(data)数据包:传输加载数据、由主机或设备发送。

握手(handshake)数据包:确认已接收到无错误的数据、由接收方发送。

特殊数据包:支持多种不同的速度、由主机传输给集线器设备。

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

传输层

端点

主机-->设备USB控制器-->端点缓冲器

设备-->端点缓冲器-->设备usb控制器-->主机

所有usb控制器都有一个控制端点和多个数据端点

端点类型分为:

  1. 控制端点 双向 ep0
  2. 中断端点 hid设备,实时性,小数据量
  3. 批量端点 u盘之类,时间无所谓,数据量大
  4. 同步端点 视频音频数据流,允许错误数据

!

协议层

管道 Pipe、端点 Endpoint、传输类型

传输控制 1.控制传输 a.建立阶段

  b.数据阶段

  c.状态阶段


2.中断传输

3.

应用层

setup阶段: 请求,描述符

传输阶段: in out

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

PWM介绍

!

stc8h的pwm模块

8通道16位高级pwm定时器,有两组分为:

Pwma:可配置为四组带死区控制的互补对称PWM,或捕捉外部信号

pwmb:可配置成四路PWM输出或接收外部信号。

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

can规范基础

发展历史

can芯片

1987年intel发布82526芯片

随后飞利浦发布了82c200芯片

1991 can2.0协议,规定了

2.0a{使用11位标识符};

!

2.0b{使用29位标识符} 标识符实际就是设备地址

!

1993 iso11898 1M波特率 物理层

iso11898-1 数据链路层

iso11898-2 高速can总线的物理层

iso11898-3 低速can物理层和容错规范,40-125kb/s

!

物理层-->单端信号转差分信号

控制器-->收发过程,时序,纠错,对应芯片内的控制器

应用层-->数据

2012 博士公布can-fd1.0(可变速率的can),can-fd兼容现有的can2.0,因此可以新老混用

总线架构

电子控制单元:ECU=节点

can是多主多从结构,can网关允许普通计算机通过usb或者以太网与can网络进行通信

!

差分和线与

can_h>can_L=0 (h=3.5v,L=1.5v则差分电压位3.5-1.5=2v) ***can不需要共地***

can_h<=can_L=1 (h=0v,L=0v)

总线被占用 拉低0 显性

总线被释放 拉高1 隐性

线与,有人拉低,你就拉不高 开漏原理

!

!

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:9
  • 最近打卡:2026-05-01 03:00:05
已绑定手机

2

主题

54

回帖

144

积分

注册会员

积分
144
发表于 5 天前 | 显示全部楼层

总线架构

电子控制单元:ECU=节点

can是多主多从结构,can网关允许普通计算机通过usb或者以太网与can网络进行通信

!

差分和线与

can_h>can_L=0 (h=3.5v,L=1.5v则差分电压位3.5-1.5=2v) ***can不需要共地***

can_h<=can_L=1 (h=0v,L=0v)

总线被占用 拉低0 显性

总线被释放 拉高1 隐性

线与,有人拉低,你就拉不高 开漏原理

!

!

总线节点

!

can分时复用,

帧位传输单位

帧{

标识符ID 标识信息优先级 8字节

crc,ack 其他数据部分

}

can-fd每个帧扩展到最多64字节

can2.0A

!

系统灵活性:即插即用

消息路由:网络上的设备通过标识符确定自己要不要收数据

多播: 所有设备都接受数据 广播概念

数据一致性:保证消息可以被设备接收或者没有设备可以接收

位速率:can速率可以变,放在一个指定网络内是不可变且固定的

优先级:标识符里面包含优先级数据

远程数据请求:一个节点发送一个请求让另外一个解法给他数据

多主设备:总线空闲时候任何单元都可以请求当主设备发送数据

仲裁:线与 开漏的方式总裁

安全性:监视,crc,位填充,消息帧检查

错误恢复时间:见到到错误到下一条数据开始的时间最多为29位的时间

故障界定:can节点能区分短暂干扰和永久性故障,暂时屏蔽故障节点

连接:can的链路上可以连接多个单元(理论无限,实际受延迟时间和总线上的电器负载影响)香农定理

单通道:

总线值:

响应:

休眠/唤醒:

can2.0B

!

回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-5-1 10:29 , Processed in 0.138609 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表