![](http://www.elektronika.lt/_sys/img/dot.gif) |
![](/_sys/img/dot.gif)
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 02 17, 10:10. Visos datos yra GMT + 2 valandos.
|
|
|
![](/_sys/img/box_ico.gif) |
Forumas » Skaitmeninė elektronika » Būsenos pasikeitimo užfiksavimas logikoje
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
Puslapis 1 iš 2 Pereiti prie 1, 2 Toliau |
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 09:54 |
|
|
|
Jau pasiklydau...
Situacija tokia:
yra signalai A ir B. Jie abu gali būti tiek "1" tiek "0". Ko negali būti, tai abu vienu metu nebūna "1", visi kiti variantai (00 01 10) galimi.
Kaip užfiksuoti bet kurio iš signalų būsenos pasikeitimą?
Pasikeičiant bet kurio iš signalų būsenai turėtų išeiti vienas impulsas.
Pvz.: pradžioje A=1, B=0; po to A pasidarė 0. Išėjime turi atsirasti vienas impulsas, o ne pasikeisti išėjimo būsena.
Reikia loginės schemos... |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 12:38 |
|
|
|
Šitas variantas praeitų, jeigu pradinė būsena visada būtų vienoda (00 arba 01), bet jinai gali būti 00 01 10...
Iš esmės tai tiktų ir variantas, kad išėjime atsirastų priešingos reikšmės signalas pasikeitus bent vienam iš įėjimų, bet visada vienodai, pvz. default'e išėjime "0", pasiketus vienam iš įėjimų jis tampa "1". Tokį gautą rezultatą galima nesunkiai nuresetint išoriniu ckock'u. Po reset'o išėjime turim "0", bet pasikeitus vienam iš įėjimų, išėjime vėl turi iššokt "1". |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 12:48 |
|
|
|
Programiškai skambėtų maždaug taip:
jei (if) A tapo neA arba B tapo neB, tada išjėimas = "1"
jei ne (else) išėjimas = "0"
O kaip atrodytų tokio dalyko loginė schema? |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 13:17 |
|
|
|
jei reikia eliminuoti "neteisinga" busena 11 tai kaip minejo kolega, pradzioje apjungi OR, paskui XOR su to paties signalo delta
jei visgi reikia sugauditi abieju iejimu pasikeitimus, net jei jie pasidarytu 11 -
abu iejimai po savo XOR su to paties signalo delta
XOR isejimus apjungi OR arba AND, priklausomai ar invertuotas XOR
signala uzlaikyti gali RC grandinele, pvz TTL tinka 100om + 100p iki virs 5MHz
RC grandines gali pakeisti keletu nuosekliai jungtu loginiu elementu. |
|
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 13:27 |
|
|
|
AlgisL rašo: |
abu iejimai po savo XOR su to paties signalo delta
............................... |
Galima plačiau? Ta prasme, kas ta "delta"?
Jei gerai supratau, iėjimą išskirt, viena atšaka tiesiai į XOR, kita per kažkokį užlaikymą? Toks variantas kaip ir tiktų, bet reikia apseit be RC, padaryt reikia vien logika. |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 14:24 |
|
|
|
XOR su vėlinimu.
priklausomai nuo signalų trukmių ir frontų statumo gal geriau multivibratorius.
Citata: |
tiktų ir variantas, kad išėjime atsirastų priešingos reikšmės signalas pasikeitus bent vienam iš įėjimų, bet visada vienodai |
o šiaip tai pailsėk, galvą pravėdink, nes jau grybauji kaip reikiant. |
|
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Re: Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 19:42 |
|
|
|
Chulio rašo: |
... Ko negali būti, tai abu vienu metu nebūna "1", visi kiti variantai (00 01 10) galimi.... |
Kas turi būti išėjime, jei tokia kombinacija (11) pasitaiko ? Tipo: išėjime turi nebūti signalo pasikeitimo impulsiuko ?
Chulio rašo: |
...padaryt reikia vien logika |
Jei vien logika - še tau logiką, negaila :
p.s. O nafiga tau to reikia ? Aš ne smalsus, bet man kažkaip įdomu - kam ? ![Rolling Eyes](images/smiles/icon_rolleyes.gif) |
|
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 21:39 |
|
|
|
Gal ir ne į temą, bet kodėl nepanaudoti mikrovaldiklio, kokio nors ATtint4 ar PIC10F200? Kainuoja kaip logika, o plokštės vietą taupo. Nebent įtin didelės spartos reikia. . . |
|
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Re: Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 22:18 |
|
|
|
Sauliucka rašo: |
....................
Kas turi būti išėjime, jei tokia kombinacija (11) pasitaiko ? ........... |
Neįmanoma tokia būsena.
Sauliucka rašo: |
....................
p.s. O nafiga tau to reikia ? Aš ne smalsus, bet man kažkaip įdomu - kam ? Rolling Eyes........... |
stebėti ar judinamas optinis encoder'is. Encoder'is dekoduojamas keliais loginiais elementais. Išėjime "up" ir "down" impulsai.
Šitoj vietoj reikia "pagauti" kada pajudintas encoder'is. Esmė ta, kad optinis (priešingai nei mechaninis) neturi tų sustojimo "duobučių" ir sustoti gali bet kurioje būsenoje (mechaninio duobutėse abu "0" būna). Taip gaunasi, kad už dekodavimo schemos galimi 3 variantai: 00 01 10.
Reikia, kad ranka pasukus encoder'į (pasikeitus "up" arba "down" būsenai) gautūsi vienas impulsiukas. |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 24, 22:24 |
|
|
|
AdressUnknown rašo: |
Gal ir ne į temą, bet kodėl nepanaudoti mikrovaldiklio, kokio nors ATtint4 ar PIC10F200? Kainuoja kaip logika, o plokštės vietą taupo. Nebent įtin didelės spartos reikia. . . |
O kas sakė, kad lituosiu iš loginių mikrių, ar kad man plokštės vietos daugiau prireiks?
Čia viskas vyks cpld viduje, todėl RC atkrenta.
Taip pat atkrenta užlaikymo linijos iš loginių elementų, nes kaip supratau, ten kompiliuojant išmeta bereikalingai įdėtus komponentus |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 25, 07:25 |
|
|
|
neoptimizuota, bet uztat aisku
Kodas: |
void encButtonFunc()
{
encButton=((LOW==digitalRead(enButPin))?1:0);
}
void encChangeFunc()
{
if(LOW==digitalRead(enClkPin)){return;}
if(LOW==digitalRead(enDatPin)){encPossition++;}else{encPossition--;}
}
|
|
|
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 25, 22:37 |
|
|
|
Turbut galeciau sugalvot kanors labiau optimizuoto, bet pirma mintis i galva yra edge detector'ius su dviel flip flopais ir dvieju state'u state machine. Pirmame detektuoji fronta, antrame state generuoji impulsa. |
|
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 29, 18:04 |
|
|
|
Na va: popieriaus lapas + tušinukas išsprendė problemą
Jei kam įdomu:
- nuo įėjimų 3vnt lygiagrečiai sujungtų dvigubų OR, dviems iš jų invertuota po vieną įėjimą.
- iš šitų OR eina 3 signalai į trijų D trigerių clk įėjimus. Trigerių D įėjimai į "1"
- trigerių išėjimai sumuojasi vienu trijų įėjimų OR
- trigubo OR išėjimas tai išėjimas ir asinchroninis trigerių resetinimas
Impulsiukas gaunasi vienas, trumpas (~10ns), bet pagaunamas
Ačiū bandžiusiems padėti ![Wink](images/smiles/icon_wink.gif) |
|
_________________ I GAVE UP DRINKING, SMOKING AND SEX!
it was the worse 15 minutes of my life! |
|
|
|
![](templates/elektronikalt/images/folder.gif) |
Būsenos pasikeitimo užfiksavimas logikoje |
Parašytas: 2015 04 29, 20:50 |
|
|
|
Padarei taip, kaip rekomenduojama nedaryti, t.y. panaudojai paprasta signala kaip taktini... Na bet jei tau veikia ir gerai, tai valio Su kitu CPLD gali jau ir nebeveikti. |
|
|
|
|
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Google paieška forume |
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Naujos temos forume |
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
LEGO
Mänguköök,
mudelautod,
nukuvanker |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
KCD2 Mods
Installing KCD 2 Mods,
KCD 2 Guides,
KCD 2 Cheats |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
GTA 6 Wiki
GTA 6 Map,
GTA 6 Characters,
GTA 6 News |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr2.gif)
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr1.gif) |