【TCP/IPスタックとは】
TCP/IPスタックとは、LANを使った通信を行うアプリケーションを作るとき
必要とされる、TCP/IP通信のプロトコルに関するプログラムをまとめて
1つのプログラム群としたものです。
マイクロチップ社のTCP/IPスタックは、もちろんPIC用に作られたもので
PIC18シリーズとPIC24シリーズ、dsPICシリーズ、さらにイーサネット内蔵
PIC18用に使われることが前提になっています。
世界標準のTCP/IP通信に必要とされる通信プロトコルのほぼ全てに
対応しており、各プロトコル毎にモジュール化されたプログラム群から構成
されていて、必要となるモジュールだけ組み合わせて再構成できるように
なっています。
このスタックのデモプログラムは、下記の組み合わせで動作するデモで
ウェブサーバを構成するプログラムとなっています。
(1) HPC_Explorer(PIC18F8722)+PICtail(ENC28J60)
(2) PICDEM.Net2(PIC18F97J60+ENC28J60)
(3) FS_USB(PIC18F4550)+PICTail(ENC28J60) 非推奨
(4) PICDEM.net(PIC18F4620+RTL8019AS)
(5) Explorer16(PIC24F/dsPIC33F)+PICtail plus(ENC28J60)
(6) dsPICDEM1.1+PICtal(ENC28J60)
(7) PIC18F97J60 Test Board サンプル用
(8) 自作ボード(YOUR_BOARD) 内容は追加変更が必要)
このTCP/IPスタックは、C18 C言語かC30 C言語またはHiTech社C言語で記述
されていますので、マイクロチップ社のMPLAB-C18かMPLAB-C30、または
Hi-Teck社のPICC 18コンパイラが必要です。
MPLAB-C18/C30コンパイラについてはフリー版が提供されていますので、
これで十分使えます。
【入手先と展開方法】
マイクロチップ社のTCP/IPスタックのデモプログラムは、フリーソフトとして、
C言語のソースファイルで提供されています。
ウェブサーバとして動作するデモプログラムとして提供されていますので、
直ぐ動作するプログラムとなっています。
入手先は下記のマイクロチップ社のサイトから直接ダウンロードできます。
★ マイクロチップ社 TCP/IP スタックデモダウンロードサイト
(MCHPTCPStack 3.75.zip)
このドキュメントについては上記と同じページにある下記説明書によります。
★ Microchip TCP/IP Stack Application Note
無事ダウンロードが完了したら、ZIPで圧縮されていますので、まずは解凍
します。解凍すると、「MCHPTCPStack 3.75.exe」という実行ファイルが
生成されますので、これをダブルクリックして実行すれば、ソースリストなど
すべてのファイルを展開します。
途中でインストールするフォルダを聞かれますので、適当なフォルダを指定
してNextで進みます。通常はデフォルトのままでよいでしょう。
インストールが完了すると、下記のような構成のフォルダが生成されます。
MCHPTCPStack 3.75
Demo board files :PICTailとPICDEM.net2のドキュメント
Include :ヘッダファイルのフォルダ
Linker :専用のリンカ用のフォルダ
Source :ソースファイルのフォルダ
Microchip Ethernet Dsicoverer
:ネットワーク対応PCプログラム例
MCHPDetect :UDP通信用のPC側C++のデモプログラム
WebPages :デモ用のWeb画面データ
CコンパイラのMPLAB-C18/C30のフリー版は下記からダウンロードできます。
60日を過ぎると最適化のレベルが下がりますが、開発ではまったく問題ありませんから
そのまま使えます。
★ MPLAB-C18フリー版のダウンロードサイト
★ MPLAB-C30フリー版のダウンロードサイト
【デモプログラムの概要】
このデモプログラムはマイクロチップの下記ボードの組み合わせで動作するように
作成されています。いずれも安価なデモボードとなっていますので、この構成で
ソフトウェアの動作確認をするのも良いでしょう。
PICDEM HPC Explorer Board
PICtail Ethernet Board
PICDEM.net2
HPC Explorer Boardで動作確認をしている状態が下記写真となります。
水平となっているのがHPC Explorer
垂直となっているのがPICtail Ethernet
【スタックのモジュール構成】
マイクロチップ社のTCP/IPスタックのモジュール構成は下図のようになっています。
物理層のEthernetに所にENC28J60用とPIC18F90J60用のドライバが含まれています。
TCP/IPのスタックだけでなく、HTTPやFTP、DHCPなどのアプリケーションも
含まれていますので、基本的なWebサーバレベルは直ぐにでも動かせる
構成となっています。
《特徴》
・TCPとUDPのソケットをサポート
・PIC18、PIC24、dsPICの各デバイス間で移植可能
・MPLAB-C18、MPLAB-C30、HITECH PICC-18コンパイラに対応
・RTOSは不要で、mainループ内でポーリング
・フルTCPステートをサポートしている
・モジュール設計になっていて、必要なものだけ自動リンクする
さらにVer3.75からの追加機能として
・DNSをサポート
・NetBIOSのネームサービスに対応
・HTTPクライアント機能(TCPクライアント例)
・Eternet Device DiscoveryというPC側サンプルプログラム