Early Serial CommunicationLater Serial CommunicationRS-232RS-232 SignalsReceiving RS-232VariantsBaud RatePhysical VariantsOPB UART LiteOPB UART Lite RegistersStatus and Control RegistersThe I$^ extrm {2}$C BusI$^ extrm {2}$C Bus TransactionUSB: Universal Serial BusUSB ConnectorsUSB signalingUSB PacketsUSB Bus ProtocolUSB Data Flow TypesLayered ArchitectureUSB: Flash Card DeviceUSB: Mouse DeviceThe CY7C68001 USB interfaceThe CY7C68001 USB interfaceCY7C68001 software interfaceSerial CommunicationsProf. Stephen A. [email protected] UniversitySpring 2006Serial Communications – p. 1/26Early Serial CommunicationSerial Communications – p. 2/26Later Serial CommunicationData Terminal EquipmentDataCommunicationsEquipmentSerial Communications – p. 3/26RS-232Defined in early 1960sSerial, Asynchronous, Full-duplex,Voltage-based, point-to-point, 100 ft+ cables+12V+3VSPACE = 0−3V−12VMARK = 1TxIdleStart LSB B1 B2B3B4B5 B6MSBStopSerial Communications – p. 4/26RS-232 SignalsSignal DB-9 DTE ... Meaningpin DCERxD 2← Data received by DTETxD 3→ Data sent by DTESG 5 — GroundDSR 6← Data Set Ready (I’m alive)DTR 4→ Data Terminal Ready (me, too)DCD 1← Carrier Detect (hear a carrier)RTS 7→ Request To Send (Yo?)CTS 8← Clear To Send (Yo!)RI 9← Ring IndicatorSerial Communications – p. 5/26Receiving RS-232RxIdleStart LSB B1 B2B3B4B5 B6MSBStopRx4×ClkStartSample Sample SampleMost UARTs actually use 16× clocksSerial Communications – p. 6/26VariantsParity bit: (Even = true when even number of 1s)TxIdleStart LSB B1 B2B3B4B5 B6ParityStopTwo stop bits:TxIdleStart LSB B1 B2B3B4B5 B6MSBStop StopSerial Communications – p. 7/26Baud RateBaud: bits per secondBaud Application110 ASR-33 Teletype300 Early acoustic modems1200 Direct-coupled modems c. 19802400 Modems c. 19909600 Serial terminals1920038400 Typical maximumSerial Communications – p. 8/26Physical VariantsConnectors: DB-25, DB-9, Mini DIN-8RS-422: Differential signaling RS-485: Bus-likeSerial Communications – p. 9/26OPB UART LiteSerial port peripheral for the MicroblazeFull duplex operation16-character transmit and receive FIFOsParameters that can be set at build time:Parameter ValueBase Address 0xFEFF0100High Address 0xFEFF01FFBaud Rate 9600Bits per frame 8Parity NoneSerial Communications – p. 10/26OPB UART Lite RegistersAddress Role0xFEFF0100 Read characters from Receive FIFO0xFEFF0104 Write characters to Receive FIFO0xFEFF0108 Status register (read only)0xFEFF010C Control register (write only)Serial Communications – p. 11/26Status and Control RegistersBit Status Control24 Parity Error -25 Framing Error -26 Overrun Error -27 Interrupts Enabled Enable Interrupts28 Tx buffer full -29 Tx buffer empty -30 Rx buffer full Clear Rx buffer31 Rx buffer non-empty Clear Tx bufferNon-empty Rx buffer or emptying of Tx buffergenerates an interrupt.Serial Communications – p. 12/26The I2C BusPhilips invented the Inter-IC bus c. 1980 as a verycheap way to communicate slowly among chipsE.g., good for setting control registers100, 400, and 3400 kHz bitratesI2C Bus Solutions I2C Bus BasicsPurchase of Philips I2C components conveys a licenseunder the Philips' patent to use the components inthe I2C system provided the system conforms to theI2C specification defined by Philips.SemiconductorsSCL: Clock, generated by a single masterSDA: Data, controlled by either master or slavesSerial Communications – p. 13/26I2C Bus TransactionSCLSDAIdleStart“0”“1”AckStopI2C Bus Solutions I2C Bus BasicsPurchase of Philips I2C components conveys a licenseunder the Philips' patent to use the components inthe I2C system provided the system conforms to theI2C specification defined by Philips.SemiconductorsSerial Communications – p. 14/26USB: Universal Serial Bus1.5 Mbps, 12 Mbps, and 480 Mbps (USB 2.0)Point-to-point, differential, twisted pair3–5m maximum cable lengthSerial Communications – p. 15/26USB ConnectorsSerial Communications – p. 16/26USB signalingNRZI: 0 = toggle, 1 = no changeBit stuffing: 0 automatically inserted after sixconsecutive 1sEach packet prefixed by a SYNC field: 3 0sfollowed by two 1sLow- vs. full-speed devices identified by differentpull-ups on D+/D- linesSerial Communications – p. 17/26USB PacketsAlways start with SYNCThen 4-bit type, 4-bit type complemented2 bits distinguish Token, Data, Handshake, andSpecial, other two bits select sub-typesThen data, depending on packet typeData checked using a CRCAddresses (1-128) assigned by bus master, eachwith 16 possible endpointsSerial Communications – p. 18/26USB Bus ProtocolPolled bus: host initiates all transfers.Most transactions involve three packets:“Token” packet from host requesting dataData packet from targetAcknowledge from hostSupports both streams of bytes and structuredmessages (e.g., control changes).Serial Communications – p. 19/26USB Data Flow TypesControlFor configuration, etc.Bulk DataArbitrary data stream: burstyInterrupt DataTimely, reliable delivery of data. Usuallyevents.Isochronous DataFor streaming real-time transfer:prenegotiated bandwidth and latencySerial Communications – p. 20/26Layered ArchitectureSerial Communications – p. 21/26USB: Flash Card DeviceBus 001 Device 002: ID 05e3:0760 Genesys Logic, Inc.bcdUSB 2.00bMaxPacketSize0 64idVendor 0x05e3 Genesys Logic, Inc.idProduct 0x0760bcdDevice 1.14iManufacturer 2 GenesysiProduct 3 Flash ReaderiSerial 4 002364Configuration Descriptor:bNumInterfaces 1MaxPower 300mAInterface Descriptor:bNumEndpoints 2bInterfaceClass 8 Mass StoragebInterfaceSubClass 6 SCSIbInterfaceProtocol 80 Bulk (Zip)Endpoint Descriptor:bEndpointAddress 0x81 EP 1 INbmAttributes 2Transfer Type BulkSynch Type nonewMaxPacketSize 64Endpoint Descriptor:bLength 7bDescriptorType 5bEndpointAddress 0x02 EP 2 OUTbmAttributes 2Transfer Type BulkSynch Type nonewMaxPacketSize 64Language IDs: (length=4)0409 English(US)Serial Communications – p. 22/26USB: Mouse DeviceBus 002 Device 002: ID 04b4:0001 Cypress Semiconductor MouseDevice Descriptor:bcdUSB 1.00idVendor 0x04b4 Cypress SemiconductoridProduct 0x0001 MousebcdDevice 4.90iManufacturer 1
View Full Document