Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Rick81
Inlägg: 746
Blev medlem: 30 december 2005, 13:07:09

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av Rick81 »

Kan inte svara på det om det kommer funka, men du borde i alla fall ha något att börja labba med.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Tillräckligt bra svar ändå. :) Tackar för all hjälp. Så här är uC inkopplingen. Angående kristallen så ska jag välja en annan kristall.

Laddar upp projektet här:
ADC DAC PWM IO.zip
Markering_003.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

TomasL, visst gör jag rätt nu när jag väljer kristall till min STM32?

Steg 1: Jag öppnar ett dokument som handlar om hur man väljer kristall för sin STM32 - ST dokumentnummer AN2867
Steg 2: Jag vill ha en HSE kristall, dvs High Speed External kristall.
Steg 3: Jag börjar först kolla vad den godkända MHz är för min STM32.

I detta fall har jag en STM32 F3-serie och därmned ska jag ha en kristall som är mellan 4 till 32 Mhz.
Markering_005.png
Steg 4: Jag börjar kolla efter kompatibiliteten for den kristall jag har valt med min STM32.
Här är det viktigt att jag vet vad \(F\), \(C_0\), \(C_L\) och \(ESR\) har för värden. \(F\) är kristallens klockfrekvens, \(C_0\) är kristallens shunt kapacitans, \(C_L\) är kristallens lastkapacitans. samt \(ESR\) är kristallens resistans. Vi bör också veta \(g_{mcrit}\) som vi hittar i bilden ovan.

När vi vet dessa så använder vi denna formel:
\(gain_{margin} = \frac{g_m}{g_{mcrit}} = \frac{g_m}{4 \times ESR \times (2 \pi F)^2 \times (C_0 + C_L)^2}\)

Låt oss säga att vi har denna kristall: LFXTAL027946Bulk
https://www.mouser.se/datasheet/2/741/L ... 995579.pdf

\(C_L\) = 22 pF
\(C_0\) = 7 pF
\(ESR\) = 40 Ohm
\(F\) = 8 Mhz

Då får vi att
\(gain_{margin} = \frac{g_m}{g_{mcrit}} = \frac{g_m}{4 \times ESR \times (2 \pi F)^2 \times (C_0 + C_L)^2} = \frac{10}{4\times 40 \times(2\pi 16 \times 10^6)^2 \times (7 \times 10^{-12} + 22 \times 10^{-12})} = 10.719\)

Enligt AN2867 så måste \(gain_{margin} > 5\) och då kan vi använda kristallen. Som vi ser nu så är detta OK!

Steg 5: Bestämma lastkapacitanserna \(C_{L1}\) och \(C_{L2}\) för kristallen.
Då använder vi denna formel, där vi anser att \(C_{L1} = C_{L2} = X\)
\(C_L = \frac{C_{L1} \times C_{L2}}{C_{L1} + C_{L2}} + C_s = \frac{X^2}{2X} + C_s \)

Där \(C_s\) är kapacitansen för uC's kristallingångar + PCB's ledningens kapacitans. Men med tanke på att kristallen sitter väldigt nära så kan vi istället hitta kapacitansen för uC och bara räkna på den istället.
Markering_006.png
I detta fall så vet vi inte uC's kristallingångar är, men vi anser att \(C_s\) = 5 pF. Då löser vi ut \(X\)
\(C_L - C_s = \frac{X^2}{2X}\)
\(2 \times (C_L - C_s) = \frac{X^2}{X}\)
\(2 \times (C_L - C_s) \times X = X^2\)
\(2 \times (C_L - C_s) = X\)
\(2 \times (22 - 5) = 34 = X\)

\(X = C_{L1} = C_{L2} = 34 pF\)

Så sammanfattningen är att jag behöver två 34 pF keramikkondensatorer och en 16 Mhz kristall som har en lastkapacitans på 22 pF.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av TomasL »

I ett tidigare inlägg hänvisade du till ett dokument, där de rekommenderade att använd 10pF för Cstray.
viewtopic.php?p=1563884#p1563884
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Sökte efter detta också, men STM32 är bra på hålla saker diskret.

Okej. Då måste jag välja en annan kristall som har en lägre kristall last \(C_L\).

Men övrigt då? Är metoden korrekt, eller bör jag vidareutveckla den med djupare analys? Jag vill helst hålla mig till KIS metoden - Keep It Simple.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av TomasL »

Nej, du behöver inte välja en annan kristall, så länge som den håller sig inom de data som ST presenterar, dock när du räknar fram din kondingar bör du nog använda 10pF som Cstray
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Då får jag
\(2*(C_L - C_s) = 2*(22 - 10) = C_{L1} = C_{L2} = 24 pF\)

Men enligt ST så ska jag helst ha \(C_{L1}, C_{L2}\) mellan 5 pF och 20 pF. Nu räknade jag fram 24 pF. Inte bra!

Då är det bättre jag väljer \(C_L = 16\) så jag kan få \(X = 12 pF\)
https://www.mouser.se/datasheet/2/741/L ... 998481.pdf

Jag ska räkna på det externa motståndet också!
\(R_{ext} = \frac{1}{2 \pi F C_{L2}} = \frac{1}{2 \pi 8 \times 10^6 \times 12 \times 10^{-12}} = 1657.9\) Ohm.

Och sedan måste jag räkna om \(gain_{margin}\)

\(gain_{margin} = \frac{g_m}{g_{mcrit}} = \frac{g_m}{4 \times (ESR + R_{ext}) \times (2 \pi F)^2 \times (C_0 + C_L)^2} = \frac{10}{4\times (40 + 1657.9) \times(2\pi 16 \times 10^6)^2 \times (7 \times 10^{-12} + 16 \times 10^{-12})} = 13.515\)

Enligt AN2867 så måste \(gain_{margin} > 5\) och då kan vi använda detta externa motstånd \(R_{ext}\). :)

Jag ser att ST Nucleo har externa resistorer på varje kristallpinne. Varför då? ST-dokumentet rekommenderar ju bara på OUT-pinnen.
Bild
Senast redigerad av DanielM 29 oktober 2020, 08:36:59, redigerad totalt 1 gång.
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av AndLi »

Är de inte bara 0 ohmare för att lätt kunna koppla bort kristallen? Värdena är angivna till NA
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Detta är andra pinnar. Jag använder HSE pinnarna, High Speed External.
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av AndLi »

R34/R36? Men de är ju också satta till 0.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

Nej. Den andra kristallen.
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av AndLi »

R35 / R37 ? De är ju N/A de är väl sannolikt inte monterade.
Användarvisningsbild
rvl
Inlägg: 5721
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av rvl »

Ja, inte monterade och inte kristall eller kondensatorer heller för den delen på de Nucleokort jag har. (32 kHz kristaller har de.)
nucleo.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av DanielM »

AndLi skrev: 29 oktober 2020, 12:53:01 R35 / R37 ? De är ju N/A de är väl sannolikt inte monterade.
Jag tolkade N/A som att de inte vill säga vad det är för resistor.

Men hur gör jag här? Ska jag ha det som jag har nu? Jag har bara följt STM's manual hur man väljer kristall, hur man väljer kondensatorerna och hur man väljer externa motståndet. Vad mer behöver jag göra?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
hummel
Inlägg: 2259
Blev medlem: 28 november 2009, 10:40:52
Ort: Stockholm

Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?

Inlägg av hummel »

N/A betyder not applicable ("inte tillämplig") .
Skriv svar