CAN_BS1(时间段1)定义了采样点的位置,其值可以在1到16个时间单元之间调整,为了补偿网络中不同节点频率差异导致的相位正向漂移,此值可以被自动延长。CAN_BS2(时间段2)则定义了发送点的位置,可编程范围为1到8个时间单元,为了补偿相位的负向漂移,此值可以被自动缩短。CAN_Prescaler(预分频器)...
这里其实有一个别扭的地方:对于CAN收发器来说,CAN的压差是输入,pin4是输出,那么输出为什么不叫TXD?RXD不是接收吗?真他么别扭 当然,因为连MCU时是RX接RX,TX接TX,所以对于MCU来说,收发器的RXD确实是MCU的接收,倒也没毛病b)再看TXD,if TXD ==1,与DRIVER相连的上下管都断开,也就是不干预CAN高和CAN低。因此p...
(2)位时序:CAN外设的位时序只有SS段、BS1段、BS2段共三段 (3)波特率: BS1段时间 Ts1 = Tq x (TS1[3:0] + 1) BS2段时间 Ts2 = Tq x (TS2[2:0] + 1) 一个数据位时间 T-1bit = 1 + Ts1 + Ts2 = N Tq 位时序寄存器 CAN_BTR 中的 BRP[9:0] 寄存器位可以设置CAN 外设时钟的分频...
CAN协议中对它使用的CAN_High及CAN_Low表示的差分信号做了规定,见表 401及图 404。以高速CAN协议为例,当表示逻辑1时(隐性电平),CAN_High和CAN_Low线上的电压均为2.5v,即它们的电压差VH-VL=0V;而表示逻辑0时(显性电平),CAN_High的电平为3.5V,CAN_Low线的电平为1.5V,即它们的电压差为VH-VL=2V。例如,...
CAN控制器可以自动对位时序进行再同步,再同步时自动调整BS1和BS2的长度,位段加长或缩短的上限称为再同步跳转宽SW,取值是1到4个tq。 3、帧的种类 帧的种类 4、标准格式数据帧和遥控帧 帧结构 标准格式数据帧和遥控帧的结构如上图所示,它们都有11位的ID。数据帧带有ID和0到8字节的数据;遥控帧只要ID,没有数据...
STM32的CAN外设位时序中只包含3段,分别是同步段SYNC_SEG、位段BS1及位段BS2,采样点位于BS1及BS2段的交界处。其中SYNC_SEG段固定长度为1Tq,而BS1及BS2段可以在位时序寄存器CAN_BTR设置它们的时间长度,它们可以在重新同步期间增长或缩短,该长度SJW也可在位时序寄存器中配置。理解STM32的CAN外设的位时序时,...
* tbs2:时间段2的时间单元. 范围:CAN_BS2_1tq~CAN_BS2_8tq; * tbs1:时间段1的时间单元. 范围:CAN_BS1_1tq ~CAN_BS1_16tq * brp :波特率分频器.范围:1~1024; tq=(brp)*tpclk1 * 波特率=Fpclk1/((tbs1+1+tbs2+1+1)*brp);
//CAN波特率 = RCC_APB1PeriphClock/sync_seg+CAN_BS1+CAN_BS2/CAN_Prescaler;//如果CAN时钟为30M...
CAN_BS1:时间段1(BS1):定义采样点的位置。其值可以编程为1到16个时间单元,但也可以被自动延长,以补偿因为网络中不同节点的频率差异所造成的相位的正向漂移。CAN_BS2:时间段2(BS2):定义发送点的位置。其值可以编程为1到8个时间单元,但也可以被自动缩短以补偿相位的负向漂移。CAN_Prescaler:...