Removed hw, doc, host

This commit is contained in:
furrtek 2015-11-20 08:00:55 +01:00
parent 5f60b004f7
commit 5a5a4c3525
32 changed files with 0 additions and 11841 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

14
hardware/.gitignore vendored
View File

@ -1,14 +0,0 @@
# Common
*.bak
# CPLD tool
*.bsd
*.rpt
tb2_ie_info.xml
**/cpld/db/
**/cpld/incremental_db/
**/cpld/output_files/
**/cpld/simulation/
# KiCad
*.kicad_pcb-bak

View File

@ -1,55 +0,0 @@
PortaPack H1 is portability add-on hardware for the HackRF One
software-defined radio (SDR).
Schematic
=========
The schematic was drawn using KiCad.
Schematic symbols are cached in the design files, but are also
available in a separate repository:
https://github.com/sharebrained/library-kicad/
PCB
===
The circuit board was designed using KiCad.
PCB footprints are cached in the design files, but are also
avaliable in a separate repository:
https://github.com/sharebrained/library-kicad/
The PCB is a four-layer design. Services such as OSHPark.com have suitable
four-layer stack ups.
CPLD
====
The CPLD bitstream is prepared using Altera Quartus tools.
The CPLD is programmed from within the PortaPack firmware, by bit-banging
the JTAG pins from the HackRF One's microcontroller.
License
=======
Copyright (C) 2013, 2014, 2015 Jared Boone, ShareBrained Technology, Inc.
These files are part of PortaPack.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street,
Boston, MA 02110-1301, USA.

View File

