HC08 Full Chip Simulation
Configuration Procedure
322
Microcontrollers Debugger Manual
Now we can use the USBIN command to specify USB packets that come across the USB
bus from the host. When a user types this command in the simulator, the USB IN window
appears as shown in Figure 11.55. There are no USB packets specified yet in the window.
Figure 11.55 USB IN Buffer
Add input packets by double-clicking in the window where the packet is to go or by
selecting the row for the packet and clicking the OK button. At this point a new window
comes up as shown in Figure 11.56. It is in this window that the user can specify the
parameters of the packet. The Packet Type list menu allows the user to select the type of
USB packet, either a SETUP, IN, OUT, DATA0, DATA1, ACK, NAK, STALL, or SOF
packet. Note that if you select a SETUP, IN, or OUT packet, then the DATA field is not
utilized. If you select the DATA0 or DATA1 packet, then the USB Address and
Endpoint edit fields are not used. For SETUP, IN, and OUT packets, the USB Address
and Endpoint fields must be filled with the appropriate data.
Here is an explanation of how to fill these fields for a GET DEVICE DESCRIPTOR
request from the host, which typically comes after the USB reset.
Figure 11.56 USB Packet Setup Dialog Box
The GET DEVICE DESCRIPTOR request between a host and a slave USB device has
three different stages to it, as defined by the USB standard: the setup stage, the data stage,
and the status stage. Figure 11.57 shows the flow of packets between the USB host and
slave devices for a GET DEVICE DESCRIPTOR request as well as the stages. The setup
stage simply consists of a SETUP packet from the host, then a DATA0 packet with the
byte codes that indicate that this is a GET DESCRIPTOR, and the acknowledge (ACK)
packet from the slave.