• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (justdo2)




Re: 關於5011 CAN BaudRate計算
#1
新會員
新會員


您好:
1. NTQ為1+7+4+4 = 16,並不是加SJW喔。

2. 建議你可以參考線上的CAN202講義,我想對於這一方面可以有更深的了解。
SEG2PH >= SJW
PRSEG + SEG1PH >= SEG2PH

3.我實際上5011燒寫,並無法達成所設計的BaudRate,我也是覺得非常奇怪,因為設計上都是依照原廠的教學文件以及Datasheet,而在測試頻率上,我使用邏輯分析儀進行數位輸出訊號的脈波寬度量測,結果並非原本設計的125K,但是通訊上是沒有問題的。

4.所以我也還在一直等待版主給我的回覆,希望他們可以給我協助,但到現在一直沒消息...我已經一直在做Check了,希望版主若有看到,能協助解決...真的是感激不進。


發表於: 2008/4/25 11:30
頂部


關於CAN BaudRate計算
#2
新會員
新會員


您好:

我使用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
頂部


關於MCP2515的疑問
#3
新會員
新會員


想請問一下Microchip出的這一款CAN Transceiver的必要性
我有去找他的Datasheet
而且看很多發展板包含Microchip的,都有加這一顆IC
或者是改用82C251這一顆

有聽一個朋友說做CAN可以不用接Transceiver
直接兩顆dsPIC C1RX C1TX對接就可以開始傳輸資料
不知道這個到底是不是可行的?
因為最近要去買Chip來接
希望有做過的朋友可以給我ㄧ些意見...謝謝!

發表於: 2008/3/14 16:02
頂部


請問關於Delay
#4
新會員
新會員


大家好
如果我要設計一個簡單的延時程式
用C寫的話,就是用一個for迴圈
例如:for(i=0;i<100;i++);
因為用C Compiler
可是我怎麼知道這樣一個for指令,到底用了多少cycle???

因為我知道執行一個 Cycle的執行時間 = 1/(Fosc/4)
之後 for 迴圈執行一圈的Cycle X 迴圈次數 X 系統執行的Cycle時間 = 總延時時間

這樣子不知道有沒有錯?

發表於: 2008/3/13 15:15
頂部


關於CAN Filter跟ID設定
#5
新會員
新會員


看了CAN202講義以及範例介紹之後,有一些疑問
Filter主要是要濾掉不想要的Message
在我看了相關範例之後-Loopback跟On bus

其中-Ex1.Loopback
#define OUTGOING_ID 0X210
#define INCOMING_ID 0X200

#define MESSAGE_ID1 0x200
#define RX_Filter0 0x1FF

-Ex2.On Bus
#define MESSAGE_ID1 0x88
#define RX_Filter0 0x200


若依範例設定
這樣Filter0跟Message_ID1不一樣,那麼不就永遠傳不過來了嗎?
那麼如果我依據講義上的說明來做設定的話
不是應該Mask設為1,然後Filter0設為欲接收端的Messige_ID
不知道這樣的觀念是否有錯
因為還是新手對這一方面有興趣想研究,希望各位前輩能不吝給予賜教
謝謝大家

發表於: 2008/3/11 13:51
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------