pic18f4580_CAN波特率设置
在CAN总线上的所有节点必须有相同的波特率。CAN
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
使用“反向不归零(NRZ)”编码,这个编码不能对数据串的时钟进行编码。因此,接收节点的时钟必须与发送节点的时钟同步。
由于振荡器或发送时钟可能随节点的不同而改变,所以接收器必须要有与发送时钟边沿同步的锁相回路(PLL),使接收器时钟同步。因为数据是NRZ代码,有必要加一个填充位以确保至少每6个时钟周期后产生一个脉冲边沿,使数据锁相回路(DPLL)同步。
PIC18F4580单片机芯片的位定时时间分成许多称做时间当量(T)的最小时间周期所组成时间段。 Q
总线的定时功能是在位时间帧中执行的,例如与自身振荡器同步、网络传输延时补偿和采样节点,都是通过DPLL的可编程位定时逻辑来配置。
CAN总线上的所有器件秘须使用相同的位率。然而,不是所有器件都要求有相同的主控振荡器时钟频率。对于个别器件不同的时钟频率,秘须通过适当设定波特率后分频器和每个时间段的时间当量来调整。
标称的位率是每秒发送的位数,条件是假定理想的发送器带理想振荡器,而且忽略重同步的情况。这个标称的位率最大值是1Mbps。
标称位时间定义如下:
T=1/标称位率 Bit
位时间可以认为是被分成单独的没有重叠的时间段
, 同步时间段(Sync_Seg);
, 传输时间段(Prop_Seg);
, 相位缓冲时间段1(Phase_Seg1);
, 相位缓冲时间段2(Phase_Seg2);
时间段(或标称时间段)是由时间当量或T整数倍构成的。由定义可知,位时间可编程为最小8TQQ
到最大25T。持续时间由以下关系给出: Q
标称位时间=T×(Sync_Seg,Prop_Seg,Phase_Seg1,Phase_Seg2) Q
时间当量来源于晶振周期的固定单位。它也可通过一个带1-64的整数值的可编程的波特率分频器和一个固定2分频的时钟发生器来确定。公式可
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示为
T=[2×(BRP,1)],F Qosc
其中,FOSC为时钟频率,BRP为BRGCON1<5..0>的数(0-63)。
在PIC18F4580芯片中与CAN波特率设定相关的寄存器有三个:
, BRGCON1
, BRGCON2
, BRGCON3
BRGCON1波特率寄存器主要设定同步时间段(Sync_Seg)和波特率分频器系数(BRP);
BRGCON2波特率寄存器主要设定Phase_Seg1和Prop_Seg时间段;
BRGCON3波特率寄存器主要设定Phase_Seg2
下面是在SP9608-PIC单片机增强型开发板上使用PIC18F4580芯片进行CAN实验设定CAN波特率为250kbps的程序段,其中FOSC=32MHz(8MHz通过4倍频PLL到32MHz)。
CANCON=0x80;
while(0==(CANSTAT&0x80));
BRGCON1=0x07;//8*TQ=8*(2*(BRP+1))/FOSC =250kbps
BRGCON2=0x90;
BRGCON3=0x42;
,,,
CANCON=0x00;
while(0!=(CANSTAT&0xE0));