MicroPeckerX SocketCANドライバ《S810-MX-SKTCD》

MicroPeckerX SocketCANドライバ《S810-MX-SKTCD》

MicroPeckerX CAN FDアナライザをLinux標準のSocketCANインターフェースとして利用可能にするカーネルドライバです。既存のLinux CANツールやアプリケーションをそのまま使用でき、can-utils、Wiresharkなどの標準ツールと完全互換です。

購入検討
お問い合わせ
購入・レンタル
見積依頼
ユーザーサポート
ダウンロード

MicroPeckerX SocketCANドライバとは

Linux標準のCAN/CAN FD通信インターフェース

MicroPeckerX SocketCANドライバは、MicroPeckerX CAN FD AnalyzerをLinux標準のSocketCANフレームワークで制御可能にするカーネルドライバです。既存のSocketCAN対応アプリケーションやツールをそのまま使用でき、Linux環境でのCAN/CAN FD通信開発を強力にサポートします。

MicroPeckerX SocketCANドライバは、専用ページから無償でダウンロード可能です。

MicroPeckerX SocketCANドライバ構成

開発現場のニーズに対応

MicroPeckerX SocketCANドライバは以下のご要望にお応えします。

  • 既存のLinux CANツール(candump、cansend等)をそのまま使いたい
  • WiresharkでCAN/CAN FD通信をリアルタイム解析したい
  • ROS2やAutowareなどの自動運転プラットフォームと統合したい
  • Pythonのpython-canライブラリで開発したい
  • CI/CD環境にCAN/CAN FD通信テストを組み込みたい

標準的なLinuxのネットワークスタックと完全統合されたCAN/CAN FD通信環境を、MicroPeckerX SocketCANドライバが実現します。

SocketCANアーキテクチャ

SocketCANフレームワークの利点

MicroPeckerX SocketCANドライバは、Linuxカーネル標準のSocketCANフレームワークを採用することで、以下の利点を提供します。

標準ツールとの完全互換

  • can-utils(candump、cansend、cangen等)がそのまま動作
  • Wireshark、Savvy CANでのパケット解析に対応
  • ip linkコマンドによる標準的なネットワーク設定

高性能・低遅延通信

  • カーネルレベルでの直接制御による低遅延
  • ゼロコピー転送による高効率なデータ転送
  • Linuxネットワークスタックの最適化機能を活用

主要機能

標準的なSocketCAN操作

MicroPeckerX SocketCANドライバは、Linux標準のコマンドとAPIで制御可能です。

デバイス設定と起動

# CAN設定(500kbps)
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up

# CAN FD設定(アービトレーション500kbps、データ2Mbps)
sudo ip link set can1 mtu 72
sudo ip link set can1 type can bitrate 500000 dbitrate 2000000 fd on
sudo ip link set can1 up

標準ツールでの使用

# モニタリング
candump can0

# データ送信
cansend can0 123#DEADBEEF

# テストデータ生成
cangen can0 -g 10 -I 200 -L 8

# Wiresharkでの解析
sudo wireshark -i can0

プログラミング言語対応

C言語での開発

#include <linux/can.h>
#include <linux/can/raw.h>

int s = socket(PF_CAN, SOCK_RAW, CAN_RAW);
struct can_frame frame;

// データ送信
frame.can_id = 0x123;
frame.can_dlc = 8;
memcpy(frame.data, data, 8);
write(s, &frame, sizeof(frame));

// データ受信
read(s, &frame, sizeof(frame));

Pythonでの開発(python-can)

import can

# バス初期化
bus = can.interface.Bus('can0', bustype='socketcan')

# メッセージ送信
msg = can.Message(arbitration_id=0x123,
                  data=[1, 2, 3, 4, 5, 6, 7, 8])
bus.send(msg)

# メッセージ受信
msg = bus.recv(timeout=1.0)

簡易起動スクリプト

開発効率を向上させる専用スクリプトを提供しています。

# スクリプトに実行権限付与
chmod +x mpdrv_run

# ドライバロード
./mpdrv_run load

# デバイス起動(can0、can1)
./mpdrv_run start can0
./mpdrv_run start can1

# デバイス停止
./mpdrv_run stop can0
./mpdrv_run stop can1

# ドライバアンロード
./mpdrv_run unload

インストール手順

