From f077efe8dc09654cf1b526a60dd82c50ff9d155e Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Mon, 28 May 2012 13:53:41 +0800 Subject: [PATCH 1/6] added SOIC footprints: 8, 14 and 16 pins. --- modules/INFO | 18 +++++++++++ modules/soic.fpd | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 modules/soic.fpd diff --git a/modules/INFO b/modules/INFO index 3ca1197..e8e290f 100644 --- a/modules/INFO +++ b/modules/INFO @@ -144,3 +144,21 @@ F: mdip # # http://www.fairchildsemi.com/dwg/N0/N08H.pdf +# SOIC +F: soic +# +# From TI: +# +# - the SN75HVD12DR data sheet +# http://www.ti.com/lit/ds/symlink/sn75hvd12.pdf +# +# Package Drawing: +# +# - D(JEDEC) +# - R-PDSO-G8 +# http://www-s.ti.com/sc/psheets/msoi002j/msoi002j.pdf +# - R-PDSO-G14 +# http://www-s.ti.com/sc/psheets/mpds177g/mpds177g.pdf +# - R-PDSO-G16 +# http://www-s.ti.com/sc/psheets/mpds178g/mpds178g.pdf + diff --git a/modules/soic.fpd b/modules/soic.fpd new file mode 100644 index 0000000..e4671ec --- /dev/null +++ b/modules/soic.fpd @@ -0,0 +1,79 @@ +/* MACHINE-GENERATED ! */ + +frame pin { + __0: vec @(D/2, C/2) + __1: vec @(-D/2, -C/2) + pad "$n" . __0 +} + +frame pins_top { + set n = N-i + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins_bottom { + set n = i+1 + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins { + set y = (A+B)/4 + + set x = (i-(N/2-1)/2)*Pitch + + loop i = 0, N/2-1 + + __0: vec @(0mm, y) + frame pins_top . + __1: vec @(0mm, -y) + frame pins_bottom . +} + +frame marker { + set r = ((N/2-1)*Pitch-x)/2-w + + __0: vec @(-x/2-D+w, -(A-C)/2) + __1: vec .(-r/3, 0mm) + circ __0 . w +} + +frame outline { + set w = 5mil + + set x = H + + set y = A+2*w + + __0: vec @(x/2, y/2) + __1: vec @(-x/2, -y/2) + rect . __0 w + frame marker @ +} + +package "$name-$N" +unit mm + +set Pitch = 1.27mm + +set D = 0.6mm + +table + { name, N, A, B, C, H } + { "SOIC", 8, 6.8mm, 2.8mm, 2mm, 4.9mm } + { "SOIC", 14, 6.8mm, 2.8mm, 2mm, 8.65mm } + { "SOIC", 16, 6.8mm, 2.8mm, 2mm, 9.9mm } + +frame outline @ +frame pins @ +measy pin.__1 -> pin.__0 1.5mm +measy pin.__1 >> pin.__0 -H-2mm +measy pin.__0 >> pin.__1 -H +measx pin.__1 -> pin.__0 -1mm +measx pins_top.__0 -> pins_top.__0 -2mm +measy pins.__0 << pins_bottom.__0 -2mm +measy outline.__0 >> outline.__1 -H-C +measx outline.__1 >> outline.__0 8mm From e92838c7654987bc9a5ec05868416522f09bb5c1 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Mon, 28 May 2012 21:10:42 +0800 Subject: [PATCH 2/6] ir.fpd: added IR receiver footprint --- modules/INFO | 8 ++++++ modules/ir.fpd | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 modules/ir.fpd diff --git a/modules/INFO b/modules/INFO index e8e290f..0925f05 100644 --- a/modules/INFO +++ b/modules/INFO @@ -162,3 +162,11 @@ F: soic # - R-PDSO-G16 # http://www-s.ti.com/sc/psheets/mpds178g/mpds178g.pdf +# IR Receiver Module +F: ir +# +# From Vishay: +# +# - the TSOP322.., TSOP324.., TSOP348.., TSOP344.. data sheet +# http://www.vishay.com/docs/81732/tsop348.pdf + diff --git a/modules/ir.fpd b/modules/ir.fpd new file mode 100644 index 0000000..565b6cd --- /dev/null +++ b/modules/ir.fpd @@ -0,0 +1,78 @@ +/* MACHINE-GENERATED ! */ + +frame pin { + __0: vec @(hole/2, hole/2) + __1: vec @(-hole/2, -hole/2) + hole . __0 + __2: vec @(-ratio*hole/2, ratio*hole/2) + __3: vec @(ratio*hole/2, -ratio*hole/2) + rpad "$n" __2 . +} + +frame pin_hole { + set n = i+1 + + frame pin @ +} + +frame pins { + loop i = 0, N-1 + + __0: vec @(pitch*(i-(N-1)/2), 0mm) + __2: vec .(0mm, -(rear+thick/2)) + frame pin_hole . +} + +frame outline { + set w = 5mil + + __0: vec @(L/2-pin_width/2, 0mm) + line @ . w + __2: vec .(0.35mm, 0mm) + __1: vec @(-(L/2-pin_width/2), 0mm) + line @ . w + __3: vec .(-0.35mm, 0mm) + __4: vec @(-L/2, -(rear+thick)) + __5: vec @(L/2, -(rear+thick)) + __6: vec @(L/2-pin_width/2, -front) + __10: vec .(0.3mm, 1.5mm) + line . __6 w + __7: vec @(-(L/2-pin_width/2), -front) + __11: vec .(-0.3mm, 1.5mm) + line . __7 w + __8: vec @(0mm, -surface) + __9: vec @(0mm, -3mm) + __12: vec __0(0.2mm, -0.5mm) + line . __0 w + __13: vec __1(-0.2mm, -0.5mm) + line . __1 w + __14: vec __6(-0.29mm, 0mm) + line __6 . w + __15: vec __7(0.29mm, 0mm) + arc __9 . __14 w + line __7 . w +} + +package "TSOP348" +unit auto + +table + { N, L, front, rear, surface, thick, pin_width } + { 3, 6mm, 4.1mm, 1.3mm, 5.6mm, 0.5mm, 0.7mm } + +set hole = 0.8mm + +set pitch = 100mil + +set ratio = 2 + +frame outline @ +frame pins @ +meas outline.__3 >> outline.__2 1mm +meas pins.__2 -> pins.__2 2mm +measy outline.__0 << pins.__2 -1mm +measy outline.__0 >> outline.__6 1.5mm +measy outline.__0 >> outline.__8 2mm +measy pin.__1 -> pin.__0 1mm +measy pin.__3 -> pin.__2 3mm +measx outline.__9 >> pins.__2 -0.5mm From b88a133fd6d2372de57f91a9dca99c276621e3a3 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 29 May 2012 08:39:07 +0800 Subject: [PATCH 3/6] ir.fpd: added front edge silkscreen --- modules/ir.fpd | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ir.fpd b/modules/ir.fpd index 565b6cd..1734887 100644 --- a/modules/ir.fpd +++ b/modules/ir.fpd @@ -51,6 +51,7 @@ frame outline { __15: vec __7(0.29mm, 0mm) arc __9 . __14 w line __7 . w + line __14 . w } package "TSOP348" From dfcaa9dba51be5ed4007b7081440ad77f4243d23 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 29 May 2012 10:34:38 +0800 Subject: [PATCH 4/6] tsop.fpd: added new TSOP module --- modules/INFO | 17 ++++++++++ modules/tsop.fpd | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 modules/tsop.fpd diff --git a/modules/INFO b/modules/INFO index 0925f05..fae01e1 100644 --- a/modules/INFO +++ b/modules/INFO @@ -170,3 +170,20 @@ F: ir # - the TSOP322.., TSOP324.., TSOP348.., TSOP344.. data sheet # http://www.vishay.com/docs/81732/tsop348.pdf +# "Generic" simple TSOP +F: tsop +# +# - the JS28F256J3F105 data sheet, it's TSOP-56 +# http://www.micron.com/parts/nor-flash/parallel-nor-flash/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/6062319942_J3_65_256M_MLC_DS.ashx +# +# according to MAXIM web: http://www.maxim-ic.com/design/packaging/ +# the TSOP32 referred to the same package drawing and land pattern +# +# - TSOP32: Z32 -> package drawing +# http://pdfserv.maxim-ic.com/package_dwgs/21-0274.PDF +# +# - TSOP32: Z32 -> package land pattern +# http://pdfserv.maxim-ic.com/land_patterns/90-0320.PDF +# + + diff --git a/modules/tsop.fpd b/modules/tsop.fpd new file mode 100644 index 0000000..1d69b68 --- /dev/null +++ b/modules/tsop.fpd @@ -0,0 +1,81 @@ +/* MACHINE-GENERATED ! */ + +frame pin { + __0: vec @(pad_w/2, C/2) + __1: vec @(-pad_w/2, -C/2) + pad "$n" . __0 +} + +frame pins_top { + set n = N-i + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins_bottom { + set n = i+1 + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins { + set y = W/2 + + set x = (i-(N/2-1)/2)*Pitch + + loop i = 0, N/2-1 + + __0: vec @(0mm, y) + frame pins_top . + __1: vec @(0mm, -y) + frame pins_bottom . +} + +frame marker { + set r = ((N/2-1)*Pitch-x)/2-w + + __0: vec @(-x/2-1.5*Z, -(y/2-C/4)) + __1: vec .(-r/3, 0mm) + circ __0 . w +} + +frame outline { + set w = 5mil + + set x = E + + set y = D1 + + __0: vec @(x/2, y/2-C/4) + __1: vec @(-x/2, -(y/2-C/4)) + rect . __0 w + __2: vec @(-x/2, D1/2) + __3: vec @(-x/2, -D1/2) + frame marker @ +} + +package "$name-$N" +unit mm + +set Pitch = 0.5mm + +set pad_w = 0.27mm + +table + { name, N, A, B, C, D, D1, E, W, Z } + { "TSOP", 56, 6.8mm, 18.1mm, 1.39mm, 20mm, 18.4mm, 14mm, 19.49mm, 0.25mm } + +frame outline @ +frame pins @ +measy pin.__1 -> pin.__0 1mm +measy pin.__1 >> pin.__0 -E-3mm +measy pin.__0 >> pin.__1 -E-1mm +measx pin.__1 -> pin.__0 -Pitch +measx pins_top.__0 -> pins_top.__0 -2mm +measy pins.__0 << pins_bottom.__0 -2.5mm +measy outline.__0 >> outline.__1 -E-C +measx outline.__1 >> outline.__0 8mm +measx pins_bottom.__0 >> outline.__1 -2mm +measy outline.__2 >> outline.__3 -3mm From d0f16e9e1efdf6f00d33a3315db35ebeccacb3e5 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 29 May 2012 11:54:41 +0800 Subject: [PATCH 5/6] tsop.fpd: added 28 and 32 pins option --- modules/INFO | 16 ++++++++++++++++ modules/tsop.fpd | 20 +++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/modules/INFO b/modules/INFO index fae01e1..d87ef21 100644 --- a/modules/INFO +++ b/modules/INFO @@ -179,6 +179,13 @@ F: tsop # according to MAXIM web: http://www.maxim-ic.com/design/packaging/ # the TSOP32 referred to the same package drawing and land pattern # +# - TSOP28: Z28 -> package drawing +# http://pdfserv.maxim-ic.com/package_dwgs/21-0273.PDF +# +# - TSOP28: Z28 -> package land pattern +# http://pdfserv.maxim-ic.com/land_patterns/90-0319.PDF +# +# # - TSOP32: Z32 -> package drawing # http://pdfserv.maxim-ic.com/package_dwgs/21-0274.PDF # @@ -186,4 +193,13 @@ F: tsop # http://pdfserv.maxim-ic.com/land_patterns/90-0320.PDF # +# "Generic" simple TO-252 +F: tsop +# +# - for example: the LP38690DT-3.3 data sheet, it's TO-252 +# http://www.ti.com/lit/ds/symlink/lp38690.pdf +# +# - JEDEC Spec: TO-252 AA -> package drawing and land pattern +# http://www.national.com/packaging/mkt/td03b.pdf +# diff --git a/modules/tsop.fpd b/modules/tsop.fpd index 1d69b68..92b1043 100644 --- a/modules/tsop.fpd +++ b/modules/tsop.fpd @@ -1,8 +1,8 @@ /* MACHINE-GENERATED ! */ frame pin { - __0: vec @(pad_w/2, C/2) - __1: vec @(-pad_w/2, -C/2) + __0: vec @(padw/2, C/2) + __1: vec @(-padw/2, -C/2) pad "$n" . __0 } @@ -23,7 +23,7 @@ frame pins_bottom { frame pins { set y = W/2 - set x = (i-(N/2-1)/2)*Pitch + set x = (i-(N/2-1)/2)*e loop i = 0, N/2-1 @@ -34,7 +34,7 @@ frame pins { } frame marker { - set r = ((N/2-1)*Pitch-x)/2-w + set r = ((N/2-1)*e-x)/2-w __0: vec @(-x/2-1.5*Z, -(y/2-C/4)) __1: vec .(-r/3, 0mm) @@ -59,20 +59,18 @@ frame outline { package "$name-$N" unit mm -set Pitch = 0.5mm - -set pad_w = 0.27mm - table - { name, N, A, B, C, D, D1, E, W, Z } - { "TSOP", 56, 6.8mm, 18.1mm, 1.39mm, 20mm, 18.4mm, 14mm, 19.49mm, 0.25mm } + { name, N, B, C, D, D1, E, e, padw, W, Z } + { "TSOP", 28, 11.25mm, 1.4mm, 13.425mm, 11.8mm, 8mm, 0.55mm, 0.2mm, 12.65mm, 0.25mm } + { "TSOP", 32, 18.1mm, 1.39mm, 20mm, 18.4mm, 8mm, 0.5mm, 0.27mm, 19.49mm, 0.25mm } + { "TSOP", 56, 18.1mm, 1.39mm, 20mm, 18.4mm, 14mm, 0.5mm, 0.27mm, 19.49mm, 0.25mm } frame outline @ frame pins @ measy pin.__1 -> pin.__0 1mm measy pin.__1 >> pin.__0 -E-3mm measy pin.__0 >> pin.__1 -E-1mm -measx pin.__1 -> pin.__0 -Pitch +measx pin.__1 -> pin.__0 -e measx pins_top.__0 -> pins_top.__0 -2mm measy pins.__0 << pins_bottom.__0 -2.5mm measy outline.__0 >> outline.__1 -E-C From b8f4df391b7894c400b1028662667f2082472b58 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 29 May 2012 11:58:42 +0800 Subject: [PATCH 6/6] added to-252 link --- modules/INFO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/INFO b/modules/INFO index d87ef21..b15b612 100644 --- a/modules/INFO +++ b/modules/INFO @@ -194,7 +194,7 @@ F: tsop # # "Generic" simple TO-252 -F: tsop +F: to-252 # # - for example: the LP38690DT-3.3 data sheet, it's TO-252 # http://www.ti.com/lit/ds/symlink/lp38690.pdf