@ -1,989 +0,0 @@
EESchema Schematic File Version 2
LIBS:hackrf_expansion
LIBS:wolfson
LIBS:passive
LIBS:lcd_kingtech
LIBS:supply
LIBS:io_expander
LIBS:trs_jack
LIBS:battery
LIBS:mosfet
LIBS:microphone
LIBS:sd
LIBS:ck
LIBS:altera
LIBS:regulator
LIBS:tp
LIBS:header
LIBS:hole
LIBS:sharebrained
LIBS:fiducial
LIBS:portapack_h1-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 2 4
Title "PortaPack H1"
Date "21 Aug 2015"
Rev "20150821"
Comp "ShareBrained Technology, Inc."
Comment1 "Copyright © 2014, 2015 Jared Boone"
Comment2 "License: GNU General Public License, version 2"
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L CP C18
U 1 1 53A8C256
P 7700 3700
F 0 "C18" H 7750 3800 50 0000 L CNN
F 1 "220U" H 7750 3600 50 0000 L CNN
F 2 "ipc_capae:IPC_CAPAE830X620N" H 7700 3700 60 0001 C CNN
F 3 "" H 7700 3700 60 0000 C CNN
F 4 "Nichicon" H 7700 3700 60 0001 C CNN "Mfr"
F 5 "UWX1A221MCL1GB" H 7700 3700 60 0001 C CNN "Part"
1 7700 3700
0 -1 -1 0
$EndComp
$Comp
L CP C19
U 1 1 53A8C25E
P 7700 4100
F 0 "C19" H 7750 4200 50 0000 L CNN
F 1 "220U" H 7750 4000 50 0000 L CNN
F 2 "ipc_capae:IPC_CAPAE830X620N" H 7700 4100 60 0001 C CNN
F 3 "" H 7700 4100 60 0000 C CNN
F 4 "Nichicon" H 7700 4100 60 0001 C CNN "Mfr"
F 5 "UWX1A221MCL1GB" H 7700 4100 60 0001 C CNN "Part"
1 7700 4100
0 -1 -1 0
$EndComp
$Comp
L R R11
U 1 1 53A8C264
P 8000 3350
F 0 "R11" V 8080 3350 50 0000 C CNN
F 1 "47K" V 8000 3350 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 8000 3350 60 0001 C CNN
F 3 "" H 8000 3350 60 0000 C CNN
F 4 "Yageo" V 8000 3350 60 0001 C CNN "Mfr"
F 5 "RC0603FR-0747KL" V 8000 3350 60 0001 C CNN "Part"
1 8000 3350
-1 0 0 -1
$EndComp
$Comp
L R R12
U 1 1 53A8C26A
P 8000 4450
F 0 "R12" V 8080 4450 50 0000 C CNN
F 1 "47K" V 8000 4450 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 8000 4450 60 0001 C CNN
F 3 "" H 8000 4450 60 0000 C CNN
F 4 "Yageo" V 8000 4450 60 0001 C CNN "Mfr"
F 5 "RC0603FR-0747KL" V 8000 4450 60 0001 C CNN "Part"
1 8000 4450
-1 0 0 -1
$EndComp
$Comp
L GND #PWR02
U 1 1 53A8C270
P 8000 3000
F 0 "#PWR02" H 8000 3000 30 0001 C CNN
F 1 "GND" H 8000 2930 30 0001 C CNN
F 2 "" H 8000 3000 60 0000 C CNN
F 3 "" H 8000 3000 60 0000 C CNN
1 8000 3000
-1 0 0 1
$EndComp
$Comp
L GND #PWR03
U 1 1 53A8C276
P 8000 4800
F 0 "#PWR03" H 8000 4800 30 0001 C CNN
F 1 "GND" H 8000 4730 30 0001 C CNN
F 2 "" H 8000 4800 60 0000 C CNN
F 3 "" H 8000 4800 60 0000 C CNN
1 8000 4800
1 0 0 -1
$EndComp
Text Label 7000 3700 0 60 ~ 0
LHPOUT
Text Label 7000 4100 0 60 ~ 0
RHPOUT
$Comp
L C C22
U 1 1 53A8C27E
P 8300 3400
F 0 "C22" H 8350 3500 50 0000 L CNN
F 1 "220P" H 8350 3300 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1608X95N" H 8300 3400 60 0001 C CNN
F 3 "" H 8300 3400 60 0000 C CNN
F 4 "Murata" H 8300 3400 60 0001 C CNN "Mfr"
F 5 "GRM1885C1H221JA01" H 8300 3400 60 0001 C CNN "Part"
1 8300 3400
1 0 0 -1
$EndComp
$Comp
L C C23
U 1 1 53A8C284
P 8300 4400
F 0 "C23" H 8350 4500 50 0000 L CNN
F 1 "220P" H 8350 4300 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1608X95N" H 8300 4400 60 0001 C CNN
F 3 "" H 8300 4400 60 0000 C CNN
F 4 "Murata" H 8300 4400 60 0001 C CNN "Mfr"
F 5 "GRM1885C1H221JA01" H 8300 4400 60 0001 C CNN "Part"
1 8300 4400
1 0 0 -1
$EndComp
$Comp
L GND #PWR04
U 1 1 53A8C28A
P 8300 3100
F 0 "#PWR04" H 8300 3100 30 0001 C CNN
F 1 "GND" H 8300 3030 30 0001 C CNN
F 2 "" H 8300 3100 60 0000 C CNN
F 3 "" H 8300 3100 60 0000 C CNN
1 8300 3100
-1 0 0 1
$EndComp
$Comp
L GND #PWR05
U 1 1 53A8C290
P 8300 4700
F 0 "#PWR05" H 8300 4700 30 0001 C CNN
F 1 "GND" H 8300 4630 30 0001 C CNN
F 2 "" H 8300 4700 60 0000 C CNN
F 3 "" H 8300 4700 60 0000 C CNN
1 8300 4700
1 0 0 -1
$EndComp
$Comp
L R R17
U 1 1 53A8C296
P 9300 5950
F 0 "R17" V 9380 5950 50 0000 C CNN
F 1 "47K" V 9300 5950 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 9300 5950 60 0001 C CNN
F 3 "" H 9300 5950 60 0000 C CNN
F 4 "Yageo" V 9300 5950 60 0001 C CNN "Mfr"
F 5 "RC0603FR-0747KL" V 9300 5950 60 0001 C CNN "Part"
1 9300 5950
-1 0 0 -1
$EndComp
$Comp
L R R18
U 1 1 53A8C29C
P 9650 5600
F 0 "R18" V 9730 5600 50 0000 C CNN
F 1 "680R" V 9650 5600 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 9650 5600 60 0001 C CNN
F 3 "" H 9650 5600 60 0000 C CNN
F 4 "Yageo" V 9650 5600 60 0001 C CNN "Mfr"
F 5 "RC0603FR-07681RL" V 9650 5600 60 0001 C CNN "Part"
1 9650 5600
0 1 -1 0
$EndComp
$Comp
L C C25
U 1 1 53A8C2A2
P 8800 5900
F 0 "C25" H 8850 6000 50 0000 L CNN
F 1 "220P" H 8850 5800 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1608X95N" H 8800 5900 60 0001 C CNN
F 3 "" H 8800 5900 60 0000 C CNN
F 4 "Murata" H 8800 5900 60 0001 C CNN "Mfr"
F 5 "GRM1885C1H221JA01" H 8800 5900 60 0001 C CNN "Part"
1 8800 5900
-1 0 0 -1
$EndComp
$Comp
L CP C24
U 1 1 53A8C2AA
P 8500 5600
F 0 "C24" H 8550 5700 50 0000 L CNN
F 1 "1U" H 8550 5500 50 0000 L CNN
F 2 "ipc_capae:IPC_CAPAE430X540N" H 8500 5600 60 0001 C CNN
F 3 "" H 8500 5600 60 0000 C CNN
F 4 "Kemet" H 8500 5600 60 0001 C CNN "Mfr"
F 5 "EDK105M050A9BAA" H 8500 5600 60 0001 C CNN "Part"
1 8500 5600
0 -1 -1 0
$EndComp
$Comp
L R R10
U 1 1 53A8C2B0
P 7950 5600
F 0 "R10" V 8030 5600 50 0000 C CNN
F 1 "0R" V 7950 5600 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 7950 5600 60 0001 C CNN
F 3 "" H 7950 5600 60 0000 C CNN
F 4 "Yageo" V 7950 5600 60 0001 C CNN "Mfr"
F 5 "RC0603JR-070RL" V 7950 5600 60 0001 C CNN "Part"
1 7950 5600
0 1 -1 0
$EndComp
$Comp
L GND #PWR06
U 1 1 53A8C2B6
P 9300 6300
F 0 "#PWR06" H 9300 6300 30 0001 C CNN
F 1 "GND" H 9300 6230 30 0001 C CNN
F 2 "" H 9300 6300 60 0000 C CNN
F 3 "" H 9300 6300 60 0000 C CNN
1 9300 6300
1 0 0 -1
$EndComp
$Comp
L GND #PWR07
U 1 1 53A8C2BC
P 8800 6200
F 0 "#PWR07" H 8800 6200 30 0001 C CNN
F 1 "GND" H 8800 6130 30 0001 C CNN
F 2 "" H 8800 6200 60 0000 C CNN
F 3 "" H 8800 6200 60 0000 C CNN
1 8800 6200
1 0 0 -1
$EndComp
Text Label 10000 5600 0 60 ~ 0
MICBIAS
Text Label 7300 5600 0 60 ~ 0
MICIN
$Comp
L TRRS_SW_JACK P2
U 1 1 53A8C2C6
P 9650 4100
F 0 "P2" H 9200 4100 60 0000 C CNN
F 1 "TRRS_SW_JACK" H 9450 4350 60 0000 C CNN
F 2 "cui:CUI_SJ-43516-SMT" H 9650 4100 60 0001 C CNN
F 3 "" H 9650 4100 60 0000 C CNN
F 4 "CUI" H 9650 4100 60 0001 C CNN "Mfr"
F 5 "SJ-43514-SMT" H 9650 4100 60 0001 C CNN "Part"
1 9650 4100
-1 0 0 1
$EndComp
$Comp
L GND #PWR08
U 1 1 53A8C2CC
P 9000 5000
F 0 "#PWR08" H 9000 5000 30 0001 C CNN
F 1 "GND" H 9000 4930 30 0001 C CNN
F 2 "" H 9000 5000 60 0000 C CNN
F 3 "" H 9000 5000 60 0000 C CNN
1 9000 5000
1 0 0 -1
$EndComp
$Comp
L L L4
U 1 1 53A8C2E2
P 8650 3700
F 0 "L4" V 8600 3700 40 0000 C CNN
F 1 "L" V 8750 3700 40 0000 C CNN
F 2 "ipc_indc:IPC_INDC1608X95N" H 8650 3700 60 0001 C CNN
F 3 "" H 8650 3700 60 0000 C CNN
F 4 "Murata" V 8650 3700 60 0001 C CNN "Mfr"
F 5 "BLM18HE152SN1D" V 8650 3700 60 0001 C CNN "Part"
1 8650 3700
0 1 1 0
$EndComp
$Comp
L L L5
U 1 1 53A8C2E8
P 8650 4100
F 0 "L5" V 8600 4100 40 0000 C CNN
F 1 "L" V 8750 4100 40 0000 C CNN
F 2 "ipc_indc:IPC_INDC1608X95N" H 8650 4100 60 0001 C CNN
F 3 "" H 8650 4100 60 0000 C CNN
F 4 "Murata" V 8650 4100 60 0001 C CNN "Mfr"
F 5 "BLM18HE152SN1D" V 8650 4100 60 0001 C CNN "Part"
1 8650 4100
0 1 1 0
$EndComp
$Comp
L L L6
U 1 1 53A8C2EE
P 9000 4650
F 0 "L6" V 8950 4650 40 0000 C CNN
F 1 "L" V 9100 4650 40 0000 C CNN
F 2 "ipc_indc:IPC_INDC1608X95N" H 9000 4650 60 0001 C CNN
F 3 "" H 9000 4650 60 0000 C CNN
F 4 "Murata" V 9000 4650 60 0001 C CNN "Mfr"
F 5 "BLM18HE152SN1D" V 9000 4650 60 0001 C CNN "Part"
1 9000 4650
1 0 0 -1
$EndComp
$Comp
L L L9
U 1 1 53A8C2F4
P 9300 4650
F 0 "L9" V 9250 4650 40 0000 C CNN
F 1 "L" V 9400 4650 40 0000 C CNN
F 2 "ipc_indc:IPC_INDC1608X95N" H 9300 4650 60 0001 C CNN
F 3 "" H 9300 4650 60 0000 C CNN
F 4 "Murata" V 9300 4650 60 0001 C CNN "Mfr"
F 5 "BLM18HE152SN1D" V 9300 4650 60 0001 C CNN "Part"
1 9300 4650
1 0 0 -1
$EndComp
$Comp
L WM8731SEDS U1
U 1 1 53A8C66D
P 2600 3850
F 0 "U1" H 2150 4650 60 0000 C CNN
F 1 "WM8731SEDS" H 2800 4650 60 0000 C CNN
F 2 "ipc_sop:IPC_SOP65P780X200-28N" H 2600 3850 60 0001 C CNN
F 3 "" H 2600 3850 60 0000 C CNN
F 4 "Wolfson" H 2600 3850 60 0001 C CNN "Mfr"
F 5 "WM8731SEDS/V" H 2600 3850 60 0001 C CNN "Part"
1 2600 3850
1 0 0 -1
$EndComp
$Comp
L GND #PWR09
U 1 1 53A8C673
P 3400 4500
F 0 "#PWR09" H 3400 4500 30 0001 C CNN
F 1 "GND" H 3400 4430 30 0001 C CNN
F 2 "" H 3400 4500 60 0000 C CNN
F 3 "" H 3400 4500 60 0000 C CNN
1 3400 4500
0 -1 -1 0
$EndComp
$Comp
L GND #PWR010
U 1 1 53A8C679
P 3400 3200
F 0 "#PWR010" H 3400 3200 30 0001 C CNN
F 1 "GND" H 3400 3130 30 0001 C CNN
F 2 "" H 3400 3200 60 0000 C CNN
F 3 "" H 3400 3200 60 0000 C CNN
1 3400 3200
0 -1 -1 0
$EndComp
$Comp
L GND #PWR011
U 1 1 53A8C67F
P 1800 4200
F 0 "#PWR011" H 1800 4200 30 0001 C CNN
F 1 "GND" H 1800 4130 30 0001 C CNN
F 2 "" H 1800 4200 60 0000 C CNN
F 3 "" H 1800 4200 60 0000 C CNN
1 1800 4200
0 1 1 0
$EndComp
NoConn ~ 3300 3400
NoConn ~ 1900 3300
$Comp
L C C6
U 1 1 53A8C687
P 4900 6200
F 0 "C6" H 4950 6300 50 0000 L CNN
F 1 "100N" H 4950 6100 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 4900 6200 60 0001 C CNN
F 3 "" H 4900 6200 60 0000 C CNN
F 4 "Murata" H 4900 6200 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 4900 6200 60 0001 C CNN "Part"
1 4900 6200
-1 0 0 -1
$EndComp
$Comp
L C C10
U 1 1 53A8C68D
P 5700 6200
F 0 "C10" H 5750 6300 50 0000 L CNN
F 1 "100N" H 5750 6100 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 5700 6200 60 0001 C CNN
F 3 "" H 5700 6200 60 0000 C CNN
F 4 "Murata" H 5700 6200 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 5700 6200 60 0001 C CNN "Part"
1 5700 6200
-1 0 0 -1
$EndComp
$Comp
L GND #PWR012
U 1 1 53A8C693
P 5300 6500
F 0 "#PWR012" H 5300 6500 30 0001 C CNN
F 1 "GND" H 5300 6430 30 0001 C CNN
F 2 "" H 5300 6500 60 0000 C CNN
F 3 "" H 5300 6500 60 0000 C CNN
1 5300 6500
1 0 0 -1
$EndComp
$Comp
L GND #PWR013
U 1 1 53A8C699
P 5700 6500
F 0 "#PWR013" H 5700 6500 30 0001 C CNN
F 1 "GND" H 5700 6430 30 0001 C CNN
F 2 "" H 5700 6500 60 0000 C CNN
F 3 "" H 5700 6500 60 0000 C CNN
1 5700 6500
1 0 0 -1
$EndComp
$Comp
L C C3
U 1 1 53A8C69F
P 3500 7100
F 0 "C3" H 3550 7200 50 0000 L CNN
F 1 "100N" H 3550 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 3500 7100 60 0001 C CNN
F 3 "" H 3500 7100 60 0000 C CNN
F 4 "Murata" H 3500 7100 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 3500 7100 60 0001 C CNN "Part"
1 3500 7100
-1 0 0 -1
$EndComp
$Comp
L C C2
U 1 1 53A8C6A5
P 3100 7100
F 0 "C2" H 3150 7200 50 0000 L CNN
F 1 "100N" H 3150 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 3100 7100 60 0001 C CNN
F 3 "" H 3100 7100 60 0000 C CNN
F 4 "Murata" H 3100 7100 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 3100 7100 60 0001 C CNN "Part"
1 3100 7100
-1 0 0 -1
$EndComp
$Comp
L C C5
U 1 1 53A8C6AB
P 4300 7100
F 0 "C5" H 4350 7200 50 0000 L CNN
F 1 "100N" H 4350 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 4300 7100 60 0001 C CNN
F 3 "" H 4300 7100 60 0000 C CNN
F 4 "Murata" H 4300 7100 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 4300 7100 60 0001 C CNN "Part"
1 4300 7100
-1 0 0 -1
$EndComp
$Comp
L C C4
U 1 1 53A8C6B1
P 3900 7100
F 0 "C4" H 3950 7200 50 0000 L CNN
F 1 "100N" H 3950 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 3900 7100 60 0001 C CNN
F 3 "" H 3900 7100 60 0000 C CNN
F 4 "Murata" H 3900 7100 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 3900 7100 60 0001 C CNN "Part"
1 3900 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR014
U 1 1 53A8C6B7
P 3100 7400
F 0 "#PWR014" H 3100 7400 30 0001 C CNN
F 1 "GND" H 3100 7330 30 0001 C CNN
F 2 "" H 3100 7400 60 0000 C CNN
F 3 "" H 3100 7400 60 0000 C CNN
1 3100 7400
1 0 0 -1
$EndComp
$Comp
L GND #PWR015
U 1 1 53A8C6BD
P 3500 7400
F 0 "#PWR015" H 3500 7400 30 0001 C CNN
F 1 "GND" H 3500 7330 30 0001 C CNN
F 2 "" H 3500 7400 60 0000 C CNN
F 3 "" H 3500 7400 60 0000 C CNN
1 3500 7400
1 0 0 -1
$EndComp
$Comp
L GND #PWR016
U 1 1 53A8C6C3
P 3900 7400
F 0 "#PWR016" H 3900 7400 30 0001 C CNN
F 1 "GND" H 3900 7330 30 0001 C CNN
F 2 "" H 3900 7400 60 0000 C CNN
F 3 "" H 3900 7400 60 0000 C CNN
1 3900 7400
1 0 0 -1
$EndComp
Text Label 1200 3400 0 60 ~ 0
I2S0_SCK_R
Text Label 1200 3500 0 60 ~ 0
I2S0_TX_SDA_R
Text Label 1200 3600 0 60 ~ 0
I2S0_WS_R
Text Label 1200 4000 0 60 ~ 0
LHPOUT
Text Label 1200 4100 0 60 ~ 0
RHPOUT
Text Label 3400 4200 0 60 ~ 0
MICIN
Text Label 3400 4300 0 60 ~ 0
MICBIAS
Text Label 3400 3500 0 60 ~ 0
I2S0_MCLK_R
$Comp
L GND #PWR017
U 1 1 53A8C6D8
P 3500 3800
F 0 "#PWR017" H 3500 3800 30 0001 C CNN
F 1 "GND" H 3500 3730 30 0001 C CNN
F 2 "" H 3500 3800 60 0000 C CNN
F 3 "" H 3500 3800 60 0000 C CNN
1 3500 3800
0 -1 -1 0
$EndComp
Text Notes 1100 4800 0 60 ~ 0
WM8731 DAI is hi-Z,\n100K PD when disabled
$Comp
L GND #PWR018
U 1 1 53A8C6E9
P 4300 7400
F 0 "#PWR018" H 4300 7400 30 0001 C CNN
F 1 "GND" H 4300 7330 30 0001 C CNN
F 2 "" H 4300 7400 60 0000 C CNN
F 3 "" H 4300 7400 60 0000 C CNN
1 4300 7400
1 0 0 -1
$EndComp
$Comp
L C C12
U 1 1 53A8C6F0
P 6100 6200
F 0 "C12" H 6150 6300 50 0000 L CNN
F 1 "10U" H 6150 6100 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 6100 6200 60 0001 C CNN
F 3 "" H 6100 6200 60 0000 C CNN
F 4 "Murata" H 6100 6200 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 6100 6200 60 0001 C CNN "Part"
1 6100 6200
-1 0 0 -1
$EndComp
$Comp
L C C8
U 1 1 53A8C6F6
P 5300 6200
F 0 "C8" H 5350 6300 50 0000 L CNN
F 1 "10U" H 5350 6100 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 5300 6200 60 0001 C CNN
F 3 "" H 5300 6200 60 0000 C CNN
F 4 "Murata" H 5300 6200 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 5300 6200 60 0001 C CNN "Part"
1 5300 6200
-1 0 0 -1
$EndComp
$Comp
L GND #PWR019
U 1 1 53A8C6FC
P 6100 6500
F 0 "#PWR019" H 6100 6500 30 0001 C CNN
F 1 "GND" H 6100 6430 30 0001 C CNN
F 2 "" H 6100 6500 60 0000 C CNN
F 3 "" H 6100 6500 60 0000 C CNN
1 6100 6500
1 0 0 -1
$EndComp
$Comp
L GND #PWR020
U 1 1 53A8C702
P 4900 6500
F 0 "#PWR020" H 4900 6500 30 0001 C CNN
F 1 "GND" H 4900 6430 30 0001 C CNN
F 2 "" H 4900 6500 60 0000 C CNN
F 3 "" H 4900 6500 60 0000 C CNN
1 4900 6500
1 0 0 -1
$EndComp
$Comp
L C C9
U 1 1 53A8C708
P 5300 7100
F 0 "C9" H 5350 7200 50 0000 L CNN
F 1 "10U" H 5350 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 5300 7100 60 0001 C CNN
F 3 "" H 5300 7100 60 0000 C CNN
F 4 "Murata" H 5300 7100 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 5300 7100 60 0001 C CNN "Part"
1 5300 7100
-1 0 0 -1
$EndComp
$Comp
L C C7
U 1 1 53A8C70E
P 4900 7100
F 0 "C7" H 4950 7200 50 0000 L CNN
F 1 "10U" H 4950 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 4900 7100 60 0001 C CNN
F 3 "" H 4900 7100 60 0000 C CNN
F 4 "Murata" H 4900 7100 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 4900 7100 60 0001 C CNN "Part"
1 4900 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR021
U 1 1 53A8C714
P 6100 7400
F 0 "#PWR021" H 6100 7400 30 0001 C CNN
F 1 "GND" H 6100 7330 30 0001 C CNN
F 2 "" H 6100 7400 60 0000 C CNN
F 3 "" H 6100 7400 60 0000 C CNN
1 6100 7400
1 0 0 -1
$EndComp
$Comp
L GND #PWR022
U 1 1 53A8C71A
P 5700 7400
F 0 "#PWR022" H 5700 7400 30 0001 C CNN
F 1 "GND" H 5700 7330 30 0001 C CNN
F 2 "" H 5700 7400 60 0000 C CNN
F 3 "" H 5700 7400 60 0000 C CNN
1 5700 7400
1 0 0 -1
$EndComp
$Comp
L C C13
U 1 1 53A8C720
P 6100 7100
F 0 "C13" H 6150 7200 50 0000 L CNN
F 1 "10U" H 6150 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 6100 7100 60 0001 C CNN
F 3 "" H 6100 7100 60 0000 C CNN
F 4 "Murata" H 6100 7100 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 6100 7100 60 0001 C CNN "Part"
1 6100 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR023
U 1 1 53A8C726
P 4900 7400
F 0 "#PWR023" H 4900 7400 30 0001 C CNN
F 1 "GND" H 4900 7330 30 0001 C CNN
F 2 "" H 4900 7400 60 0000 C CNN
F 3 "" H 4900 7400 60 0000 C CNN
1 4900 7400
1 0 0 -1
$EndComp
$Comp
L C C11
U 1 1 53A8C72C
P 5700 7100
F 0 "C11" H 5750 7200 50 0000 L CNN
F 1 "10U" H 5750 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 5700 7100 60 0001 C CNN
F 3 "" H 5700 7100 60 0000 C CNN
F 4 "Murata" H 5700 7100 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 5700 7100 60 0001 C CNN "Part"
1 5700 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR024
U 1 1 53A8C732
P 5300 7400
F 0 "#PWR024" H 5300 7400 30 0001 C CNN
F 1 "GND" H 5300 7330 30 0001 C CNN
F 2 "" H 5300 7400 60 0000 C CNN
F 3 "" H 5300 7400 60 0000 C CNN
1 5300 7400
1 0 0 -1
$EndComp
Text Label 3400 4400 0 60 ~ 0
VMID
$Comp
L +3.3V #PWR025
U 1 1 53A8C7B9
P 3100 6700
F 0 "#PWR025" H 3100 6660 30 0001 C CNN
F 1 "+3.3V" H 3100 6810 30 0000 C CNN
F 2 "" H 3100 6700 60 0000 C CNN
F 3 "" H 3100 6700 60 0000 C CNN
1 3100 6700
1 0 0 -1
$EndComp
Text Notes 1100 5300 0 60 ~ 0
I2C Addresses on HackRF I2C bus (I2C0?):\n\n0b1100000: Si5351C-B\n0b0011010: WM8731 audio codec (CSB=0)
Text Label 2300 1300 0 60 ~ 0
I2S0_SCK_R
Text Label 2300 1100 0 60 ~ 0
I2S0_TX_SDA_R
Text Label 2300 1400 0 60 ~ 0
I2S0_MCLK_R
Text Label 2300 1200 0 60 ~ 0
I2S0_WS_R
Text Label 5700 5900 0 60 ~ 0
MICBIAS
Text Label 5000 5900 0 60 ~ 0
VMID
Text HLabel 1700 1300 0 60 Input ~ 0
I2S0_SCK
Text HLabel 1700 1100 0 60 Input ~ 0
I2S0_TX_SDA
Text HLabel 1700 1400 0 60 Input ~ 0
I2S0_MCLK
Text HLabel 1700 1200 0 60 Input ~ 0
I2S0_WS
Text HLabel 3600 3600 2 60 Input ~ 0
SCL
Text HLabel 3600 3700 2 60 BiDi ~ 0
SDA
Text HLabel 1700 3700 0 60 Output ~ 0
I2S0_RX_SDA
$Comp
L RPACK4 RP1
U 1 1 53AB09AD
P 2000 1250
F 0 "RP1" H 2000 1500 60 0000 C CNN
F 1 "220R" H 2000 1000 60 0000 C CNN
F 2 "ipc_resc:IPC_RESCAXS80P160X320X60-8N" H 2000 1250 60 0001 C CNN
F 3 "" H 2000 1250 60 0000 C CNN
F 4 "Panasonic" H 2000 1250 60 0001 C CNN "Mfr"
F 5 "EXB-38V221JV" H 2000 1250 60 0001 C CNN "Part"
1 2000 1250
1 0 0 -1
$EndComp
Wire Wire Line
9300 4300 9300 4400
Wire Wire Line
9400 4300 9300 4300
Wire Wire Line
9000 4900 9000 5000
Wire Wire Line
9000 4200 9000 4400
Wire Wire Line
9400 4200 9000 4200
Wire Wire Line
9000 3700 8900 3700
Wire Wire Line
9000 3800 9000 3700
Wire Wire Line
9400 3800 9000 3800
Wire Wire Line
8900 4100 9400 4100
Wire Wire Line
8700 5600 9400 5600
Connection ~ 9300 5600
Connection ~ 8800 5600
Wire Wire Line
9300 4900 9300 5700
Wire Wire Line
9300 6200 9300 6300
Wire Wire Line
8800 6100 8800 6200
Wire Wire Line
8800 5600 8800 5700
Wire Wire Line
8200 5600 8300 5600
Wire Wire Line
7700 5600 7200 5600
Wire Wire Line
9900 5600 10400 5600
Wire Wire Line
8300 4600 8300 4700
Wire Wire Line
8300 3200 8300 3100
Connection ~ 8000 3700
Connection ~ 8000 4100
Wire Wire Line
6900 4100 7500 4100
Wire Wire Line
6900 3700 7500 3700
Wire Wire Line
8000 4700 8000 4800
Wire Wire Line
8000 3000 8000 3100
Wire Wire Line
8000 4100 8000 4200
Wire Wire Line
7900 4100 8400 4100
Wire Wire Line
8000 3700 8000 3600
Wire Wire Line
7900 3700 8400 3700
Wire Wire Line
1900 3700 1700 3700
Wire Wire Line
4900 6400 4900 6500
Wire Wire Line
6100 6400 6100 6500
Wire Wire Line
6100 5900 6100 6000
Wire Wire Line
4900 5900 4900 6000
Connection ~ 3400 3800
Wire Wire Line
3400 3900 3400 3800
Wire Wire Line
3300 3800 3500 3800
Wire Wire Line
3300 3900 3400 3900
Wire Wire Line
4100 4200 3300 4200
Wire Wire Line
1100 4100 1900 4100
Wire Wire Line
1100 4000 1900 4000
Wire Wire Line
3300 3600 3600 3600
Wire Wire Line
3300 3700 3600 3700
Wire Wire Line
3300 3500 4100 3500
Connection ~ 1800 3600
Wire Wire Line
1100 3600 1900 3600
Wire Wire Line
1800 3800 1800 3600
Wire Wire Line
1900 3800 1800 3800
Wire Wire Line
1100 3500 1900 3500
Wire Wire Line
1100 3400 1900 3400
Wire Wire Line
5700 6400 5700 6500
Wire Wire Line
5300 6400 5300 6500
Wire Wire Line
5700 5900 5700 6000
Wire Wire Line
5300 5900 5300 6000
Wire Wire Line
3300 4400 4100 4400
Wire Wire Line
1800 3200 1900 3200
Wire Wire Line
1800 3900 1900 3900
Wire Wire Line
1900 4200 1800 4200
Wire Wire Line
1800 4500 1900 4500
Wire Wire Line
3300 4500 3400 4500
Wire Wire Line
3300 3300 3500 3300
Wire Wire Line
3300 3200 3400 3200
Wire Wire Line
3100 1100 2200 1100
Wire Wire Line
3100 1200 2200 1200
Wire Wire Line
3100 1300 2200 1300
Wire Wire Line
3100 1400 2200 1400
Wire Wire Line
1700 1100 1800 1100
Wire Wire Line
1700 1200 1800 1200
Wire Wire Line
1700 1300 1800 1300
Wire Wire Line
1700 1400 1800 1400
Wire Wire Line
4300 7300 4300 7400
Wire Wire Line
3900 7300 3900 7400
Wire Wire Line
3500 7300 3500 7400
Wire Wire Line
3100 7300 3100 7400
Wire Wire Line
4900 7300 4900 7400
Wire Wire Line
5300 7300 5300 7400
Wire Wire Line
5700 7300 5700 7400
Wire Wire Line
6100 7300 6100 7400
Wire Wire Line
5700 5900 6100 5900
Wire Wire Line
3300 4300 4100 4300
Wire Wire Line
4900 5900 5300 5900
Wire Wire Line
8300 4100 8300 4200
Connection ~ 8300 4100
Wire Wire Line
8300 3600 8300 3700
Connection ~ 8300 3700
NoConn ~ 9400 3900
NoConn ~ 9400 4000
Wire Wire Line
3100 6700 3100 6900
Wire Wire Line
3100 6800 6100 6800
Wire Wire Line
3500 6800 3500 6900
Connection ~ 3100 6800
Wire Wire Line
3900 6800 3900 6900
Connection ~ 3500 6800
Wire Wire Line
4300 6800 4300 6900
Connection ~ 3900 6800
Wire Wire Line
4900 6800 4900 6900
Connection ~ 4300 6800
Wire Wire Line
5300 6800 5300 6900
Connection ~ 4900 6800
Wire Wire Line
5700 6800 5700 6900
Connection ~ 5300 6800
Wire Wire Line
6100 6800 6100 6900
Connection ~ 5700 6800
$Comp
L +3.3V #PWR026
U 1 1 53BC2346
P 3500 3300
F 0 "#PWR026" H 3500 3260 30 0001 C CNN
F 1 "+3.3V" H 3500 3410 30 0000 C CNN
F 2 "" H 3500 3300 60 0000 C CNN
F 3 "" H 3500 3300 60 0000 C CNN
1 3500 3300
0 1 1 0
$EndComp
$Comp
L +3.3V #PWR027
U 1 1 53BC2351
P 1800 3200
F 0 "#PWR027" H 1800 3160 30 0001 C CNN
F 1 "+3.3V" H 1800 3310 30 0000 C CNN
F 2 "" H 1800 3200 60 0000 C CNN
F 3 "" H 1800 3200 60 0000 C CNN
1 1800 3200
0 -1 -1 0
$EndComp
$Comp
L +3.3V #PWR028
U 1 1 53BC235C
P 1800 3900
F 0 "#PWR028" H 1800 3860 30 0001 C CNN
F 1 "+3.3V" H 1800 4010 30 0000 C CNN
F 2 "" H 1800 3900 60 0000 C CNN
F 3 "" H 1800 3900 60 0000 C CNN
1 1800 3900
0 -1 -1 0
$EndComp
$Comp
L +3.3V #PWR029
U 1 1 53BC2367
P 1800 4500
F 0 "#PWR029" H 1800 4460 30 0001 C CNN
F 1 "+3.3V" H 1800 4610 30 0000 C CNN
F 2 "" H 1800 4500 60 0000 C CNN
F 3 "" H 1800 4500 60 0000 C CNN
1 1800 4500
0 -1 -1 0
$EndComp
NoConn ~ 3300 4000
NoConn ~ 3300 4100
NoConn ~ 1900 4300
NoConn ~ 1900 4400
$EndSCHEMATC

