1
0
mirror of git://projects.qi-hardware.com/kicad-libs.git synced 2024-11-24 23:03:10 +02:00

Moved mini-usb.fpd and usb_a_plug_smt.fpd from ben-wpan to kicad-libs (incoming)

This commit is contained in:
Werner Almesberger 2011-08-14 03:06:15 -03:00
parent fd7d74a56c
commit 39c7ee76cf
5 changed files with 241 additions and 1 deletions

View File

@ -4,6 +4,10 @@ Alvaro Lopes <alvieboy@alvie.com>
components/74x1g125.lib
components/74x2g126.lib
Rene Harder <rehar@saweb.de>
modules/mini-usb.fpd
Werner Almesberger <werner@almesberger.net>
components/8_10-card.lib
@ -23,3 +27,4 @@ Werner Almesberger <werner@almesberger.net>
modules/fiducial.fpd
modules/qfn.fpd
modules/qfp.fpd
moduled/usb_a_plug_smt.fpd

View File

@ -64,3 +64,25 @@ N: sot617-3-lp
# "Generic" simple QFP (for now, just for Silabs' C8051F320)
F: qfp
# Mini-USB B receptable (SMT; almost generic)
F: mini_usb_b
# USB A plug for SMT
#
# Note: the signal pads are enlarged by 0.2 mm and their center is shifted by
# 0.1 mm with respect to the reference.
#
# According to the data sheet, the leads terminate at (2.00+/-0.10 mm)/2+
# 2.48 mm = 3.48+/-0.10 mm from the center. The reference footprint puts the
# edge of the pads at (2.00+/-0.10 mm)/2+2.6 mm = 3.6 mm+/-0.10 mm, so the
# maximum lead end could be at 3.58 mm while the minimum pad edge could be at
# 3.5 mm.
#
# Assuming that the pad is intended to extend a bit beyond the lead, we need
# to add 0.2 mm to compensate for these tolerances. (The pad tolerance may not
# be intended to be used this way, however, we still have to consider small
# errors in registration, which also amount to about 0.1 mm, so the calculation
# remains valid.)
#
F: usb_a_plug_smt

View File

@ -1,4 +1,4 @@
MODULES=8_10-card fiducial pads qfn qfp stdpass
MODULES=8_10-card fiducial mini-usb pads qfn qfp stdpass usb_a_plug_smt
.SUFFIXES: .fpd .mod
.PHONY: all clean

114
modules/mini-usb.fpd Normal file
View File

