Cov txheej txheem:

Dual Trace Oscilloscope: 11 Kauj Ruam (nrog Duab)
Dual Trace Oscilloscope: 11 Kauj Ruam (nrog Duab)

Video: Dual Trace Oscilloscope: 11 Kauj Ruam (nrog Duab)

Video: Dual Trace Oscilloscope: 11 Kauj Ruam (nrog Duab)
Video: Конструкции оптических передатчиков и приемников 2024, Lub Xya hli ntuj
Anonim
Dual Trace Oscilloscope
Dual Trace Oscilloscope

Thaum kuv tsim kuv lub oscilloscope mini yav dhau los Kuv xav pom zoo li cas kuv tuaj yeem ua rau kuv qhov me me ARM microcontroller STM32F030 (F030) ua tau zoo, thiab nws tau ua haujlwm zoo.

Hauv ib qho ntawm cov lus nws tau hais tias "Blue Pill" nrog STM32F103 (F103) yuav zoo dua, me dua li pawg thawj coj txhim kho nrog F030 thiab tej zaum tseem pheej yig dua. Tab sis rau lub oscilloscope me me kuv tsis tau siv lub rooj tsav xwm txhim kho tab sis F030 ntawm lub rooj sib tham me me SMD-DIP, yog li muaj Blue Pill yeej yuav tsis yog me dua thiab kuv tsis ntseeg tias nws yuav pheej yig dua.

Tam sim no muaj cov lej ntawm Gitlab:

gitlab.com/WilkoL/dual-trace-oscilloscope

Khoom siv

Cov npe ib feem: - lub thawv yas - perfboard (ob tog ob tog daim ntawv pov thawj 8x12cm) - Blue Pill - ST7735s TFT zaub - lithium -ion roj teeb - HT7333 3.3V qis tso tawm tus tswj - MCP6L92 dual opamp - TSSOP8 rau DIP8 board - 12 MHz siv lead ua (tsis tsim nyog)) - tus lej nkag teb chaws ntxiv rau pob qhov rooj (2x) - lub hwj chim hloov pauv - cov txiv tsawb (4 x) - lithium -ion charger board - ob peb resistors thiab capacitors - nylon spacers, ceev thiab ntsia hlau

Cov Cuab Yeej:

- Chaw nres tsheb solder - solder 0.7mm - qee qhov xaim - sab txiav - tsom iav thiab loupe - laum - multimeter - oscilloscope - STLink -V2

Software:

- STM32IDE - STM32CubeMX - STLink Utility - LowLayer library - hloov kho lub tsev qiv ntawv rau ST7735s - Notepad ++ - Kicad

Kauj Ruam 1: Sib cuam tshuam lossis SImuaj Sijhawm Hom

Interleave lossis SImuaj Sijhawm Hom
Interleave lossis SImuaj Sijhawm Hom
Interleave lossis SImuaj Sijhawm Hom
Interleave lossis SImuaj Sijhawm Hom

Ntsiav Tshuaj Ntsuab

Tab sis lub tswv yim nyob ntawd, thiab kuv paub tias F103 muaj ob lub ADCs! Yuav ua li cas yog tias kuv siv ob qho ADCs ua ke hauv "sib cuam tshuam" hom, qee yam kuv tau ua ua ntej nrog STM32F407 (F407). Kev ntsuas tus qauv yuav ob npaug. Qhov ntawd, sib koom ua ke nrog lub microcontroller sai dua thiab nws yuav ua rau muaj kev ua tiav zoo rau lub mini oscilloscope.

Interleave mode Oddly ADCs hauv F103 tsis zoo dua li ib qho hauv F030 (thiab F407), koj tsis tuaj yeem xaiv qhov kev daws teeb meem. Tseem ceeb dua yog tias koj kuj tseem tsis tuaj yeem hloov sijhawm ntawm ob lub ADCs. Tam sim no, thaum koj siv hom sib cuam tshuam feem ntau koj xav tau kev ntsuas kom nrawm li sai tau nrog lub sijhawm luv tshaj plaws ntawm ib qho piv txwv, tab sis nrog oscilloscope nws tsis tas yuav hloov lub sijhawm. Tej zaum nws tseem tuaj yeem ua tiav, Kuv tsis yog tus kws tshaj lij oscilloscope tus tsim qauv, tab sis kuv tau tso txoj kev npaj los siv hom sib cuam tshuam.

