Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/22/06 16:22
Read: times


 
#108042 - ZLP??
Responding to: ???'s previous message
Tsuneo said:
What sequence did you use to issue the ZLP (Zero-Length Packet)?
Philips C example uses following sequence to send ZLP. Actually, it uses the same 'D12_WriteEndpoint' routine as usual. Is it same as yours?
- 'Select Endpoint' + read an optional byte
- 'Write buffer'
- - 0 (reserved byte)
- - 0 (length)
- - (no data bytes)
- 'Validate buffer'
b) ZLP to Control OUT?
It is unusual to write to the Control Out buffer, either ZLP or not.
Can you get Control IN interrupt without writing to control OUT?

c) Status of Control IN
What code returns on 'Read last transaction status register' command to Control IN, when interrupt occurs?



Hi Tsuneo
Here is the sequence for acknowledging both endpoints
As you see below ZLP is only for EP-control_in

IF_SETUP_PACKET_IS_OK:
CALL SELECT_CONTROL_OUT_ENDPOINT
CALL SAVE_BUFFER_TO_MEMORY
CALL CLEAR_BUFFER
CALL IF_REQUEST_IS_VALID
JNB STALL_BIT,ACKNOLEDGE_TO_CONTROL_ENDPOINT
CALL SEND_STALL
RET

ACKNOLEDGE_TO_CONTROL_ENDPOINT:
CALL ACKNOWLEDGE_SETUP
CALL SELECT_CONTROL_IN_ENDPOINT
CALL ACKNOWLEDGE_SETUP
CALL SEND_ZERO_LENGTH_PACKET
RET

SAVE_BUFFER_TO_MEMORY:
CALL READ_BUFFER_COMMAND
CALL USB_DATA_READ
CALL USB_DATA_READ ;IGNORING FIRST AND SECOND DATA READED
MOV R0,#50H
SAVING:
CALL USB_DATA_READ
MOV @R0,DYTA
INC R0
CJNE R0,#58H,SAVING
RET


SEND_ZERO_LENGTH_PACKET:
CALL SELECT_CONTROL_IN_ENDPOINT
CALL WRITE_BUFFER
MOV DYTA,#0
CALL USB_DATA_WRITE
CALL VALIDATE_BUFFER
RET

READ_BUFFER:
MOV ADRES,#0F0H
CALL USB_COMMAND
RET

WRITE_BUFFER:
MOV ADRES,#0F0H
CALL USB_COMMAND
MOV DYTA,#0
CALL USB_DATA_WRITE
RET

Without ZLP on control in there isn't any control in interrupt!!!

01000001B is data returned from read last transaction status of control_in_ep,DATA1 PID,DATA TRANS/REC SUCCESS

Thank you very much
Mehdi


