1 / 36

Programmable System-on-Chip (PSoC) General Overview Embedded Architectures EE446

Programmable System-on-Chip (PSoC) General Overview Embedded Architectures EE446. Typical Microcontroller Purposes. Computer. uC. Thermal. Gyro. Acceleration. The purpose for uC’s is to interface multiple types of hardware. Digital Input/Outputs: Switches Relays LEDs

adonia
Télécharger la présentation

Programmable System-on-Chip (PSoC) General Overview Embedded Architectures EE446

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmable System-on-Chip (PSoC) General OverviewEmbedded ArchitecturesEE446

  2. Typical Microcontroller Purposes Computer uC Thermal Gyro Acceleration • The purpose for uC’s is to interface multiple types of hardware. • Digital Input/Outputs: • Switches • Relays • LEDs • Digital Communications: I2C, SPI • Analog Input/Outputs

  3. Example of Hardware Interfacing

  4. Regular Microcontroller Caveats • What if you need more Analog Inputs? • What if you need more Interrupts? • Advanced projects: more PWMs needed? • Use external circuitry • Buy a larger microcontroller

  5. What is a Programmable System-on-Chip (PSoC)? • A customizable microcontroller that includes flexible analog and digital logic blocks. • Analog blocks: • High-resolution inputs (up to 20-bit) • 4 Digital-to-Analog Converters • Digital logic blocks (UDBs): • A wide mix of digital peripherals can be implemented into a single chip. • Up to 4 voltage domains • Almost all pins can be flexible in terms of being digital or analog.

  6. What is a Programmable System-on-Chip (PSoC)? • PSoC-5 (Powered by ARM Core) • Provides above features plus ARM processor benefits: • Up to 67Mhz • Flash: Up to 256kb • SRAM: Up to 65kb • Up to 70 I/O pins

  7. General Overview of PSoC Features

  8. API Cypress PSoC IDE

  9. Cypress PSoC IDE (Block Configuration)

  10. PSoC Pin Routing

  11. PSoC Main Program Code ISR Flag Main loop ISR Flag

  12. API’s for the PSoC Blocks

  13. API’s for the PSoC Blocks

  14. Top-level UDB Block Diagram

  15. Top-level UDB Routing Diagram

  16. Extensive Uses of UDBs • Examples of possible hardware configurations on a single (and largest) PSoC chip: • 12 UARTs or • 28 PWMs • For a normal microcontroller, this configuration is impossible without resorting to additional external hardware, such as: • Daisy-chain or bus-connected peripherals: • Microcontrollers • I2C/SPI-connected hardware for UART, PWM, etc.

  17. Extensive Uses of UDBsTechnology Mapping Summary

  18. Extensive Uses of UDBsTechnology Mapping Summary

  19. PSoC Top-Level Analog Routing Diagram

  20. PSoC Analog Routing • Analog Local Bus • 4 on left side, 4 on right side • Connects to analog resource blocks only • No access to GPIO’s • Analog Global Bus • Connects I/O to analog resource blocks on same side • Connects to GPIO on their respective quadrant • 8 routes on left side, 8 routes on right side • Analog Mux Bus • Connects the buses to the ‘outside’ world • Can connect to all GPIO’s and all analog resource blocks

  21. PSoC Die Quadrants Analog Routing Global Bus

  22. Detailed Analog Routing

  23. Interrupts

  24. Why have interrupts? • An external event that needs immediate attention. • An ‘emergency’ switch • A long-running timer • PSoC-5 supports 16 system interrupts and 32 from peripherals. • Tail Chaining (Back-to-Back) • Late Arrival (Lower  Higher) • Reprioritize Interrupts • Same Priority? • Fixed Function  DMA  UDB

  25. Interrupts • Some modules that are used needs immediate attention in real time.

  26. Interrupt Vector Table

  27. How Interrupts Work

  28. Interrupt Setup and ISR

  29. Tail Chaining Interrupts

  30. Late Arrival Interrupts

  31. Polling vs Interrupting • Signals can happen too fast for the CPU to read or process!

  32. Example PSoC ProjectFirmware Overview I/O Communications Inputs From Sensors Outputs To Devices

  33. Raw Sensor Data Collection to the Host PC • Digital: • I2C used in Gyroscopes, Accelerometers, Magnetometers (IMU), and Temperature Sensor • UART from Sonar @ 9600bps (8N1) • For this particular usage, very inefficient. • Requires interrupts and additional code complexity. • Very slow data updates. • ADC Settings and Inputs: • 14-bits @ 70,000 Samples Per Second (currently) • Vcc = 5 Volt (Reference) • Raw value range: • 0v  5v • 0  16384

  34. PSoC Data Output Servo Position Infrared Gyro X-Axis Gyro Y-Axis Gyro Z-Axis Sonar (analog) Raw ADC Values: 85 updates/sec over Serial UART @ 115200bps (8N1)

  35. Host PC Application GUI

More Related