Date:2012-05-25 12:19:04 (8 years 2 months ago)
Author:Adam Wang
Commit:bd5c1c351552bfe429f32de0cecf78c12c6562e3
Message:qfp.fpd: added Maxim C48 and Analog Device ST-48 variant

Files: modules/INFO (1 diff)
modules/qfp.fpd (2 diffs)

Change Details

modules/INFO
6464
6565# "Generic" simple QFP (for now, just for Silabs' C8051F320)
6666F: qfp
67#
68# - the C8051F320 data sheet
69# http://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F32x.pdf
70#
71# according to MAXIM web: http://www.maxim-ic.com/design/packaging/
72# the LQPF48/TQFP48 referred to the same package drawing and land pattern
73#
74# - LQFP48, TQFP48: C48 -> package drawing
75# http://pdfserv.maxim-ic.com/package_dwgs/21-0054.PDF
76#
77# - LQFP48, TQFP48: C48 -> package land pattern
78# http://pdfserv.maxim-ic.com/land_patterns/90-0093.PDF
79#
80# according to Analog Device web:
81# http://www.analog.com/en/technical-library/packages/qfp-quad-flat-pack/lqfp-1_4mm-thick/index.html
82#
83# - LQFP48: ST-48 -> package drawing
84# http://www.analog.com/static/imported-files/packages/PKG_PDF/LQFP(ST)/ST_48.pdf
85# note that its D and E (i.e. 9 mm) doesn't meet to land pattern suggested below as a total 8.8 mm
86#
87# - LQFP48: ST-48 -> package land pattern
88# http://www.analog.com/static/imported-files/footprints/LQFP/ST-48.pdf
89#
6790
6891# Mini-USB B receptable (SMT; almost generic)
6992F: mini_usb_b
modules/qfp.fpd
99
1010    __0: vec @(px, py)
1111    __1: vec @(-px, -py)
12    pad "$pin" __0 .
12    pad "$pin" . __0
13    __2: vec @(px, -py)
14    __3: vec @(-px, py)
1315}
1416
1517frame side {
...... 
3335    frame side .
3436}
3537
36frame index {
37}
38
3938frame outline {
40    set mx = D1/2
39    table
40        { index, dx, dy }
41        { 1, -1, 0 }
42        { 0, 0, -1 }
43        { 0, 1, 0 }
44        { 0, 0, 1 }
4145
42    set my = E1/2
46    set cx = (dx*C1+dy*C2)/2
4347
44    set cf = 0.8
48    set cy = (dy*C2-dx*C1)/2
4549
46    set rf = (1-cf)/2
50    set ax = -Y1/2*dx
4751
48    set r = mx*rf
52    set ay = -Y1/2*dy
4953
50    __0: vec @(mx, my)
51    __1: vec @(-mx, -my)
52    rect . __0 w
53    __2: vec @(-mx*cf, my*cf)
54    __3: vec .(0mm, r)
55    circ __2 . w
54    set bx = -Y1/2*dy
55
56    set by = Y1/2*dx
57
58    __0: vec @(cx, cy)
59    w: vec .(ax, ay)
60    line __0 . w
61    __2: vec __0(bx, by)
62    line __0 . w
63    __1: vec .(index*(ax-bx), index*(ay-by))
64    line __2 . w
5665}
5766
58package "$name"
67package "QFP$pins-$variant"
5968unit mm
6069
6170table
62    { name, pins, X1, Y1, e, C1, C2, D1, E1 }
63    { "LQFP32", 32, 0.45mm, 1.3mm, 0.8mm, 8.45mm, 8.45mm, 7mm, 7mm }
64
65set X2 = X1+(pins/4-1)*E
66
67set Y2 = X2
71    { variant, pins, X1, Y1, e, C1, C2, D1, E1 }
72    { "SiLabs", 32, 0.45mm, 1.3mm, 0.8mm, 8.45mm, 8.45mm, 7mm, 7mm }
73    { "Maxim_C48", 48, 0.27mm, 1.45mm, 0.5mm, 8.2mm, 8.2mm, 7mm, 7mm }
74    { "AD_ST-48", 48, 0.3mm, 0.8mm, 0.5mm, 8mm, 8mm, 7mm, 7mm }
6875
6976set w = 5mil
7077
7178frame pads @
7279frame outline @
73measy pad.__1 -> pad.__0 1mm
80measy pad.__1 -> pad.__0 2.5mm
81meas side.__0 -> side.__0 -1.6mm
82meas pad.__2 -> pad.__1 -0.5mm
83meas pad.__1 -> pad.__2 -1.5mm
84measy side.__0 >> side.__0 3.5mm
85measy pad.__1 >> pad.__1 4mm
86measx pads.__0 >> side.__0 -7.5mm
87measx pad.__0 >> pad.__2 -5mm
88measy pad.__0 >> pad.__3 3mm
89measx pad.__3 >> pad.__1 -4mm

Archive Download the corresponding diff file

Branches:
master



interactive