1. ドライバのビルド

# ドライバディレクトリへ移動
cd 01_drv

# カーネルモジュールのビルド
make

# ビルド結果確認
ls *.ko

2. ドライバのインストール

# 必要なカーネルモジュールのロード
sudo modprobe can
sudo modprobe can_dev
sudo modprobe can_raw

# MicroPeckerXドライバのロード
sudo insmod ./MpDrv.ko

# デバイス確認
ip link show | grep can

3. 動作確認

# デバイス設定
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up

# 動作テスト
candump can0 &
cansend can0 123#11223344

動作環境

項目仕様
対応カーネルLinux 4.x~5.x(SocketCAN対応カーネル)
対応ディストリビューション
  • Ubuntu 18.04/20.04
  • Debian 10/11
  • Raspberry Pi OS
CPU アーキテクチャ
  • x86_64
  • ARM(Raspberry Pi 3/4対応)
  • ARM64
必要パッケージ
  • build-essential(GCC、make)
  • linux-headers(カーネルヘッダ)
  • can-utils(推奨)
USBポートUSB 2.0以上
対応プロトコル
  • CAN 2.0A/B(標準CAN)
  • CAN FD(ISO 11898-1:2015)

制限事項

  • ビットレート設定は固定値のみ対応
  • ハードウェアタイムスタンプは未サポート
  • 送信タイミング精度はカーネルスケジューラに依存(RT-Linuxで改善可能)
  • 高精度な周期送信が必要な場合はアプリケーション開発ライブラリを推奨
  • 仮想環境での動作は非対応

MicroPeckerX SocketCAN Driverクイックスタートガイド デモ動画

活用事例

MicroPeckerX SocketCANドライバを使って以下のシステム開発が可能です。

ROS2/Autoware統合

開発現場のニーズ

自動運転開発プラットフォームとCAN/CAN FD通信を統合したい。既存のROSパッケージを変更せずに車両制御を実現したい。

MicroPeckerX SocketCANドライバの活用

標準的なSocketCANインターフェースにより、ros2_socketcan_bridgeなどの既存パッケージがそのまま利用可能。車両のCAN/CAN FD通信とROS2トピックをシームレスに接続し、自動運転システムの開発効率を大幅に向上。

CI/CD自動テスト環境

開発現場のニーズ

GitHubやGitLabのCI/CDパイプラインにCAN/CAN FD通信テストを組み込みたい。コード変更時の影響を自動検証したい。

MicroPeckerX SocketCANドライバの活用

標準的なLinuxコマンドで制御できるため、シェルスクリプトやPythonでの自動化が容易。Jenkinsやgitlab-runnerと連携し、プルリクエスト時の自動テストを実現。

組み込みLinuxゲートウェイ

開発現場のニーズ

Raspberry PiでCAN-Ethernetゲートウェイを構築したい。車両データをクラウドに送信するエッジデバイスを開発したい。

MicroPeckerX SocketCANドライバの活用

Raspberry Pi上でSocketCANドライバが動作し、PCレスのコンパクトなゲートウェイを実現。MQTTやHTTPSでクラウドと連携し、車両のリモート監視システムを構築。

既存システムからの移行

開発現場のニーズ

他社製CANアダプタから移行したいが、既存のアプリケーションは変更したくない。

MicroPeckerX SocketCANドライバの活用

SocketCAN準拠により、アプリケーション側の変更は一切不要。デバイス名をcan0に設定するだけで、既存システムがそのまま動作。移行コストを最小限に抑えながら、MicroPeckerXの高性能を活用。

車載ネットワーク解析

開発現場のニーズ

車載ネットワークのトラブルシューティングを効率化したい。Wiresharkで詳細な解析を行いたい。

MicroPeckerX SocketCANドライバの活用

WiresharkのCAN/CAN FDプロトコル解析機能をフル活用。タイムスタンプ付きのパケットキャプチャ、フィルタリング、統計解析により、複雑な通信問題を迅速に解決。

製品ラインナップ

無償ダウンロード

MicroPeckerX SocketCANドライバは、MicroPeckerXユーザー向けに無償でダウンロードが可能です。 但し、MicroPeckerX SocketCANドライバに対しての技術的な問合わせ対応は含まれません。 ドライバの組込み方法など、ユーザーからの技術的な問合わせ対応については、別途有償サポートパックのお申込みが必要になります。

製品型名製品名
S810-MP-SKTCDMicroPeckerX SocketCANドライバ

※:ご利用には、MicroPeckerX CAN FD Analyzer《S810-MX-FDx》または、MicroPeckerX CAN FDインターフェースモデル《S810-MX-HW2》が必要です。

MicroPeckerX SocketCANドライバ ダウンロード

MicroPeckerX SocketCANドライバ サポートパック

MicroPeckerX SocketCANドライバの組込み、問い合わせサポート対応は別途有償サポートとなります。

サポート内容

  • 登録日から1年間の年間サポート
  • 最大12件(合計20時間まで)の問い合わせに対応します
  • 電話又は、メールによる組込み方法に関する問合せサポートを致します
  • 問合せサポートに関しては、1週間以内の回答を目途とします
    ※緊急対応は含まれておりません
  • MicroPeckerX SocketCANドライバのカスタマイズ作業は含まれておりません

MicroPeckerX SocketCANドライバの年間サポートをご希望の方は、下記の製品型名でお知らせください。

製品型名製品名
S810-MX-SKTCD-SPTMicroPeckerX SocketCANドライバ サポートパック

他の開発環境との比較

MicroPeckerX開発環境の選択

Info

MicroPeckerXは用途に応じて3つの開発環境を提供しています

SocketCANドライバ

MicroPeckerX SocketCANドライバ
《S810-MX-SKTCD》

Linux開発ライブラリ

MicroPeckerX CAN FDアプリケーション開発ライブラリ for Linux
《S810-MX-ADL1L》

Windows開発ライブラリ

MicroPeckerX CAN FDアプリケーション 開発ライブラリ for Windows
《S810-MX-ADL1N》

開発環境SocketCANドライバLinux版ライブラリWindows版ライブラリ
動作レベルカーネル空間ユーザー空間ユーザー空間
標準ツール互換◎ 完全互換△ 独自API△ 独自API
送信タイミング精度△ カーネル依存◎ 0.1ms精度保証◎ 0.1ms精度保証
周期送信精度△ OS負荷影響大◎ ライブラリ制御◎ ライブラリ制御
リアルタイム性○ 低遅延だが精度は不定◎ 精度保証あり◎ 精度保証あり
開発の容易さ○ Linux知識必要◎ 簡単なAPI◎ 簡単なAPI
Python対応○ python-can◎ 専用ラッパー△ 要開発
Raspberry Pi◎ 対応◎ 対応× 非対応

タイミング制御の違い

Info

重要な技術的違い

SocketCANドライバは標準的なLinuxカーネルのスケジューリングに依存するため、送信タイミングの精度はカーネルの負荷状況により変動します。一方、アプリケーション開発ライブラリは独自のタイミング制御機構により、高精度な送信制御を実現しています。

SocketCANドライバのタイミング特性

  • 送信タイミング: カーネルスケジューラに依存(数ms~数十msの変動)
  • 周期送信: cangen等のツールはユーザー空間で動作するため精度低下
  • 適用場面: タイミング精度が緩い用途、標準ツール互換性重視

アプリケーション開発ライブラリのタイミング特性

  • 送信タイミング: 0.1ms単位での高精度制御
  • 周期送信: ライブラリ内部で精密制御(ジッタ最小化)
  • 適用場面: ECUシミュレーション、厳密なタイミング要求がある評価

選択の指針

SocketCANドライバを選ぶべき場合

  • 既存のLinux CANツールを活用したい
  • WiresharkやSavvy CANで解析したい
  • ROS2やAutowareと統合したい
  • タイミング精度よりも標準互換性を重視

アプリケーション開発ライブラリを選ぶべき場合

  • 高精度な送信タイミング制御が必要
  • 周期送信の精度を保証したい
  • ECUシミュレーションなど厳密な制御が必要
  • 独自の評価ツールを開発したい

具体的な使い分け例

用途推奨理由
ECUシミュレーションライブラリ高精度タイミング必須
ログ収集・モニタリングSocketCANタイミング精度不要
周期メッセージ送信ライブラリジッタ最小化が重要
既存ツールとの連携SocketCAN互換性優先
リプログラミングライブラリタイムアウト制御重要
ネットワーク解析SocketCANWireshark活用

関連製品