Ethernet and USB board using PIC18F27J53 and MRF24WG0MA Wi-Fi G PICtail/PICtail Plus Daughter Board

<< Introduction in Japanese >>

最近は電子工作になかなか時間を割くことが出来なかったが、今回の連休で少し時間が取れそうなので、予てからの課題であった Wi-Fi の実験に取り組む事にした。

Wi-Fi モジュールとしては、MRF24WG0MA を搭載した PICtail Board を利用した。実験には、2017年4月23日の稿(Ethernet and USB board using PIC18F27J53 and ENC28J60)で製作したボードに、PICtail 接続ソケットを増設して再利用した。TCP/IP スタックも Microchip Libraries for Applications v2013-06-15 をそのまま引き継いだ。

注意すべき変更として、MRF24WG0MA からの割り込み処理を、INT0 高位割り込みから、INT1 低位割り込みに変更している。

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

PIC18F27J53   <— SPI —>   MRF24WG0MA   <— Wi-Fi —>   Local area network

<< Architecture of the Ethernet board >>

The Wi-Fi module, MRF24WG0MA, 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

MRF24WG0MA Wi-Fi G PICtail/PICtail Plus Daughter Board :

Pin 7 RESET          – PICtail PIN 25   – PIC pin 4 (RA2)
Pin 20 HIBERNATE – PICtail PIN 23   – PIC pin 7 (RA5)
Pin 23 CS              – PICtail PIN 24   – PIC pin 5 (RA3)
Pin 32 SDO           – PICtail PIN 10   – PIC pin 26 (RB5/RP8 assigned to SDI1)
Pin 33 INT            – PICtail PIN 27   – PIC pin 3 (RA1)
Pin 34 SCK           – PICtail PIN 12   – PIC pin 25 (RB4/RP7 assigned to SCK1)
Pin 35 SDI            – PICtail PIN 8     – PIC pin 18 (RC7/RP18 assigned to SDO1)

<< Sample code for the Ethernet board >>

(Compiled by the C18 under the large code model)

In HWP PIC18EX_MRF24W.h, the WF_INT configuration has been changed from the INT0 in high priority to INT1 in low priority.

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 primary DNS =
Default secondary DNS =

In WF_Config.h, the following parameters must be adjusted to your Wi-Fi network.

#define MY_DEFAULT_NETWORK_TYPE    *****
#define MY_DEFAULT_SSID_NAME    “******”
#define MY_DEFAULT_PSK_PHRASE    “*****”
#define MY_DEFAULT_PSK    “*****”

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