View File

@ -1,80 +0,0 @@
use <pp_h1_shell.scad>
//use <pp_h1_holes.scad>
use <pp_h1_stack.scad>
include <pp_h1_parameters.scad>
module case() {
difference() {
if( case_radiused ) {
case_outer_volume_radiused();
} else {
case_outer_volume_squared();
}
union() {
if( case_radiused ) {
case_bottom_void_tool_volume_ball();
} else {
case_bottom_void_tool_volume_end();
}
case_pcb_plane_void_tool_volume();
pcb_attach_drills_volume();
case_bumpers_emboss();
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack_drills();
}
}
}
/* Cross section */
module case_cross_section() {
difference() {
case();
translate([70, -10, -10]) cube([100, 100, 100]);
}
}
module case_and_h1() {
case();
translate([0, 0, h1_pcb_thickness]) hackrf_one();
}
module case_and_stack() {
case();
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack();
}
module stack_case_interference() {
intersection() {
case();
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack();
}
}
module stack_stack_interference() {
// Ensure stack and spacers do not interfere.
intersection() {
union() {
portapack_h1_stack_hackrf_one();
portapack_h1_stack_portapack();
}
portapack_h1_stack_spacers();
}
// Ensure screws do not interfere with stack.
intersection() {
union() {
portapack_h1_stack_hackrf_one();
portapack_h1_stack_spacers();
portapack_h1_stack_portapack();
}
portapack_h1_stack_screws();
}
}
case();
//case_and_h1();
//case_and_stack();
//case_cross_section();
//stack_case_interference();
//stack_stack_interference();

View File

@ -1,64 +0,0 @@
pcb_l = 120;
pcb_w = 75;
pcb_corner_r = 4;
pcb_hole_r = 3.2 / 2;
pcb_hole_pad_r = 5.6 / 2;
h1_pcb_thickness = 1.64;
pp_h1_pcb_thickness = 1.56;
spacer_height = 0.5 * 25.4;
bolt_drill_d = 3.0;
pcb_attach_drills_depth = 4.0;
pcb_case_clearance = 0.5;
case_thickness = 1.5;
case_bottom_thickness = case_thickness * 2;
h1_pcb_bottom_clearance = 4.0;
case_bottom_tool_r = 3.0;
case_lid_thickness = 0.125 * 25.4;
case_height_above_datum = h1_pcb_thickness + spacer_height + pp_h1_pcb_thickness + case_lid_thickness;
case_height_below_datum = case_bottom_thickness + h1_pcb_bottom_clearance;
case_height = case_height_below_datum + case_height_above_datum;
attach_foot_r = pcb_hole_pad_r;
attach_drill_r = bolt_drill_d / 2.0;
case_bumper_d = 0.5 * 25.4;
case_bumper_clearance = 0.5;
case_bumper_emboss_depth = 1.0;
case_radiused = true;
case_bumper_inset_from_pcb_edge = case_radiused ? 10.0 : 8.0;
mounting_drills = [
[4, 4],
[66, pcb_w - 4],
[116, 4],
[4, pcb_w - 4],
[71, pcb_w - 44],
[116, pcb_w - 4]
];
module pcb_extents() {
square([pcb_l, pcb_w]);
}
module pcb_outline() {
minkowski() {
offset(r=-pcb_corner_r) {
pcb_extents();
}
circle(r=pcb_corner_r);
}
}
module pcb_outline_clearance() {
minkowski() {
pcb_outline();
circle(r=pcb_case_clearance);
}
}

View File

