【Ethernet】車載ネットワーク その23【プロトコルスタック②】

【Ethernet】車載ネットワーク sono23【プロトコルスタック②】 車載ネットワーク
【Ethernet】車載ネットワーク sono23【プロトコルスタック②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/

はじめに

組み込み向けプロトコルスタックの話。

登場人物

博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

組み込み向けプロトコルスタック

太郎くん
太郎くん

で、今回は組み込み向けプロトコルスタックの話だっけ?

フクさん
フクさん

うん。
とりあえず、オープンソースでメジャーどころは以下3つだね。

  • TINET
  • uIP
  • lwIP
太郎くん
太郎くん

3つもあるんだ。

太郎くん
太郎くん

それぞれどんな感じなの?

TINET

フクさん
フクさん

モノ自体はここから

TOPPERSプロジェクト/TINET
TOPPERS Project
太郎くん
太郎くん

で、ざっくり説明すると?

フクさん
フクさん

TOPPERS協会で公開されてる、
ITRON TCP/IP API仕様に準拠したコンパクトな TCP/IPプロトコルスタック。
FreeBSDのプロトコルスタックをベースにしたもので、
当然ITORON-OSとの親和性は高いね。

太郎くん
太郎くん

ITRONかー。たまに使うけど、TINETは初めて知った。

uIP

フクさん
フクさん

次はuIP。
マイクロIPと読む。
モノはここから入手できる。

GitHub - adamdunkels/uip: The historical uIP sources
The historical uIP sources. Contribute to adamdunkels/uip development by creating an account on GitHub.
太郎くん
太郎くん

一応、Wikipediaにのってた情報を拾ってきた。

uIPは、小規模な8ビットまたは16ビットのマイクロコントローラーで使用することを想定したTCP/IPのプロトコルスタックのオープンソースの実装である。 当初Swedish Institute of Computer Scienceにおける”Network Embedded System”グループのAdam Dunkelsによって開発され、BSDスタイルのライセンスでライセンスされた。

Wikipediaより
フクさん
フクさん

まぁオープンソースプロトコルスタックとしてはかなり有名なんだけど、
8年前くらいから更新は止まってしまってるね。

太郎くん
太郎くん

あら、そうなんだ。

lwIP

フクさん
フクさん

lwIPはLight Weight IPの略。
uIPの作者、Adam Dunkelsさんが最初に手掛けたんで、
uIPの後継と言ってよいだろう。

フクさん
フクさん

モノはここから入手できる。

lwIP - A Lightweight TCP/IP stack - Summary [Savannah]
Savannah is a central point for development, distribution and maintenance of free software, both GNU and non-GNU.
太郎くん
太郎くん

うん。Wikipediaもその作者の名前が出てきてるね。

lwIP (lightweight IP)は、幅広く使用されているオープンソースのTCP/IPのプロトコルスタックの実装であり、組み込みシステム向けに設計されている。 lwIPは、元々はAdam DunkelsによってSwedish Institute of Computer Scienceにおいて開発されていた。 現在は、世界中の開発者のネットワークによって開発されメンテナンスされている。

Wikipediaより
フクさん
フクさん

こっちは現在進行形でメンテされつづけてて、
いろんなところで使われてるんじゃないかなー。

太郎くん
太郎くん

そーなの?
例えば?

フクさん
フクさん

STマイクロ社が提供しているマイコンライブラリ群のSDKに組み込まれていたり、
NXP社のMCUXpresso SDKに組み込まれてたり、
あとは、Mbedにも組み込まれてるんじゃないかなー。

太郎くん
太郎くん

へー。結構実績多そうだねー。

で、結局どのプロトコルスタックを使う?

太郎くん
太郎くん

で、3つのプロトコルスタックのうちどれを使うつもり?

フクさん
フクさん

まぁこの3つの中ではlwIPが安パイかな。
TINETも面白いんだけど、単体利用としてはlwIPの方がやりやすいだろう。

太郎くん
太郎くん

じゃー、次回からlwIPの説明だねー。

まとめ

フクさん
フクさん

まとめだよ。

  • オープンソースなプロトコルスタック3つを紹介。
    • TINET。
    • uIP。
    • lwIP。
  • lwIPを使用予定。

バックナンバーはこちら。

ボッシュ自動車ハンドブック 日本語第4版

https://amzn.to/3wTDHph

CAN入門講座: 組込みマイコンで学ぶCANプロトコルとプログラミング

https://amzn.to/3yuI5LI

CANおよびCANopenによる組み込みネットワーク

https://amzn.to/3Vf9bzj

カーハッカーズ・ハンドブック ―車載システムの仕組み・分析・セキュリティ

https://amzn.to/3Vh1Lfg

車載イーサネット “クルマIT”高度化への基盤技術

https://amzn.to/44USgFJ

詳解 車載ネットワーク -CAN、CAN FD、LIN、CXPI、Ethernetの仕組みと設計のために

https://amzn.to/3VeENoK

自動車用ECU開発入門 システム・ハードウェア・ソフトウェアの基本とAUTOSARによる開発演習 (エンジニア入門シリーズ122)

https://amzn.to/3Xf4Ain

車載ネットワ-ク・システム徹底解説: CAN,LIN,FlexRayのプロトコルと実装 (Design wave mook)

https://amzn.to/3Vh3b9e

コメント

タイトルとURLをコピーしました