Tib lub sijhawm

Tab sis, muaj ob qho ADCs muab ntau txoj hauv kev xaiv, ob qho ADCs tuaj yeem teeb tsa rau "ib txwm ua ib txhij" hom ib yam nkaus. Yuav ua li cas hais txog ob txoj kab-oscilloscope?

Tau txiav txim siab sim ua ob txoj kab oscilloscope Kuv kuj xav kom muaj qhov hloov pauv nkag tau qhov nkag siab, qhov kev xaiv uas kuv tsis muaj ntawm lub oscilloscope mini. Qhov ntawd txhais tau tias yog tus txo qis (thiab lub tshuab ua kom nrov) ntawm cov khoom siv. Thiab tej zaum kuv xav tau ntau dua? Yog li kuv tau sau cov npe me me ntawm "zoo-rau-muaj".

LIS LIS

ob txoj kev

kev hloov pauv tau ntawm ob txoj hauv kev

ua rau ob txoj kev

theem sib txawv ntawm ob txoj hauv kev

sib txawv offset

roj teeb ib leeg xwb

haum rau tib lub thawv zoo li lub mini-oscilloscope

Kauj ruam 2: Prototyping

Prototyping
Prototyping
Prototyping
Prototyping

Raws li ib txwm kuv pib cov phiaj xwm no ntawm lub khob cij. (Saib daim duab) Thiab ua ntej soldering txhua yam ntawm lub perfboard Kuv sim nrhiav seb puas yog thiab nws yuav haum li cas hauv lub thawv uas tau xaiv. Nws haum, tab sis tsuas yog xwb. Qee qhov yog zais hauv qab qhov screen, lwm qhov hauv qab Blue Pill. Thiab ntxiv, ib yam li rau feem ntau ntawm kuv cov phiaj xwm, qhov no yog qhov haujlwm ib zaug nkaus xwb thiab kuv yuav tsis tsim PCB rau nws.

Kauj ruam 3: Attenuators

Attenuators
Attenuators

Hauv oscilloscopes tsis tu ncua cov input attenuators yog cov hloov pauv uas ua rau txo qis thiab ua kom nrov nrov los ntawm kev hloov hauv thiab tawm resistors nrog cov teeb liab me me. Thaum kuv muaj qee qhov txuas, kuv paub tias lawv yuav tsis hloov qis dua 4 Volt, uas txhais tau tias lawv tsuas yog ua haujlwm nrog lub roj teeb Lithium Ion uas tau thauj khoom tag nrho (4.2V). Yog li kuv xav tau lwm txoj hauv kev los hloov cov resistors. Tau kawg kuv tsuas tuaj yeem teeb tsa cov khoom siv khoos phis tawj, tab sis qhov ntawd yeej yuav tsis haum rau hauv lub phiaj xwm phiaj xwm hauv lub siab, tej zaum kuv tuaj yeem sim ua lub tshuab hluav taws xob zoo dua qub (qhov uas kuv muaj suab nrov dhau).

Tom qab ntawd kuv xav txog "analog hloov pauv", nrog cov uas kuv tuaj yeem ua lub tshuab hluav taws xob digital tus kheej. Hauv kuv qhov khoom sau kuv pom CD4066 nrog plaub qhov hloov pauv sib xws. Lub tswv yim yog ua kom cov lus tawm tswv yim resistor ntawm opamp sib txawv los ntawm kev hloov pauv hauv thiab tawm resistors sib luag rau cov lus tawm tsam resistor.

Nws ua haujlwm tau zoo heev, tab sis tsuas muaj 4 tus hloov pauv hauv 4066 thiab muaj 2 txoj hauv kev nws tsis tuaj yeem ua ntau dua peb qib kev nkag siab. Kuv xaiv 500mV, 1V thiab 2V rau ib faib vim cov ntawd yog theem voltage uas kuv siv tshaj plaws. Lub vijtsam tau muab faib ua 6 qhov kev sib cais, yog li ntawd ua rau thaj tsam -1.5V txog +1.5V, -3V txog +3V thiab -6V txog 6V.

Nrog "virtual-av" koj tuaj yeem txav cov kab no nce thiab nqis yog li txawm 0v txog +12V tuaj yeem ua tau.

Kauj ruam 4: Virtual Av

Av Av
Av Av
Av Av
Av Av

Vim tias oscilloscope siv tib txoj kev tsheb nqaj hlau (3.3V) cov opamps xav tau theem hauv av virtual lossis lawv yuav tsis ua haujlwm. Qhov av hauv av virtual no tau tsim nrog PWM ntawm ib qho channel tso tawm ntawm TIM4, lub luag haujlwm ntawm nws hloov pauv los ntawm ob peb feem pua mus rau yuav luag ib puas feem pua. Lub lim qis dhau nrog 1k resistor thiab 10uF capacitor hloov pauv mus rau qhov hluav taws xob ntawm (yuav luag) 0V rau (yuav luag) 3.3V. Qhov zaus ntawm lub xwmfab tsuas yog qis dua 100kHz, yog li qhov yooj yim qis lim lim tau zoo txaus.

Tsis yog lig hauv kev tsim lub oscilloscope no kuv pom tau tias koj tsis tuaj yeem muaj ob qhov sib cais sib cais rau cov channel. Qhov no yog vim qhov tseeb tias nrog ib lub hwj chim muab cov tswv yim-hauv av-qib yuav tsum sib cais los ntawm qib av tiag tiag ntawm cov opamps. Yog li ob txoj hauv kev txav mus ib yam nkaus li koj hloov GND-teeb tsa.

Kauj Ruam 5: Rotary Encoders thiab Debugging

Rotary Encoders thiab Debugging
Rotary Encoders thiab Debugging
Rotary Encoders thiab Debugging
Rotary Encoders thiab Debugging

Ntawm lub oscilloscope me me kuv siv tsuas yog ib tus lej nkag teb rau txhua qhov haujlwm. Qhov ntawd yuav ua rau ob lub oscilloscope nyuaj siv heev, yog li ntawm no kuv xav tau ob qho. Ib tus encoder rau tus attenuators thiab qib hauv av virtual thiab lwm tus encoder rau lub sijhawm thiab ua rau. Hmoov tsis zoo, ib yam li hauv kuv lwm qhov haujlwm, cov encoders teb no "nrov nrov" heev. Lawv phem heev uas lawv yooj yim yuav tsis ua haujlwm nrog timers hauv "encoder-mode", tus txheej txheem ntawm kev nyeem lawv. Kuv yuav tsum tau ua lub tswv yim debouncing nrog timer TIM2, txheeb xyuas cov encoders txhua 100us. Lub sijhawm teem sijhawm no tau pib (tsuas yog) thaum muaj qee yam haujlwm ntawm lub encoders, qhov no tau tshuaj xyuas nrog EXTI kev ua haujlwm ntawm cov chaw nres nkoj nkag. Tam sim no cov encoders ua haujlwm zoo.

Thiab raws li koj tuaj yeem pom, muaj cov zaub kuj tseem tuaj yeem siv tau yooj yim los qhia cov ntaub ntawv debugging.

Kauj Ruam 6: Zaub thiab Lub Sijhawm

Zaub thiab Timebase
Zaub thiab Timebase

Cov zaub muaj kev daws teeb meem ntawm 160 x 128 pixels yog li muaj 160 qhov kev xav tau rau ib qho screenfull, Kuv tau tswj kom nrawm ADCs ua 1.6 lab tus qauv ib pliag thiab qhov ntawd, nrog ntau dhau overclocked microcontroller (ntau ntxiv tom qab ntawd), muab qhov tsawg kawg ntawm lub sijhawm ntawm 20us rau ib faib (100us rau ib qho screen). Yog li nthwv dej ntawm 10kHz yuav ua rau tag nrho lub vijtsam.

Qhov ntawd tsuas yog ob zaug nrawm dua lub oscilloscope mini uas kuv tau ua ua ntej. Huag zoo, tam sim no nws yog nrog ob txoj hauv kev:-).

Raws li tau hais, cov zaub yog 160 pixels dav yog li tsuas yog 160 qhov tseem ceeb xav tau ntawm ib qho screen. Tab sis txhua qhov tsis tshua muaj 320 qhov qauv. Yog li DMA khaws 320 qhov txiaj ntsig ua ntej nws ua rau muaj kev sib kis ua tiav cuam tshuam (TC). Qhov no yog vim qhov ua kom tiav hauv software. Cov qauv pib ntawm lub sijhawm tsis sib xws, yog li nws tsis zoo li thawj tus nqi hauv qhov tsis yog qhov chaw uas yuav tsum tau taw tes.

Yog li qhov taw qhia txhais tau pom los ntawm kev nyeem dhau los ntawm trace_x_buffer, yog tias tus nqi nyob ntawm qhov xav ua kom muaj txiaj ntsig en yog tias tus nqi yav dhau los tsuas yog qis dua nws, pom cov ntsiab lus. Qhov no ua haujlwm tau zoo heev, tab sis koj xav tau qhov tsis loj dua qhov loj me me.

Qhov no ib yam yog qhov laj thawj uas qhov kev rov ua dua tshiab ntawm lub sijhawm ua haujlwm qis dua qeeb dua li qhov koj xav tau. Thaum koj siv 200ms/div teeb tsa ib qho screen puv ntawm cov ntaub ntawv yog 1 thib ob, tab sis vim tias ob npaug ntawm qhov kev hloov pauv tau ua tiav, uas siv sijhawm 2 vib nas this. Ntawm cov sijhawm teem sijhawm sai dua koj yuav tsis pom nws ntau npaum li ntawd.

TIM3 tau siv los tsim lub sijhawm ua haujlwm. Nws ua rau ADCs nrog qhov nrawm raws li qhov xav tau los ntawm qhov chaw xaiv sijhawm. Nws lub moos ntawm TIM3 yog 120MHz (saib OVERCLOCKING), tus lej siab tshaj plaws uas nws suav (ARR) txiav txim siab yuav ua li cas lwm yam nws dhau los lossis, hauv ST lus nws hloov tshiab. Ntawm TRGO cov kev hloov pauv tshiab no ua rau ADCs. Qhov qis tshaj plaws nws tsim yog 160 Hz, siab tshaj yog 1.6MHz.

Kauj Ruam 7: ADCs thiab DMA

ADCs thiab DMA
ADCs thiab DMA

Ob lub ADCs hloov qhov hluav taws xob ntawm lawv cov tswv yim nyob rau tib lub sijhawm, lawv khaws ob qho 12 qhov txiaj ntsig hauv ib qho 32 ntsis sib txawv. Yog li DMA tsuas muaj ib qho kev hloov pauv ib (ob zaug) hloov pauv.

Txhawm rau siv cov txiaj ntsig no nws yog vim li no tsim nyog los faib lawv rau hauv ob qhov txiaj ntsig yog li lawv tuaj yeem siv los tso tawm ob qho cim. Raws li tau hais, ADCs hauv F103 tsis tuaj yeem teeb tsa rau lwm qhov kev daws teeb meem ntau dua 12 khoom. Lawv ib txwm nyob hauv 12 ntsis hom thiab yog li kev hloov pauv ib txwm siv tib tus lej ntawm lub moos mem tes. Tseem, nrog overclocking ntawm ADCs, 1.6 MSamples ib ob tuaj yeem ua tiav (saib Ntxiv: Overclocking).

Qhov siv ntawm ADCs yog Vdd, txoj kab tsheb 3.3V. Txhawm rau hloov qhov ntawd mus rau qhov yooj yim dua qhov txiaj ntsig (ib faib) Kuv tau suav qhov tseem ceeb ntawm tus neeg txo qis, vim tias kuv tsis muaj qhov ntsuas qhov tseeb uas tawm los ntawm cov kev suav no qee qhov kev kho tau ua tiav hauv software.

Hauv qhov haujlwm no kuv siv DMA hauv "hom tsis tu ncua". Hauv hom no DMA nres xa cov ntaub ntawv (los ntawm de ADCs rau lub cim xeeb) thaum cov lej ntawm cov lus (lossis ib nrab-lo lus lossis bytes) txhua qhov raug xa mus. Hauv lwm qhov ua tau, "hom ncig" DMA rov pib dua nws tus kheej thiab txuas ntxiv cov ntaub ntawv tsis cuam tshuam. Qhov ntawd tsis ua haujlwm nrog F103, nws nrawm heev uas nws rov sau dua cov ntaub ntawv hauv adc_buffer ua ntej qhov kev zov me nyuam tuaj yeem nyeem nws. Yog li tam sim no tus txheej txheem yog raws li hauv qab no:

- teeb DMA rau tus naj npawb ntawm cov ntaub ntawv yuav tsum tau pauv thiab pab kom DMA

- pib qhov pib ntawm ADCs, cov no yuav thov hloov DMA tom qab txhua (ob zaug) hloov dua siab tshiab

- tom qab teeb tsa tus lej ntawm kev hloov pauv, DMA nres

- tam sim ntawd tseem tsis txhob ua rau ADCs

- ua txhua yam kev xav tau ntawm cov ntaub ntawv hauv kev nco

- qhia cov cim ntawm qhov screen

- pib txheej txheem dua

Kauj Ruam 8: Tus Neeg Siv Khoom Siv

Neeg siv interface
Neeg siv interface

Ib qho 160 los ntawm 128 pixel npo tsis loj heev thiab kuv xav siv nws ntau li ntau tau. Yog li tsis muaj ib feem ntawm nws tshwj tseg rau kev teeb tsa tam sim no. Hauv ob peb kab dhau los ntawm kev nkag siab ntsug, lub sijhawm, qib theem thiab txhais cov channel tau tshwm sim, tab sis thaum cov cim qhia loj txaus lawv yuav tshwm nyob hauv ib cheeb tsam. Qhov kev xaiv uas ua haujlwm tau pom yog xim daj, qhov seem yog pom dawb.

Kauj Ruam 9: Lub Tsev thiab Txhim Kho Tau

Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau
Lub Tsev thiab Kev Txhim Kho Tau

Kuv zoo siab heev txog qhov haujlwm no. Nws ua haujlwm zoo thiab ua haujlwm, tab sis nws tuaj yeem zoo dua.

Lub phiaj xwm phiaj xwm me me kom haum txhua yam kom yooj yim, qhov no ua rau muaj kev tso cov khoom nyob hauv qab Blue Pill. Txhawm rau ua qhov ntawd ua tau Blue Pill tsis tuaj yeem siv rau "lub hauv paus loj" ncaj qha. Thiab vim tias qhov no ua rau nws siab dhau kuv yuav tsum tshem ntau qhov los ntawm Blue Pill, xws li cov dhia dhia rau xaiv BOOT0 thiab BOOT1 (yam uas kuv tsis tau siv ib qho ntxiv) thiab kuv txawm yuav tsum tau txav cov siv lead ua los ntawm sab saum toj mus rau hauv qab ntawm cov pcb.

Kuv ua lub neej nyuaj dua los ntawm kev siv cov txiv tsawb txuas siv BNC lossis SMA txuas, nws txhais tau hais tias ib feem loj ntawm cov ntawv ntoo yog "tsis mus-cheeb tsam", txhawm rau kom meej rau kuv tus kheej Kuv muab kapton kab xev hla nws kom tiv thaiv kuv tus kheej los ntawm muab cov khoom tso rau nws.

Lwm qhov teeb meem nrog tso nws txhua qhov hauv lub thawv me me yog tias cov analog thiab digital circuits nyob ze ua ke. Koj tuaj yeem pom tias muaj suab nrov ntau pom ntawm ob qho kab. Qhov no kuv tseem tsis tau muaj nyob ntawm daim ntawv qhia zaub mov! Los ntawm kev txav cov kab hluav taws xob rau analog thiab digital circuits kom deb li deb tau ua qhov kev txhim kho me me tau ua, tab sis tsis txaus rau qhov kuv nyiam. Txo tag nrho cov kev tiv thaiv qhov tseem ceeb hauv cov kev sib txuas sib piv txawm tias ntau dua li kuv tau ua (cov tswv yim tsis kam yog 100kOhm hloov 1MOhm) tsis pab. Kuv xav tias ua rau lub sijhawm nrawm tshaj plaws teeb tsa (20us/div), uas tsis zoo, tseem yuav txhim kho nrog lub suab qis dua ntawm cov cim.

