Difference between revisions of "RPPSOC"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 105: | Line 105: | ||
* Unit Under Test (UUT) | * Unit Under Test (UUT) | ||
* Raspberry Pi 2 | * Raspberry Pi 2 | ||
− | * [[LED- | + | * (2) [[LED-TEST-2]] Cards attached to UUT J3, J4 |
* Cables set | * Cables set | ||
− | * RPPSOC running [ | + | * 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
Contents
Raspberry Pi System-on-a-Chip
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
Headers / Connectors
- Card marking
H1 - Programming Header
- Can program the card via this connector
- I use the KitProg part of CY8CKIT-059 with a 4-pin cable wired 1:1
- Note orientation of pin 1
H2 - EEPROM Write Enable
- Install jumper on header to program EEPROM from Raspberry Pi
- Remove jumper to write Protect EEPROM
H3/H4 - I/O Voltage Select
- Select the I/O voltage on P3, P4 output connectors
- 3.3 or 5V
J1 - Raspberry Pi GPIO Connector
P3 - I/O connector
- Header indicates PSoC port
- Schematic indicates PSoC pin number
P4 - I/O connector
- Header indicates PSoC port
- Schematic indicates PSoC pin number
Schematic
Factory Test Procedure
- 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
- Logic inside PSoC
- 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
- LB-RPPSOC GitHub Repo
- RPPSOC GitHub Repo
- HSSP_Programmer - Code that programs PSoC from the Raspberry Pi (.o files)
- EEPROM file - Data in the On-Board EEPROM
Programming PSoC from the Raspberry Pi
- Program the PSoC from the Raspberry Pi using Host Sourced Serial Programming
- Flow
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) |