Ethernet and USB board using PIC18F27J53 and ENC28J60

<< Introduction in Japanese >>

ワンチップマイコンを用いた実験範囲を広げるために、今回はイーサーネットのインターフェースを実装した実験ボードを制作した。イーサーネット・コントローラー ENC28J60 を PIC18F27J53 で制御する。更に拡張性を高める為に USB device としてのコネクタも実装させた。

参考書は PICで楽しむネットワーク(技術評論社)、TCP/IP スタックは Microchip Libraries for Applications v2013-06-15 を用いた。

実験ボードの動作確認は、DHCP server から付与されるローカル IP アドレスを LCD に表示させる事と、Windows パソコンのコマンドプロンプトから ping が通っているかで検証した。

PIC18F27J53   <— SPI —>   ENC28J60   <— Ethernet —>   Local area network

(TCP/IP protocols are included in the application code for the PIC18F27J53.)

<< Architecture of the Ethernet board >>

The Ethernet controller, ENC28J60, is connected with the microcontroller, PIC18F27J53, using the Serial Peripheral Interface (SPI).

Clock and pin connection of PIC18F27J53 :

The system clock of 48MHz is derived from the external ceramic resonator of 4MHz using the PLL module.

LED : RB1, RB2;    Switch (pull down) : MCLR, RB3;

LCD (SC1602BBWB-XA-GB-G) : RS – RC6, R/W – GND, E – RB6, Data bus : DB4 – RB7, DB5 – RC0, DB6 – RC1, DB7 – RC2, VDD – 5 volt

(Reproduced from the figure in the site of reference)

ENC28J60 :

Pin 4 INT       – Open (Out of use)
Pin 6 SO        – PIC pin 26 (RB5/RP8 assigned to SDI1)
Pin 7 SI         – PIC pin 18 (RC7/RP18 assigned to SDO1)
Pin 8 SCK      – PIC pin 25 (RB4/RP7 assigned to SCK1)
Pin 9 CS        – PIC pin 5   (RA3)
Pin 10 RESET – Open (Internally pulled-up to VDD)

<< Sample code for the Ethernet board >>

(Compiled by the C18 under the large code model on the MPLAB X IDE)

In TCPIPConfig.h, STACK_USE_ICMP_SERVER, STACK_USE_DHCP_CLIENT and STACK_USE_NBNS have been defined in this project.  Consequently, the test board can practice the communications-protocol of ICMP, ARP, DHCP Client and NBNS.

The default network configuration in TCPIPConfig.h must be adjusted to your local network (MAC address, IP address and so on).

Example above:
NetBIOS Name = PIC18F27J53
Default MAC address = {0x00, 0x04, 0xA3, 0x00, 0x00, 0x00}
Default IP address  =
Default subnet mast =
Default gateway =
Default primary DNS =
Default secondary DNS =

The connection to the Ethernet board can be checked by the ping on the Command Prompt of your Windows PC.

<< Reference >>

TCP/IP stack : Microchip Libraries for Applications v2013-06-15.

PICで楽しむネットワーク(Tetsuya Gokan: Gijutsu-Hyohron Co.,Ltd. in Japan).


<< Appendix >>

ENC28J60 Ethernet LAN Network Module For Arduino SPI AVR PIC LPC STM32

今回の試作では半田付けを楽しむ目的もあり、ENC28J60 (SPDIP) を使用した。手間を省くには、ENC28J60 から RJ45 8P8C Modular Jack までをモジュール化した製品が、中国発送の通販サイトなら現時点でも 500 円以下で入手できるので、覚悟を持って発注するのも一興である。