This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Query about Ethernet(Emac Controller)

Dear Sir,

We are using LPC2364 Arm Controller for our application project.In our project main different block are 20 * 4 LCD display, USB, Ethernet, SPI, UART. We have designed two different broad. In one broad contain main controller LPC2364,SPI,UART. And other board contain USB & Ethernet driver IC. We have developed a code( USB ,Ethernet,SPI,UART drivers) which is working properly when both board are connected. But with a same code if we removed USB, Ethernet board & and give power to main controller (LPC2364), controller get hang.

We have found problem by debugging that problem is in INITILIZATION of EMAC controller block. Is it required to connect driver IC while Initilization of Emac block or enable the ethernet clockDear Sir,

We are using LPC2364 Arm Controller for our application project.In our project main different block are 20 * 4 LCD display, USB, Ethernet, SPI, UART. We have designed two different broad. In one broad contain main controller LPC2364,SPI,UART. And other board contain USB & Ethernet driver IC. We have developed a code( USB ,Ethernet,SPI,UART drivers) which is working properly when both board are connected. But with a same code if we removed USB, Ethernet board & and give power to main controller (LPC2364), controller get hang.

We have found problem by debugging that problem is in INITILIZATION of EMAC controller block?

  • Hi Hiten,

    I encountered this kind of problem also,
    any progress in you solving?

  • Hello Hiten Patel,

    there are dependencies regarding the EMAC controller in the different chip versions. Please see errata sheet for LPC2364.

    Please use the latest version of LPC23_EMAC.[c,h] or update EMAC initialisation (function init_ethernet) with following code:

    /* ENET Device Revision ID */
    #define OLD_EMAC_MODULE_ID  0x39022000  /* Rev. ID for first rev '-'         */
    
       /* Power Up the EMAC controller. */
       PCONP |= 0x40000000;
    
       /* Enable P1 Ethernet Pins. */
       if (MAC_MODULEID == OLD_EMAC_MODULE_ID) {
          /* For the first silicon rev.'-' ID P1.6 should be set. */
          PINSEL2 = 0x50151105;
       }
       else {
          /* on rev. 'A' and later, P1.6 should NOT be set. */
          PINSEL2 = 0x50150105;
       }
       PINSEL3 = (PINSEL3 & ~0x0000000F) | 0x00000005;
    

    Best Regards,
    Martin Guenther