Add datasheet, symbol and package for philips 74HC4050 hex level shifter
authorKeith Packard <keithp@keithp.com>
Sun, 3 Nov 2013 09:04:05 +0000 (01:04 -0800)
committerKeith Packard <keithp@keithp.com>
Sun, 3 Nov 2013 09:04:05 +0000 (01:04 -0800)
Signed-off-by: Keith Packard <keithp@keithp.com>
datasheets/philips/74HC4050.pdf [new file with mode: 0644]
datasheets/philips/SO-SOJ-REFLOW.pdf [new file with mode: 0644]
packages/Makefile
packages/soic.5c [new file with mode: 0644]
symbols/common/74hc4050.sym [new file with mode: 0644]

diff --git a/datasheets/philips/74HC4050.pdf b/datasheets/philips/74HC4050.pdf
new file mode 100644 (file)
index 0000000..8130138
Binary files /dev/null and b/datasheets/philips/74HC4050.pdf differ
diff --git a/datasheets/philips/SO-SOJ-REFLOW.pdf b/datasheets/philips/SO-SOJ-REFLOW.pdf
new file mode 100644 (file)
index 0000000..a5a9752
Binary files /dev/null and b/datasheets/philips/SO-SOJ-REFLOW.pdf differ
index 103ad78cca6f021ce37e6be0a54831a8342d6cc4..36fef3da6be2ce8d491e2122dcda791967f235bd 100644 (file)
@@ -8,7 +8,10 @@ DIRS= \
        switches \
        tyco
 
+SOIC=soic-16.fp
+
 FOOTPRINTS= \
+       $(SOIC) \
        s-pwson-n8.fp \
        MS5607.fp \
        uson-8.fp \
@@ -86,3 +89,5 @@ clean: $(CLEANDIRS)
 .gitignore: Makefile
        for i in $@ $(FOOTPRINTS); do echo $$i; done > $@
 
