Difference between revisions of "RPPSOC"

From Land Boards Wiki
Jump to navigation Jump to search
Line 147: Line 147:
 
</pre>
 
</pre>
  
=== Program Shipping Program ===
+
=== Load/Verify Shipping Program ===
  
 
* Program with Shipment code [https://github.com/land-boards/LB-RPPSOC/tree/master/RPPSOC-Blink2.cydsn RPPSOC-Blink2]
 
* Program with Shipment code [https://github.com/land-boards/LB-RPPSOC/tree/master/RPPSOC-Blink2.cydsn RPPSOC-Blink2]

Revision as of 11:04, 7 October 2022

Tindie-mediums.png

Raspberry Pi System-on-a-Chip

RPPSOC-P1010074-800px.jpg

Features

  • PSOC part CY8C5267AXI-LP051
    • Core: ARM Cortex M3
    • Data Bus Width: 32 bit
    • Maximum Clock Frequency: 67 MHz
    • Program Memory Size: 128 kB
    • Data RAM Size: 32 kB
    • ADC Resolution: 12 bit
    • Data RAM Type: SRAM
    • Interface Type: I2C, USB
    • Number of ADC Channels: 1
    • Number of I/Os: 72 I/O
    • Number of Timers/Counters: 4 Timer
    • Program Memory Type: Flash
  • Works on all Raspberry Pi cards with 40 pin GPIO (A+/B+/Pi2/Pi3/Zero)
  • All 29 Raspberry Pi I/O lines are connected to the PSOC
  • 3 of the lines are used for programming the PSSoC
  • Configuration EEPROM
  • Fuses on 3.3V and 5V power
  • Two I/O connectors
  • 14 + 16 = 30 I/O pins

PSoC Architecture

PSoC ArchitecturePic.PNG

Headers / Connectors

  • Card marking

RPPSOC conns.PNG

H1 - Programming Header

LitProgPlusCable 6159.jpg

  • Note orientation of pin 1

RPPSOC H1 PCB.PNG

RPPSOC H1.PNG

H2 - EEPROM Write Enable

  • Install jumper on header to program EEPROM from Raspberry Pi
    • Remove jumper to write Protect EEPROM

RPPSOC H2 PCB.PNG

RPPSOC H2.PNG

H3/H4 - I/O Voltage Select

  • Select the I/O voltage on P3, P4 output connectors
    • 3.3 or 5V

RPPSOC H3 PCB.PNG

RPPSOC H4 PCB.PNG

RPPSOC H3 H4.PNG

J1 - Raspberry Pi GPIO Connector

RPPSOC J1.PNG

P3 - I/O connector

  • Header indicates PSoC port
  • Schematic indicates PSoC pin number

RPPSOC P3 PCB.PNG

RPPSOC P3.PNG

P4 - I/O connector

  • Header indicates PSoC port
  • Schematic indicates PSoC pin number

RPPSOC P4 PCB.PNG

RPPSOC P4.PNG

Schematic

Factory Test Procedure

  • Steps
  1. Program UUT with Pi Hat EEPROM
  2. Test Card using Raspberry Pi and PSOC code
  3. Program Shipping Program

Test Setup

  • Unit Under Test (UUT)
  • Raspberry Pi
  • (2) LED-TEST-2 Cards attached to UUT J3, J4
  • Cables set

Program UUT with Pi Hat EEPROM

Test Card using Raspberry Pi and PSOC code

RPPSOC TEST P110153-720PX.JPG

  • RPPSOC running RPPSOC-FAT-Chain
  • Logic inside PSoC
    • Blinks LEDs attached to J3, J4
    • Loops back pins to Raspberry Pi
      • "Distant" pins are tested in pairs so pin shorts would be found

RPPSOC PSoC FAT SCHEMATIC.PNG

cd ~/RPPSOC/TestCodePi/
sudo python ./fastTests-RPP-SOC.py
  • Repeats 100x
  • Result should be
Passed 100 loop test

Load/Verify Shipping Program

  • Program with Shipment code RPPSOC-Blink2
  • I/O pins (to Raspberry Pi and J3/J4) are not assigned
  • Blinks on-board LED from the PSoC CPU code

Drivers/Example Code

Programming PSoC from the Raspberry Pi

HSSP-Flow.PNG

Connections between Raspberry Pi and RPPSOC
Programmer H1 pin Python IO Pin Pi connector pin WiringPi IO Pin
RESET H1-3 IO_22(Python) Pi Pin 15 GPIO.3(WiringPi)
SWDCLK H1-4 IO_23(Python) Pi Pin 16 GPIO.4(WiringPi)
SWDIO H1-6 IO_25(Python) Pi Pin 17 GPIO.5(WiringPi)

SWD Timing for HSSP

SWD-Timing.PNG

Assembly Sheet