| 
	
     | 
     
      
        
      
      
      
      
      
         
           | 
          The two 
            microchips used in the Etherwidget are the CS8900a 
            and PIC 16F72. 
            The CS8900 is the ethernet controller chip, which is used in higher 
            quality ethernet cards and ethernet-enabled devices. A microprocessor 
            communicates with the CS8900 via its data and address lines to initialize 
            the chip, poll it for packet status and send/receive data. The protocol 
            for doing so is easy to implement and can be performed either in 8 
            bit or 16 bit mode, making it a viable candidate for 8-bit embedded 
            microchip applications such as this one. The microcontroller used 
            is a reasonably fast PIC, chosen for its sufficient number of I/O 
            pins, flash reprogrammability, and application memory. The 16F72 may 
            be swapped with any pin compatible PIC, although the code may need 
            to be updated.
               
           | 
            | 
         
         
           | 
           | 
           | 
         
       
      
      
      
      
         
           | 
          
             The CS8900a is only available in SMT (surface mount 
              technology) packaging, necessitating a custom-print board. To keep 
              the board as small as possible, almost all of the components are 
              SMT. The front of the board contains signal-related components, 
              the back of the board has power-related components, i.e. the power 
              filter capacitors. The middle and top third of the component-side 
              contains the ethernet controller-related hardware. The bottom third 
              contrains the microprocessor-related hardware. The rev.1 board is 
              approximately 2.2" by 2.4", but without a doubt it could 
              be shrunken to 2"x2". 
             | 
            | 
         
         
           | 
           | 
           | 
         
       
      
      
      
      
         
           | 
          
             All of the components on the middle to top half 
              of the board are related to the ethernet chip. The CS8900A is a 
              TQFP100 (Thin Quad Flat Pack 100-pin) packaged chip, the small square 
              in the center. To the right is the RJ-45 shaped 10-base-T, the most 
              commonly used Ethernet. Above the plug is a bulky RX/TX isolation 
              transformer chip (1:1.41 & 1:1 windings) which is essential 
              in converting the differential RX/TX lines of twisted-pair Ethernet 
              to ground-referenced lines used in digital logic. Immediately to 
              the left are the resistors and capacitor necessary for the proper 
              operation of the transformer. In the top left corner is the 20MHz 
              crystal used to clock the ethernet controller. It does not require 
              external capacitors as those are already implemented in the chip. 
              Below the crystal are the link and lan LED's, which are useful in 
              determining whether the board/network is functioning properly. The 
              few resistors surrounding the chip that are required for its operation. 
              There are also multiple 1uF filter capacitors on the back of the 
              board. 
             | 
            | 
         
         
           | 
           | 
           | 
         
       
      
      
      
      
         
           | 
          
             The PIC is the rectangular chip in the bottom-middle 
              of the board, it is a SOIC packaged IC. In the bottom left corner 
              is the crystal and capacitors for the microcontroller. Be sure to 
              match the crystal frequency with the frequency marked on top of 
              the PIC IC (probably -04, -10 or -20). On the right of the PIC is 
              an LED for debugging purposes. In the bottom right corner is the 
              ICSP (in-circuit serial programming) header which has three uses: 
              to provide power to the board, to communicate with or debug the 
              PIC while it is running and to program the PIC with new firmware. 
              The nearby resistor and diode are used to set the programming pin 
              on the PIC to 5V when the ICSP MCLR pin is disconnected. There are 
              also 1uF filter capacitors for the PIC and header. 
             | 
            | 
         
         
           | 
           | 
           | 
         
       
      
      
      
      
         
           | 
          The header pins, from top to bottom, are:  
      
        -  MCLR 
          
            - This pin should be at +12V when programming the PIC, usually provided 
              by the PIC programmer. Otherwise it should be left disconnected.
 
           
         
        - +5V 
          
            - This pin must be at +5V to power the board
 
           
         
        - GND 
          
            - This pin must be the ground connection for the two pins above.
 
           
         
        - TX 
          
            - The serial transmit pin on the PIC (RB7), ie data is sent from 
              the chip on this pin.
 
           
         
        - RX 
          
            - The serial receive pin on the PIC (RB6), ie data is sent to 
              the chip on this pin.
 
           
         
       
       | 
            | 
         
         
           | 
           | 
           | 
         
       
      
      
      
      
         
           | 
          
             Almost all of the microcontroller pins are used 
              for controlling and communicating with the CS8900. Port C is exculsively 
              used as the 8-bit data bus, the lower half of port B is used as 
              the 4-bit address bus. Pins B6 and B7 are predefined as the ICSP 
              programming pins. Pins A2 thru A5 are used as the CS8900 Enable, 
              Interrupt, Write and Read pins, respectively. Pin A0 is used to 
              drive an LED. This leaves pins B4, B5 and A1 unused. Since the Interrupt 
              and Enable lines are not essential (the CS8900 can be operated in 
              polling mode and can also be kept enabled as it is the only chip 
              on the board) and can be used for other purposes. 
             | 
            | 
         
         
           | 
           | 
           | 
         
       
       |