add CAN's content
This commit is contained in:
parent
a9f32f9f39
commit
ba22df835c
|
@ -1 +1,53 @@
|
|||
# CAN
|
||||
|
||||
## 模块介绍
|
||||
|
||||
### CAN总线
|
||||
|
||||
CAN指的是控制器局域网络,全称为Controller Area Network,由德国BOSCH公司开发,是目前国际上应用广泛的现场总线之一,是一种能够实现分布式实时控制的串行通信网络,同时CAN总线是一个广播类型的总线,任何在总线上的节点都可以监听到总线上传输的数据,可以满足一对多的传输需求,如下图所示:
|
||||
|
||||
<center>
|
||||
|
||||

|
||||
|
||||
</center>
|
||||
|
||||
CAN总线分为CAN_High和CAN_Low两根传输线,CAN控制器根据这两根线上的电位差来判断总线电平 ,数据发送时,CAN_High和CAN_Low都是2.5V,总线电平差为0,称之为静电平,即隐性电平。有数据发送时,CAN_High升高到3.5V,CAN_LOW降低到1.5V,总线电平差为2V。当CAN_High – CAN_Low < 0.5V的时候为隐性的,逻辑信号表现为“逻辑1”,当CAN_High – CAN_Low > 0.9V的时候为显性的,逻辑信号表现为“逻辑0”。
|
||||
|
||||
CAN总线协议包括五种类型的帧,分别为数据帧、遥控帧、错误帧、过载帧和帧间隔,各自作用如下表所示:
|
||||
| 帧类型 | 作用 |
|
||||
| --- | --- |
|
||||
| 数据帧 | 用于发送单元向接收单元传送数据的帧 |
|
||||
| 遥控帧 | 用于接收单元向具有相同 ID 的发送单元请求数据的帧 |
|
||||
| 错误帧 | 用于当检测出错误时向其它单元通知错误的帧 |
|
||||
| 过载帧 | 用于接收单元通知其尚未做好接收准备的帧 |
|
||||
| 帧间隔 | 用于将数据帧及遥控帧与前面的帧分离开来的帧 |
|
||||
|
||||
### TJA1050
|
||||
|
||||
<center>
|
||||
|
||||

|
||||
|
||||
</center>
|
||||
|
||||
TJA1050模块支持CAN总线协议高速收发功能,可作为收发器连接CAN总线控制器(例如STM32的CAN总线片上外设)和物理总线,将控制器的TTL电平信号转换成CAN_H和CAN_L信号,用于CAN总线通讯。模块完全遵循“ISO 11898”标准,最高数据传输波特率可达1M,引脚定义如下表所示:
|
||||
|
||||
| 序号 | TJA1050模块 | 备注 |
|
||||
| :---: | :---: | --- |
|
||||
| 1 | TXD | 模块输入口,接收CAN总线控制器的输出数据 |
|
||||
| 2 | GND | 模块公共地 |
|
||||
| 3 | VCC | 模块3.3V |
|
||||
| 4 | RXD | 模块输出口,接收CAN总线发送的数据 |
|
||||
| 5 | VREE | 模块参考电压 |
|
||||
| 6 | CANL | CAN_L总线 |
|
||||
| 7 | CANH | CAN_H总线 |
|
||||
| 8 | S | 模块模式切换引脚(高速收发模式和休眠模式) |
|
||||
|
||||
## 模块配置和代码树
|
||||
|
||||
对于CAN模块,默认配置就可以测试。
|
||||
[*] Enable CAN ---->
|
||||
-- Enable CAN
|
||||
|
||||

|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue