Re: 關於5011 CAN BaudRate計算
|
||||
---|---|---|---|---|
新會員
|
谢谢你的202讲义。
SJW是同步跳转宽度,不是同步时间段Sync_Seg。也不应该加到Ntq中去。同步时间段 (Sync_Seg)固定为 1TQ。
發表於: 2008/4/30 11:49
|
|||
|
Re: 關於5011 CAN BaudRate計算
|
||||
---|---|---|---|---|
新會員
|
我恰好也在搞5011,16m can通讯试验,看了你的计算感到有些问题。
在计算公式中假设NTQ=16,但你的设定却使得NTQ=2+7+4+4=17;你是如何决定SJW=2,SEG1PH=7,SEG2PH=4,PropSEG=4的?是按照你提出的原则 SEG2PH >= SJW PRSEG + SEG1PH >= SEG2PH 随意假定的吗? 我把SEG1PH修改为6,其余参数不变,使用mplab7.61 tool visual initializer观察,按照修改的设置,可以使baudrate=125k。 我是使can一个节点发送四个字节的0x5555,另一个节点接收。同时使用示波器观察can输出波形中数据串单个脉冲的宽度,如果是8us,那波特率就是125k。如果是4us 就是250k。 你也可以使用visul initializer变化设置,再用示波器观测。 我的示波器坏了,无法告诉你我的观察结果。 你是如何测量频率的?
發表於: 2008/4/23 14:21
|
|||
|
關於CAN BaudRate計算
|
||||
---|---|---|---|---|
新會員
|
您好:
我使用dsPIC30F5011,我看30F datasheet的計算公式好像有錯,所以我參考18系列的公式去求,但是代進去之後,寫入晶片量測到的卻不是這樣,希望你們可以幫忙一下!謝謝 以下是計算的過程: -------------------------------------------------------------------------- Fosc = 16Mhz 設定NTQ = 16,CAN BaudRate=125Kbps 利用C18 CAN公式代入求BRP,公式如下 BRP=( (Fosc/NTQ) / (2*B) ) -1 =( (16Mhz/16) / (2*125K) ) -1 = 4-1 = 3 依據規則 SEG2PH >= SJW PRSEG + SEG1PH >= SEG2PH 可以取得125K設定值 BRP=3,SJW=2,SEG1PH=7,SEG2PH=4,PropSEG=4 最後實際上去量測頻率,得到的卻是41.666K 後來我改用Fosc = 120MHz 我設定BRP=15,SJW=2,SEG1PH=3,SEG2PH=3,PropSEG=1 實際上去量測到的值,才是125K -------------------------------------------------------------------------- 剛剛有聯絡你們,這樣的方式有算錯嗎? 如果有錯誤,希望你們可以給予指正一下 謝謝~
發表於: 2008/4/16 16:09
|
|||
|