From 3d758d6192dbf63a4604abd72d6120cef20d2dbc Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 3 Nov 2013 01:04:05 -0800 Subject: [PATCH] Add datasheet, symbol and package for philips 74HC4050 hex level shifter Signed-off-by: Keith Packard --- datasheets/philips/74HC4050.pdf | Bin 0 -> 38833 bytes datasheets/philips/SO-SOJ-REFLOW.pdf | Bin 0 -> 8792 bytes packages/Makefile | 5 + packages/soic.5c | 96 ++++++++++++++ symbols/common/74hc4050.sym | 186 +++++++++++++++++++++++++++ 5 files changed, 287 insertions(+) create mode 100644 datasheets/philips/74HC4050.pdf create mode 100644 datasheets/philips/SO-SOJ-REFLOW.pdf create mode 100644 packages/soic.5c create mode 100644 symbols/common/74hc4050.sym diff --git a/datasheets/philips/74HC4050.pdf b/datasheets/philips/74HC4050.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8130138a1cd8cbc2f783a519affe4cd383b9a6ee GIT binary patch literal 38833 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 Hh5i2kJ8X*k literal 0 HcmV?d00001 diff --git a/datasheets/philips/SO-SOJ-REFLOW.pdf b/datasheets/philips/SO-SOJ-REFLOW.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a5a9752a1bd790e92e66fcd03de80783ca048845 GIT binary patch literal 8792 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 $@ +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 +} -- 2.47.2