Sign in

username:

password:



Not a member?

Search lpc2000



Search tips

Subscribe to lpc2000



lpc2000 by Keywords

2106 | ADC | ARM7 | Atmel | Bootloader | CAN | CrossStudio | CrossWorks | DDS | ECos | Ethernet | ETM | FIFO | FLASH | FPGA | GCC | GDB | GNU | GNUARM | GPIO | I2C | IAP | IAR | JTAG | Kickstart | LCD | Linux | LPC | LPC-E2294 | LPC2000 | LPC2100 | LPC2104 | Lpc2106 | Lpc210x | LPC2114 | LPC2119 | LPC2124 | LPC2129 | Lpc2138 | LPC213x | LPC21xx | LPC2210 | LPC2212 | LPC2214 | LPC2292 | LPC2294 | LPC2xxx | LPC3128 | MCB2100 | Olimex | Philips | PWM | Rowley | RTC | RTOS | SPI | SSP | UART | UART0 | UART1 | ULINK | USB | Watchdog | Wiggler


Ads

Discussion Groups

See Also

DSPFPGAElectronics

Discussion Groups | LPC2000 | Re: Setting up DMA transfer using LPC2148


Advertise Here

Discussion group dedicated to the Philips LPC2000 family of ARM MCUs

Re: Setting up DMA transfer using LPC2148 - Joel Winarske - Oct 25 13:28:48 2007


> I need to transfer large amount of data via Bulk Endpoint with DMA to a
> USB Host.
>
> 1. How exactly is the communication between USB Host and Device (LPC)
> to the DMA-enabled endpoint?
>
> For example,
> A. Host is already requesting for data and therefore IN token is sent
> to device but device does not have data yet to transfer. What interrupt
> takes place? isit NewDD interrupt? INAK-BI? how is the mechanism of new
> DD interrupt? if slavemode is disabled, how can we receive Interrupt to
> indicate host request?
>
> B. Device has data to send to host, but host has not requested. Should
> the DMA be enabled at this point? or device need to wait for host to
> request then enable the DMA?
>
> Basically Im stil not clear in terms of the set of messages/interrupt
> that should happen during the process (from Host or Device) and how
> should they be handled
>
> 2. In the DMA Descriptor, what is the content of Word 2? address of the
> databuffer? can the databuffer located outside of the USB_RAM? or
> databuffer needs to be copied first into USB_RAM before enabling DMA?
>
> 3. if data tobe transffered is greater than 64 bytes, does it mean it
> requires more than one DD to transmit? do we have to prepare all DDs
> (for example 4 DDs to transfer 64*4 bytes) before we actually send (or
> enable the DMA)?
>

The TNKernel USB Bulk firmware has working DMA code that will answer
most of your questions:
http://www.tnkernel.com/usb_bulk.html
Joel



(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )