From: Keith Packard Date: Sun, 3 Nov 2013 09:04:05 +0000 (-0800) Subject: Add datasheet, symbol and package for philips 74HC4050 hex level shifter X-Git-Tag: telelco-v3.0~820 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=3d758d6192dbf63a4604abd72d6120cef20d2dbc;p=hw%2Faltusmetrum Add datasheet, symbol and package for philips 74HC4050 hex level shifter Signed-off-by: Keith Packard --- diff --git a/datasheets/philips/74HC4050.pdf b/datasheets/philips/74HC4050.pdf new file mode 100644 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 index 0000000..a5a9752 Binary files /dev/null and b/datasheets/philips/SO-SOJ-REFLOW.pdf differ diff --git a/packages/Makefile b/packages/Makefile index 103ad78..36fef3d 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -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 index 0000000..9057565 --- /dev/null +++ b/packages/soic.5c @@ -0,0 +1,96 @@ +/* + * Copyright © 2012 Keith Packard + * + * 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 index 0000000..fab8164 --- /dev/null +++ b/symbols/common/74hc4050.sym @@ -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 +}