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 >>
Ethernet_PIC18F27J53_ENC28J60
(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 = 192.168.1.10
Default subnet mast = 255.255.255.0
Default gateway = 192.168.1.1
Default primary DNS = 192.168.1.1
Default secondary DNS = 0.0.0.0
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).
電子工作の実験室:ENC28J60とTCP/IPスタックの使い方.
<< Appendix >>
ENC28J60 Ethernet LAN Network Module For Arduino SPI AVR PIC LPC STM32
今回の試作では半田付けを楽しむ目的もあり、ENC28J60 (SPDIP) を使用した。手間を省くには、ENC28J60 から RJ45 8P8C Modular Jack までをモジュール化した製品が、中国発送の通販サイトなら現時点でも 500 円以下で入手できるので、覚悟を持って発注するのも一興である。