CQ出版 インターフェース 2014年5月号「定番FPGAボード×定番TCP/IPプロトコル・スタックで高速化も学習もOK!ネットワーク通信いじり放題に挑戦」の元になった記事です。
組み込みシステムとネットワーク
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
組み込みシステムとネットワーク
組み込みシステムにネットワーク機能が加わると、より柔軟なシステム設計が可能になります。例えば、複数のノード間でそれぞれの情報を共有しながら動作を行ったり、ある機能を分離して複数のノードでシェアする事が可能になります。このように、ネットワーク...
リンク層 – Ethernet MAC Core
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
リンク層 - Ethernet MAC Core
OpenCores リンク層のEthernet MACには、OpenCores*1で配布されているオープンソース IP Core(Ethernet MAC 10/100 Mbps)を利用しました。 Coreの動作確認 最初にCore単独の動...
リンク層 – ハードウェアシステム
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
リンク層 - ハードウェアシステム
リンク層のハードウェア部分は、CPUとEthernet MAC Coreを格納するFPGAを中心としたシステムで実現しています。 ハードウェアシステム構成 システムの概要は次の通りです。 CPUはSH-4A Ethernet MAC Cor...
リンク層 – ソフトウェアドライバ
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
リンク層 - ソフトウェアドライバ
リンク層とインターネット層を接続するLow-level APIを実装します。Low-level APIは、FPGAに実装されたEthernet MAC CoreとLocal Memoryをアクセスし、Ethernet Frameの送受信を行...
インターネット/トランスポート層 – TCP/IPスタック
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
インターネット/トランスポート層 - TCP/IPスタック
インターネット/トランスポート層として、リンク層上にTCP/IPを実装します。今回の実装では、uIP*1を利用しました。 uIP uIPは、Swedish Institute of Computer ScienceのAdam Dunkels...
アプリケーション層 – WebサーバとCGI
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
アプリケーション層 - WebサーバとCGI
uIPに付属のWebサーバアプリケーション(apps/webserver)を利用して、TCP/IP上にHTTPを実装します。 Webサーバの動作 Webサーバは、HTTPクライアントからのリクエストを受け取ると、それに対するレスポンスを返し...
動作確認とまとめ
![](https://fpga.kice.tokyo/bitpress/wp-content/uploads/2014/06/network.png)
動作テストとまとめ
PC上のWebブラウザからWebサーバをアクセスし、ブラウジングが問題なく動作する事を確認しました。 テスト環境 LAN: 100Base-TX 組み込みシステム IPアドレス:192.168.11.200 Note PC IPアドレス: ...