Armadilloフォーラム

GPIO01_30OFF/ON設定でCAN送信出来なくなる

n.yamamoto

2015年2月26日 13時19分

Yamamotoです。

拡張I/Oを使用するためにGPIO01_30へON(0x00)/OFF(0x01)により外部へ通知を行っています。

一回目のON状態CAN通信と、その後OFF状態にしCAN通信する分には正常に通信出来ているのですが
再度、ON状態にしてCAN通信するとデータが外部に出ていないようです。

configを見るとGPIO01_30はCON9_14を使用するようですが、UART5が有効で同じくCON9_14を使用するようになっています。

USRT5を無効にしていないために何か起きているのでしょうか?

別件対応で確認の時間が無く、気になった点だけ教えていただければと思います。

念のため、使用しているlinux-2.6.26-at15でのconfigを添付しておきます。

よろしくお願いいたします。

ファイル ファイルの説明
linux-2.6.26-at15_config.txt linux-2.6.26-at15 configファイル
コメント

at_takashi.sasayama

2015年2月27日 10時57分

笹山です。

> 拡張I/Oを使用するためにGPIO01_30へON(0x00)/OFF(0x01)により外部へ通知を行っています。
> 一回目のON状態CAN通信と、その後OFF状態にしCAN通信する分には正常に通信出来ているのですが
> 再度、ON状態にしてCAN通信するとデータが外部に出ていないようです。

CAN通信中に GPIO1_30 の制御を行うと、CAN通信が停止するということでしょうか?

GPIO1_30 は 直接 CAN1、CAN2 に影響を与えませんので、
GPIO1_30 でCAN関連のハードウェア(例えばCANトランシーバー部など)の制御を行っていたりするのでしょうか?

> configを見るとGPIO01_30はCON9_14を使用するようですが、UART5が有効で同じくCON9_14を使用するようになっています。
> USRT5を無効にしていないために何か起きているのでしょうか?

添付されました .config では CON9_14 の UART5 は無効になっています。
その為 UART5 が影響与えているとは考えにくいです。

n.yamamoto

2015年2月27日 14時20分

Yamamotoです。

> CAN通信中に GPIO1_30 の制御を行うと、CAN通信が停止するということでしょうか?

いえ、一旦Closeして、信号ONとかOFFして再度Open後に送信しています。

>
> GPIO1_30 は 直接 CAN1、CAN2 に影響を与えませんので、
> GPIO1_30 でCAN関連のハードウェア(例えばCANトランシーバー部など)の制御を行っていたりするのでしょうか?

ユニバーサル基板経由で外部にCAN信号が出ており、ユニバーサル基板側の都合で
CAN通信前に信号で通知をしてほしいという事でGPIO接続して信号を出すようにしたのですが。

> > configを見るとGPIO01_30はCON9_14を使用するようですが、UART5が有効で同じくCON9_14を使用するようになっています。
> > USRT5を無効にしていないために何か起きているのでしょうか?
>
> 添付されました .config では CON9_14 の UART5 は無効になっています。
> その為 UART5 が影響与えているとは考えにくいです。

済みません。
UART5自身設定は見てませんでした。
CON9_14でサーチするとUART5で有効になっていたので気になっただけです。

何を見るべきか参考意見などありませんか?

よろしくお願いいたします。