lpc2000系列单片机CAN总线的应用中需要注意的几个问题
1、发送相关问题
a)模式用必须用SRR
b)发送时必须只用一个缓冲区
2、波特率相关问题
a) CAN规范中一个bit分四段Sync_Seg,Prop_Seg,Phase_Seg1,Phase_Seg2
b) Sync_Seg固定为1
c) LPC2000中的TSEG1= Prop_Seg+ Phase_Seg1 ,TSEG2= Phase_Seg2
d) SJW应该等于Phase_Seg1但不能超过4
e) Fvpb就是pclk
f) Prop_Seg主要给传输延迟补偿,应尽可能长
g) Phase_Seg1和Phase_Seg2要么相等,要么Phase_Seg1+1=Phase_Seg2
h) Phase_Seg2也应该考虑长一点,至少要保证cpu能在这段时间里处理完要处理的工作。
i) 如果想要获得较高的波特率,pclk要足够高,倘若用pclk 11059200则波特率大概不会超过60kbps,所以要想获得较高的波特率必须倍频。
j) 波特率高时sam=0,波特率低时sam=1
k) tja1050有波特率下限,最好工作在60k以上,15~60k也是可以工作的但有可能出错。tja1040的下限是40k。该下限由
Transmit Data (TXD) dominant time-out function 和 can规范本身决定。
相关资料:
1.lpc2119 官方网页 http://www.nxp.com/pip/LPC2119FBD64.html
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: The Configuration of the CAN Bit Timing
3、lpc2119勘误手册http://www.nxp.com/acrobat/erratasheets/2119.pdf
4、官方can驱动例程,其中有关于波特率计算的文档http://www.nxp.com/files/products/standard/microcontrollers/utilities/LPC2000_CAN_Driver_Demo.zip
用户318214 2011-5-26 22:30
扑通工程师 2011-3-10 11:25
ilove314_323192455 2010-2-11 16:30
ash_riple_768180695 2010-2-11 13:32
xucun915_925777961 2010-1-15 20:20
用户1361860 2010-1-4 21:01
tengjingshu_112148725 2010-1-4 14:14
朱玉龙 2010-1-4 12:10
用户91479 2007-8-15 08:51
lpc2000系列,包括lpc2119,lpc2292
用户859737 2007-7-30 16:17
你用的是什么片子,LPC2119吗??