项目学习总结:CAN总线、摄像头、STM32概述

一、CAN(多主、错误检测)

(一)CAN简介:控制器局域网络,也是多主方式的串行通信协议,主要用于汽车行业。

(二)CAN的特点

1.多主控制

2.所有消息都以固定格式发送(广播的通信模式)

3.系统柔软性:无地址类信息,所以增加单元时,连接在其他总线上的软硬件不需要改变

4.通过是"遥控帧",请求其他单元发送数据

5.所有单元都有:错误检测功能。错误通知功能、错误恢复功能

6.故障封闭:当总线上发生持续错误时,故障单元会被从总线上隔离出去

(三)电平分类(差分传输)

1.显性电平表示逻辑"0", CAN_H电平 3.5V ,CAN_L电平1.5V,电位差为 2V。

2.(空闲状态)隐形电平表示逻辑"1", CAN_H 和 CAN_L 电压都为 2.5V 左右,电位差为 0V。

(四)收发过程

(五)电路结构

1.闭环结构

2.开环结构

(六)消息格式

1.帧起始(SOF) 1位 表示一帧的开始,总线空闲时任意单元可发起

2.仲裁段 11位标准ID(12~32位)

3.控制段 6位

4.数据段 0~64位

5.CRC段 16位 15位CRC效验码,!位CRC定界符

6.ACK段 2位

7.帧结束(EOF) 7位

8.帧间隔(IFS) 大于等于3位

(七)仲裁机制:ID号的线于特性(逐位比较),标识符越小优先级越高

二、imx6ull摄像头模块

(一)CSI接口适配器,用于解耦各种类型的摄像头

(二)使用OV5640的CMOS摄像头

三、STM32概述(STM32F103C8T6、通用型经典款)

(一)HAL库+STM32CubeMX配置信息生成代码+keil5

(二)STM32F1系列,CortexM3内核:8MHZ的晶振。主频配置为为72MHZ

(三)哈弗架构

(四)GPIO的输入输出模式

1.输入模式

①浮空输入:这时候GPIO处于高阻抗状态,电平由外部电路决定,容易受干扰

②上拉输入:内部接上拉电阻,默认高电平,当外部接地时读到低电平。

③下拉输入:内部接下拉电阻,默认低电平,外部接高电平时读到高电平。

④模拟输入:用于ADC读取模拟信号,比如温度传感器的电压值,此时引脚不进行数字处理。

2.输出模式

①开漏输出:只能输出低电平或高阻态,需要外部上拉电阻才能输出高电平

②推挽输出:可以输出高或低电平,驱动能力强,高低电平由MOS管推挽结构控制。

③推挽式复用:用于外设功能,如SPI、USART的TX引脚,由外设控制,结构同推挽。

④开漏复用:类似开漏,但由特定外设控制

(五)1us延时:HAL库中最小1ms,所有得配置时钟

(六)DMA(代替CPU存取数据)

1.STM32F1系列有两个DMA,总共12个通道,每个通道可对应不同外设的DMA请求仲裁器:当发生多个DMA通道请求,由仲裁器管理响应顺序

2.外设-->DMA请求-->DMA控制器

DMA控制器-->应答信号-->外设

外设-->应答信号-->DMA控制器

启动DMA传输,直到传输结束

相关推荐
Z21-X5 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
red_redemption5 小时前
自由学习记录(230)
学习
Zwawa6 小时前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH6 小时前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
陈希1237 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘7 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
刘大望7 小时前
不用买开发板:用 QEMU 走通嵌入式 Linux 全流程(三)存储与网络实地验证
linux·qemu·嵌入式linux·alpine
shimly1234567 小时前
(done) 嵌入式硬件电路图 (5) 重要的元器件特性之二极管三极管
嵌入式硬件
那明眸似水8 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
Zw-awa9 小时前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
stm32