[Armadillo:06138] Re: Armadillo440 CAN通信について

tomoki goto email@hidden
2010年 11月 9日 (火) 21:24:04 JST


竹之下様

いつもお世話になっております。
後藤です。

ご回答ありがとうございます。

ご連絡頂いた方法で現在確認を実施しておりますが、まだ基板を介しての送受信を
確認出来る状況には至っておりません。

なお確認を行う中で一点、不明な点がありますので確認をさせて頂ければと思います。

”ifconfig can0”を実行した結果を下記に記載致しますが、”HWaddr”という項目が
全て00となっていることを確認しております。
上記”HWaddr”ですが送受信を実施するにあたり、何らかの値が設定されている必要が
ある項目になりますでしょうか?(ID等?)

(ifconfig can0 実行結果)
can0 Link encap:UNSPEC  HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
        UP RUNNING NOARP  MTU:16  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:809 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:64
        RX bytes:0 (0.0 B)  TX bytes:6178 (6.0 KiB)

以上につきまして確認をさせて下さい。
宜しくお願い致します。

2010年11月8日21:45 Takenoshita Koyo <email@hidden>:

> 竹之下です。
>
> > 1.make config
> > 2.make menuconfig
> >    <*> Virtual Local CAN Interface (vcan)  (<*> へ変更)
> これは、必要ないですね。
>
> > 3.make
> > 4.実機起動後の ifconfig can0 の実行
> > 5.ifconfig can0 up の実行
> ドライバは、正常に組み込まれているようです。
>
> > 6.CON14 にPCからCANバスにパケットを送信
> > # まずは上記にて何らかのデータを受信したら ifconfig can0 の実行にて
> > packetsの値が
> > # 増加することで通信の確認が出来ると認識しておりましたが、現状では0のま
> > まです。
> 確認方法としては、receive packetsの値を見るので、正しいと思います。
> が、全く反応していないとうことですね。
> 以下の点を確認していただけますか?
>
> 0. ハードウェア(特に電源周り)
> 作成された基板に正しく電源が供給されているか、ご確認ください。
>
> 1. CAN通信速度の設定
> CANの通信設定は /sys/devices/platform/FlexCAN.1/ディレクトリ以下のファイルに
> 値を書き込むことで変更できます。各sysfsファイルの機能についてはソフトウェア
> マニュアルを参照してください[*1]。
>
> とりあえず、通信速度が正しく設定されていれば通信はできます。通信速度は、
> クロックソースとプリスケーラの分周比によって設定します。
> 計算式は以下の通りです[*2]。
>
> 通信速度[bps] = src_clk / br_presdiv / (1 + br_propseg + br_pseg1 + br_pseg2)
> 但し、br_clksrc = bus の場合 src_clk = 66,500,000
>      br_clksrc = osc の場合 src_clk = 24,000,000
>
> *1:
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch08.html#table-CAN-sysfs
> *2:
> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch08.html#fig-CAN
> 通信速度計算
>
> 例:(br_clksrc=bus時)
> 1007575bps = br_presdiv=3, br_propseg=7, br_pseg1=7, br_pseg2=7
> 950kbps = br_presdiv=5, br_propseg=4, br_pseg1=5, br_pseg2=5
> 500kbps = br_presdiv=7, br_propseg=5, br_pseg1=5, br_pseg2=8
> 25kbps = br_presdiv=133, br_propseg=6, br_pseg1=6, br_pseg2=7
> 10390bps = br_presdiv=256, br_propseg=8, br_pseg1=8, br_pseg2=8
>
> なお、通信速度の設定はCANインターフェースを停止している状態
> (ifconfig [インターフェース名] downした後)で行ってください。
>
>
> 2. CAN送受信ツールの使用方法
>
> can-utilsというツールで、CANの送受信のテストができます。
>
> 2.1. ツールのビルド
> 以下の手順でソースを取得し、ビルドしてください。
>
> ソースの取得
> $ svn co --revision {20101108}
> http://svn.berlios.de/svnroot/repos/socketcan/trunk/can-utils/
> $ cd can-utils/
>
> Makefileを以下のように修正
> PROGRAMS = candump cansend cangen
>
> ビルド
> $ CC=arm-linux-gnueabi-gcc make
>
> cansend、cangen、candumpという実行ファイルが作成されますので、それらをArmadilloに
> コピーして、実行権限をつけてください。
>
>
> 2.2. ツールの使い方
> それぞれのツールの簡単な使い方は以下のようになります。
>
> 2.2.1. candumpコマンド
> candumpは受信したメッセージの内容を表示します。
>
> コマンドの実行方法
> # candump [オプション] [インターフェース名]
>
> can0で受信したメッセージを表示する
> # candump can0
>
> すべてのCANインターフェースで受信したメッセージを表示する
> # candump any
>
> 2.2.2. cansendコマンド
> cansendは指定したIDとデータからなるメッセージを送信します。
>
> コマンドの実行方法
> # cansend [インターフェース名] [ID]#[データ]
>
> IDには3桁(標準フォーマット)または8桁(拡張フォーマット)の16進数を指定することができます。
> データの設定は1データあたり16進数2桁で、0から8個までのデータを指定することができます。
> また、データは1データごとに"."(ドット)で区切ることもできます。
>
> 実行例
>
> ID=333(標準フォーマット), DATA=33のメッセージをcan0に送信
> # cansend can0 333#33
>
> ID=00004444(拡張フォーマット), DATA=44のメッセージをcan0に送信
> # cansend can0 00004444#44
>
> データは最大8個まで指定可能
> # cansend can0 555#5051525354555657
>
> データは.で区切ることもできる
> # cansend can0 666#60.61.62.63.64.65.66.67
>
>
> 2.2.3. cangenコマンド
> cangenは複数のメッセージを指定した間隔で送信します。
>
> コマンドの実行方法
> # cangen [インターフェース名] [オプション]
>
> 実行例
>
> 色々な使い方があるので、詳細はhelpを参照してください。。
>
> tomoki goto さんは書きました:
> > お世話になります。
> > 後藤と申します。
> >
> > Armadillo-440 でのCAN通信についてお問合せをさせて頂きます。
> >
> > 現在、マニュアル等に記載の内容に従いましてCAN通信の動作確認を
> > 実施しようと試みておりますが通信が出来ていない状況です。
> >
> > 下記に現在までに実行した内容を示しますので使用方法、手順、
> > 設定内容の不備等がありましたらご教示頂ければと思います。
> >
> >
> > 実行環境は下記の通りです。
> >  ・atmark-dist-20100918
> >  ・linux-2.6.26-at11
> >  ・Hermit-At v2.0.7
> >
> >
> > 1.make config
> >   Armadillo-400 シリーズソフトウェアマニュアル
> >    6.1.2. デフォルトコンフィギュレーションの適用の内容と同等。
> >
> > 2.make menuconfig
> > menuconfig で変更した内容のみ下記に記載。
> >   - Armadillo-400 Board options
> >    [ ] Enable I2C2 at CON14    ([ ] へ変更)
> >    [*] Enable CAN2 at CON14  ([*] へ変更)
> >
> >   - CAN bus subsystem support
> >    <*>   Raw CAN Protocol (raw access with CAN-ID filtering)  (<*> へ変更)
> >    <*>   Broadcast Manager CAN Protocol (with content filtering)  (<*>
> > へ変更)
> >            CAN Device Drivers  --->
> >
> >   - CAN Device Drivers
> >    <*> Virtual Local CAN Interface (vcan)  (<*> へ変更)
> >    [*] CAN devices debugging messages  ([*] へ変更)
> >    <*> Freescale FlexCAN  (<*> へ変更)
> >
> > 3.make
> > 特記無し(エラー無し)
> >
> > 4.実機起動後の ifconfig can0 の実行
> >  can0 Link encap:UNSPEC  HWaddr
> > 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
> >          NOARP  MTU:16  Metric:1
> >          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> >          collisions:0 txqueuelen:64
> >          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
> >
> > # /sys/devices/platform/FlexCAN.1/state の内容は ”Stop::normal”。
> >
> > 5.ifconfig can0 up の実行
> >  can0 Link encap:UNSPEC  HWaddr
> > 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
> >          UP RUNNING NOARP  MTU:16  Metric:1
> >          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> >          collisions:0 txqueuelen:64
> >          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
> > # /sys/devices/platform/FlexCAN.1/state の内容は ”Start::normal” となる
> > ことを確認。
> >
> > 6.CON14 にPCからCANバスにパケットを送信
> >  Armadillo-400 シリーズハードウェアマニュアル CAN信号の参考回路例を参考
> > に作成した
> >  基板を介してデータを送信。
> >
> > # まずは上記にて何らかのデータを受信したら ifconfig can0 の実行にて
> > packetsの値が
> > # 増加することで通信の確認が出来ると認識しておりましたが、現状では0のま
> > まです。
> >
> >
> > 現状の確認としては以上になります。
> > 根本的な使用方法について認識違いがあるかもしれませんので使用方法、
> > 手順及び通信の確認方法についてご教示頂ければと思います。
> >
> > お忙しいところお手数お掛け致しますが宜しくお願い致します。
> >
> > +-
> >  後藤
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
>
> --
> Koyo Takenoshita
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20101109/91907a91/attachment.html>


armadillo メーリングリストの案内