分享:lpc2000系列单片机CAN总线的应用中需要注意的几个问题
<br />lpc2000系列单片机CAN总线的应用中需要注意的几个问题<br />1、发送相关问题<br /><br /> a)模式用必须用SRR<br /> b)发送时必须只用一个缓冲区<br /><br />2、波特率相关问题<br /><br />a) CAN规范中一个bit分四段Sync_Seg,Prop_Seg,Phase_Seg1,Phase_Seg2<br />b) Sync_Seg固定为1<br />c) LPC2000中的TSEG1= Prop_Seg+ Phase_Seg1 ,TSEG2= Phase_Seg2<br />d) SJW应该等于Phase_Seg1但不能超过4<br />e) Fvpb就是pclk<br />f) Prop_Seg主要给传输延迟补偿,应尽可能长<br />g) Phase_Seg1和Phase_Seg2要么相等,要么Phase_Seg1+1=Phase_Seg2<br />h) Phase_Seg2也应该考虑长一点,至少要保证cpu能在这段时间里处理完要处理的工作。<br />i) 如果想要获得较高的波特率,pclk要足够高,倘若用pclk 11059200则波特率大概不会超过60kbps,所以要想获得较高的波特率必须倍频。<br />j) 波特率高时sam=0,波特率低时sam=1<br />k) tja1050有波特率下限,最好工作在60k以上,15~60k也是可以工作的但有可能出错。tja1040的下限是40k。该下限由<br />Transmit Data (TXD) dominant time-out function 和 can规范本身决定。<br /><br />相关资料:<br />1.lpc2119 官方网页 <font color=#000080>http://www.nxp.com/pip/LPC2119FBD64.html</font><br />2.A detailed description about setting the correct CAN bit timing is given in a paper by Florian Hartwich and Armin Bassemir by Robert Bosch: <font color=#000080>The Configuration of the CAN Bit Timing</font><br />3、lpc2119勘误手册<font color=#000080>http://www.nxp.com/acrobat/erratasheets/2119.pdf</font><br />4、官方can驱动例程,其中有关于波特率计算的文档<font color=#000080>http://www.nxp.com/files/products/standard/microcontrollers/utilities/LPC2000_CAN_Driver_Demo.zip</font><br /><br /><br />稍后发一个波特率计算工具。bitrate计算工具,仅供参考
<br />can_bitrate_calculator.part1.rar<br /> <br />can_bitrate_calculator.part2.rar <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20076/2007627175821789.rar'>https://bbs.21ic.com/upfiles/img/20076/2007627175821789.rar</a>bitrate计算工具part2,仅供参考
<br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20076/2007627175945848.rar'>https://bbs.21ic.com/upfiles/img/20076/2007627175945848.rar</a>对技术有钻研之心,我们要支持!
页:
[1]