diff --git a/modules/INFO b/modules/INFO index 3ca1197..b15b612 100644 --- a/modules/INFO +++ b/modules/INFO @@ -144,3 +144,62 @@ 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 + +# IR Receiver Module +F: ir +# +# From Vishay: +# +# - 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 +# +# - 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 +# +# - TSOP32: Z32 -> package land pattern +# http://pdfserv.maxim-ic.com/land_patterns/90-0320.PDF +# + +# "Generic" simple TO-252 +F: to-252 +# +# - 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/ir.fpd b/modules/ir.fpd new file mode 100644 index 0000000..1734887 --- /dev/null +++ b/modules/ir.fpd @@ -0,0 +1,79 @@ +/* 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 + line __14 . 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 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 diff --git a/modules/tsop.fpd b/modules/tsop.fpd new file mode 100644 index 0000000..92b1043 --- /dev/null +++ b/modules/tsop.fpd @@ -0,0 +1,79 @@ +/* MACHINE-GENERATED ! */ + +frame pin { + __0: vec @(padw/2, C/2) + __1: vec @(-padw/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)*e + + 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)*e-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 + +table + { 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 -e +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