CAN

aqv on August 4th, 2013

CAN通信をテストするために簡単な回路図を書いて書いてみました。PIC18F2580の内蔵CANモジュールを使って外部のMCP2551に接続しています。あまったIOにはタクトスイッチ、LED、ブザーを接続しました。また、RS232Cでデバッグできるようにピンヘッダも設けています。この回路構成基板かブレッドボードを複数枚準備して通信ができるか確認したいとおもいます。 この回路図で、最近良く使うSeeed StudioのPCB製作サービスを利用して10枚PCBを作りました。5cmx5cm以内に収まると安くなるので、スペースに余裕がない部品配置になってしまいました。 http://www.seeedstudio.com/depot/fusion-pcb-service-2-layers-p-835.html ブルガリアのPCB会社よりも仕上がりがきれいなのでこちらをお勧めします。 今回の基板ではPIC18F2580とICPによるプログラミングが始めての経験(学び)になります。ICPのために2×5のピンヘッダを基板上に配置してライターとこの部分で接続することになります。 一番安い送料で、注文後おおよそ2週間くらいで香港から到着します。  

Continue reading about CAN通信を確認する実験回路

aqv on August 4th, 2013

CANで送信されるデータの1ビット内のセグメント SYNC_SEG:同期セグメント PROP_SEG:伝播時間セグメント PHASE_SEG1:位相バッファセグメント1 PHASE_SEG2:位相バッファセグメント2 SJW:reSynchronization Jump Width 位相バッファセグメント1と位相バッファセグメント2の調整幅の合計 TQ(Time Quantum):1クロック周期 BRP:ボーレートプリスケーラー TQ=2x(1+BRP)/Fosc の関係がある。

Continue reading about CAN 1bit セグメント(覚書)

http://www.libstock.com/projects/view/360/canculator 上のリンク先からCAN通信で必要なパラメータを計算してくれるツールがダウンロード可能です。 ユーザーインターフェイスは以下の通りです。 CPUのタイプ、通信速度等を入力し、Calculateボタンをクリックすると設定可能なパラメータの組み合わせ候補を列挙してくれます。また、パラメータ組み合わせ候補の中から1つをクリックすると、初期化するためのコードがC,Basic,Pascalのいずれかで表示されます。 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 […]

Continue reading about CAN通信のパラメータを計算するツール。初期化ソースコードの生成も可能

6 visitors online now
0 guests, 6 bots, 0 members
Max visitors today: 11 at 05:42 am UTC
This month: 20 at 12-08-2017 09:20 pm UTC
This year: 42 at 01-23-2017 11:11 am UTC
All time: 133 at 05-04-2015 11:06 pm UTC