EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Not able to send data from USB Isochronous IN endpoint to host

Started by faiyaz October 1, 2008
Hi 
I am using Atmel's AT91SAM7S64 microcontroller which
includes a USB device port. We have written the firmware for this
controller to send a packet of data through USB Endpoint 1. We have made
this endpoint as Isochronous In endpiont. Now our problem is we are
writing the packet in the Fifo data register of the USB endpoint 1 and
then we are also setting the TXPKTRDY flag as 1 as well(This is required
by the controller to make it know that the packet is ready to be sent). But
when we send an IN token from the host to receive the data we do not get
any data at the host. we have checked through the debugger(IAR EWARM) that
when we send an IN token from the host the TXPKTRDY flag gets reset to 0
again. Does this mean that the data in the buffer of the endpoint has been
sent to the host? One more important thing at the time of debugging the
firmware when we write any data into the FIFO data register of desired
endpoint by the firmware and when we watch for the current value of that
FIFo data register inside the Watch window we do not see the correct data
which has been written by us. Also the value of FDR gets changed anytime
even though it is not being written. We dont know whether this behaviour
is ok or not? Anybody having experience with this Please help. 
Thanks 
Faiyaz Pisuwala

"faiyaz" <faiyaz.pw@gmail.com> skrev i meddelandet 
news:BsmdnS2nQdpXm37VnZ2dnUVZ_rXinZ2d@giganews.com...
> Hi > I am using Atmel's AT91SAM7S64 microcontroller which > includes a USB device port. We have written the firmware for this > controller to send a packet of data through USB Endpoint 1. We have made > this endpoint as Isochronous In endpiont. Now our problem is we are > writing the packet in the Fifo data register of the USB endpoint 1 and > then we are also setting the TXPKTRDY flag as 1 as well(This is required > by the controller to make it know that the packet is ready to be sent). > But > when we send an IN token from the host to receive the data we do not get > any data at the host. we have checked through the debugger(IAR EWARM) that > when we send an IN token from the host the TXPKTRDY flag gets reset to 0 > again. Does this mean that the data in the buffer of the endpoint has been > sent to the host? One more important thing at the time of debugging the > firmware when we write any data into the FIFO data register of desired > endpoint by the firmware and when we watch for the current value of that > FIFo data register inside the Watch window we do not see the correct data > which has been written by us. Also the value of FDR gets changed anytime > even though it is not being written. We dont know whether this behaviour > is ok or not? Anybody having experience with this Please help. > Thanks > Faiyaz Pisuwala >
Did not work with the isochronous USB endpoints myself so I can't give you much help.. Did you download the Atmel USB package? You probably want to get a USB bus analyzer to help you out with the problem. -- Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may not be shared by my employer Atmel Nordic AB
Yes we are planning to get a USB bus analyzer with us.  
Which USB package from ATMEL are you talking about?  Are you talking about
the USB Device framework that Atmel has put on its site?

Thanks
Faiyaz






>"faiyaz" <faiyaz.pw@gmail.com> skrev i meddelandet >news:BsmdnS2nQdpXm37VnZ2dnUVZ_rXinZ2d@giganews.com... >> Hi >> I am using Atmel's AT91SAM7S64 microcontroller which >> includes a USB device port. We have written the firmware for this >> controller to send a packet of data through USB Endpoint 1. We have
made
>> this endpoint as Isochronous In endpiont. Now our problem is we are >> writing the packet in the Fifo data register of the USB endpoint 1 and >> then we are also setting the TXPKTRDY flag as 1 as well(This is
required
>> by the controller to make it know that the packet is ready to be sent).
>> But >> when we send an IN token from the host to receive the data we do not
get
>> any data at the host. we have checked through the debugger(IAR EWARM)
that
>> when we send an IN token from the host the TXPKTRDY flag gets reset to
0
>> again. Does this mean that the data in the buffer of the endpoint has
been
>> sent to the host? One more important thing at the time of debugging
the
>> firmware when we write any data into the FIFO data register of desired >> endpoint by the firmware and when we watch for the current value of
that
>> FIFo data register inside the Watch window we do not see the correct
data
>> which has been written by us. Also the value of FDR gets changed
anytime
>> even though it is not being written. We dont know whether this
behaviour
>> is ok or not? Anybody having experience with this Please help. >> Thanks >> Faiyaz Pisuwala >> > > >Did not work with the isochronous USB endpoints myself so I can't give >you much help.. > >Did you download the Atmel USB package? >You probably want to get a USB bus analyzer to help you out with the >problem. > >-- >Best Regards, >Ulf Samuelsson >This is intended to be my personal opinion which may, >or may not be shared by my employer Atmel Nordic AB > > >

Memfault Beyond the Launch