1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-26 01:39:41 +02:00

Introduce temperature coefficients for resistors.

Note: in most of the specifications, the TC depends on the resistor's value.
Since we don't have a useful way to express this sort of dependency, the
TC values are always the worst lower and upper bound for a given package.

- boom/test.sub (R): recognize #ppm/K as temperature coefficient
- boom/manu/yageo/yageo.gen: convert FP=0100 to canonical FP=01005 and
  then work with that value
- boom/manu/panasonic/panasonic.gen, boom/manu/stackpole/stackpole.gen,
  boom/manu/yageo/yageo.gen: added temperature coefficients
This commit is contained in:
Werner Almesberger 2010-10-17 17:03:13 -03:00
parent 36048db468
commit 5c6ffda94b
4 changed files with 70 additions and 63 deletions

View File

@ -20,7 +20,7 @@ ERJ* -> T=R {
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE2.pdf
ERJ-([1236]R)([HBKE])(D)([0-9R][0-9R][0-9R][0-9])* ->
_FP=$REF:1 _TOL=$REF:3 _E12_1=$REF:4
_FP=$REF:1 _TC=$REF:2 _TOL=$REF:3 _E12_1=$REF:4
# 1GE is special, see below
@ -65,75 +65,79 @@ ERJ* -> T=R {
_FP=XGE -> _FP=XGN
_FP=1GE -> _FP=1GN
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE1.pdf
_FP=XGN -> FP=01005 P=1/32W V=15V
_FP=1GN -> FP=0201 P=1/20W V=25V
_FP=2GE -> FP=0402 P=1/10W V=50V
_FP=3GE -> FP=0603 P=1/10W V=75V
_FP=6GE -> FP=0805 P=1/8W V=150V
_FP=8GE -> FP=1206 P=1/4W V=200V
_FP=12Z -> FP=2010 P=3/4W V=200V
_FP=14 -> FP=1210 P=1/2W V=200V
_FP=12 -> FP=1812 P=3/4W V=200V
_FP=1T -> FP=2512 P=1W V=200V
_FP=XGN -> FP=01005 P=1/32W V=15V TC=-300/+600ppm/K # all TC are worst case
_FP=1GN -> FP=0201 P=1/20W V=25V TC=-400/+600ppm/K
_FP=2GE -> FP=0402 P=1/10W V=50V TC=-400/+600ppm/K
_FP=3GE -> FP=0603 P=1/10W V=75V TC=-400/+600ppm/K
_FP=6GE -> FP=0805 P=1/8W V=150V TC=-400/+600ppm/K
_FP=8GE -> FP=1206 P=1/4W V=200V TC=-400/+600ppm/K
_FP=12Z -> FP=2010 P=3/4W V=200V TC=-400/+600ppm/K
_FP=14 -> FP=1210 P=1/2W V=200V TC=-400/+600ppm/K
_FP=12 -> FP=1812 P=3/4W V=200V TC=-400/+600ppm/K
_FP=1T -> FP=2512 P=1W V=200V TC=-400/+600ppm/K
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE2.pdf
_TC=[HB] -> TC=50ppm/K
_TC=[KE] -> TC=100ppm/K
_FP=1R -> FP=0201 P=1/20W V=15V
_FP=2R -> FP=0402 P=1/16W V=50V
_FP=3R -> FP=0603 P=1/16W V=50V
_FP=6R -> FP=0805 P=1/10W V=150V
_FP=2RK -> FP=0402 P=1/10W V=50V
_FP=3EK -> FP=0603 P=1/10W V=75V
_FP=6EN -> FP=0805 P=1/8W V=150V
_FP=8EN -> FP=1206 P=1/4W V=200V
_FP=14N -> FP=1210 P=1/2W V=200V
_FP=12N -> FP=1812 P=3/4W V=200V
_FP=12S -> FP=2010 P=3/4W V=200V
_FP=1TN -> FP=2512 P=1W V=200V
_FP=2RK -> FP=0402 P=1/10W V=50V TC=100ppm/K
_FP=3EK -> FP=0603 P=1/10W V=75V TC=100ppm/K
_FP=6EN -> FP=0805 P=1/8W V=150V TC=100ppm/K
_FP=8EN -> FP=1206 P=1/4W V=200V TC=100ppm/K
_FP=14N -> FP=1210 P=1/2W V=200V TC=100ppm/K
_FP=12N -> FP=1812 P=3/4W V=200V TC=100ppm/K
_FP=12S -> FP=2010 P=3/4W V=200V TC=100ppm/K
_FP=1TN -> FP=2512 P=1W V=200V TC=100ppm/K
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE3.pdf
_FP=2B -> FP=0402 P=1/8W
_FP2=3R -> FP=0603 P=1/10W # override regular 3R
_FP=3B -> FP=0603 P=1/5W
_FP2=6R -> FP=0805 P=1/8W # override regular 6R
_FP=6B -> FP=0805 P=1/4W
_FP=8R -> FP=1206 P=1/4W
_FP=8B -> FP=1206 P=1/3W
_FP=14R -> FP=1210 P=1/4W
_FP=14B -> FP=1210 P=1/2W
_FP=12R -> FP=1812 P=1/2W
_FP=12Z -> FP=2010 P=1/2W
_FP=1TR -> FP=2512 P=1W
# all TC are worst case
_FP=2B -> FP=0402 P=1/8W TC=300ppm/K
_FP2=3R -> FP=0603 P=1/10W TC=300ppm/K # override regular 3R
_FP=3B -> FP=0603 P=1/5W TC=300ppm/K
_FP2=6R -> FP=0805 P=1/8W TC=250ppm/K # override regular 6R
_FP=6B -> FP=0805 P=1/4W TC=250ppm/K
_FP=8R -> FP=1206 P=1/4W TC=250ppm/K
_FP=8B -> FP=1206 P=1/3W TC=250ppm/K
_FP=14R -> FP=1210 P=1/4W TC=200ppm/K
_FP=14B -> FP=1210 P=1/2W TC=200ppm/K
_FP=12R -> FP=1812 P=1/2W TC=200ppm/K
_FP=12Z -> FP=2010 P=1/2W TC=200ppm/K
_FP=1TR -> FP=2512 P=1W TC=200ppm/K
_FP=2BW -> FP=0402 P=1/8W
_FP=3BW -> FP=0603 P=1/4W
_FP=6BW -> FP=0805 P=1/3W
_FP=8BW -> FP=1206 P=1/2W
_FP=2BW -> FP=0402 P=1/8W TC=300ppm/K
_FP=3BW -> FP=0603 P=1/4W TC=250ppm/K # TC is worst case
_FP=6BW -> FP=0805 P=1/3W TC=300ppm/K # idem
_FP=8BW -> FP=1206 P=1/2W TC=200ppm/K # idem
_FP=L03 -> FP=0603 P=1/10W
_FP=L06 -> FP=0805 P=1/8W
_FP=L08 -> FP=1206 P=1/4W
_FP=L14 -> FP=1210 P=1/3W
_FP=L12 -> FP=1812 P=1/2W
_FP=L1D -> FP=2010 P=1/2W
_FP=L1W -> FP=2512 P=1W
_FP=L03 -> FP=0603 P=1/10W TC=200ppm/K
_FP=L06 -> FP=0805 P=1/8W TC=100ppm/K
_FP=L08 -> FP=1206 P=1/4W TC=100ppm/K
_FP=L14 -> FP=1210 P=1/3W TC=300ppm/K # TC is worst case
_FP=L12 -> FP=1812 P=1/2W TC=300ppm/K # TC is worst case
_FP=L1D -> FP=2010 P=1/2W TC=300ppm/K # TC is worst case
_FP=L1W -> FP=2512 P=1W TC=300ppm/K # TC is worst case
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE4.pdf
_FP=P03 -> FP=0603 P=1/5W V=150V
_FP=P06 -> FP=0805 P=1/4W V=150V
_FP=P08 -> FP=1206 P=1/3W V=200V
_FP=P14 -> FP=1210 P=1/2W V=200V
# all TC are worst case
_FP=P03 -> FP=0603 P=1/5W V=150V TC=200ppm/K
_FP=P06 -> FP=0805 P=1/4W V=150V TC=300ppm/K
_FP=P08 -> FP=1206 P=1/3W V=200V TC=-200/+600ppm/K
_FP=P14 -> FP=1210 P=1/2W V=200V TC=-200/+600ppm/K
# http://industrial.panasonic.com/www-data/pdf/AOA0000/AOA0000CE7.pdf
_FP=M03 -> FP=0603 P=1/4W
_FP=M1W -> FP=2512 P=1W
_FP=M03 -> FP=0603 P=1/4W TC=100ppm/K
_FP=M1W -> FP=2512 P=1W TC=450ppm/K # TC is worst case (350+-100 ?!?)
# L and M series don't use E12

View File

@ -8,14 +8,15 @@ RMCF* -> T=R {
include ../../lib/tol.inc
FP=0201 -> P=1/20W V=25V
FP=0402 -> P=1/16W V=50V
FP=0603 -> P=1/10W V=50V
FP=0805 -> P=1/8W V=150V
FP=1206 -> P=1/4W V=200V
FP=1210 -> P=1/3W V=200V
FP=2010 -> P=3/4W V=200V
FP=2512 -> P=1W V=200V
# all TC are worst case
FP=0201 -> P=1/20W V=25V TC=600ppm/K
FP=0402 -> P=1/16W V=50V TC=500ppm/K
FP=0603 -> P=1/10W V=50V TC=600ppm/K
FP=0805 -> P=1/8W V=150V TC=500ppm/K
FP=1206 -> P=1/4W V=200V TC=500ppm/K
FP=1210 -> P=1/3W V=200V TC=400ppm/K
FP=2010 -> P=3/4W V=200V TC=500ppm/K
FP=2512 -> P=1W V=200V TC=500ppm/K
}

View File

@ -9,12 +9,13 @@ RC* -> T=R {
include ../../lib/tol.inc
FP=0100 -> FP=01005 P=1/32W V=15
FP=0201 -> P=1/20W V=25V
FP=0402 -> P=1/16W V=50V
FP=0603 -> P=1/10W V=50V
FP=0805 -> P=1/8W V=150V
FP=1206 -> P=1/4W V=200V
FP=0100 -> FP=01005
FP=01005 -> P=1/32W V=15 TC=250ppm/K
FP=0201 -> P=1/20W V=25V TC=-200/+350ppm/K # TC is worst case
FP=0402 -> P=1/16W V=50V TC=200ppm/K # TC is worst case
FP=0603 -> P=1/10W V=50V TC=200ppm/K # TC is worst case
FP=0805 -> P=1/8W V=150V TC=300ppm/K # TC is worst case
FP=1206 -> P=1/4W V=200V TC=300ppm/K # TC is worst case
# Adjust multipliers

View File

@ -10,6 +10,7 @@ R[0-9P]* { # also handle RP...
VAL=$R -> R=$VAL
# -> TOL=5%
FN=$% -> TOL=$FN
FN=$ppm/K -> TC=$FN
}
RP[0-9]* {