Chapter 4 Software Developmentpage 4-18Figure 4.3.1. ML60851C Block DiagramProtocol engine operation for a control transfer setup transaction differs from that for all othertransactions.Setup transactions always write the eight bytes in the associated data packet to the setup registers. Ifthis data is received successfully, the protocol engine sends an ACK back to the host. It also sends asetup interrupt to the control microcontroller to request register readout.Data receive transactions write the data from the USB bus to the specified endpoint's receive bufferif there is room. If this data is received successfully, the protocol engine sends an ACK back to thehost. It also sends a data received interrupt for the command to the control microcontroller. If thereis no room in the receive buffer or there is an error, the protocol engine sends an NAK back to thehost.Data transmit transactions send a data packet from the specified endpoint's transmit buffer to theUSB bus if there one ready. If the host then sends an ACK completing the transaction, the Datatransmit transactions send a data packet from the specified endpoint's transmit buffer to the USB busif there one ready. If the host then sends an ACK completing the transaction, the protocol engineempties the buffer. It also sends a transmit buffer empty interrupt to the control microcontroller torequest more data.4-3-3. Connecting Microcontroller to USB ControllerThe ML60851C offers the following configuration options for the microcontroller interface.(1) Choice, with ADSEL pin, of separate or multiplexed address and data buses(2) Choice, with register setting under program control, of 8- or 16-bit DMAThe 16-bit data bus is only available when 16-bit DMA is used.The JOB60851 board uses separate address and data buses, an 8-bit data bus, and no DMA.Transceiver/receiverD+ ProtocolengineDPLLD-EP0receivebuffer ( 8 bytes)Status andcontrol registersSetupregisters(8 bytes)EP0 trasmitbuffer (8bytes)EP1 receive/trasmit doublebuffer(64 bytesx 2)EP2 receive/transmit buffer(64 bytes)Microcontroller -DMAinterfaceA7-A0D15-D8RD/WR/CS/INTR/FIFOUSBEP3 transmitbuffer (8 bytes)AD7- AD0ALEOscillator DACKDREQADSEL