Technology's PIC32 Ethernet kit gives developers an opportunity to work
with a 32-bit MCU and its Ethernet and USB capabilities. Fifteen exercises
provide many opportunities to learn about the kit's software and hardware. I
highly recommend this kit.
The PIC32 Ethernet kit I received included an evaluation board,
CD-ROM, Ethernet cable and two USB cables. A PIC32MX795F512L MCU controls I/O
devices on the board, including a separate MCU that manages USB communications
and on-board debug capabilities.
The board's Ethernet connector and three USB connectors give
developers plenty of ways to use the MCU's capabilities. A USB-Standard-A
connector provides access to the board as an embedded host. A USB-Micro-AB
connector lets developers use the board as a host, a device or USB-on-the-go
device. A USB-mini-b connector serves as the link between a host PC and
integrated debug portions of the MCU and board. A Hirose connector on the board
lets people add PIC32 expansion boards or create their own add-on boards.
This kit requires the usual start-up steps to load software and
check for updates. Afterward, the software starts a Windows media-player
presentation of the steps needed to configure the USB drivers and connect a PC
to the PIC32 board. This format worked well and should give a newcomer to dev
kits confidence to get the kit up and running quickly without any problems. The
USB steps include a diagram for a different board, but the connection became
obvious - use the full-size-A to mini-B USB cable. The three versions of PIC32
starter kits, General Purpose, USB, and Ethernet/USB, each use a slightly
My PC offered the choice of two USB drivers for the PIC32 board. The
first one didn't power the board, so I tried the second one, which worked.
I recommend people print the "PIC32 Starter Kit User's
Guide" (DS61159A) available on the accompanying CD or within the installed
code and documents: C:/PIC32 Starter Kits-->Documentation. You will find
many other useful documents in this folder, too. Hats off to Microchip for the
excellent documentation. The guide explains its own format and conventions and
lists the contents of its five chapters and one appendix. A list of
recommended-reading materials points to release notes, MCU-family data sheets,
guides for the MPLAB IDE, the MPLAB C compiler and provides a link to USB
documents. Do review the PIC32MX Starter Kit Release Notes in the Document
folder noted above. These notes provide a table that shows the directory
structure for Starter Kit files loaded on my PC. If only all dev kits provided
this type of helpful information.
The first chapter in the User's Guide describes the three board
types and provides component-placement diagrams for each so you can quickly
identify a kit's components, signals,
LEDs, jumpers and so on. It's good to see that type of information in a dev-kit
Chapter 2 starts with a description of what you'll accomplish in
the chapter, the starter kit and the Microchip software -- the MPLAB IDE and C
compiler. (The compiler has a 60-day trial period.) A written tutorial
duplicates the set-up steps from the audio-visual tutorial and takes you through
an LED-toggle sample program you build, load into the PIC32 MCU and run. The
instructions are clear and easy to understand. The program let me type a key,
R, G or O, to control the red, green and orange/yellow LEDs on the PIC32 board.
(The board comes with a preprogrammed "Simon Says" game but I jumped
right to the first LED-Flash example. The demo applications include the game in
case you want to reload it onto the board.)
Next I went through a tutorial that explained how to start my own
programming project. When you start a project on your own, refer to this
chapter as a refresher.
All of the 15 starter-kit demo applications will run on the PIC32
Ethernet board. The last general-purpose demo I compiled and ran illustrates
how to sense pushbuttons (or other digital events) and respond directly or via
an interrupt service routine. Anyone who uses this kit should also run the
"Hello World" demo that illustrates how to embed commands in code to
display debug and test information in the output window on a host PC's display.
The IDE included the usual trace, step and watch capabilities, too.
Microchip does not burden any of the sample code with
"extras" that could confuse people who want to start at a basic
level. (The company offers source code for many other PIC32 programs,
libraries, and examples.)
After flashing lights and seeing "Hello World," I went
right to the "Ethernet-TCPIP-BSD-HTTP Server" demonstration. But I
couldn't find any instructions for this demo. I opened the code and looked
through comments but still couldn't find instructions about what to do next.
After searching the Internet and Microchip's website I was about to give up
when I uncovered the three-page "Getting Started: Running the 'TCPIP-BSD -
HTTP Server' demo," in the same folder as the source code for the project.
When you use the MPLAB IDE, the list of files on the left side of
the screen shows "Other Files" at the bottom. I expected to find
instructions here, but found only the main User's Guide and the Release Notes
referred to previously. But Microchip's support people should have the
demo-instruction document added to the Other Files list now. If not, you now
know where to find it.
The Ethernet demo code compiled properly, although I got several
warning messages. But the newest code from Microchip should not generate these
messages. If you do get warning messages about an "r" or
"READ" command, you can ignore them and proceed. I loaded the code
into the PIC32 board and followed instructions in the three-page document. I
confirmed settings in the code before I tried to connect directly to my lab PC
via a cross-over Ethernet cable (not supplied) or to my small router with the
supplied cable. But, neither my lab PC nor other network computers could
"find" the PIC32 board. After trying and retrying to make a
connection without success, I contacted technical people at Microchip who
walked me through several steps to set up my router properly. After I
disconnected everything else from the network but my lab PC and reset the
router, the program worked. So, if you get into the Ethernet demo application
and it doesn't work, check your router settings and ensure the router can
recognize the board. The problem I had did
not relate to the PIC32 board or its software.
During my conversation with the Microchip support people I followed
instructions in the three-page guide and revised the demo code to turn on the
Dynamic Host Configuration Protocol (DHCP): DEMO_USE_DHCP = 1 Then I changed the router settings and achieved the goal of
displaying five images on my lab PC's display.
The main User's Guide includes lots of useful hardware
information that includes block diagrams, large schematic diagrams and
schematic diagrams of circuit sections you can read without eye strain.
One warning: Don't expect to become an Ethernet programming whiz
after you go through the demo applications in this kit. Mastering Ethernet
communications takes work and experimentation. I recommend the following
publication: "Microchip TCP/IP Stack with BSD Socket API," AN1108.
Microchip Technology. You can download code that goes with this application
Microchip provides a free TCP/IP stack and additional application
information and tutorials here.
Practically all electronic devices today contain metals that may
be coming from conflict-ravaged African countries. And political pressures will increasingly influence how these minerals are sourced and used in products.
Weaned on the relatively effortless connectivity of today’s massive variety of consumer electronic products, automation users in the IIoT will likely not tolerate too many competing, piecemeal standards for long. And the Industrial Internet Consortium is trying to preempt history.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.