+soic-16.fp: soic.5c
+       nickle soic.5c 16 > $@
\ No newline at end of file
diff --git a/packages/soic.5c b/packages/soic.5c
new file mode 100644 (file)
index 0000000..9057565
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * 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; version 2 of the License.
+ *
+ * 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; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+load "footprint.5c"
+import Footprint;
+
+int total_pad = 16;
+real center_gap = 4.00;
+
+if (dim(argv) > 1)
+       total_pad = string_to_integer(argv[1]);
+if (dim(argv) > 2)
+       center_gap = string_to_real(argv[2]);
+
+real pad_width = 0.60;
+
+real pad_height;
+
+if (center_gap > 6)
+       pad_height = 1.50;
+else
+       pad_height = 1.30;
+
+real pad_spacing = 1.27;
+
+int num_pad = total_pad / 2;   /* per side */
+
+string name = sprintf ("SOIC-%d", total_pad);
+
+real package_width = (num_pad - 1) * pad_spacing + 1.61;
+
+real package_height = center_gap + 2 * pad_height + 0.4;
+
+real pad_y_off = center_gap / 2 + pad_height / 2;
+
+element_start(name);
+
+real pad_off(int n) {
+       return pad_spacing * (n - (num_pad - 1) / 2);
+}
+
+real corner(int dx, int dy) {
+       real    x = dx * package_width / 2;
+       real    y = dy * package_height / 2;
+       real    len = 0.4;
+
+       line(x, y, x - dx * len, y);
+       line(x, y, x, y - dy * len);
+}
+
+corner(-1, -1);
+corner(1, -1);
+corner(-1, 1);
+corner(1, 1);
+
+real dot_off = -.3;
+
+line(-package_width/2 + dot_off, package_height/2 - dot_off,
+     -package_width/2 + dot_off, package_height/2 - dot_off);
+
+for (pad = 0; pad < num_pad; pad++) {
+       /* bottom (1-num_pad) */
+
+       pad_mm(pad_off(pad),
+              pad_y_off,
+              pad_width,
+              pad_height,
+              sprintf("%d", pad + 1),
+              sprintf("%d", pad + 1));
+       
+       /* top side (total_pad - num_pad+1) */
+
+       pad_mm(-pad_off(pad),
+              -pad_y_off,
+              pad_width,
+              pad_height,
+              sprintf("%d", total_pad - pad),
+              sprintf("%d", total_pad - pad));
+       
+}
+
+element_end();
diff --git a/symbols/common/74hc4050.sym b/symbols/common/74hc4050.sym
new file mode 100644 (file)
index 0000000..fab8164
--- /dev/null
@@ -0,0 +1,186 @@
+v 20130925 2
+B 400 400 1100 3300 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+P 0 3300 400 3300 1 0 0
+{
+T 0 3300 5 10 0 0 0 0 1
+pintype=unknown
+T 455 3395 5 10 1 1 0 0 1
+pinlabel=1A
+T 305 3345 5 10 1 1 0 6 1
+pinnumber=3
+T 0 3300 5 10 0 0 0 0 1
+pinseq=0
+}
+P 1900 3300 1500 3300 1 0 0
+{
+T 1900 3300 5 10 0 0 0 0 1
+pintype=unknown
+T 1445 3395 5 10 1 1 0 6 1
+pinlabel=1Y
+T 1595 3345 5 10 1 1 0 0 1
+pinnumber=2
+T 1900 3300 5 10 0 0 0 0 1
+pinseq=0
+}
+L 800 3500 800 3100 3 0 0 0 -1 -1
+L 800 3500 1100 3300 3 0 0 0 -1 -1
+L 1100 3300 800 3100 3 0 0 0 -1 -1
+L 1100 3300 1500 3300 3 0 0 0 -1 -1
+L 800 3300 400 3300 3 0 0 0 -1 -1
+P 1000 4100 1000 3700 1 0 0
+{
+T 1000 4100 5 10 0 0 0 0 1
+pintype=unknown
+T 855 3500 5 10 1 1 180 8 1
+pinlabel=Vcc
+T 795 3850 5 10 1 1 0 0 1
+pinnumber=1
+T 1000 4100 5 10 0 0 0 0 1
+pinseq=0
+}
+P 0 2800 400 2800 1 0 0
+{
+T 0 2800 5 10 0 0 0 0 1
+pintype=unknown
+T 0 2800 5 10 0 0 0 0 1
+pinseq=0
+T 455 2895 5 10 1 1 0 0 1
+pinlabel=2A
+T 305 2845 5 10 1 1 0 6 1
+pinnumber=5
+}
+P 1900 2800 1500 2800 1 0 0
+{
+T 1900 2800 5 10 0 0 0 0 1
+pintype=unknown
+T 1900 2800 5 10 0 0 0 0 1
+pinseq=0
+T 1445 2895 5 10 1 1 0 6 1
+pinlabel=2Y
+T 1595 2845 5 10 1 1 0 0 1
+pinnumber=4
+}
+L 800 3000 800 2600 3 0 0 0 -1 -1
+L 800 3000 1100 2800 3 0 0 0 -1 -1
+L 1100 2800 800 2600 3 0 0 0 -1 -1
+L 1100 2800 1500 2800 3 0 0 0 -1 -1
+L 800 2800 400 2800 3 0 0 0 -1 -1
+P 0 2300 400 2300 1 0 0
+{
+T 0 2300 5 10 0 0 0 0 1
+pintype=unknown
+T 0 2300 5 10 0 0 0 0 1
+pinseq=0
+T 455 2395 5 10 1 1 0 0 1
+pinlabel=3A
+T 305 2345 5 10 1 1 0 6 1
+pinnumber=7
+}
+P 1900 2300 1500 2300 1 0 0
+{
+T 1900 2300 5 10 0 0 0 0 1
+pintype=unknown
+T 1900 2300 5 10 0 0 0 0 1
+pinseq=0
+T 1445 2395 5 10 1 1 0 6 1
+pinlabel=3Y
+T 1595 2345 5 10 1 1 0 0 1
+pinnumber=6
+}
+L 800 2500 800 2100 3 0 0 0 -1 -1
+L 800 2500 1100 2300 3 0 0 0 -1 -1
+L 1100 2300 800 2100 3 0 0 0 -1 -1
+L 1100 2300 1500 2300 3 0 0 0 -1 -1
+L 800 2300 400 2300 3 0 0 0 -1 -1
+P 0 1800 400 1800 1 0 0
+{
+T 0 1800 5 10 0 0 0 0 1
+pintype=unknown
+T 0 1800 5 10 0 0 0 0 1
+pinseq=0
+T 455 1895 5 10 1 1 0 0 1
+pinlabel=4A
+T 305 1845 5 10 1 1 0 6 1
+pinnumber=9
+}
+P 1900 1800 1500 1800 1 0 0
+{
+T 1900 1800 5 10 0 0 0 0 1
+pintype=unknown
+T 1900 1800 5 10 0 0 0 0 1
+pinseq=0
+T 1445 1895 5 10 1 1 0 6 1
+pinlabel=4Y
+T 1595 1845 5 10 1 1 0 0 1
+pinnumber=10
+}
+L 800 2000 800 1600 3 0 0 0 -1 -1
+L 800 2000 1100 1800 3 0 0 0 -1 -1
+L 1100 1800 800 1600 3 0 0 0 -1 -1
+L 1100 1800 1500 1800 3 0 0 0 -1 -1
+L 800 1800 400 1800 3 0 0 0 -1 -1
+P 0 1300 400 1300 1 0 0
+{
+T 0 1300 5 10 0 0 0 0 1
+pintype=unknown
+T 0 1300 5 10 0 0 0 0 1
+pinseq=0
+T 455 1395 5 10 1 1 0 0 1
+pinlabel=5A
+T 305 1345 5 10 1 1 0 6 1
+pinnumber=11
+}
+P 1900 1300 1500 1300 1 0 0
+{
+T 1900 1300 5 10 0 0 0 0 1
+pintype=unknown
+T 1900 1300 5 10 0 0 0 0 1
+pinseq=0
+T 1445 1395 5 10 1 1 0 6 1
+pinlabel=5Y
+T 1595 1345 5 10 1 1 0 0 1
+pinnumber=12
+}
+L 800 1500 800 1100 3 0 0 0 -1 -1
+L 800 1500 1100 1300 3 0 0 0 -1 -1
+L 1100 1300 800 1100 3 0 0 0 -1 -1
+L 1100 1300 1500 1300 3 0 0 0 -1 -1
+L 800 1300 400 1300 3 0 0 0 -1 -1
+P 0 800 400 800 1 0 0
+{
+T 0 800 5 10 0 0 0 0 1
+pintype=unknown
+T 0 800 5 10 0 0 0 0 1
+pinseq=0
+T 455 895 5 10 1 1 0 0 1
+pinlabel=6A
+T 305 845 5 10 1 1 0 6 1
+pinnumber=14
+}
+P 1900 800 1500 800 1 0 0
+{
+T 1900 800 5 10 0 0 0 0 1
+pintype=unknown
+T 1900 800 5 10 0 0 0 0 1
+pinseq=0
+T 1445 895 5 10 1 1 0 6 1
+pinlabel=6Y
+T 1595 845 5 10 1 1 0 0 1
+pinnumber=15
+}
+L 800 1000 800 600 3 0 0 0 -1 -1
+L 800 1000 1100 800 3 0 0 0 -1 -1
+L 1100 800 800 600 3 0 0 0 -1 -1
+L 1100 800 1500 800 3 0 0 0 -1 -1
+L 800 800 400 800 3 0 0 0 -1 -1
+P 1000 0 1000 400 1 0 0
+{
+T 1000 0 5 10 0 0 0 0 1
+pintype=unknown
+T 855 500 5 10 1 1 0 0 1
+pinlabel=GND
+T 795 250 5 10 1 1 180 6 1
+pinnumber=8
+T 1000 0 5 10 0 0 0 0 1
+pinseq=0
+}