Ethernet(LAN)の実現方法

  • このエントリーをはてなブックマークに追加

「基板にLANコネクタを付けて、Ethernetにつなげたい!」

 

というのはよくあるパターンです。

一応、方法は2つあります。

 

1,Ethernetの通信を全部処理してくれるモジュールを買って、UARTで通信する

例えばXPortのような製品です。

基板のメインCPUには全く普通のものを利用して、メインCPUからUARTなどでモジュールを制御します。

Ethernetのハードウェア・ソフトウェアを作らなくていいので非常に楽です。

ただ、コストが高いので、単価が高い製品にしか使えません。

 

2,メインCPUでEthernetを処理する

まずメインCPUの選定から違います。

「Ethernet対応」とうたっているCPUを選びます。

が、それを買って直結すれば実現できるかというとそんな簡単なものではありません。

CPUに載っているのはMAC層まで・・・

 

WikipediaのOSI参照モデルを見てもらいたいのですが↓

https://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB

 

こんな風にネットワークは層構造で実現しています。

そしてCPUにのっているのは下から2番めのデータリンク層(MAC)までです。

一番下の物理的に通信する層は搭載されていません。

つまり、「通信するデータは作れるけど、実際に電気的に通信するハードウェアを持っていない」ということです。

 

「だめじゃん!」

 

いや、そういうものなんです。

ほとんどすべてのEthernet対応CPUがそうなので諦めてください。

ということで、PHYというものが必要になります。

 

1,Ethernet対応CPU

2,PHY(CPUと接続されるLSI)

→実際に通信する電気信号を作る部品

3,パルストランス

→ショートや他の機器との電位差などから製品を保護するために通信を絶縁する部品

4,LANコネクタ(RJ-45)

→よく見る四角コネクタです

 

とまぁ、これだけ必要になります。

結構面倒なので、メーカが出している資料をじっくり見ながら作ることになります。

また、ソフトウェアの方もLinuxやTRONなど、TCP/IPがちゃんと扱えるOSが必要になるので、開発もそれなりに大変です。

 

以上、小田切でした。

 

P.S.

SoC(System on Chip)では、PHYがCPUと一緒に内蔵されている製品もある模様。

  • このエントリーをはてなブックマークに追加

Warning: extract() expects parameter 1 to be array, string given in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 314

Warning: Illegal string offset 'title' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 318

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 318

Warning: Illegal string offset 'content' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 320

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 320

Warning: Illegal string offset 'button_text' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 322

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 322

Warning: Illegal string offset 'button_url' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 323

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 323

Warning: Illegal string offset 'button_cvtag' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 324

Warning: Cannot assign an empty string to a string offset in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 324

Warning: Illegal string offset 'image' in /home/kisukunanato/kairo-consulting.com/public_html/blog/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 332

SNSでもご購読できます。