Difference between revisions of "RPPSOC"

From Land Boards Wiki
Jump to navigation Jump to search
Line 105: Line 105:
 
* Unit Under Test (UUT)
 
* Unit Under Test (UUT)
 
* Raspberry Pi 2
 
* Raspberry Pi 2
* [[LED-32]] Card
+
* (2) [[LED-TEST-2]] Cards attached to UUT J3, J4
 
* Cables set
 
* Cables set
* RPPSOC running [https://github.com/land-boards/LB-RPPSOC/tree/master/RPPSOC-GPIO18Blink.cydsn RPPSOC-GPIO18Blink]
+
* RPPSOC running [C:\Users\HPz420\Documents\GitHub\land-boards\LB-RPPSOC\RPPSOC-FAT-Chain.cydsn RPPSOC-FAT-Chain]
 
** Logic inside PSoC
 
** Logic inside PSoC
 +
*** Blinks LEDs attached to J3, J4
 +
*** Loops back pins
 +
*** Repeats 100x
  
 
[[file:RPPSOC_PSoC_FAT_SCHEMATIC.PNG]]
 
[[file:RPPSOC_PSoC_FAT_SCHEMATIC.PNG]]
 +
 +
* On Raspberry Pi, run fastTests-RPPSOC.py
 +
 +
<pre>
 +
cd /home/pi/RPPSOC/TestCodePi/
 +
sudo python ./fastTests-RPP-SOC.py
 +
</pre>
 +
 +
* Result should be
 +
 +
<pre>
 +
Passed 100 loop test
 +
</pre>
  
 
== Drivers/Example Code ==
 
== Drivers/Example Code ==

Revision as of 00:06, 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

RPPSOC TEST P110153-720PX.JPG

  • Unit Under Test (UUT)
  • Raspberry Pi 2
  • (2) LED-TEST-2 Cards attached to UUT J3, J4
  • Cables set
  • RPPSOC running [C:\Users\HPz420\Documents\GitHub\land-boards\LB-RPPSOC\RPPSOC-FAT-Chain.cydsn RPPSOC-FAT-Chain]
    • Logic inside PSoC
      • Blinks LEDs attached to J3, J4
      • Loops back pins
      • Repeats 100x

RPPSOC PSoC FAT SCHEMATIC.PNG

  • On Raspberry Pi, run fastTests-RPPSOC.py
cd /home/pi/RPPSOC/TestCodePi/
sudo python ./fastTests-RPP-SOC.py
  • Result should be
Passed 100 loop test

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