ATSAME70 USBHS DPRAM

Go To Last Post
9 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

According to datasheet there is 4096B of DPRAM available for USB.

I never understood what this means.... is this is a dedicated separate memory location? or its just a map on existing SRAM location?

Generally the ASF code is just using application level buffers and sending data once usb pointers are initialized to these application level buffers. Where does DPRAM fit in then?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No one can answer this?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From the datasheet (page 570) emphasis added:

4096 bytes of Embedded Dual-Port RAM (DPRAM) for Pipes/Endpoints

 

This is memory dedicated to the USBHS. You can see how it is accessed by the USB Transmitter Macrocell Interface (UTMI) and the Local AHB in figure 37-1.

Access to the DPRAM is through the USB Pipe/Endpoint nFIFO Data Register (USBFIFOnDATA).

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So say I am in host mode...have 2 interfaces. Each with In and Out pipes. Do I need to allocate buffer memories for each in my SRAM or can I use DPRAM to act as my ram?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It depends, I would probably use two buffers (one for each interface). If there is a requirement for optimal transfer performance, then you may want buffers for IN and OUT. If you KNOW that only one interface could be accessed in a given interval, then you MAY be able to use a single buffer. I have not implemented host code as yet on the E70, I am in the information gathering stage, so any information given here is just speculation...
 

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Guys, got some progress on USB HOST using SAM E70?

Am also stuck on the same issue.

Please help.

Silly beans are always silly
:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hhm... ok am facing real issues now.

I see that the chip gives pipe errors at times (high traffic). I dont understand why...

I am using DMA transfer. Errors seem to be more common for receive pipes.

I have also seen pipe errors with UC3A1256 chips as well in the past....never understood why this keeps happening. The code between the chip is fact similar...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I tried to derive a code from SAM V71, but its not working well.

I really couldn't access any USB MSC device connected.

Silly beans are always silly
:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I could see the USB device connected, It has been assigned a device number too.

 But when I try to mount that device, it fails.

Any Idea?

Silly beans are always silly
:)