
Interconnectivity Page 3of 22
Firmware Programming Guide for PDIUSBD12
_______________________________________________________________________________________________
Philips Semiconductors - Asia Product Innovation Centre
Visit http://www.flexiusb.com
Table of Contents
1 INTRODUCTION...........................................................................................................................................4
2 ARCHITECTURE..........................................................................................................................................5
2.1 FIRMWARE STRUCTURE............................................................................................................................... 5
2.1.1 Hardware Abstraction Layer - EPPHAL.C ........................................................................................... 5
2.1.2 PDIUSBD12 Command Interface - D12CI.C........................................................................................ 5
2.1.3 Interrupt Service Routine - ISR.C ......................................................................................................... 5
2.1.4 Main Loop - MAINLOOP.C ................................................................................................................. 6
2.1.5 Protocol Layer - CHAP_9.C, PROTODMA.C....................................................................................... 6
2.2 PORTING THE FIRMWARE TO OTHER CPU PLATFORM................................................................................... 6
2.3 USING THE FIRMWARE IN POLLING MODE .................................................................................................... 6
3 HARDWARE ABSTRACTION LAYER.......................................................................................................7
4 PDIUSBD12 COMMAND INTERFACE........................................................................................................7
5 INTERRUPT SERVICE ROUTINE ..............................................................................................................8
5.1 BUS RESET AND SUSPEND CHANGE.............................................................................................................. 9
5.2 CONTROL ENDPOINT HANDLER.................................................................................................................. 10
5.3 GENERIC ENDPOINT HANDLER................................................................................................................... 13
5.4 MAIN ENDPOINT HANDLER........................................................................................................................ 13
5.5 EOT HANDLER ......................................................................................................................................... 13
6 MAIN LOOP................................................................................................................................................. 14
7 CHAPTER 9 PROTOCOL........................................................................................................................... 15
7.1 CLEAR FEATURE REQUEST ........................................................................................................................ 15
7.2 GET STATUS REQUEST............................................................................................................................... 16
7.3 SET ADDRESS REQUEST............................................................................................................................. 16
7.4 GET CONFIG REQUEST............................................................................................................................... 17
7.5 GET DESCRIPTOR REQUEST ....................................................................................................................... 17
7.6 SET CONFIG REQUEST ............................................................................................................................... 18
7.7 GET/SET INTERFACE REQUEST................................................................................................................... 18
7.8 SET FEATURE REQUEST............................................................................................................................. 19
8 DMA SUPPORT............................................................................................................................................ 20
8.1 INTRODUCTION TO PROTOCOL BASED DMA OPERATION............................................................................ 20
8.2 DEVICE'S DMA STATES............................................................................................................................. 20
8.3 DMA CONFIGURATION REGISTER.............................................................................................................. 21
8.4 SETUP DMA REQUEST .............................................................................................................................. 21
8.5 HOST SIDE PROGRAMMING CONSIDERATIONS............................................................................................. 22