@ -1,152 +0,0 @@
include <pp_h1_parameters.scad>
$fs=0.1;
module attach_corner() {
circle(attach_foot_r);
polygon([[-10, -10],[attach_foot_r, -10],[attach_foot_r, 0],[0, attach_foot_r],[-10, attach_foot_r]]);
}
module attach_side() {
circle(attach_foot_r);
translate([0, -attach_foot_r]) square([10, attach_foot_r * 2]);
}
module attach_center() {
circle(attach_foot_r);
}
module pcb_supports() {
translate(mounting_drills[0]) attach_corner();
translate(mounting_drills[1]) rotate(90) attach_side();
translate(mounting_drills[2]) rotate(90) attach_corner();
translate(mounting_drills[3]) rotate(270) attach_corner();
translate(mounting_drills[4]) attach_center();
translate(mounting_drills[5]) rotate(180) attach_corner();
}
module pcb_attach_drill_outline() {
circle(r=attach_drill_r);
}
module pcb_attach_drills_outline() {
for(p = mounting_drills) {
translate(p) pcb_attach_drill_outline();
}
}
module pcb_attach_drills_volume() {
translate([0, 0, -pcb_attach_drills_depth]) linear_extrude(height=30) {
pcb_attach_drills_outline();
}
}
module case_bottom_void_edge() {
// Edge of PCB, plus case clearance, minus board supports.
difference() {
pcb_outline_clearance();
pcb_supports();
}
}
module case_bottom_void_tool_path() {
// Tool path to cut bottom of case.
offset(r=-case_bottom_tool_r) {
case_bottom_void_edge();
}
}
module case_bottom_void_tool_volume_ball() {
$fs=2;
$fn=18;
// Tool cut volume for bottom of case.
// Z=0 at bottom plane of H1 PCB
translate([0, 0, -h1_pcb_bottom_clearance + case_bottom_tool_r]) minkowski() {
linear_extrude(height=50, convexity=10) {
case_bottom_void_tool_path();
}
sphere(r=case_bottom_tool_r);
}
}
module case_outer_volume_radiused() {
$fs=2;
$fn=18;
tool_r = case_bottom_tool_r + case_thickness;
tz = h1_pcb_bottom_clearance + case_bottom_thickness - tool_r;
difference() {
// Rounded volume
translate([0, 0, -tz]) {
minkowski() {
linear_extrude(height=30, convexity=10) {
offset(r=-case_bottom_tool_r) {
pcb_outline_clearance();
}
}
sphere(r=tool_r);
}
}
// Cut off the top.
translate([-10, -10, case_height_above_datum]) cube([200, 200, 200]);
}
}
module case_bottom_void_tool_volume_end() {
// Tool cut volume for bottom of case.
// Z=0 at bottom plane of H1 PCB
translate([0, 0, -h1_pcb_bottom_clearance]) {
linear_extrude(height=50) {
minkowski() {
case_bottom_void_tool_path();
circle(r=case_bottom_tool_r);
}
}
}
}
module case_bumper_emboss_outline() {
circle(r=case_bumper_d / 2 + case_bumper_clearance);
}
module case_bumper_emboss_tool() {
height = 10;
translate([0, 0, -height]) linear_extrude(height=height) {
case_bumper_emboss_outline();
}
}
module case_bumpers_emboss() {
tz = case_height_below_datum - case_bumper_emboss_depth;
translate([0, 0, -tz]) {
translate([case_bumper_inset_from_pcb_edge, case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
translate([pcb_l - case_bumper_inset_from_pcb_edge, case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
translate([case_bumper_inset_from_pcb_edge, pcb_w - case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
translate([pcb_l - case_bumper_inset_from_pcb_edge, pcb_w - case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
}
}
module case_pcb_plane_void_tool_edge() {
offset(r=-pcb_corner_r) {
pcb_outline_clearance();
}
}
module case_pcb_plane_void_tool_volume() {
linear_extrude(height=30, convexity=10) {
minkowski() {
case_pcb_plane_void_tool_edge();
circle(r=pcb_corner_r);
}
}
}
module case_outer_volume_squared() {
t = case_bottom_thickness + h1_pcb_bottom_clearance;
translate([0, 0, -t]) linear_extrude(height=t + case_height_above_datum) {
minkowski() {
pcb_outline();
circle(r=pcb_case_clearance + case_thickness);
}
}
}

View File

@ -1,846 +0,0 @@
include <pp_h1_parameters.scad>
$fs=0.1;
module pcb_mounting_hole_drill() {
circle(r=pcb_hole_r);
}
module pcb_mounting_hole_drills() {
translate([ 64, 104]) pcb_mounting_hole_drill();
translate([126, 104]) pcb_mounting_hole_drill();
translate([176, 104]) pcb_mounting_hole_drill();
translate([ 64, 171]) pcb_mounting_hole_drill();
translate([131, 144]) pcb_mounting_hole_drill();
translate([176, 171]) pcb_mounting_hole_drill();
}
////////////////////////////////////////////////////////
module pcb_cutout_antenna_pos() {
x = 61.5;
y1 = 154.75;
y2 = 167.25;
r = 1.5;
minkowski() {
polygon(
points=[[x+8,y1-4],[x,y1-4],[x,y1],[x+4,y1],[x+4,y2],[x,y2],[x,y2+4],[x+8,y2+4]]
);
circle(r=r);
};
}
module pcb_cutout_antenna_neg_curve() {
x = 59.5;
y1 = 157;
y2 = 165;
r = 1.5;
minkowski() {
polygon(
points=[[x-2,y1],[x,y1],[x,y2],[x-2,y2]]
);
circle(r=r);
};
}
module pcb_cutout_antenna_neg() {
x = 60.5;
y1 = 157;
y2 = 165;
w = -4;
union() {
polygon(
points=[[x+w,y1-3],[x,y1-3],[x,y2+3],[x+w,y2+3]]
);
pcb_cutout_antenna_neg_curve();
}
}
module pcb_cutout_antenna() {
difference() {
pcb_cutout_antenna_neg();
pcb_cutout_antenna_pos();
}
}
////////////////////////////////////////////////////////
module pcb_cutout_clocks_pos() {
x = 178.5;
y1 = 138.75;
y2 = 169.25;
r = 1.5;
w = 8;
w2 = 4;
minkowski() {
polygon(
points=[[x-w,y1-4],[x,y1-4],[x,y1],[x-w2,y1],[x-w2,y2],[x,y2],[x,y2+4],[x-w,y2+4]]
);
circle(r=r);
};
}
module pcb_cutout_clock_neg_curve() {
x = 180.5;
y1 = 141;
y2 = 167;
r = 1.5;
w = 2;
minkowski() {
polygon(
points=[[x,y1],[x+w,y1],[x+w,y2],[x,y2]]
);
circle(r=r);
};
}
module pcb_cutout_clocks_neg() {
x = 179.5;
y1 = 141;
y2 = 167;
w = 6;
union() {
polygon(
points=[[x,y1-3],[x+w,y1-3],[x+w,y2+3],[x,y2+3]]
);
pcb_cutout_clock_neg_curve();
}
}
module pcb_cutout_clocks() {
difference() {
pcb_cutout_clocks_neg();
pcb_cutout_clocks_pos();
}
}
////////////////////////////////////////////////////////
bulkhead_w = 6.35;
bulkhead_h = 6.35;
bulkhead_thickness = 1.02;
barrel_d = 6.2;
barrel_clip_d = 5.5;
barrel_l = 12.45 - bulkhead_thickness;
barrel_r = barrel_d / 2;
barrel_clip_r = barrel_clip_d / 2;
peg_l = 3.81;
peg_w = 1.02;
peg_bottom_h = 0.76;
peg_top_h = 1.27;
peg_space = 1.78;
module sma_73251_2120_pegs() {
peg_top_ty = bulkhead_h/2 - peg_bottom_h - peg_space - peg_top_h;
linear_extrude(height=peg_l)
{
translate([-bulkhead_w/2, peg_top_ty])
square([peg_w, peg_top_h]);
translate([bulkhead_w/2 - peg_w, peg_top_ty])
square([peg_w, peg_top_h]);
translate([-bulkhead_w/2, bulkhead_h/2 - peg_bottom_h])
square([peg_w, peg_bottom_h]);
translate([bulkhead_w/2 - peg_w, bulkhead_h/2 - peg_bottom_h])
square([peg_w, peg_bottom_h]);
}
}
module sma_73251_2120_barrel_outline_circle() {
circle(r=barrel_r);
}
module sma_73251_2120_barrel_outline() {
intersection() {
sma_73251_2120_barrel_outline_circle();
square([barrel_clip_d, barrel_d + 1], center=true);
}
}
module sma_73251_2120_barrel() {
linear_extrude(height=barrel_l) {
sma_73251_2120_barrel_outline();
}
}
module sma_73251_2120_bulkhead() {
linear_extrude(height=bulkhead_thickness) {
square([bulkhead_w, bulkhead_h], center=true);
}
}
module sma_73251_2120_union() {
union() {
translate([0, 0, -peg_l]) sma_73251_2120_pegs();
sma_73251_2120_bulkhead();
translate([0, 0, bulkhead_thickness]) sma_73251_2120_barrel();
}
}
/*
module sma_73251_2120() {
ty = bulkhead_h/2 - peg_bottom_h - peg_space/2;
rotate([90, 0, 0]) translate([0, -ty, 0]) {
union() {
translate([0, 0, -peg_l]) sma_73251_2120_pegs();
sma_73251_2120_bulkhead();
translate([0, 0, bulkhead_thickness]) sma_73251_2120_barrel();
}
}
}
*/
module sma_73251_2120_orient(board_thickness) {
// Align so that top surface of bottom peg is at z=0 (bottom of PCB).
t = peg_top_h / 2 + (peg_space - board_thickness) / 2;
translate([0, 0, -t]) rotate([90, 0, -90]) {
children();
}
}
module sma_73251_2120(refdes, board_thickness) {
sma_73251_2120_orient(board_thickness) {
sma_73251_2120_union();
}
}
module sma_73251_2120_drill(tolerance, board_thickness) {
sma_73251_2120_orient(board_thickness) {
linear_extrude(height=30) {
minkowski() {
sma_73251_2120_barrel_outline_circle();
circle(r=tolerance);
}
}
}
}
////////////////////////////////////////////////////////
module led(refdes, c) {
rotate(90) translate([-0.25, -2.15/2, -0.60]) {
color("gray") linear_extrude(height=0.60) {
square([0.50, 2.15]);
translate([0, 2.15/2]) circle(r=0.5);
}
}
}
module led_drill() {
hole_diameter = 2;
translate([0, -0.25, -0.3]) {
rotate([90, 0, 0]) {
cylinder(d=hole_diameter, h=10);
}
}
}
////////////////////////////////////////////////////////
module sw_outline() {
circle(d=3.51, center=true);
}
sw_a = 3.25;
sw_l = 5.85;
sw_tz = sw_l - sw_a;
sw_large_hole_spacing = 7.01;
sw_large_hole_diameter = 1.30;
sw_small_hole_spacing = 4.50;
sw_small_hole_diameter = 0.99;
sw_large_small_hole_spacing = 2.49;
sw_pin_length_below_datum = 3.51;
sw_button_z_offset = 4.01;
module sw() {
rotate([180, 0, 90]) {
rotate([90, 0, 0]) {
translate([0, 4.01, sw_tz]) {
color("gray") translate([-7.11/2, -sw_button_z_offset, -3.68]) linear_extrude(height=3.68) square([7.11, 7.01]);
color("blue") linear_extrude(height=sw_a) sw_outline();
}
}
rotate([180, 0, 180]) linear_extrude(height=sw_pin_length_below_datum) {
translate([-sw_large_hole_spacing/2, sw_large_small_hole_spacing]) circle(d=sw_large_hole_diameter);
translate([ sw_large_hole_spacing/2, sw_large_small_hole_spacing]) circle(d=sw_large_hole_diameter);
translate([-sw_small_hole_spacing/2, 0]) circle(d=sw_small_hole_diameter);
translate([ sw_small_hole_spacing/2, 0]) circle(d=sw_small_hole_diameter);
}
}
}
module sw_drill(clearance) {
translate([0, 0, -sw_button_z_offset]) {
rotate([0, -90, 0]) {
linear_extrude(h=10) {
minkowski() {
sw_outline();
circle(r=clearance);
}
}
}
}
}
////////////////////////////////////////////////////////
module header_x2(nx, b) {
ny = 2;
w = 5.08;
d = 8.50;
pin_spacing_x = 2.54;
pin_spacing_y = 2.54;
pin_d = 1.02;
pin_length = 3.2;
rotate([180, 0, 0]) {
color("gray") translate([-b/2, -w/2, 0]) linear_extrude(height=d) square([b, w]);
pin_tx = nx * pin_spacing_x / -2;
pin_ty = ny * pin_spacing_y / -2;
translate([pin_tx, pin_ty]) {
for(y = [1 : ny]) {
for(x = [1 : nx]) {
tx = (x - 0.5) * pin_spacing_x;
ty = (y - 0.5) * pin_spacing_y;
translate([tx, ty]) {
rotate([180, 0]) {
linear_extrude(height=pin_length) {
circle(d=pin_d);
}
}
}
}
}
}
}
}
module header_11x2() {
nx = 11;
b = 28.44;
header_x2(nx, b);
}
module header_13x2() {
nx = 13;
b = 33.52;
header_x2(nx, b);
}
////////////////////////////////////////////////////////
module usb_plug_poly() {
inner_w1 = 6.9;
inner_h1 = 1.1;
inner_h = 1.85;
inner_w2 = 5.4;
inner_dw = inner_w1 - inner_w2;
translate([-inner_w1/2, 0])
polygon(points=[
[0, 0],
[inner_w1, 0],
[inner_w1, inner_h1],
[inner_w1 - inner_dw/2, inner_h],
[inner_dw/2, inner_h],
[0, inner_h1]
]);
}
module usb_body_outline() {
body_buffer_r = 0.3;
translate([0, body_buffer_r]) {
minkowski() {
usb_plug_poly();
circle(r=body_buffer_r);
}
}
}
module usb_plug_outline() {
outer_h = 3;
outer_ty = (outer_h - 2.45) / 2;
outer_buffer_r = 0.6;
translate([0, outer_ty]) {
minkowski() {
usb_plug_poly();
circle(r=outer_buffer_r);
}
}
}
usb_body_h = 2.45;
usb_body_depth = 5.0;
//usb_outer_w1 = 8;
usb_outer_depth = 0.63;
module usb_transform() {
rotate([90, 180, 270]) translate([0, 0, -usb_outer_depth - 2.15 + 1.65]) children();
}
module usb() {
color("lightgray") usb_transform() {
translate([0, 0, usb_outer_depth]) {
linear_extrude(height=usb_body_depth) {
usb_body_outline();
}
}
linear_extrude(height=usb_outer_depth) {
usb_plug_outline();
}
}
}
module usb_drill(clearance) {
usb_transform() {
translate([0, 0, -usb_outer_depth - 10]) {
linear_extrude(height=20) {
minkowski() {
usb_plug_outline();
circle(r=clearance);
}
}
}
}
}
////////////////////////////////////////////////////////
module pcb_outline() {
minkowski() {
polygon(
points=[[64,104], [176,104], [176,171], [64,171]]
);
circle(r=pcb_corner_r);
}
}
module pcb_shape() {
difference() {
pcb_outline();
pcb_cutout_antenna();
pcb_cutout_clocks();
pcb_mounting_hole_drills();
}
}
////////////////////////////////////////////////////////
module hackrf_one_components() {
color("green") linear_extrude(height=h1_pcb_thickness) pcb_shape();
translate([ 61.00, 161.00]) rotate( 0) sma_73251_2120("p4" , h1_pcb_thickness);
translate([179.00, 145.00]) rotate(180) sma_73251_2120("p2" , h1_pcb_thickness);
translate([179.00, 163.00]) rotate(180) sma_73251_2120("p16", h1_pcb_thickness);
translate([ 61.00, 117.90]) rotate(-90) led("d7", "green");
translate([ 61.27, 130.55]) rotate(-90) led("d8", "yellow");
translate([ 61.27, 135.12]) rotate(-90) led("d2", "red");
translate([ 61.27, 139.69]) rotate(-90) led("d4", "green");
translate([ 61.27, 144.27]) rotate(-90) led("d5", "yellow");
translate([ 61.27, 148.84]) rotate(-90) led("d6", "red");
translate([ 62.70, 111.40]) sw();
translate([ 62.70, 124.40]) sw();
translate([171.76, 143.25]) rotate([0, 0, 90]) header_11x2("p20");
translate([152.71, 164.84]) rotate([0, 0, 180]) header_13x2("p22");
translate([123.50, 143.25]) rotate([0, 0, 90]) header_11x2("p28");
translate([180.00, 124.00]) usb();
}
module hackrf_one_transform() {
rotate([180, 0, 0]) translate([-60, -100 - pcb_w])
children();
}
module hackrf_one() {
hackrf_one_transform() hackrf_one_components();
}
////////////////////////////////////////////////////////
module spacer() {
outer_d = 0.25 * 25.4;
inner_d = 0.140 * 25.4;
//inner_d = ?
rotate([0, 180, 0]) {
color("lightgray") {
difference() {
linear_extrude(height=spacer_height) {
circle(d=outer_d);
}
translate([0, 0, -0.5]) {
linear_extrude(height=spacer_height + 1) {
circle(d=inner_d);
}
}
}
}
}
}
module screw() {
wrench_sides = 6;
wrench_diameter = 2.0 / cos(360 / wrench_sides / 2);
head_height = 2.0;
head_d = 5.5;
shaft_length = 20.0;
threaded_d = 3.0;
color("gray") {
translate([0, 0, -head_height]) difference() {
linear_extrude(height=head_height)
circle(d=head_d);
translate([0, 0, -0.5]) linear_extrude(height=head_height + 1)
circle(d=wrench_diameter, $fn=wrench_sides);
}
linear_extrude(height=shaft_length)
circle(d=threaded_d);
}
}
////////////////////////////////////////////////////////
module header_mle_dual(name, nx) {
w = nx * 2.54;
h = 5;
d = 2.54;
offset = 3.81 - d;
base_h = 7.44;
translate([-w/2, -h/2, offset]) {
color("gray") linear_extrude(height=d) square([w, h]);
}
translate([-w/2, -base_h/2]) {
color("lightgray") {
linear_extrude(height=offset) square([w, base_h]);
}
}
}
module lcd_kingtech() {
body_w = 42.72;
body_h = 60.26;
body_d = 2.50;
touch_d = 0.7;
tape_d = 0.1;
view_w = 36.72;
view_h = 48.96;
view_tx = (body_w - view_w) / 2;
view_ty = 1.25 + 2.95;
tab_w = 0.7;
tab_h = 2.5;
tab_d = 0.9;
tab_tz = body_d - tab_d;
tab_bot_ty = body_h - tab_h;
translate([-body_w / 2, -view_ty - view_h/2, -(body_d + touch_d)]) {
translate([0, 0, touch_d]) {
color("beige") difference() {
linear_extrude(height=body_d) {
square([body_w, body_h]);
}
translate([view_tx, view_ty, -1]) {
linear_extrude(height=2) {
square([view_w, view_h]);
}
}
}
color("beige") translate([0, 0, tab_tz]) {
linear_extrude(height=tab_d) {
translate([-tab_w, 0]) square([tab_w, tab_h]);
translate([-tab_w, tab_bot_ty]) square([tab_w, tab_h]);
translate([body_w, 0]) square([tab_w, tab_h]);
translate([body_w, tab_bot_ty]) square([tab_w, tab_h]);
}
}
color("black") translate([view_tx, view_ty]) {
linear_extrude(height=1) {
square([view_w, view_h]);
}
}
}
color("lightgray", alpha=0.5) {
linear_extrude(height=touch_d) {
square([body_w, body_h]);
}
}
}
}
module control_wheel() {
h = 6.0;
top_d = 32.0;
top_h = 3.0;
ring_d = 34.4;
ring_h = 0.2;
bot_d = ring_d;
bot_h = h - ring_h - top_h;
translate([0, 0, -h])
color("white")
linear_extrude(height=top_h)
circle(d=top_d);
translate([0, 0, -(h - top_h)])
color("white")
linear_extrude(height=ring_h)
circle(d=ring_d);
translate([0, 0, -(h - top_h - ring_h)])
color("black")
linear_extrude(height=bot_h)
circle(d=bot_d);
}
module audio_jack_hole() {
hole_outer_d = 5.00;
circle(d=hole_outer_d);
}
audio_jack_body_w = 6.00;
audio_jack_body_h = 5.00;
audio_jack_body_depth = 15.5;
audio_jack_hole_inner_d = 3.600;
audio_jack_hole_depth = 1.5;
audio_jack_mounting_offset = 7;
module audio_jack() {
color("gray") rotate([90, 0, 0]) {
translate([0, audio_jack_body_h/2, -audio_jack_hole_depth - audio_jack_mounting_offset]) {
translate([0, 0, audio_jack_hole_depth])
linear_extrude(height=audio_jack_body_depth)
square([audio_jack_body_w, audio_jack_body_h], center=true);
difference() {
linear_extrude(height=audio_jack_hole_depth)
audio_jack_hole();
translate([0, 0, -0.5])
linear_extrude(height=audio_jack_hole_depth + 1)
circle(d=audio_jack_hole_inner_d);
}
}
}
}
module audio_jack_drill(diameter) {
translate([0, audio_jack_mounting_offset, audio_jack_body_h/2]) {
rotate([-90, 0, 0]) {
linear_extrude(height=10) {
circle(r=diameter / 2.0);
}
}
}
}
micro_sd_body_h = 1.32;
micro_sd_body_w = 13.825;
micro_sd_body_depth = 15.25;
micro_sd_card_w = 11.0;
micro_sd_card_h = 1.0;
micro_sd_card_depth = 15.0;
micro_sd_card_tx = 0.9;
micro_sd_card_ty = (micro_sd_body_h - micro_sd_card_h) / 2;
micro_sd_card_insert_depth = micro_sd_card_depth - 2.3;
micro_sd_card_eject_depth = micro_sd_card_depth - (2.3 + 3.3);
module micro_sd() {
translate([-micro_sd_body_w/2, -micro_sd_body_depth/2]) {
rotate([90, 0, 0]) {
color("lightgray") difference() {
translate([0, 0, -micro_sd_body_depth])
linear_extrude(height=micro_sd_body_depth)
square([micro_sd_body_w, micro_sd_body_h]);
translate([micro_sd_card_tx, micro_sd_card_ty, -micro_sd_card_insert_depth])
linear_extrude(height=micro_sd_card_depth)
square([micro_sd_card_w, micro_sd_card_h]);
}
color("black")
translate([micro_sd_card_tx, micro_sd_card_ty, -micro_sd_card_eject_depth])
linear_extrude(height=micro_sd_card_depth)
square([micro_sd_card_w, micro_sd_card_h]);
}
}
}
module micro_sd_drill(clearance) {
extra_width = 2;
translate([-micro_sd_body_w/2, 0]) {
rotate([90, 0, 0]) {
translate([micro_sd_card_tx - clearance - extra_width, micro_sd_card_ty - clearance, micro_sd_body_depth/2]) {
cube([micro_sd_card_w + 2 * clearance + extra_width, micro_sd_card_h + 2 * clearance, 10]);
}
}
}
}
////////////////////////////////////////////////////////
module portapack_h1_pcb_mounting_hole_drills() {
translate([ 64, 104]) pcb_mounting_hole_drill();
translate([126, 104]) pcb_mounting_hole_drill();
translate([176, 104]) pcb_mounting_hole_drill();
translate([ 64, 171]) pcb_mounting_hole_drill();
translate([176, 171]) pcb_mounting_hole_drill();
}
module portapack_h1_pcb_shape() {
difference() {
pcb_outline();
portapack_h1_pcb_mounting_hole_drills();
}
}
module portapack_h1_pcb() {
color("green") linear_extrude(height=pp_h1_pcb_thickness) {
portapack_h1_pcb_shape();
}
}
module portapack_h1_components_top() {
translate([ 94.83, 137.50]) rotate(90) lcd_kingtech();
translate([147.50, 137.50]) control_wheel();
}
module portapack_h1_components_bottom() {
translate([0, 0, pp_h1_pcb_thickness]) {
translate([171.76, 143.25]) rotate( 90) header_mle_dual("p20", 11);
translate([152.71, 164.84]) rotate(180) header_mle_dual("p22", 13);
translate([123.50, 143.25]) rotate( 90) header_mle_dual("p28", 11);
translate([172.10, 114.80]) rotate(270) audio_jack();
translate([ 68.40, 114.60]) rotate(270) micro_sd();
}
}
module portapack_h1_assembly() {
portapack_h1_pcb();
portapack_h1_components_top();
portapack_h1_components_bottom();
}
module portapack_h1_transform() {
rotate([180, 0, 0]) translate([-60, -100 - pcb_w])
children();
}
module portapack_h1() {
portapack_h1_transform() portapack_h1_assembly();
}
////////////////////////////////////////////////////////
module slot() {
hull() {
children();
translate([0, 0, -20]) children();
}
}
module portapack_h1_drills() {
micro_sd_clearance = 0.5;
audio_jack_hole_diameter = 7.0; // 6.5mm + 0.25mm clearance.
portapack_h1_transform() {
translate([172.10, 114.80, pp_h1_pcb_thickness]) rotate(270) audio_jack_drill(audio_jack_hole_diameter);
slot() translate([ 68.40, 114.60, pp_h1_pcb_thickness]) rotate(270) micro_sd_drill(micro_sd_clearance);
}
}
module hackrf_one_drills() {
clearance = 0.5;
sw_clearance = 0.6;
hackrf_one_transform() {
slot() translate([ 61.00, 161.00]) rotate( 0) sma_73251_2120_drill(clearance, h1_pcb_thickness);
translate([179.00, 145.00]) rotate(180) sma_73251_2120_drill(clearance, h1_pcb_thickness);
translate([179.00, 163.00]) rotate(180) sma_73251_2120_drill(clearance, h1_pcb_thickness);
translate([ 61.00, 117.90]) rotate(-90) led_drill();
translate([ 61.27, 130.55]) rotate(-90) led_drill();
translate([ 61.27, 135.12]) rotate(-90) led_drill();
translate([ 61.27, 139.69]) rotate(-90) led_drill();
translate([ 61.27, 144.27]) rotate(-90) led_drill();
translate([ 61.27, 148.84]) rotate(-90) led_drill();
slot() translate([ 62.70, 111.40]) sw_drill(sw_clearance);
slot() translate([ 62.70, 124.40]) sw_drill(sw_clearance);
translate([180.00, 124.00]) usb_drill(clearance);
}
}
module portapack_h1_stack_hackrf_one() {
hackrf_one();
}
module portapack_h1_stack_spacers() {
hackrf_one_transform() {
translate([ 64, 104]) spacer();
translate([126, 104]) spacer();
translate([176, 104]) spacer();
translate([ 64, 171]) spacer();
translate([176, 171]) spacer();
}
}
module portapack_h1_stack_portapack() {
translate([0, 0, spacer_height + pp_h1_pcb_thickness]) portapack_h1();
}
module portapack_h1_stack_screws() {
screw_tz = spacer_height + pp_h1_pcb_thickness;
translate([0, 0, screw_tz]) portapack_h1_transform() {
translate([ 64, 104]) screw();
translate([126, 104]) screw();
translate([176, 104]) screw();
translate([ 64, 171]) screw();
translate([176, 171]) screw();
}
}
module portapack_h1_stack() {
portapack_h1_stack_hackrf_one();
portapack_h1_stack_spacers();
portapack_h1_stack_portapack();
portapack_h1_stack_screws();
}
module portapack_h1_stack_drills() {
hackrf_one_drills();
translate([0, 0, spacer_height + pp_h1_pcb_thickness]) portapack_h1_drills();
}

View File

@ -1,30 +0,0 @@
# -------------------------------------------------------------------------- #
#
# Copyright (C) 1991-2014 Altera Corporation
# Your use of Altera Corporation's design tools, logic functions
# and other software and tools, and its AMPP partner logic
# functions, and any output files from any of the foregoing
# (including device programming or simulation files), and any
# associated documentation or information are expressly subject
# to the terms and conditions of the Altera Program License
# Subscription Agreement, Altera MegaCore Function License
# Agreement, or other applicable license agreement, including,
# without limitation, that your use is for the sole purpose of
# programming logic devices manufactured by Altera and sold by
# Altera or its authorized distributors. Please refer to the
# applicable agreement for further details.
#
# -------------------------------------------------------------------------- #
#
# Quartus II 32-bit
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
# Date created = 21:24:55 April 29, 2014
#
# -------------------------------------------------------------------------- #
QUARTUS_VERSION = "13.1"
DATE = "21:24:55 April 29, 2014"
# Revisions
PROJECT_REVISION = "portapack_h1_cpld"

View File

@ -1,288 +0,0 @@
# -------------------------------------------------------------------------- #
#
# Copyright (C) 1991-2014 Altera Corporation
# Your use of Altera Corporation's design tools, logic functions
# and other software and tools, and its AMPP partner logic
# functions, and any output files from any of the foregoing
# (including device programming or simulation files), and any
# associated documentation or information are expressly subject
# to the terms and conditions of the Altera Program License
# Subscription Agreement, Altera MegaCore Function License
# Agreement, or other applicable license agreement, including,
# without limitation, that your use is for the sole purpose of
# programming logic devices manufactured by Altera and sold by
# Altera or its authorized distributors. Please refer to the
# applicable agreement for further details.
#
# -------------------------------------------------------------------------- #
#
# Quartus II 32-bit
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
# Date created = 21:24:55 April 29, 2014
#
# -------------------------------------------------------------------------- #
#
# Notes:
#
# 1) The default values for assignments are stored in the file:
# portapack_h1_cpld_assignment_defaults.qdf
# If this file doesn't exist, see file:
# assignment_defaults.qdf
#
# 2) Altera recommends that you do not modify this file. This
# file is updated automatically by the Quartus II software
# and any changes you make may be lost or overwritten.
#
# -------------------------------------------------------------------------- #
set_global_assignment -name FAMILY "MAX V"
set_global_assignment -name DEVICE 5M40ZE64C5
set_global_assignment -name TOP_LEVEL_ENTITY top
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 13.1
set_global_assignment -name PROJECT_CREATION_TIME_DATE "21:24:55 APRIL 29, 2014"
set_global_assignment -name LAST_QUARTUS_VERSION 14.1.0
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
set_global_assignment -name DEVICE_FILTER_PACKAGE EQFP
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 64
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR "-1"
set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
set_global_assignment -name EDA_NETLIST_WRITER_OUTPUT_DIR simulation/modelsim -section_id eda_simulation
set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
set_global_assignment -name VHDL_INPUT_VERSION VHDL_2008
set_global_assignment -name VHDL_SHOW_LMF_MAPPING_MESSAGES OFF
set_global_assignment -name SDC_FILE portapack_h1_cpld.sdc
set_global_assignment -name VHDL_FILE top.vhd
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS"
set_location_assignment PIN_46 -to LCD_DB[15]
set_location_assignment PIN_47 -to LCD_DB[14]
set_location_assignment PIN_48 -to LCD_DB[13]
set_location_assignment PIN_49 -to LCD_DB[12]
set_location_assignment PIN_50 -to LCD_DB[11]
set_location_assignment PIN_51 -to LCD_DB[10]
set_location_assignment PIN_52 -to LCD_DB[9]
set_location_assignment PIN_53 -to LCD_DB[8]
set_location_assignment PIN_54 -to LCD_DB[7]
set_location_assignment PIN_55 -to LCD_DB[6]
set_location_assignment PIN_56 -to LCD_DB[5]
set_location_assignment PIN_58 -to LCD_DB[4]
set_location_assignment PIN_59 -to LCD_DB[3]
set_location_assignment PIN_60 -to LCD_DB[2]
set_location_assignment PIN_61 -to LCD_DB[1]
set_location_assignment PIN_62 -to LCD_DB[0]
set_location_assignment PIN_44 -to LCD_RDX
set_location_assignment PIN_43 -to LCD_RS
set_location_assignment PIN_63 -to LCD_TE
set_location_assignment PIN_45 -to LCD_WRX
set_location_assignment PIN_10 -to SW_D
set_location_assignment PIN_28 -to SW_L
set_location_assignment PIN_9 -to SW_R
set_location_assignment PIN_11 -to SW_ROT_A
set_location_assignment PIN_12 -to SW_ROT_B
set_location_assignment PIN_13 -to SW_SEL
set_location_assignment PIN_25 -to SW_U
set_location_assignment PIN_1 -to TP_D
set_location_assignment PIN_2 -to TP_L
set_location_assignment PIN_64 -to TP_R
set_location_assignment PIN_3 -to TP_U
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_D
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_L
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_R
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_ROT_A
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_ROT_B
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_SEL
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_U
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_D
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_L
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_R
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_U
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[15]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[14]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[13]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[12]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[11]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[10]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[9]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[8]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[7]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[6]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[5]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[4]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[3]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[2]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[1]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[0]
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RDX
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RS
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_TE
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_WRX
set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation
set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH top_tb -section_id eda_simulation
set_global_assignment -name EDA_TEST_BENCH_NAME top_tb -section_id eda_simulation
set_global_assignment -name EDA_DESIGN_INSTANCE_NAME uut -section_id top_tb
set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME top_tb -section_id top_tb
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR"
set_global_assignment -name EDA_TEST_BENCH_RUN_SIM_FOR "500 ns" -section_id top_tb
set_global_assignment -name EDA_TEST_BENCH_FILE top_tb.vhd -section_id top_tb
set_global_assignment -name EDA_BOARD_DESIGN_BOUNDARY_SCAN_TOOL "BSDL (Boundary Scan)"
set_global_assignment -name EDA_NETLIST_WRITER_OUTPUT_DIR /home/jboone/src/portapack/portapack_hackrf/hardware/portapack_h1/cpld -section_id eda_board_design_boundary_scan
set_global_assignment -name EDA_BOARD_BOUNDARY_SCAN_OPERATION POST_CONFIG -section_id eda_board_design_boundary_scan
set_global_assignment -name AUTO_RESTART_CONFIGURATION OFF
set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
set_global_assignment -name ENABLE_NCE_PIN OFF
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
set_global_assignment -name USE_CONFIGURATION_DEVICE ON
set_global_assignment -name GENERATE_RBF_FILE OFF
set_global_assignment -name GENERATE_SVF_FILE ON
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED WITH BUS-HOLD"
set_location_assignment PIN_38 -to LCD_RESETX
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RESETX
set_location_assignment PIN_18 -to MCU_D[7]
set_location_assignment PIN_19 -to MCU_D[6]
set_location_assignment PIN_21 -to MCU_D[5]
set_location_assignment PIN_20 -to MCU_D[4]
set_location_assignment PIN_22 -to MCU_D[3]
set_location_assignment PIN_24 -to MCU_D[2]
set_location_assignment PIN_27 -to MCU_D[1]
set_location_assignment PIN_26 -to MCU_D[0]
set_location_assignment PIN_33 -to MCU_ADDR
set_location_assignment PIN_42 -to MCU_DIR
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_ADDR
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[7]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[6]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[5]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[4]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[3]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[2]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[1]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[0]
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_DIR
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_D
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_L
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_R
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_U
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_ROT_B
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_SEL
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_ROT_A
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[15]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[14]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[13]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[12]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[11]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[10]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[9]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[8]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[7]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[6]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[5]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[4]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[3]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[2]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[1]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[0]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RDX
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RESETX
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RS
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_TE
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_WRX
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_ADDR
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[7]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[6]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[5]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[4]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[3]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[2]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[1]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[0]
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_DIR
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_D
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_L
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_R
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_ROT_A
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_ROT_B
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_SEL
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_U
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_D
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_L
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_R
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_U
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[15]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[14]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[13]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[12]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[11]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[10]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[9]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[8]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[7]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[6]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[5]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[4]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[3]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[2]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[1]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[0]
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RDX
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RESETX
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RS
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_TE
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_WRX
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_ADDR
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[7]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[6]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[5]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[4]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[3]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[2]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[1]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[0]
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_DIR
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_D
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_L
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_R
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_ROT_A
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_ROT_B
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_SEL
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_U
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_D
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_L
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_R
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_U
set_global_assignment -name ENABLE_DEVICE_WIDE_RESET ON
set_global_assignment -name IOBANK_VCCIO 1.8V -section_id 2
set_global_assignment -name IOBANK_VCCIO 3.3V -section_id 1
set_instance_assignment -name PCI_IO OFF -to MCU_DIR
set_global_assignment -name ALLOW_LVTTL_LVCMOS_INPUT_LEVELS_TO_OVERDRIVE_INPUT_BUFFER ON
set_location_assignment PIN_4 -to LCD_BACKLIGHT
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to LCD_BACKLIGHT
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_BACKLIGHT
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_BACKLIGHT
set_instance_assignment -name PCI_IO OFF -to LCD_BACKLIGHT
set_location_assignment PIN_30 -to MCU_LCD_RD
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_RD
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_RD
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_RD
set_location_assignment PIN_40 -to MCU_LCD_WR
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_WR
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_WR
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_WR
set_instance_assignment -name PCI_IO OFF -to MCU_LCD_WR
set_location_assignment PIN_32 -to MCU_IO_STBX
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_IO_STBX
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_IO_STBX
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_IO_STBX
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_R
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_D
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_L
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_U
set_location_assignment PIN_31 -to MCU_LCD_TE
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_TE
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_TE
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_TE
set_location_assignment PIN_34 -to MCU_P2_8
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_P2_8
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_P2_8
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_P2_8
set_instance_assignment -name PCI_IO OFF -to MCU_P2_8

View File

@ -1,116 +0,0 @@
## Generated SDC file "portapack_hackrf_one_cpld.sdc"
## Copyright (C) 1991-2014 Altera Corporation
## Your use of Altera Corporation's design tools, logic functions
## and other software and tools, and its AMPP partner logic
## functions, and any output files from any of the foregoing
## (including device programming or simulation files), and any
## associated documentation or information are expressly subject
## to the terms and conditions of the Altera Program License
## Subscription Agreement, Altera MegaCore Function License
## Agreement, or other applicable license agreement, including,
## without limitation, that your use is for the sole purpose of
## programming logic devices manufactured by Altera and sold by
## Altera or its authorized distributors. Please refer to the
## applicable agreement for further details.
## VENDOR "Altera"
## PROGRAM "Quartus II"
## VERSION "Version 13.1.4 Build 182 03/12/2014 SJ Web Edition"
## DATE "Sat May 3 10:22:18 2014"
##
## DEVICE "5M40ZE64C5"
##
# RS = 0, D = DB[15:8]
# wait max(tast = 0 ns, CPLD setup = ?)
# WR = 0, D = DB[7:0]
# wait max(CPLD )
#**************************************************************
# Time Information
#**************************************************************
set_time_format -unit ns -decimal_places 3
set mcu_clk_period 4.9
set lcd_data_wr_setup 10.0
set lcd_data_wr_hold 10.0
#**************************************************************
# Create Clock
#**************************************************************
create_clock -name {MCU_STROBE} -period 66.000 -waveform { 0.000 33.000 } [get_ports {MCU_STROBE}]
#create_clock -name strobe_virt -period 66.000
#**************************************************************
# Create Generated Clock
#**************************************************************
#**************************************************************
# Set Clock Latency
#**************************************************************
#**************************************************************
# Set Clock Uncertainty
#**************************************************************
#**************************************************************
# Set Input Delay
#**************************************************************
#set_input_delay -clock strobe_virt [get_ports {D[*]}]
#**************************************************************
# Set Output Delay
#**************************************************************
#**************************************************************
# Set Clock Groups
#**************************************************************
#**************************************************************
# Set False Path
#**************************************************************
set_false_path -from [get_clocks {MCU_STROBE}] -to [get_ports {TP_D TP_L TP_R TP_U}]
set_false_path -from [get_ports {SW_D SW_L SW_R SW_ROT_A SW_ROT_B SW_SEL SW_U}] -to [get_ports {MCU_D[*]}]
#**************************************************************
# Set Multicycle Path
#**************************************************************
#**************************************************************
# Set Maximum Delay
#**************************************************************
#**************************************************************
# Set Minimum Delay
#**************************************************************
#**************************************************************
# Set Input Transition
#**************************************************************

View File

@ -1,167 +0,0 @@
--
-- Copyright (C) 2012 Jared Boone, ShareBrained Technology, Inc.
--
-- This file is part of PortaPack.
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2, or (at your option)
-- any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; see the file COPYING. If not, write to
-- the Free Software Foundation, Inc., 51 Franklin Street,
-- Boston, MA 02110-1301, USA.
library ieee;
use ieee.std_logic_1164.all;
entity top is
port (
MCU_D : inout std_logic_vector(7 downto 0);
MCU_DIR : in std_logic;
MCU_IO_STBX : in std_logic;
MCU_LCD_WR : in std_logic;
MCU_ADDR : in std_logic;
MCU_LCD_TE : out std_logic;
MCU_P2_8 : in std_logic;
MCU_LCD_RD : in std_logic;
TP_U : out std_logic;
TP_D : out std_logic;
TP_L : out std_logic;
TP_R : out std_logic;
SW_SEL : in std_logic;
SW_ROT_A : in std_logic;
SW_ROT_B : in std_logic;
SW_U : in std_logic;
SW_D : in std_logic;
SW_L : in std_logic;
SW_R : in std_logic;
LCD_RESETX : out std_logic;
LCD_RS : out std_logic;
LCD_WRX : out std_logic;
LCD_RDX : out std_logic;
LCD_DB : inout std_logic_vector(15 downto 0);
LCD_TE : in std_logic;
LCD_BACKLIGHT : out std_logic
);
end top;
architecture rtl of top is
signal switches : std_logic_vector(7 downto 0);
type data_direction_t is (from_mcu, to_mcu);
signal data_dir : data_direction_t;
signal mcu_data_out_lcd : std_logic_vector(7 downto 0);
signal mcu_data_out_io : std_logic_vector(7 downto 0);
signal mcu_data_out : std_logic_vector(7 downto 0);
signal mcu_data_in : std_logic_vector(7 downto 0);
signal lcd_data_in : std_logic_vector(15 downto 0);
signal lcd_data_in_mux : std_logic_vector(7 downto 0);
signal lcd_data_out : std_logic_vector(15 downto 0);
signal lcd_data_in_q : std_logic_vector(7 downto 0) := (others => '0');
signal lcd_data_out_q : std_logic_vector(7 downto 0) := (others => '0');
signal tp_q : std_logic_vector(7 downto 0) := (others => '0');
signal lcd_reset_q : std_logic := '1';
signal lcd_backlight_q : std_logic := '0';
signal dir_read : boolean;
signal dir_write : boolean;
signal lcd_read_strobe : boolean;
signal lcd_write_strobe : boolean;
signal lcd_write : boolean;
signal io_strobe : boolean;
signal io_read_strobe : boolean;
signal io_write_strobe : boolean;
begin
-- I/O data
switches <= LCD_TE & not SW_ROT_B & not SW_ROT_A & not SW_SEL & not SW_U & not SW_D & not SW_L & not SW_R;
TP_U <= tp_q(3) when tp_q(7) = '1' else 'Z';
TP_D <= tp_q(2) when tp_q(6) = '1' else 'Z';
TP_L <= tp_q(1) when tp_q(5) = '1' else 'Z';
TP_R <= tp_q(0) when tp_q(4) = '1' else 'Z';
LCD_BACKLIGHT <= lcd_backlight_q;
MCU_LCD_TE <= LCD_TE;
-- State management
data_dir <= to_mcu when MCU_DIR = '1' else from_mcu;
dir_read <= (data_dir = to_mcu);
dir_write <= (data_dir = from_mcu);
io_strobe <= (MCU_IO_STBX = '0');
io_read_strobe <= io_strobe and dir_read;
lcd_read_strobe <= (MCU_LCD_RD = '1');
lcd_write <= not lcd_read_strobe;
-- LCD interface
LCD_RS <= MCU_ADDR;
LCD_RDX <= not MCU_LCD_RD;
LCD_WRX <= not MCU_LCD_WR;
lcd_data_out <= lcd_data_out_q & mcu_data_in;
lcd_data_in <= LCD_DB;
LCD_DB <= lcd_data_out when lcd_write else (others => 'Z');
LCD_RESETX <= not lcd_reset_q;
-- MCU interface
mcu_data_out_lcd <= lcd_data_in(15 downto 8) when lcd_read_strobe else lcd_data_in_q;
mcu_data_out_io <= switches;
mcu_data_out <= mcu_data_out_io when io_read_strobe else mcu_data_out_lcd;
mcu_data_in <= MCU_D;
MCU_D <= mcu_data_out when dir_read else (others => 'Z');
-- Synchronous behaviors:
-- LCD write: Capture LCD high byte on LCD_WRX falling edge.
process(MCU_LCD_WR, mcu_data_in)
begin
if rising_edge(MCU_LCD_WR) then
lcd_data_out_q <= mcu_data_in;
end if;
end process;
-- LCD read: Capture LCD low byte on LCD_RD falling edge.
process(MCU_LCD_RD, lcd_data_in)
begin
if falling_edge(MCU_LCD_RD) then
lcd_data_in_q <= lcd_data_in(7 downto 0);
end if;
end process;
-- I/O write (to resistive touch panel): Capture data from
-- MCU and hold on TP pins until further notice.
process(MCU_IO_STBX, dir_write, mcu_data_in, MCU_ADDR)
begin
if rising_edge(MCU_IO_STBX) and dir_write then
if MCU_ADDR = '0' then
tp_q <= mcu_data_in;
else
lcd_reset_q <= mcu_data_in(0);
lcd_backlight_q <= mcu_data_in(7);
end if;
end if;
end process;
end rtl;

View File

@ -1,185 +0,0 @@
--
-- Copyright (C) 2012 Jared Boone, ShareBrained Technology, Inc.
--
-- This file is part of PortaPack.
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2, or (at your option)
-- any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; see the file COPYING. If not, write to
-- the Free Software Foundation, Inc., 51 Franklin Street,
-- Boston, MA 02110-1301, USA.
library ieee;
use ieee.std_logic_1164.all;
entity top_tb is
end top_tb;
architecture behavior of top_tb is
component top
port (
MCU_D : inout std_logic_vector(7 downto 0);
MCU_DIR : in std_logic;
MCU_MODE : in std_logic;
MCU_STROBE : in std_logic;
MCU_ADDR : in std_logic;
TP_U : out std_logic;
TP_D : out std_logic;
TP_L : out std_logic;
TP_R : out std_logic;
SW_SEL : in std_logic;
SW_ROT_A : in std_logic;
SW_ROT_B : in std_logic;
SW_U : in std_logic;
SW_D : in std_logic;
SW_L : in std_logic;
SW_R : in std_logic;
LCD_RESETX : out std_logic;
LCD_RS : out std_logic;
LCD_WRX : out std_logic;
LCD_RDX : out std_logic;
LCD_DB : inout std_logic_vector(17 downto 0);
LCD_TE : in std_logic
);
end component;
signal mcu_d : std_logic_vector(7 downto 0);
signal mcu_strobe : std_logic;
signal mcu_dir : std_logic;
signal mcu_mode : std_logic;
signal mcu_addr : std_logic;
signal tp_u : std_logic;
signal tp_d : std_logic;
signal tp_l : std_logic;
signal tp_r : std_logic;
signal sw_sel : std_logic;
signal sw_rot_a : std_logic;
signal sw_rot_b : std_logic;
signal sw_u : std_logic;
signal sw_d : std_logic;
signal sw_l : std_logic;
signal sw_r : std_logic;
signal lcd_resetx : std_logic;
signal lcd_rs : std_logic;
signal lcd_wrx : std_logic;
signal lcd_rdx : std_logic;
signal lcd_db : std_logic_vector(17 downto 0);
signal lcd_te : std_logic := '0';
begin
uut : top
port map (
MCU_D => mcu_d,
MCU_STROBE => mcu_strobe,
MCU_DIR => mcu_dir,
MCU_MODE => mcu_mode,
MCU_ADDR => mcu_addr,
TP_U => tp_u,
TP_D => tp_d,
TP_L => tp_l,
TP_R => tp_r,
SW_SEL => sw_sel,
SW_ROT_A => sw_rot_a,
SW_ROT_B => sw_rot_b,
SW_U => sw_u,
SW_D => sw_d,
SW_L => sw_l,
SW_R => sw_r,
LCD_RESETX => lcd_resetx,
LCD_RS => lcd_rs,
LCD_WRX => lcd_wrx,
LCD_RDX => lcd_rdx,
LCD_DB => lcd_db,
LCD_TE => lcd_te
);
stimulus: process is
begin
sw_sel <= '0';
sw_rot_a <= '0';
sw_rot_b <= '0';
sw_u <= '0';
sw_d <= '0';
sw_l <= '0';
sw_r <= '0';
mcu_d <= (others => 'Z');
mcu_mode <= '1';
mcu_dir <= '1';
mcu_addr <= '1';
mcu_strobe <= '1';
wait for 50.0 ns;
-- Write to resistive touch panel
mcu_mode <= '0'; -- Target: I/O
mcu_dir <= '0'; -- Direction: MCU -> CPLD
mcu_addr <= '0'; -- LCD reset signal
wait for 19.6 ns; -- 4 cycles: Wait for CPLD D to reach Hi-Z
mcu_d <= "11000101";
wait for 14.7 ns; -- 3 cycles: Setup time on D before STROBE.
mcu_strobe <= '0';
wait for 9.8 ns; -- 2 cycles
mcu_strobe <= '1';
wait for 49.0 ns;
-- Write to LCD (command, then 16-bit data)
mcu_mode <= '1'; -- Target: LCD
mcu_dir <= '0'; -- Direction: MCU -> CPLD
mcu_addr <= '0'; -- Address: RS = 0 (command)
wait for 19.6 ns; -- 4 cycles: Wait for CPLD D to reach Hi-Z
mcu_d <= "10100101";
wait for 14.7 ns; -- 3 cycles: Setup time on D before STROBE.
mcu_strobe <= '0';
wait for 9.8 ns; -- 2 cycles
mcu_d <= "00001111";
wait for 24.5 ns; -- 5 cycles: Prop from D to LCD_DB[7:0], WRX# minimum low time.
mcu_strobe <= '1';
wait for 9.8 ns; -- 2 cycles: Part of prop from STROBE to LCD_WRX, delay to keep RS after WRX deassert.
mcu_addr <= '1'; -- Address: RS = 1 (data)
wait for 9.8 ns; -- 2 cycles: Part of prop from STROBE to LCD_WRX.
mcu_d <= "01011010";
wait for 14.7 ns; -- 3 cycles: Setup time on D before STROBE.
mcu_strobe <= '0';
wait for 9.8 ns; -- 2 cycles
mcu_d <= "11110000";
wait for 24.5 ns; -- 5 cycles: Prop from D to LCD_DB[7:0], WRX# minimum low time.
mcu_strobe <= '1';
wait for 19.6 ns; -- 4 cycles: Prop from STROBE to LCD_WRX.
mcu_d <= "01010101";
wait for 14.7 ns; -- 3 cycles: Setup time on D before STROBE.
mcu_strobe <= '0';
wait for 9.8 ns; -- 2 cycles
mcu_d <= "10101010";
wait for 24.5 ns; -- 5 cycles: Prop from D to LCD_DB[7:0], WRX# minimum low time.
mcu_strobe <= '1';
wait for 19.6 ns; -- 4 cycles: Prop from STROBE to LCD_WRX.
-- Read from switches
mcu_d <= (others => 'Z');
mcu_mode <= '0'; -- Target: I/O
mcu_dir <= '1'; -- Direction: MCU <- CPLD
wait for 49.0 ns;
end process;
end architecture behavior;

File diff suppressed because it is too large Load Diff

View File

@ -1,656 +0,0 @@
EESchema Schematic File Version 2
LIBS:hackrf_expansion
LIBS:wolfson
LIBS:passive
LIBS:lcd_kingtech
LIBS:supply
LIBS:io_expander
LIBS:trs_jack
LIBS:battery
LIBS:mosfet
LIBS:microphone
LIBS:sd
LIBS:ck
LIBS:altera
LIBS:regulator
LIBS:tp
LIBS:header
LIBS:hole
LIBS:sharebrained
LIBS:fiducial
LIBS:portapack_h1-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 3 4
Title "PortaPack H1"
Date "21 Aug 2015"
Rev "20150821"
Comp "ShareBrained Technology, Inc."
Comment1 "Copyright © 2014, 2015 Jared Boone"
Comment2 "License: GNU General Public License, version 2"
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L GND #PWR030
U 1 1 53A91602
P 9800 1800
F 0 "#PWR030" H 9800 1800 30 0001 C CNN
F 1 "GND" H 9800 1730 30 0001 C CNN
F 2 "" H 9800 1800 60 0000 C CNN
F 3 "" H 9800 1800 60 0000 C CNN
1 9800 1800
0 1 1 0
$EndComp
$Comp
L GND #PWR031
U 1 1 53A91608
P 9800 5000
F 0 "#PWR031" H 9800 5000 30 0001 C CNN
F 1 "GND" H 9800 4930 30 0001 C CNN
F 2 "" H 9800 5000 60 0000 C CNN
F 3 "" H 9800 5000 60 0000 C CNN
1 9800 5000
0 1 1 0
$EndComp
$Comp
L +3.3V #PWR032
U 1 1 53A9160E
P 9700 1700
F 0 "#PWR032" H 9700 1660 30 0001 C CNN
F 1 "+3.3V" H 9700 1810 30 0000 C CNN
F 2 "" H 9700 1700 60 0000 C CNN
F 3 "" H 9700 1700 60 0000 C CNN
1 9700 1700
0 -1 -1 0
$EndComp
$Comp
L +3.3V #PWR033
U 1 1 53A91614
P 9700 1900
F 0 "#PWR033" H 9700 1860 30 0001 C CNN
F 1 "+3.3V" H 9700 2010 30 0000 C CNN
F 2 "" H 9700 1900 60 0000 C CNN
F 3 "" H 9700 1900 60 0000 C CNN
1 9700 1900
0 -1 -1 0
$EndComp
$Comp
L GND #PWR034
U 1 1 53A91623
P 9800 5700
F 0 "#PWR034" H 9800 5700 30 0001 C CNN
F 1 "GND" H 9800 5630 30 0001 C CNN
F 2 "" H 9800 5700 60 0000 C CNN
F 3 "" H 9800 5700 60 0000 C CNN
1 9800 5700
0 1 1 0
$EndComp
Text Label 9100 4100 0 60 ~ 0
LCD_DB7
Text Label 9100 4200 0 60 ~ 0
LCD_DB6
Text Label 9100 4300 0 60 ~ 0
LCD_DB5
Text Label 9100 4400 0 60 ~ 0
LCD_DB4
Text Label 9100 4500 0 60 ~ 0
LCD_DB3
Text Label 9100 4600 0 60 ~ 0
LCD_DB2
Text Label 9100 4700 0 60 ~ 0
LCD_DB1
Text Label 9100 4800 0 60 ~ 0
LCD_DB0
$Comp
L R R20
U 1 1 53A91635
P 8300 1350
F 0 "R20" V 8380 1350 50 0000 C CNN
F 1 "47K" V 8300 1350 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 8300 1350 60 0001 C CNN
F 3 "" H 8300 1350 60 0000 C CNN
F 4 "Yageo" V 8300 1350 60 0001 C CNN "Mfr"
F 5 "RC0603FR-0747KL" V 8300 1350 60 0001 C CNN "Part"
1 8300 1350
1 0 0 1
$EndComp
$Comp
L GND #PWR035
U 1 1 53A91640
P 9700 2600
F 0 "#PWR035" H 9700 2600 30 0001 C CNN
F 1 "GND" H 9700 2530 30 0001 C CNN
F 2 "" H 9700 2600 60 0000 C CNN
F 3 "" H 9700 2600 60 0000 C CNN
1 9700 2600
0 1 1 0
$EndComp
Text Notes 9050 6200 0 60 ~ 0
LCD Mode:\n8080 MCU 16-bit bus interface I\nIM[3:0] = 0b0001, DB[15:0] active
Text Label 9100 4000 0 60 ~ 0
LCD_DB8
Text Label 9100 3900 0 60 ~ 0
LCD_DB9
Text Label 9100 3800 0 60 ~ 0
LCD_DB10
Text Label 9100 3700 0 60 ~ 0
LCD_DB11
Text Label 9100 3600 0 60 ~ 0
LCD_DB12
Text Label 9100 3500 0 60 ~ 0
LCD_DB13
Text Label 9100 3400 0 60 ~ 0
LCD_DB14
Text Label 9100 3300 0 60 ~ 0
LCD_DB15
$Comp
L KINGTECH_DW0240A2BZ_FPC J3
U 1 1 53A91651
P 10350 3550
F 0 "J3" H 10350 5650 60 0000 C CNN
F 1 "KINGTECH_DW0240A2BZ_FPC" H 10350 1250 60 0000 C CNN
F 2 "molex:MOLEX_54132-40XX_LR" H 10250 3550 60 0001 C CNN
F 3 "" H 10250 3550 60 0000 C CNN
F 4 "FCI" H 10350 3550 60 0001 C CNN "Mfr"
F 5 "62684-401100ALF" H 10350 3550 60 0001 C CNN "Part"
1 10350 3550
1 0 0 -1
$EndComp
$Comp
L R R19
U 1 1 53A91657
P 8300 2350
F 0 "R19" V 8380 2350 50 0000 C CNN
F 1 "47K" V 8300 2350 50 0000 C CNN
F 2 "ipc_resc:IPC_RESC1608X55N" H 8300 2350 60 0001 C CNN
F 3 "" H 8300 2350 60 0000 C CNN
F 4 "Yageo" V 8300 2350 60 0001 C CNN "Mfr"
F 5 "RC0603FR-0747KL" V 8300 2350 60 0001 C CNN "Part"
1 8300 2350
-1 0 0 -1
$EndComp
$Comp
L GND #PWR036
U 1 1 53A9165D
P 8300 2700
F 0 "#PWR036" H 8300 2700 30 0001 C CNN
F 1 "GND" H 8300 2630 30 0001 C CNN
F 2 "" H 8300 2700 60 0000 C CNN
F 3 "" H 8300 2700 60 0000 C CNN
1 8300 2700
1 0 0 -1
$EndComp
$Comp
L +1.8V #PWR037
U 1 1 53A91663
P 9700 5100
F 0 "#PWR037" H 9700 5240 20 0001 C CNN
F 1 "+1.8V" H 9700 5210 30 0000 C CNN
F 2 "" H 9700 5100 60 0000 C CNN
F 3 "" H 9700 5100 60 0000 C CNN
1 9700 5100
0 -1 -1 0
$EndComp
$Comp
L GND #PWR038
U 1 1 53A9166C
P 9700 3000
F 0 "#PWR038" H 9700 3000 30 0001 C CNN
F 1 "GND" H 9700 2930 30 0001 C CNN
F 2 "" H 9700 3000 60 0000 C CNN
F 3 "" H 9700 3000 60 0000 C CNN
1 9700 3000
0 1 1 0
$EndComp
Wire Wire Line
9700 3000 9900 3000
Wire Wire Line
9900 5000 9800 5000
Wire Wire Line
9900 1800 9800 1800
Wire Wire Line
9700 5100 9900 5100
Wire Wire Line
9700 1900 9900 1900
Wire Wire Line
9500 4900 9900 4900
Wire Wire Line
9900 5200 9500 5200
Wire Wire Line
9500 5300 9900 5300
Wire Wire Line
9500 5400 9900 5400
Wire Wire Line
9500 5500 9900 5500
Wire Wire Line
9800 5700 9900 5700
Wire Wire Line
9000 4800 9900 4800
Wire Wire Line
9000 4700 9900 4700
Wire Wire Line
9000 4600 9900 4600
Wire Wire Line
9000 4500 9900 4500
Wire Wire Line
9000 4400 9900 4400
Wire Wire Line
9000 4300 9900 4300
Wire Wire Line
9000 4200 9900 4200
Wire Wire Line
9000 4100 9900 4100
Wire Wire Line
9600 2100 9900 2100
Wire Wire Line
8200 2000 9900 2000
Wire Wire Line
9600 2200 9900 2200
Wire Wire Line
9600 2500 9900 2500
Wire Wire Line
9700 2600 9900 2600
Wire Wire Line
9800 2700 9900 2700
Wire Wire Line
9800 2800 9900 2800
Wire Wire Line
9800 2900 9900 2900
Wire Wire Line
9800 2300 9800 3200
Connection ~ 9800 2800
Connection ~ 9800 2600
Connection ~ 9800 2700
Wire Wire Line
9000 4000 9900 4000
Wire Wire Line
9000 3900 9900 3900
Wire Wire Line
9000 3800 9900 3800
Wire Wire Line
9000 3700 9900 3700
Wire Wire Line
9000 3600 9900 3600
Wire Wire Line
9000 3500 9900 3500
Wire Wire Line
9000 3400 9900 3400
Wire Wire Line
9000 3300 9900 3300
Wire Wire Line
8300 2000 8300 2100
Connection ~ 8300 2000
Wire Wire Line
8300 2600 8300 2700
Wire Wire Line
9900 1600 9800 1600
$Comp
L MICROSD_DETSW J2
U 1 1 53A8C6D0
P 3900 6300
F 0 "J2" H 3450 6950 60 0000 C CNN
F 1 "MICROSD_DETSW" H 4050 6950 60 0000 C CNN
F 2 "alps:ALPS_SCHA4B0100" H 3900 6300 60 0001 C CNN
F 3 "" H 3900 6300 60 0000 C CNN
F 4 "ALPS" H 3900 6300 60 0001 C CNN "Mfr"
F 5 "SCHA4B0415" H 3900 6300 60 0001 C CNN "Part"
1 3900 6300
1 0 0 -1
$EndComp
$Comp
L GND #PWR039
U 1 1 53A8C6D6
P 3100 6300
F 0 "#PWR039" H 3100 6300 30 0001 C CNN
F 1 "GND" H 3100 6230 30 0001 C CNN
F 2 "" H 3100 6300 60 0000 C CNN
F 3 "" H 3100 6300 60 0000 C CNN
1 3100 6300
0 1 1 0
$EndComp
$Comp
L GND #PWR040
U 1 1 53A8C6E2
P 3100 6700
F 0 "#PWR040" H 3100 6700 30 0001 C CNN
F 1 "GND" H 3100 6630 30 0001 C CNN
F 2 "" H 3100 6700 60 0000 C CNN
F 3 "" H 3100 6700 60 0000 C CNN
1 3100 6700
0 1 1 0
$EndComp
$Comp
L C C27
U 1 1 53AA73CE
P 2800 7100
F 0 "C27" H 2850 7200 50 0000 L CNN
F 1 "100N" H 2850 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC1005X55N" H 2800 7100 60 0001 C CNN
F 3 "" H 2800 7100 60 0000 C CNN
F 4 "Murata" H 2800 7100 60 0001 C CNN "Mfr"
F 5 "GRM155R61A104KA01" H 2800 7100 60 0001 C CNN "Part"
1 2800 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR041
U 1 1 53A8C6EF
P 2400 7400
F 0 "#PWR041" H 2400 7400 30 0001 C CNN
F 1 "GND" H 2400 7330 30 0001 C CNN
F 2 "" H 2400 7400 60 0000 C CNN
F 3 "" H 2400 7400 60 0000 C CNN
1 2400 7400
1 0 0 -1
$EndComp
$Comp
L GND #PWR042
U 1 1 53A8C6F5
P 4200 7200
F 0 "#PWR042" H 4200 7200 30 0001 C CNN
F 1 "GND" H 4200 7130 30 0001 C CNN
F 2 "" H 4200 7200 60 0000 C CNN
F 3 "" H 4200 7200 60 0000 C CNN
1 4200 7200
1 0 0 -1
$EndComp
$Comp
L CK_TSWB-3N-CB SW1
U 1 1 53A8C6FD
P 2500 1450
F 0 "SW1" H 2500 2050 60 0000 C CNN
F 1 "CK_TSWB-3N-CB" H 2500 850 60 0000 C CNN
F 2 "ck:CK_TSWB-3N-CB222_LFS" H 2500 1450 60 0001 C CNN
F 3 "" H 2500 1450 60 0000 C CNN
F 4 "C&K" H 2500 1450 60 0001 C CNN "Mfr"
F 5 "TSWB-3N-CB111 LFS" H 2500 1450 60 0001 C CNN "Part"
1 2500 1450
1 0 0 -1
$EndComp
$Comp
L GND #PWR043
U 1 1 53A8C70A
P 1400 2000
F 0 "#PWR043" H 1400 2000 30 0001 C CNN
F 1 "GND" H 1400 1930 30 0001 C CNN
F 2 "" H 1400 2000 60 0000 C CNN
F 3 "" H 1400 2000 60 0000 C CNN
1 1400 2000
1 0 0 -1
$EndComp
$Comp
L GND #PWR044
U 1 1 53A8C710
P 3600 2000
F 0 "#PWR044" H 3600 2000 30 0001 C CNN
F 1 "GND" H 3600 1930 30 0001 C CNN
F 2 "" H 3600 2000 60 0000 C CNN
F 3 "" H 3600 2000 60 0000 C CNN
1 3600 2000
1 0 0 -1
$EndComp
$Comp
L GND #PWR045
U 1 1 53A8C716
P 4000 7200
F 0 "#PWR045" H 4000 7200 30 0001 C CNN
F 1 "GND" H 4000 7130 30 0001 C CNN
F 2 "" H 4000 7200 60 0000 C CNN
F 3 "" H 4000 7200 60 0000 C CNN
1 4000 7200
1 0 0 -1
$EndComp
$Comp
L C C26
U 1 1 53A8C71C
P 2400 7100
F 0 "C26" H 2450 7200 50 0000 L CNN
F 1 "10U" H 2450 7000 50 0000 L CNN
F 2 "ipc_capc:IPC_CAPC2012X140N" H 2400 7100 60 0001 C CNN
F 3 "" H 2400 7100 60 0000 C CNN
F 4 "Murata" H 2400 7100 60 0001 C CNN "Mfr"
F 5 "GRM21BR61A106KE19" H 2400 7100 60 0001 C CNN "Part"
1 2400 7100
-1 0 0 -1
$EndComp
$Comp
L GND #PWR046
U 1 1 53A8C722
P 2800 7400
F 0 "#PWR046" H 2800 7400 30 0001 C CNN
F 1 "GND" H 2800 7330 30 0001 C CNN
F 2 "" H 2800 7400 60 0000 C CNN
F 3 "" H 2800 7400 60 0000 C CNN
1 2800 7400
1 0 0 -1
$EndComp
$Comp
L +3.3V #PWR047
U 1 1 53A8C728
P 2800 5700
F 0 "#PWR047" H 2800 5660 30 0001 C CNN
F 1 "+3.3V" H 2800 5810 30 0000 C CNN
F 2 "" H 2800 5700 60 0000 C CNN
F 3 "" H 2800 5700 60 0000 C CNN
1 2800 5700
1 0 0 -1
$EndComp
Wire Wire Line
2400 6100 2400 6900
Wire Wire Line
2800 7300 2800 7400
Connection ~ 2800 6100
Wire Wire Line
2800 5700 2800 6900
Wire Wire Line
2200 5800 3200 5800
Wire Wire Line
2200 5900 3200 5900
Wire Wire Line
2200 6000 3200 6000
Wire Wire Line
2200 6200 3200 6200
Wire Wire Line
2200 6400 3200 6400
Wire Wire Line
2200 6500 3200 6500
Wire Wire Line
3200 6300 3100 6300
Wire Wire Line
2400 6100 3200 6100
Wire Wire Line
2400 7300 2400 7400
Wire Wire Line
4200 7100 4200 7200
Wire Wire Line
1400 1000 1500 1000
Wire Wire Line
1400 1100 1500 1100
Wire Wire Line
1400 1200 1500 1200
Wire Wire Line
3500 1000 3600 1000
Wire Wire Line
3600 1100 3500 1100
Wire Wire Line
3600 1200 3500 1200
Wire Wire Line
3600 1300 3500 1300
Wire Wire Line
3500 1900 3600 1900
Wire Wire Line
3600 1900 3600 2000
Wire Wire Line
1500 1900 1400 1900
Wire Wire Line
1400 1900 1400 2000
Wire Wire Line
4000 7100 4000 7200
$Comp
L KINGTECH_DW0240A2BZ_PANEL LCD1
U 1 1 53A8C752
P 8000 4600
F 0 "LCD1" H 8000 5650 60 0000 C CNN
F 1 "KINGTECH_DW0240A2BZ_PANEL" H 8000 3650 60 0000 C CNN
F 2 "lcd_kingtech:KINGTECH_DW0240A2BZ_PANEL" H 8000 4600 60 0001 C CNN
F 3 "" H 8000 4600 60 0000 C CNN
1 8000 4600
1 0 0 -1
$EndComp
Wire Bus Line
8800 2900 8900 2900
Wire Bus Line
8900 2900 8900 4700
Entry Wire Line
8900 3200 9000 3300
Entry Wire Line
8900 3300 9000 3400
Entry Wire Line
8900 3400 9000 3500
Entry Wire Line
8900 3500 9000 3600
Entry Wire Line
8900 3600 9000 3700
Entry Wire Line
8900 3700 9000 3800
Entry Wire Line
8900 3800 9000 3900
Entry Wire Line
8900 3900 9000 4000
Entry Wire Line
8900 4000 9000 4100
Entry Wire Line
8900 4100 9000 4200
Entry Wire Line
8900 4200 9000 4300
Entry Wire Line
8900 4300 9000 4400
Entry Wire Line
8900 4400 9000 4500
Entry Wire Line
8900 4500 9000 4600
Entry Wire Line
8900 4600 9000 4700
Entry Wire Line
8900 4700 9000 4800
Text HLabel 8800 2900 0 60 BiDi ~ 0
LCD_DB[15..0]
Text HLabel 9600 2100 0 60 Input ~ 0
LCD_RS
Text HLabel 9600 2200 0 60 Input ~ 0
LCD_RD#
Text HLabel 9600 2500 0 60 Input ~ 0
LCD_WR#
Text HLabel 8200 2000 0 60 Input ~ 0
LCD_RESET#
Text HLabel 8200 1000 0 60 Input ~ 0
LCD_BACKLIGHT
Text HLabel 9500 4900 0 60 Output ~ 0
LCD_TE
Text HLabel 9500 5200 0 60 BiDi ~ 0
TP_R
Text HLabel 9500 5300 0 60 BiDi ~ 0
TP_D
Text HLabel 9500 5400 0 60 BiDi ~ 0
TP_L
Text HLabel 9500 5500 0 60 BiDi ~ 0
TP_U
Text HLabel 1400 1000 0 60 Output ~ 0
SW_SEL
Text HLabel 1400 1100 0 60 Output ~ 0
SW_ROT_A
Text HLabel 1400 1200 0 60 Output ~ 0
SW_ROT_B
Text HLabel 3600 1000 2 60 Output ~ 0
SW_D
Text HLabel 3600 1100 2 60 Output ~ 0
SW_R
Text HLabel 3600 1200 2 60 Output ~ 0
SW_U
Text HLabel 3600 1300 2 60 Output ~ 0
SW_L
Text HLabel 2200 5800 0 60 BiDi ~ 0
SD_DAT2
Text HLabel 2200 5900 0 60 BiDi ~ 0
SD_DAT3
Text HLabel 2200 6000 0 60 BiDi ~ 0
SD_CMD
Text HLabel 2200 6200 0 60 Input ~ 0
SD_CLK
Text HLabel 2200 6400 0 60 BiDi ~ 0
SD_DAT0
Text HLabel 2200 6500 0 60 BiDi ~ 0
SD_DAT1
Text HLabel 2200 6800 0 60 Output ~ 0
SD_CD
Wire Wire Line
9800 3100 9900 3100
Connection ~ 9800 2900
Wire Wire Line
9800 3200 9900 3200
Connection ~ 9800 3100
Wire Wire Line
9900 2400 9800 2400
Wire Wire Line
9900 2300 9800 2300
Connection ~ 9800 2400
Wire Wire Line
3200 6800 2200 6800
Wire Wire Line
3200 6700 3100 6700
$Comp
L MOSFET_N Q1
U 1 1 53C5B6EB
P 8700 950
F 0 "Q1" H 8700 801 40 0000 R CNN
F 1 "MOSFET_N" H 8700 1100 40 0000 R CNN
F 2 "ipc_sot:IPC_SOT95P230X110-3N" H 8570 1052 29 0001 C CNN
F 3 "" H 8700 950 60 0000 C CNN
F 4 "NXP" H 8700 950 60 0001 C CNN "Mfr"
F 5 "2N7002P,215" H 8700 950 60 0001 C CNN "Part"
1 8700 950
1 0 0 -1
$EndComp
$Comp
L GND #PWR048
U 1 1 53C5B707
P 8800 1250
F 0 "#PWR048" H 8800 1250 30 0001 C CNN
F 1 "GND" H 8800 1180 30 0001 C CNN
F 2 "" H 8800 1250 60 0000 C CNN
F 3 "" H 8800 1250 60 0000 C CNN
1 8800 1250
1 0 0 -1
$EndComp
Wire Wire Line
8800 1150 8800 1250
Wire Wire Line
9900 1700 9700 1700
Wire Wire Line
8200 1000 8500 1000
Wire Wire Line
8300 1000 8300 1100
Connection ~ 8300 1000
$Comp
L GND #PWR049
U 1 1 53C5B8B4
P 8300 1700
F 0 "#PWR049" H 8300 1700 30 0001 C CNN
F 1 "GND" H 8300 1630 30 0001 C CNN
F 2 "" H 8300 1700 60 0000 C CNN
F 3 "" H 8300 1700 60 0000 C CNN
1 8300 1700
1 0 0 -1
$EndComp
Wire Wire Line
8300 1600 8300 1700
Wire Wire Line
8800 750 8800 600
Wire Wire Line
8800 600 9800 600
Wire Wire Line
9800 600 9800 1600
$EndSCHEMATC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +0,0 @@
update=Wednesday, July 15, 2015 'PMt' 10:20:27 PM
version=1
last_client=kicad
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[pcbnew/libraries]
LibDir=../../../library-kicad
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=smd_capacitors
LibName7=smd_resistors
LibName8=smd_crystal&oscillator
LibName9=smd_dil
LibName10=smd_transistors
LibName11=libcms
LibName12=display
LibName13=led
LibName14=dip_sockets
LibName15=pga_sockets
LibName16=valves
[general]
version=1
[eeschema]
version=1
LibDir=../../../library-kicad
[eeschema/libraries]
LibName1=hackrf_expansion
LibName2=wolfson
LibName3=passive
LibName4=lcd_kingtech
LibName5=supply
LibName6=io_expander
LibName7=trs_jack
LibName8=battery
LibName9=mosfet
LibName10=microphone
LibName11=sd
LibName12=ck
LibName13=altera
LibName14=regulator
LibName15=tp
LibName16=header
LibName17=hole
LibName18=sharebrained
LibName19=fiducial

View File

@ -1,330 +0,0 @@
EESchema Schematic File Version 2
LIBS:hackrf_expansion
LIBS:wolfson
LIBS:passive
LIBS:lcd_kingtech
LIBS:supply
LIBS:io_expander
LIBS:trs_jack
LIBS:battery
LIBS:mosfet
LIBS:microphone
LIBS:sd
LIBS:ck
LIBS:altera
LIBS:regulator
LIBS:tp
LIBS:header
LIBS:hole
LIBS:sharebrained
LIBS:fiducial
LIBS:portapack_h1-cache
EELAYER 25 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 4
Title "PortaPack H1"
Date "21 Aug 2015"
Rev "20150821"
Comp "ShareBrained Technology, Inc."
Comment1 "Copyright © 2014, 2015 Jared Boone"
Comment2 "License: GNU General Public License, version 2"
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L HOLE1 H1
U 1 1 5369BBC4
P 9500 2000
F 0 "H1" H 9500 2150 60 0000 C CNN
F 1 "HOLE1" H 9500 1850 60 0000 C CNN
F 2 "hole:HOLE_3200UM_VIAS" H 9500 2000 60 0001 C CNN
F 3 "" H 9500 2000 60 0000 C CNN
1 9500 2000
1 0 0 -1
$EndComp
$Comp
L HOLE1 H2
U 1 1 5369BBD8
P 9500 2500
F 0 "H2" H 9500 2650 60 0000 C CNN
F 1 "HOLE1" H 9500 2350 60 0000 C CNN
F 2 "hole:HOLE_3200UM_VIAS" H 9500 2500 60 0001 C CNN
F 3 "" H 9500 2500 60 0000 C CNN
1 9500 2500
1 0 0 -1
$EndComp
$Comp
L HOLE1 H3
U 1 1 5369BBEC
P 9500 3000
F 0 "H3" H 9500 3150 60 0000 C CNN
F 1 "HOLE1" H 9500 2850 60 0000 C CNN
F 2 "hole:HOLE_3200UM_VIAS" H 9500 3000 60 0001 C CNN
F 3 "" H 9500 3000 60 0000 C CNN
1 9500 3000
1 0 0 -1
$EndComp
$Comp
L HOLE1 H4
U 1 1 5369BC00
P 9500 3500
F 0 "H4" H 9500 3650 60 0000 C CNN
F 1 "HOLE1" H 9500 3350 60 0000 C CNN
F 2 "hole:HOLE_3200UM_VIAS" H 9500 3500 60 0001 C CNN
F 3 "" H 9500 3500 60 0000 C CNN
1 9500 3500
1 0 0 -1
$EndComp
$Comp
L HOLE1 H5
U 1 1 5369BC14
P 9500 4000
F 0 "H5" H 9500 4150 60 0000 C CNN
F 1 "HOLE1" H 9500 3850 60 0000 C CNN
F 2 "hole:HOLE_3200UM_VIAS" H 9500 4000 60 0001 C CNN
F 3 "" H 9500 4000 60 0000 C CNN
1 9500 4000
1 0 0 -1
$EndComp
$Sheet
S 2800 1900 900 3300
U 53A8BFC3
F0 "audio" 50
F1 "audio.sch" 50
F2 "I2S0_SCK" I R 3700 2300 60
F3 "I2S0_TX_SDA" I R 3700 2500 60
F4 "I2S0_MCLK" I R 3700 2200 60
F5 "I2S0_WS" I R 3700 2400 60
F6 "SCL" I R 3700 2800 60
F7 "SDA" B R 3700 2900 60
F8 "I2S0_RX_SDA" O R 3700 2600 60
$EndSheet
Wire Wire Line
9800 2500 9700 2500
Wire Wire Line
9800 3000 9700 3000
Wire Wire Line
9800 3500 9700 3500
$Sheet
S 7600 1900 900 3300
U 53A9129D
F0 "lcd_sw_sd" 50
F1 "lcd_sw_sd.sch" 50
F2 "LCD_RS" I L 7600 2400 60
F3 "LCD_RD#" I L 7600 2500 60
F4 "LCD_WR#" I L 7600 2600 60
F5 "LCD_RESET#" I L 7600 2100 60
F6 "LCD_TE" O L 7600 3000 60
F7 "SW_SEL" O L 7600 4300 60
F8 "SW_ROT_A" O L 7600 4100 60
F9 "SW_ROT_B" O L 7600 4200 60
F10 "SW_D" O L 7600 3900 60
F11 "SW_R" O L 7600 3800 60
F12 "SW_U" O L 7600 3700 60
F13 "SW_L" O L 7600 4000 60
F14 "SD_DAT2" B L 7600 5000 60
F15 "SD_DAT3" B L 7600 5100 60
F16 "SD_CMD" B L 7600 4700 60
F17 "SD_CLK" I L 7600 4600 60
F18 "SD_DAT0" B L 7600 4800 60
F19 "SD_DAT1" B L 7600 4900 60
F20 "SD_CD" O L 7600 4500 60
F21 "TP_R" B L 7600 3300 60
F22 "TP_D" B L 7600 3400 60
F23 "TP_L" B L 7600 3500 60
F24 "TP_U" B L 7600 3200 60
F25 "LCD_DB[15..0]" B L 7600 2700 60
F26 "LCD_BACKLIGHT" I L 7600 2000 60
$EndSheet
Wire Bus Line
6600 2700 7600 2700
$Sheet
S 4700 1900 1900 3300
U 53A8C780
F0 "hackrf_if" 50
F1 "hackrf_if.sch" 50
F2 "LCD_TE" I R 6600 3000 60
F3 "SW_R" I R 6600 3800 60
F4 "SW_ROT_B" I R 6600 4200 60
F5 "SW_ROT_A" I R 6600 4100 60
F6 "SW_D" I R 6600 3900 60
F7 "SW_SEL" I R 6600 4300 60
F8 "SW_U" I R 6600 3700 60
F9 "SW_L" I R 6600 4000 60
F10 "LCD_RESET#" O R 6600 2100 60
F11 "LCD_RS" O R 6600 2400 60
F12 "LCD_RD#" O R 6600 2500 60
F13 "LCD_WR#" O R 6600 2600 60
F14 "TP_U" B R 6600 3200 60
F15 "TP_L" B R 6600 3500 60
F16 "TP_D" B R 6600 3400 60
F17 "TP_R" B R 6600 3300 60
F18 "I2S0_TX_SDA" O L 4700 2500 60
F19 "I2S0_WS" O L 4700 2400 60
F20 "I2S0_MCLK" O L 4700 2200 60
F21 "I2S0_SCK" O L 4700 2300 60
F22 "SDA" B L 4700 2900 60
F23 "SCL" O L 4700 2800 60
F24 "SD_CD" I R 6600 4500 60
F25 "SD_DAT2" B R 6600 5000 60
F26 "SD_DAT0" B R 6600 4800 60
F27 "SD_CMD" B R 6600 4700 60
F28 "SD_CLK" O R 6600 4600 60
F29 "SD_DAT3" B R 6600 5100 60
F30 "SD_DAT1" B R 6600 4900 60
F31 "I2S0_RX_SDA" I L 4700 2600 60
F32 "LCD_DB[15..0]" B R 6600 2700 60
F33 "LCD_BACKLIGHT" O R 6600 2000 60
$EndSheet
Wire Wire Line
6600 2000 7600 2000
Wire Wire Line
7600 2100 6600 2100
Wire Wire Line
7600 2400 6600 2400
Wire Wire Line
6600 2500 7600 2500
Wire Wire Line
7600 2600 6600 2600
Wire Wire Line
6600 3000 7600 3000
Wire Wire Line
7600 3200 6600 3200
Wire Wire Line
6600 3300 7600 3300
Wire Wire Line
7600 3400 6600 3400
Wire Wire Line
6600 3500 7600 3500
Wire Wire Line
6600 3700 7600 3700
Wire Wire Line
7600 3800 6600 3800
Wire Wire Line
6600 3900 7600 3900
Wire Wire Line
7600 4000 6600 4000
Wire Wire Line
6600 4100 7600 4100
Wire Wire Line
7600 4200 6600 4200
Wire Wire Line
6600 4300 7600 4300
Wire Wire Line
6600 4500 7600 4500
Wire Wire Line
6600 4600 7600 4600
Wire Wire Line
7600 4700 6600 4700
Wire Wire Line
6600 4800 7600 4800
Wire Wire Line
7600 4900 6600 4900
Wire Wire Line
6600 5000 7600 5000
Wire Wire Line
7600 5100 6600 5100
Wire Wire Line
3700 2200 4700 2200
Wire Wire Line
4700 2300 3700 2300
Wire Wire Line
3700 2400 4700 2400
Wire Wire Line
4700 2500 3700 2500
Wire Wire Line
3700 2600 4700 2600
Wire Wire Line
4700 2800 3700 2800
Wire Wire Line
3700 2900 4700 2900
Wire Wire Line
9700 2000 9800 2000
Wire Wire Line
9800 2000 9800 4100
Connection ~ 9800 2500
Connection ~ 9800 3000
Connection ~ 9800 3500
$Comp
L SHAREBRAINED LOGO1
U 1 1 53B1AE0D
P 6050 7000
F 0 "LOGO1" H 6050 7050 60 0000 C CNN
F 1 "SHAREBRAINED" H 6050 6950 60 0000 C CNN
F 2 "sharebrained:sharebrained_text_300" H 6050 7000 60 0001 C CNN
F 3 "" H 6050 7000 60 0000 C CNN
1 6050 7000
1 0 0 -1
$EndComp
$Comp
L PORTAPACK_H1 LOGO2
U 1 1 53B1B509
P 6050 7450
F 0 "LOGO2" H 6050 7500 60 0000 C CNN
F 1 "PORTAPACK_H1" H 6050 7400 60 0000 C CNN
F 2 "sharebrained:portapack_text_300" H 6050 7450 60 0001 C CNN
F 3 "" H 6050 7450 60 0000 C CNN
1 6050 7450
1 0 0 -1
$EndComp
$Comp
L FIDUCIAL FID1
U 1 1 53B309AC
P 4100 7100
F 0 "FID1" H 4100 7225 60 0000 C CNN
F 1 "FIDUCIAL" H 4100 6975 60 0000 C CNN
F 2 "fiducial:FIDUCIAL_65MIL" H 4100 7100 60 0001 C CNN
F 3 "" H 4100 7100 60 0000 C CNN
1 4100 7100
1 0 0 -1
$EndComp
$Comp
L FIDUCIAL FID2
U 1 1 53B30B4C
P 4100 7500
F 0 "FID2" H 4100 7625 60 0000 C CNN
F 1 "FIDUCIAL" H 4100 7375 60 0000 C CNN
F 2 "fiducial:FIDUCIAL_65MIL" H 4100 7500 60 0001 C CNN
F 3 "" H 4100 7500 60 0000 C CNN
1 4100 7500
1 0 0 -1
$EndComp
$Comp
L FIDUCIAL FID3
U 1 1 53B30CEC
P 4700 7100
F 0 "FID3" H 4700 7225 60 0000 C CNN
F 1 "FIDUCIAL" H 4700 6975 60 0000 C CNN
F 2 "fiducial:FIDUCIAL_65MIL" H 4700 7100 60 0001 C CNN
F 3 "" H 4700 7100 60 0000 C CNN
1 4700 7100
1 0 0 -1
$EndComp
$Comp
L FIDUCIAL FID4
U 1 1 53B30E8C
P 4700 7500
F 0 "FID4" H 4700 7625 60 0000 C CNN
F 1 "FIDUCIAL" H 4700 7375 60 0000 C CNN
F 2 "fiducial:FIDUCIAL_65MIL" H 4700 7500 60 0001 C CNN
F 3 "" H 4700 7500 60 0000 C CNN
1 4700 7500
1 0 0 -1
$EndComp
$Comp
L GND #PWR01
U 1 1 53B3303D
P 9800 4100
F 0 "#PWR01" H 9800 4100 30 0001 C CNN
F 1 "GND" H 9800 4030 30 0001 C CNN
F 2 "" H 9800 4100 60 0000 C CNN
F 3 "" H 9800 4100 60 0000 C CNN
1 9800 4100
1 0 0 -1
$EndComp
Wire Wire Line
9700 4000 9800 4000
Connection ~ 9800 4000
$EndSCHEMATC

View File

@ -1,11 +0,0 @@
#!/bin/sh
printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n"
printf "then plug the HackRF into a USB port on your computer.\n\n"
printf "After the HackRF is plugged in, you may release the DFU button.\n"
printf "Press any key to continue or ^c to abort\n"
read
dfu-util --device 1fc9:000c --download hackrf_one_usb_ram.dfu --reset
sleep 2s
hackrf_spiflash -w hackrf_one_usb_rom_to_ram.bin

View File

@ -1,11 +0,0 @@
#!/bin/sh
printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n"
printf "then plug the HackRF into a USB port on your computer.\n\n"
printf "After the HackRF is plugged in, you may release the DFU button.\n"
printf "Press any key to continue or ^c to abort\n"
read
dfu-util --device 1fc9:000c --download hackrf_one_usb_ram.dfu --reset
sleep 2s
hackrf_spiflash -w portapack-h1-firmware.bin