@ -0,0 +1,114 @@
/*Mini USB Type B connector*/
frame pad{
set name=i
ur: vec @(0mm,w/2)
ll: vec @(-l,-w/2)
pad "$name" ur ll
}
frame pad_gnd {
set name1=i
set name2=i+2
pos1_ur: vec @(gnd_x/2,gnd_y/2)
pos2_ur: vec .(0mm,-b_y)
pos1_ll: vec @(-gnd_x/2,-gnd_y/2)
pos2_ll: vec .(0mm,-b_y)
center: vec @(0mm,-b_y)
pad "$name1" pos1_ur pos1_ll
pad "$name2" pos2_ur pos2_ll
}
frame pads {
loop i=1,5
pos: vec @(0mm,2*p-(i-1)*p)
frame pad .
}
frame pads_gnd{
loop i=6,7
pos: vec @(-gnd_x/2-a_x*(i-6),b_y/2)
frame pad_gnd .
}
frame holes {
c1: vec @(-f,c/2)
d1: vec .(0mm,d/2)
c2: vec @(-f,-c/2)
d2: vec .(0mm,d/2)
circ c1 d1 0.01mm
circ c2 d2 0.01mm
}
frame outline {
ur: vec @(-f+A1_x,B_y/2)
ll: vec @(-e,-B_y/2)
rect ur ll silk
ur2: vec @(-e,B_y/2)
ll2: vec @(-f-A2_x,-B_y/2)
rect ur2 ll2 silk
}
package "miniUSB_B"
unit mm
/*GND pad size*/
set gnd_y = 2mm
set gnd_x = 2.5mm
/*pad size*/
set w=0.5mm
set l=2.3mm
/*pitch*/
set p = 0.8mm
/*distance center GND pad -> center pin1 */
set a=2.85mm
/*distance GND pad -> GND pad*/
set a_x=5.5mm
set b_y=8.9mm
/*distance between drill holes*/
set c=4.4mm
/*x distance drill hole -> outer edge pin 1*/
set f=3.75mm
/*drill hole diameter*/
set d=0.9mm
/*distance outer edge of pin1 -> PCB edge*/
set e=9mm
/*outline x direction, center holes -> edges*/
set A1_x=3.3mm
set A2_x=5.9mm
/*outline y direction*/
set B_y=7.7mm
set silk=0.1mm
__0: vec @(0mm, 0mm)
frame pads @
frame pads_gnd @
frame holes @
frame outline @
measy pad.ll -> pad.ur -l-2mm
measy pad_gnd.pos2_ll -> pad_gnd.pos2_ur 0.3mm
measx pad_gnd.pos1_ll -> pad_gnd.pos1_ur -1mm
measy __0 -> pads.pos -0.5mm
measy pads.pos >> pads.pos -1.5mm
measx pads_gnd.pos >> pads_gnd.pos 2mm
measx outline.ur2 >> pad.ur 3.5mm
measx outline.ll >> holes.c2 -3mm
measy holes.c2 >> holes.c1 A2_x+1mm
measy outline.ll2 >> outline.ur2 2mm
measx pad.ll -> pads.pos -1mm
measy pads_gnd.pos << pad_gnd.center -5mm

View File

@ -0,0 +1,99 @@
/* MACHINE-GENERATED ! */
frame pad {
table
{ h, w }
{ 2mm+2*enlarge, 1.2mm }
__0: vec @(w/2, h/2)
__1: vec @(-w/2, -h/2)
pad "$name" . __0
}
frame pads {
table
{ name, x }
{ 1, 3.5mm }
{ 2, 1mm }
{ 3, -1mm }
{ 4, -3.5mm }
set enlarge = 0.1mm
__0: vec @(0mm, 2.6mm+enlarge)
__1: vec .(x, 0mm)
frame pad .
}
frame shield {
table
{ name, x }
{ 5, -B/2 }
{ 6, B/2 }
table
{ hi, wi }
{ 2.5mm, 1mm }
set ratio = 2
set ho = hi*ratio
set wo = wi*ratio
__0: vec @(x, 0mm)
__1: vec .(wo/2, ho/2)
__2: vec __0(-wo/2, -ho/2)
rpad "$name" . __1
__3: vec __0(wi/2, hi/2)
__4: vec __0(-wi/2, -hi/2)
hole . __3
}
frame holes {
set d = 1.15mm
table
{ x }
{ -C/2 }
{ C/2 }
__0: vec @(x, 0mm)
__1: vec .(d/2, d/2)
__2: vec __0(-d/2, -d/2)
hole . __1
}
frame edge {
set w = 5mil
__0: vec @(0mm, -2.75mm)
__1: vec .(B/2, 0mm)
__2: vec __0(-B/2, 0mm)
line . __1 w
}
package "USB-A-PLUG-SMT"
unit auto
table
{ A, B, C }
{ 2mm, 11.4mm, 4.5mm }
frame edge @
frame holes @
frame pads @
frame shield @
measx pads.__1 >> pads.__1 3mm
measx pads.__1 -> pads.__1 2.5mm
measx pad.__1 -> pad.__0 3mm
measy pad.__1 -> pad.__0 0.5mm
measx shield.__2 -> shield.__1 -2.5mm
measy shield.__2 -> shield.__1 1.5mm
measy shield.__4 -> shield.__3 1mm
measx shield.__4 -> shield.__3 -2mm
measx shield.__0 >> shield.__0 6.5mm
measx holes.__0 >> holes.__0 -1.5mm
measy holes.__2 -> holes.__1 1mm
measy edge.__1 >> shield.__0 -2mm
measy pads.__0 << shield.__0 -2mm