http://www.libstock.com/projects/view/360/canculator

上のリンク先からCAN通信で必要なパラメータを計算してくれるツールがダウンロード可能です。
ユーザーインターフェイスは以下の通りです。
can01
CPUのタイプ、通信速度等を入力し、Calculateボタンをクリックすると設定可能なパラメータの組み合わせ候補を列挙してくれます。また、パラメータ組み合わせ候補の中から1つをクリックすると、初期化するためのコードがC,Basic,Pascalのいずれかで表示されます。

can02
Network TypeでCAN,CAN SPI,ECANを選択することができますがECANはCPUがPICのときは選択できず、dsPICのときだけECANを選択できるようになります。ターゲットCPUは18F2580ですが、CANでパラメータを生成して初期化コードを眺めて18F2580用に必要があれば修正しようとおもいます。

dsPIC 32MHz 125000bps で生成したコードは以下のようになりました。
/*Place/Copy this part in declaration section*/
const unsigned int SJW = 1;
const unsigned int BRP = 4;
const unsigned int PHSEG1 = 5;
const unsigned int PHSEG2 = 2;
const unsigned int PROPSEG = 8;
const unsigned int ECAN_CONFIG_FLAGS =
_ECAN_CONFIG_SAMPLE_ONCE &
_ECAN_CONFIG_PHSEG2_PRG_ON  &
_ECAN_CONFIG_XTD_MSG        &
_ECAN_CONFIG_MATCH_MSG_TYPE &
_ECAN_CONFIG_LINE_FILTER_OFF;

/*Place/Copy this part in init section*/
ECAN1Initialize(SJW, BRP, PHSEG1, PHSEG2, PROPSEG, ECAN_CONFIG_FLAGS);

 

PIC CAN 32MHz 125000bps で生成したコードは以下の通りとなりました。
/*Place/Copy this part in declaration section*/
const unsigned int SJW = 1;
const unsigned int BRP = 8;
const unsigned int PHSEG1 = 5;
const unsigned int PHSEG2 = 2;
const unsigned int PROPSEG = 8;
const unsigned int CAN_CONFIG_FLAGS =
_CAN_CONFIG_SAMPLE_ONCE &
_CAN_CONFIG_PHSEG2_PRG_ON &
_CAN_CONFIG_XTD_MSG       &
_CAN_CONFIG_DBL_BUFFER_ON &
_CAN_CONFIG_VALID_XTD_MSG &
_CAN_CONFIG_LINE_FILTER_OFF;

/*Place/Copy this part in init section*/
CANInitialize(SJW, BRP, PHSEG1, PHSEG2, PROPSEG, CAN_CONFIG_FLAGS);

 

Tags:

Leave a Reply

This blog is kept spam free by WP-SpamFree.

8 visitors online now
0 guests, 8 bots, 0 members
Max visitors today: 9 at 03:12 am UTC
This month: 16 at 10-05-2017 05:28 am UTC
This year: 42 at 01-23-2017 11:11 am UTC
All time: 133 at 05-04-2015 11:06 pm UTC