Yog tias koj tsim qhov kev tsim no ntawm pcb "tiag", nrog txhua qhov smd thiab cais cov txheej rau analog, digital thiab lub zog (uas yog 4 txheej!) Nws yuav zaum ua haujlwm tau zoo heev. Nws yuav me dua, nws yuav tsis siv Blue Pill kom tiav tab sis tsuas yog F103 thiab qhov ntawd yuav ua rau nws muaj peev xwm muab nws nrog cais (huv) analog Vdda rau ADCs.

Raws li qhov kov zaum kawg kuv txiav txim siab txau lub thawv dub, nws hloov pauv los ntawm txhua lub thawv beige nws muaj.

Kauj Ruam 10: Txoj Cai thiab Cov vis dis aus luv luv

Kauj Ruam 11: EXTRA: Overclocking

EXTRA: Overclocking
EXTRA: Overclocking

Ib yam li kuv tau ua nrog F03, Kuv xav pom zoo npaum li cas F103 tuaj yeem raug overclocked. Cov lus qhia tshwj xeeb rau tus tswj hwm microcontroller thov tias lub moos siab tshaj plaws yuav tsum tsis pub tshaj 72MHz (uas yog qhov tseeb twb tau nrawm dua F030) tab sis kuv tau nyeem hauv ntau lub blog tias overclocking nws yooj yim, yog li vim li cas?

Blue Pill tau muab nrog 8MHz siv lead ua, PLL sib tw uas nrog qhov zoo ntawm 9 txog 72MHz. PLL tuaj yeem nce mus txog 16 muab lub moos ntawm 128MHz. Qhov ntawd tsis muaj teeb meem dab tsi rau kuv Blue Pill, qhov tseeb, txhua yam kuv Blue Pills ua haujlwm yam tsis muaj teeb meem ntawm 128MHz.

Tab sis tam sim no kuv xav paub seb qhov txwv tiag yog dab tsi. Yog li kuv tshem tawm 8MHz siv lead ua thiab hloov nws nrog ib ntawm 12MHz. Ib zaug ntxiv kuv tau nce PLL tus lej kom txog thaum lub microcontroller thaum kawg tso. Qhov ntawd yog ntawm 168MHz! Ntawm 156MHz nws tseem ua haujlwm tau zoo. Kuv tso nws khiav ntawm qhov nrawm rau teev thiab tsis pom nws tsoo. Hauv qhov oscilloscope no kuv tau txiav txim siab rau 120MHz, nrawm uas tuaj yeem xaiv nrog 12MHz siv lead ua thiab PLL ntawm 10, ntxiv rau nrog 8 MHz siv lead ua thiab PLL ntawm 15. (saib SystemClock_Config hauv main.c)

ADCs tam sim no tseem ua haujlwm nrawm dua, Kuv muaj lawv khiav ntawm 30MHz (hloov chaw 14), lawv tseem ua haujlwm tau zoo ntawm 60MHz, STMicroelectronics ua qee yam khoom siv zoo!

STMicroelectronics tso cov kev txwv no hauv cov ntawv rau qhov laj thawj zoo, lawv lav tias microcontroller ua haujlwm ntawm qhov tshwj xeeb 72MHz hauv txhua qhov xwm txheej.

Tab sis raws li kuv tsis siv lub microcontroller ntawm -40 Celsius, +85 Celsius, ntawm tsuas yog 2.0 Volt lossis 3.6 Volt Kuv xav tias nws muaj kev nyab xeeb rau overclock nws. Tsis txhob ua qhov no thaum koj npaj siab yuav muag ib lub cuab yeej nrog lawv cov microcontrollers, koj tsis paub tias lawv yuav siv qhov twg.

Pom zoo: