Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
版主
|
我問這片實驗板的設計著,看有何意見。
發表於: 2021/6/27 14:55
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
管理員
|
你好,
謝謝你的發問,我想你的問題也會是許多其他在嘗試寫作 CAN 程式時會碰到的問題喔,所以這絕對是一個對很多人都有用的問題。如果你研究一下 CAN 的Protocol, 你就會發現 CAN 是一個很認真勤奮的 Bus, 它發出 Message 後除了要確認沒有其它節點用 Error Frame 來否定它,也要在 Ack slot 收到 ACK,這兩個都成立了才會算送出了這一個 Message。否則這個 Message 會被重送,並且會被視為發生了 Transmit Error。 因為你沒有接上包括 CAN bus monitor 等的其它 CAN node, 所以沒人幫回 Ack, 送進 FIFO 的Message 就送不出去, 所以塞了四筆資料就 full 了。當然, CAN engine 允許使用者Abort 要傳送的資料,然候 FIFO 就又可以填了。但最根本的決絕之道還是給它找個朋友,也就是可以回應 ACK 的另一個節點喔。 在練習五我們有介紹了兩個可行的方案,就是 Microchip 的 CAN Bus Analyzer, 另一個就是 我們使用 MCU 做成的簡易 CAN Bus monitor 了。它是用即將作為贈品的 APP-BT-CAN-2021 這片實驗板作的。新網路學裡的 CAN202C 也有一個用 APP044 做的簡易 CAN Bus Monitor 可以參考。 另外,因為你的發問,讓我想到可以增加練習六,使用 APP-Nano-C21 做一個簡易的 CAN bus Monitor. 讓有興趣的人用用。 謝謝,祝順心。
發表於: 2021/6/28 11:18
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
謝謝Ryang版主轉達!
感謝calvin管理員的詳細說明 但我還是有個疑問,C21當Master至少也要有信號輸出一下到bus上吧? 為什麼CANTx一開始就都沒信號輸出? Always H(3.3V) 這樣CAN bus上的其他Node要怎麼知道? 還是接上CAN Node或是CAN Bus Analyze,會先送信號到bus上讓C21的Master知道? 譬如拉低CAN bus電壓或是傳信號到CAN bus上? 然後Master才能把資料送出? 因為我範例程式一reset就有把邏輯分析夾到CANTx腳上,Trigger Mode L或是Pulse都沒抓到 不好意思,因為第一次玩CAN,問的問題可能太低級 我下載網站上的APP_C21_D21_TW_LearningKit.zip,環境用MPLAB v5.5和Harmony 3.6.4 開啟APP_21_D21_TW_101_Lab_All.zip專案,用Harmony載入會少掉一些plib(如附圖) 原始範例檔DFP版本是3.4.78,CSP是3.9.0 我的環境是DFP版本是3.5.95,CSP是3.9.1 我是手動加入一些plib元件及看手冊的設定,不知是不是有少漏一些設定?(如附圖) build 有過。。。。。 但我直接燒錄該原始壓縮檔內的hex檔,CANTx也是沒信號輸出 感恩!
發表於: 2021/6/28 16:02
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
我的理解應該是至少要送出第一筆資料,等待ACK
沒回應的話, FIFO 的Message 才會不再送出去 不知這樣理解對不對?
發表於: 2021/6/28 17:27
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
我用手觸摸CANRx,CANTx終於有信號輸出了,
原來真的要有Node接在CAN Bus上
發表於: 2021/6/29 2:18
|
|||
|