1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

USB OTG on ARM7 based MCU

Discussion in 'Embedded' started by Mad I.D., Dec 28, 2008.

  1. Mad I.D.

    Mad I.D. Guest

    Hello all.

    I'm designing a system running on (ex Sharp) LH79520 NXP MCU with
    ARM720T core. I'm currently adding USB OTG function but there is
    something bothering me. By now, my system already has x32 SDRAM and
    x16 FLASH memory. I've done a lot of research about OTG controllers
    available on the market and picked NXP ISP1362 "Single-chip Universal
    Serial Bus On-The-Go Controller". It's a memory mapped device (asks
    for connection to x16 data bus already common to FLASH and SDRAM). In
    the next few days I must add an additional Ethernet controller which
    will probably also be a mapped device. All that has to go on double
    layer PCB.

    My question is: Is there any USB OTG controller IC (with transceiver)
    but with SPI interface? I'm afraid I will not be able to route my PCB
    with SDRAM, FLASH, USB and Ethernet all connected as memory mapped
    devices.

    Thank you !
     
    Mad I.D., Dec 28, 2008
    #1
    1. Advertisements

  2. Mad I.D.

    rickman Guest

    This may seem like a dumb idea, but I just read where NXP has a Cortex
    M3 out with a USB OTG controller. You can use that chip as a
    controller and have it communicate by any of several interfaces that
    it supports. Although the binary may be different between the two
    CPUs, you can use the same tools.

    Rick
     
    rickman, Dec 28, 2008
    #2
    1. Advertisements

  3. Why not use a CPU with onboard ethernet, USB etc.?
     
    Mike Harrison, Dec 29, 2008
    #3
  4. Mad I.D.

    Mad I.D. Guest

    Because it should satisfy the following
    - LCD Controller
    - 32bit external BUS
    - nonBGA package

    LH79520 is the only chip on the market! There is NXP LPC2478 but it
    has no cache so LCD doesn't work when CPU is executing from external
    memory (picture disappears, not enough bandwidth). LH79520 runs on
    ARM720T core with cache and MMU so cache eliminates that problem.
     
    Mad I.D., Dec 29, 2008
    #4
  5. I know both devices fairly well, the 2478 and the 79520. You are
    correct that the 2478 does not have a cache, but it has a powerful
    DMA. If you can't get the job done with the 2478, I can not imagine
    you get it to work with the 79520, as the 2478 offers much better
    overall bandwith to memories. The cache does NOT eliminate your
    problem, unless you can execute ALL you code from cache and lock it
    down, which seems difficult with 8KB cache size. The 2478 offers much
    more SRAM, from which you execute same speed as directly from cache or
    the flash which offers more than 90% execution speed compared to cache/
    SRAM execution. On the 79520, the cache needs to be filled from
    external memory as well, that can create strange effects to your
    picture too.

    I don't know whether you really tried it with a 2478, it seems by far
    the best solution to your problem, unless you want to upgrade to an
    ARM9

    Der Schwob
     
    An Schwob in the USA, Dec 29, 2008
    #5
  6. Mad I.D.

    Mad I.D. Guest

    Thank you very much for your answer. I've spent few days gathering
    information about that particular controller and found this:
    http://tech.groups.yahoo.com/group/lpc2000/message/35811

    It is the only reason I switched my design to LH79520. Cause of that,
    right not I'm implementing Ethernet and USB OTG with external IC
    controllers :(
     
    Mad I.D., Dec 29, 2008
    #6
  7. Mad I.D.

    Mad I.D. Guest

    On Mon, 29 Dec 2008 21:30:14 +0100, Mad I.D.
    /cut

    Ohh, there are new replays there. Now I'm not sure could it work with
    code executing only from external SDRAM ? LCD Frame buffer would be in
    SDRAM to. Thank you.

    If yes, I just spent 3 weeks with the wrong chip... (I'm a student
    working alone on this)
     
    Mad I.D., Dec 29, 2008
    #7
  8. Mad I.D.

    Mad I.D. Guest

    Sorry for 3 posts. Plus for LH79520 is a better core (720T with cache
    + MMU). With MMU present it is much easyer to drive a (better) RTOS.
     
    Mad I.D., Dec 29, 2008
    #8
  9. I was just about to suggest this (without knowing whether it actually
    helps on that micro).

    It is usual in systems with SDRAM to copy the program into it during
    startup. SDRAM is usually faster than flash, with a wider bus, and is
    very cheap.

    So it could be that they can get away with poor performance when
    executing from flash, since perhaps normally that would only be during
    startup.
    The 79520 is actually quite old now, for a chip of this type. I
    started using it ~7 years ago. Its still a pretty useful device but I
    would look very hard at the alternatives now becoming
    available. Especially if they come with the other peripherals
    built-in.
     
    John Devereux, Dec 29, 2008
    #9
  10. Mad I.D.

    Mad I.D. Guest

    General idea with LH79520 is to use SD card as a "hard drive" for
    program storage. Startup code would sit in FLASH and fill SDRAM with
    program code and then remap controller to start executing from SDRAM.
    My biggest concern right now is could LPC2478 drive a decant TFT
    display with 60Hz refresh rate without flicker? I can't assume a thing
    and lose time and money in the future.

    Believe me, LH79520 is THE ONLY AVAILABLE controller on the market
    with needed features in nonBGA (double layer PCB limited) package. I
    spent days doing research for suitable IC.
     
    Mad I.D., Dec 29, 2008
    #10
  11. Mad I.D.

    Mad I.D. Guest

    Depending on the budget (there will be about 10 systems produced) it
    will be a TFT display with resolution somewhere about 320x240 to
    640x480.
     
    Mad I.D., Dec 29, 2008
    #11
  12. That's the reason I commented - it was the only one 7 years ago too :)

    But I still went for a 4 layer board. I think it will be difficult
    routing a 32 bit bus system on 2 layers and maintain signal
    integrity. You really need a ground plane too, which does not leave
    many layers for routing the address/data bus :)

    If you know exactly what you are doing, maybe it can be done. But for
    more than one device on the bus (external peripherals) it could be
    impossible.

    The LPC2478 is available in QFP - I would try really hard to make it
    work in your application before giving up on it. With just the SDRAM
    as the external bussed device perhaps you can make it work on 2
    layers.
     
    John Devereux, Dec 29, 2008
    #12
  13. Mad I.D.

    Mad I.D. Guest

    Of course, but I have to be absolutely sure that executing from SDRAM
    will not block or flicker the LCD (at least 320x240 TFT). Don't know
    what to do now, maybe contact NXP support...

    It has to be done on a 2 layer PCB mostly because of the cost.
     
    Mad I.D., Dec 29, 2008
    #13
  14. "Gloucestershire Physical Exercise & Gyms" ? :)

    That's funny; I live there (the county, not the gym unfortunately)!

    (Looks like the right link is <http://www.gpegint.com/>, looks
    useful.)
     
    John Devereux, Dec 30, 2008
    #14
  15. I was brought up in Gloucestershire (Forest of Dean). My mother and two
    sisters still live there. Beautiful countryside relative to the flat East
    Anglia of my current abode.

    Back on topic I fount that the bandwidth requirement for 640x480 TFTs was
    too close to the liit while 320x240 wa no problem. In between there is
    480x272 (wide-screen).

    Peter
     
    Peter Dickerson, Dec 30, 2008
    #15
  16. Mad I.D.

    Mad I.D. Guest

    Sorry, what chip are U referring to? LPC24XX or LH795XX ?
    If LPC, can you confirm that when executing from external x32 SDRAM
    driving a 320x240 TFT is not an issue ?
     
    Mad I.D., Dec 30, 2008
    #16
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.