List of 88 messages in thread
TopicAuthorDate
USB Enumeration Process!!!            01/01/70 00:00      
   USB Design By Example            01/01/70 00:00      
      USB Design By Example            01/01/70 00:00      
         Hi.            01/01/70 00:00      
            Jan Axelson            01/01/70 00:00      
            Salaam            01/01/70 00:00      
               Salaam, Saalam and Thank you.            01/01/70 00:00      
                  fires            01/01/70 00:00      
                     It's out. All is well.            01/01/70 00:00      
                        weather            01/01/70 00:00      
                           Normal Weather            01/01/70 00:00      
                           good for you            01/01/70 00:00      
            D12!            01/01/70 00:00      
               Firmware Programming Guide for D12!            01/01/70 00:00      
                  I'll get back            01/01/70 00:00      
                     Thanks            01/01/70 00:00      
   I don't think you ever send descriptor .            01/01/70 00:00      
      Thanks            01/01/70 00:00      
         Descriptor IDs            01/01/70 00:00      
      But i think i must do!            01/01/70 00:00      
         Edit!            01/01/70 00:00      
            Main Loop            01/01/70 00:00      
               Try USB.org            01/01/70 00:00      
                  I don't know why d12 don't interrupted            01/01/70 00:00      
               I don't know why d12 don't interrupted            01/01/70 00:00      
                  I don't know why d12 don't interrupted            01/01/70 00:00      
                     I don't know why d12 don't interrupted            01/01/70 00:00      
                  Acknowledge setup?            01/01/70 00:00      
                     Thanks Tsuneo ,            01/01/70 00:00      
                        Sorry, I confused            01/01/70 00:00      
                           Sorry, I confused            01/01/70 00:00      
                              Just A Question!            01/01/70 00:00      
                                 It's OK, just for enumeration            01/01/70 00:00      
                                    Any error code on Control In EP?            01/01/70 00:00      
                                       Zero Length Packet !!!            01/01/70 00:00      
                                          ZLP??            01/01/70 00:00      
                                             ZLP??            01/01/70 00:00      
                                                ZLP itself is not the key            01/01/70 00:00      
                                                   the code to write the descriptor            01/01/70 00:00      
                                                      VALIDATE_BUFFER            01/01/70 00:00      
                                                         VALIDATE_BUFFER            01/01/70 00:00      
                                                            VALIDATE_BUFFER            01/01/70 00:00      
                                                               Not exactly            01/01/70 00:00      
                                                                  'Read buffer' and 'Write buffer'            01/01/70 00:00      
                                                                     'Read buffer' and 'Write buffer'            01/01/70 00:00      
                                                                        VALIDATE_BUFFER ?            01/01/70 00:00      
                                                                           VALIDATE_BUFFER ?            01/01/70 00:00      
                                                                              Your code            01/01/70 00:00      
                                                                                 Bulk Mail            01/01/70 00:00      
                                                                                    SEND_REQUESTED_DESCRIPTOR            01/01/70 00:00      
                                                                                       Incredible Progress            01/01/70 00:00      
                                                                                          ZLP on Control-IN            01/01/70 00:00      
                                                                                             Control IN and Control OUT transfer            01/01/70 00:00      
                                                                                                Thanks for your responses,            01/01/70 00:00      
                                                                                                   SET_ADDRESS            01/01/70 00:00      
                                                                                                      Some Questions...            01/01/70 00:00      
                                                                                                         SET_DESCRIPTOR            01/01/70 00:00      
                                                                                                            Control transfer            01/01/70 00:00      
                                                                                                               Control transfer            01/01/70 00:00      
                                                                                                                  the whole picture            01/01/70 00:00      
                                                                                                                     The Whole Picture,Thanks            01/01/70 00:00      
                                                                                                                        IN EP interrupt after sending packet            01/01/70 00:00      
                                                                                                                           Two USB communication procedure            01/01/70 00:00      
                                                                                                            comment...            01/01/70 00:00      
                                                                                             zlp!            01/01/70 00:00      
                                                                                             zlp!            01/01/70 00:00      
                                                         misunderstanding!            01/01/70 00:00      
   send an e-mail to your friendly local Ph            01/01/70 00:00      
   waiting for a techie, so I rummaged a bi            01/01/70 00:00      
   A Question?            01/01/70 00:00      
      declared in bMaxPacketSize            01/01/70 00:00      
   Source Code!            01/01/70 00:00      
      Source is Edited now!            01/01/70 00:00      
      Source is Edited!            01/01/70 00:00      
   D12 Example in "USB Design By Example"            01/01/70 00:00      
   Configuration Descriptor!            01/01/70 00:00      
      The 2nd Get_Descriptor            01/01/70 00:00      
         Thanks Tsuneo            01/01/70 00:00      
            Isn't it the config. desc. request?            01/01/70 00:00      
               Best For You Tsuneo !            01/01/70 00:00      
               Thanks            01/01/70 00:00      
      Strings            01/01/70 00:00      
         Thanks Thomas            01/01/70 00:00      
            Correction            01/01/70 00:00      
               USBView and UVCView            01/01/70 00:00      
               Thanks Thomas            01/01/70 00:00      
   Set DMA Mode!            01/01/70 00:00      
      It's optional            01/01/70 00:00      

Back to Subject List