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

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2189
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 »

En dum fråga!

När man har en sådan plattkabel. Behöver man tänka spegelvänt då?

Jag funderar på att köpa en sådan. Som ni ser så är 1 = RST, 2 = SWCLK, ... , 9 = 5.0V och 10 = 5.0V
Bild

Blir det exakt samma här också om jag använder en sådan plattkabel?
Här är
1 = NRST
2 = PA14 = SWCLK
4 = PA13 = SWDIO
5 = GND
6 = GND
7 = 3.3v
10 = PB3 = SWO (Debugger)
Markering_027.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 908
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

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

Inlägg av mankan »

Är det en kina-klon av STLink? Isf kan jag meddela att på mitt exemplar stämmer inte trycket med den verkliga pinouten, dock så det den inte ut som på din bild. Min är i lila-eloxerad alu.
DanielM
Inlägg: 2189
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 »

Ja. Det är en kinesisk-klon, precis som allt annat.
Men låt oss stämma att jag köper en sådan ST-klon och jag har denna 2x5 kontakten. Hur blir det då med kabeln? Blir det spegelvänt då?
hummel
Inlägg: 2267
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 »

I en flatkabel går pin 1 till pin 1, är markerat på kontakdonen.
DanielM
Inlägg: 2189
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 »

Tackar. Då känner jag mig säker. :)
Nu har jag gjort klart mitt kort och jag har några frågor innan jag skickar kortet till tillverkning. Jag undrar om ni kan ta och kolla på det?
Markering_028.png
Vi kan börja med vad kortet innehåller:

- 3 stycken 16-bit differens ADC
- 2 stycken 16-bit singel ADC
- 4 stycken 12-bit singel ADC
- 6 stycken digitala ingångar
- 3 stycken analoga utgångar
- 9 stycken digitala utgångar
- 1 styck USART

Alla ADC är skyddade med PTC motstånd som aktiveras vid 60mA och har en hållström vid 20mA.
Alla digitala ingångar är skyddade med 10 kOhm mostånd på 0.25W
Alla analoga utgångar skyddas med schottkydioder.
Alla digitala utgångar är skyddade med N-kanal MOSFET.

Analoga ingångar

Alla analoga ingångar ser ut så här. Där PTC-säkringen är en 0ZCM0002FF2G och den har en tripström på 60mA och en hållström på 20mA.
150 Ohms mostånden är en 0.75W 1206 mostånd. 2kOhm mostånden är en vanlig 0.25W 1206 motstånd. BAT54S är klampningen för att skydda mot spikar eller negativ ström.
Markering_029.png
Digitala ingångar

Alla digitala ingångar ser ut så här. Där 10kOhm moståndet är en vanlig 0.25W 1206.
Markering_030.png
Analoga utgångar

Alla analoga utgångar ser ut så här. Där BAT54T1G har en motståndsspänning på 30V och kan skicka ut max 200mA
Markering_031.png
Digitala utgångar

Alla digitala utgångar styrs med en N-kanal MOSFET. Denna MOSFET klarar av 45W, 22A/15A vid 25/100 grader C, 60V spänningsfall. Nu kommer jag max använda 1500mA igenom en sådan MOSFET vid 12V. Gate aktiveras mellan spänningen 1.4v till 2.1v. Men med tanke på att jag använder 3.3v så duger detta helt klart. Innan Gate så finns det ett 1kOhm mostånd för att hindra att en uppladdning ska ske på Gate som sedan smäller tillbaka mot uC när uC:ns digitala utgång går till 0V. Motståndet gör så att det inte blir en spänningspik.
Markering_032.png
Avlastningskondensatorerna

Enligt detta datablad så visar den denna kravlista på avlastningskondensatorer.
Markering_033.png
Här kan vi se att jag har valt lika många kondensatorer, både keramiska och elektrolytiska som bilden ovan visar. Jag har valt att ha avlastningskondensatorerna FÖRE pinnarna. Så strömmen måste passera avlastningskondensatorerna innan den når uC's 3.3v pinnar
Markering_034.png
Markering_035.png
DSV.jpeg
Spänningsregulatorn 5v till 3.3v

Så ser det ut. Jag har valt att använda mig av en LM1117-3.3. Klassiker med andra ord. Två stycken 10 uF elektrolytkondensatorer före och innan. Sedan har jag valt en MBR130T1G som klarar av att passera 1A igenom och den har en motståndsspänning på 30V. Bra att ha om man råkar koppla fel på "5V" och "GND", t.ex. byta plats på dom.
Markering_039.png
Kristallen
Här väljer jag

Kod: Markera allt

CL1 = CL2 = 2*(CL - Cs) = 2*(18-10) = 16 pF
som lastkondensatorer för kristallen. Där Cs är själva uC + PCB's kapacitans.

För att kolla om gain_margins är bra så räknar jag: ESR = 80 Ohm. F = 16 mHz. C0 = 7pF. CL = 18pF.

Kod: Markera allt

