2012年7月9日星期一

USB Drive specifications for full-speed devices operating

From the CY8C24x94 all pins in Ports 0 through 5 are enabled for link with the analog Bus. System Resources provide additional capability employed to complete systems. Additional resources will include a multiplier, decimator, lv detection, and power on reset. PSoC USB The PSoC USB system resource adheres towards USB Drive specifications for full-speed devices operating at 12 Mb/second with one upstream port then one USB address. PSoC USB (Figure 4) includes a Serial Interface Engine (SIE) block; a PSoC Memory Arbiter (PMA) block; 256 bytes of dedicated SRAM; an entire-Speed USB Transceiver with internal regulator; and a couple dedicated USB pins. In the system level, the complete-speed USB system resource interfaces on the remaining portion of the PSoC by way of the M8C's register access instructions also to the exterior by means of the 2 USB pins.
The SIE supports five endpoints including a control endpoint (endpoint 0) and four data endpoints (endpoint 1, 2, 3, and 4). The control endpoint might be configured to aid SETUP, IN, and OUT requests. Your data endpoints is usually individually configured to react to get rid of, Bulk, or Isochronous IN or OUT requests. The USB Serial Interface Engine (SIE) allows the PSoC device to convey with all the USB Flash Drive host at full-speed data rates. The SIE simplifies the interface to USB traffic by automatically handling the next USB processing tasks without firmware intervention: " Translating the encoded received data and format the results being transmitted around the bus. " CRC Checking and Generation. Incoming packets failing checksum verification are ignored. " Address Checking. Ignores all transactions not addressed towards device. " Sending appropriate ACK/NAK/Stall handshakes. " Identifying token type (SETUP, IN, OUT) and setting the appropriate token bit each valid token in received. " Identifying Start-of-Frame (SOF) and saving the frame count. " With USB designs you happen to be always dealing with two programs: one inch the host then one from the remote device.
A USB device does not actually "send", it prepares data that this USB Flash Disk host should come and collect; the host controls all communications and also a device only "talks" once the host permits it. The USB_Start() call initiates the enumeration sequence that is handled from the USB User Module libraries; once enumeration is completed, only then do we post a buffer for a lights report through the PC. You have to loose time waiting for an SOF flag being set. The SOF_ISR sets this flag every 1 msec. If the SOF flag is defined, we call scan-buttons(), the button de-bouncing routine. If we detect control button change, then we send a buttons report to isn't even close to. You have to confirm if a lights report was received in the earlier frame; and, if you do, we update the local LEDs. Note that from main()"s perspective, info is moved into and from endpoint buffers; USB communications are handled device through the SIE. The USB run-time operation is as simple as reading and writing endpoint buffers.

没有评论:

发表评论