gain_margins = gm/(gmciritc) = gm/(4*ESR*(2*PI*F)^2*(C0 + CL)^2 = 5/(4*80*(2*pi*16*10^6)^2*(7*10^(-12) + 18*10^(-12))^2) = 2473.7
Detta är över 5 så det är OK att använda denna kristall.
Markering_040.png
Nu är det bara det externa motståndet kvar.

Kod: Markera allt

Rext = 1/(2*pi*F*CL2) = 1/(2*pi*16*10^6*16*10^(-12)) = 621.69
Vi säger 620 Ohm bara för att vara nära ett mostånd jag kan köpa.
Och sedan måste jag räkna denna gmcritic igen med Rext inkluderad.

Kod: Markera allt

gmciritc = (4*(ESR+Rext)*(2*PI*F)^2*(C0 + CL)^2 = (4*(80+620)*(2*pi*16*10^6)^2*(7*10^(-12) + 18*10^(-12))^2) = 0.017686
Detta är godtagbart för gmciritc måste vara mycket mindre(>>) än gm där gm = 5
Markering_041.png
Markering_042.png
Debugger och USART

Här har jag kopplat in RESET och BOOT0 samt hur man kopplar in SWCLK (PA14) och SWCLK(PA13) samt SWO(PB3).
Markering_043.png
Markering_044.png
Markering_045.png
Jag har bifogat mitt projekt. Det skulle vara skitkul om någon kunde kolla på detta och avgöra om det är bra eller bör förbättras. Jag vill nämligen avsluta detta projekt med att dra dessa ledingar hittarn och dittarn.
DAC ADC PWM IO.zip
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

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

Inlägg av Icecap »

Dina "skydd" har en ganska allvarlig brist: om det kommer in för hög spänning kommer schottky-dioden att leda spänningen direkt in på VCC varefter ALL elektronik dör.

På ingångarna är det väl rimligt men jag har konsekvent ALDRIG direkt tillgång till en µC utanför kretskortet, det är ALLTID någon buffer mellan.
DanielM
Inlägg: 2189
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 »

Okej. Vad ska jag ha då? Sätta PTC där också?

Jag valde en Schottky för att dom har lågt spänningsfall.
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

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

Inlägg av Icecap »

PTC? Till vad?
Kolla noga på det schema du har ritat o tänk tanken att det kommer 10V baklängs på en utgång.

Hur skyddar du mot det? Och samtidig ska ditt ut-signal fortfarande kunde göra jobbet...

Tips: det är inte lätt. Och då du inte har specificerat vad utgångarna ska driva är det så långt som jag kan komma.
DanielM
Inlägg: 2189
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 »

Vilket håll är baklänges? Det är ju tanken att klampningen ska skydda mot negativ volt.
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 »

Du kan inte använda inbygga bootloader om du inte kopplar BOOT0 till en knapp eller liknande
Användarvisningsbild
säter
Inlägg: 32545
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

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

Inlägg av säter »

DanielM skrev: 5 november 2020, 07:27:32 Vilket håll är baklänges? Det är ju tanken att klampningen ska skydda mot negativ volt.
"Icecap" menade väl utgångarna?
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 »

jag menade en vanlig diod i andra riktningen för skydda DAC utgångarna
DanielM
Inlägg: 2189
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 »

Rick81 skrev: 5 november 2020, 10:25:31 Du kan inte använda inbygga bootloader om du inte kopplar BOOT0 till en knapp eller liknande
Nu förstår jag inte. Måste använda den? Är den inte förprogrammerad på uC redan? Jag har för mig att BOOT0 används bara om man vill programmera om bootloadern så att den...vad den nu gör...gör det den ska göra? Alltså man sätter BOOT0 hög så kan man programmera om bootloadern via USART1?
Rick81 skrev: 5 november 2020, 10:51:32 jag menade en vanlig diod i andra riktningen för skydda DAC utgångarna
Men en schottky gör väll samma sak, fast en schottky har väll lägre spänningsfall?
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 »

Nu förstår jag inte. Måste använda den? Är den inte förprogrammerad på uC redan? Jag har för mig att BOOT0 används bara om man vill programmera om bootloadern så att den...vad den nu gör...gör det den ska göra? Alltså man sätter BOOT0 hög så kan man programmera om bootloadern via USART1?
Jag tycker ju som tidigare sagts att det är en stor at ex. fördel kunna programmera STM32 från raspberrypi (men då får du ju styra BOOT0 med GPIO) då du kan göra det remote, men så klart är det din konstruktion.

Men en schottky gör väll samma sak, fast en schottky har väll lägre spänningsfall?
Ja det stämmer
DanielM
Inlägg: 2189
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 »

Rick81 skrev: 5 november 2020, 13:03:13 Jag tycker ju som tidigare sagts att det är en stor at ex. fördel kunna programmera STM32 från raspberrypi (men då får du ju styra BOOT0 med GPIO) då du kan göra det remote, men så klart är det din konstruktion.
Ja. Jag kan lägga till en liten 2.54mm pinne att löda fast så att man kan få BOOT0 hög då 10kOhm moståndet kommer ändå göra så att spänning byggs upp. Skadar ju inte :)
Men jag kommer inte lägga till en bootloader om det redan finns en förprogrammerad på uC:n
Ja det stämmer
Därför valde jag en schottky då spänningen från DAC är mellan 0 till 3.3v. Med en schottky så lär det vara lägre spänningfall så det kanske blir 0 till 3.0v, vilket är helt OK enligt mig.
Skriv svar