12-17-2016, 06:09 PM (This post was last modified: 12-17-2016, 06:12 PM by Želja.)
(12-17-2016, 06:04 PM)Gosha Wrote:
(12-17-2016, 05:59 PM)Želja Wrote: Tako je Gošo,
Samo što prikaz ne moramo raditi impuls po impuls već recimo kada se generiše TMR interapt.
Svejedno su impulsi toliko brzi da jedino što možem stvarno videti je konačna zadnja cifra - što je i potrebno !
A kad ce da se generise TMR interupt? A sta ako se TIMER nije napunio, recimo treba da izbrojis povorku od samo 10 impilsa.
Recimo posle 7 sekundi od prvog CLK impulsa ali sa drugim tajmerom,
ili ako posle prvog impulsa imamo pauzu dužu od 1 sekunde (opet radi drugi tajmer)
***
Ali , ajde da sačekamo Gorana
on praktično već ima rešenje
Prikaz ne moze da radi u RT. To je mnogo visoka frekvencija da bi uopste uspeo da ga osvezis za 2us. Sam displej nije namenjen za tako visoke ucestanosti. U kodu koji ti je Goran dao imas osvezavanje na svakih 1s. Ako ti je f impulsa 150khz, onda prilazujes na svakih 150000 impulsa na disp. Pitanje je da li ti za tako visoke ucestanosti i treba disp za prikaz trenutno odbrojanih impulsa ili samo za zadavanje granice brojanja. Ovde moze da se postavi mnogo pitanja, ali mislim da to ve prelazi u filozofiju prilikom projektovanja uredjaja za masovnu proizvodnju. Ipak ovde treba da se povuce crta, jer uredjaj treba da zavrsi Zelji posao.
Zeljo, za koju god varijantu implementacije se odlucis, dobra je i radice. Sve ostalo su finese koje vremenom mogu da se srede. Mozemo da filozofiramo godinu dana i ti ces ostati bez uredjaja.
Moj savet. Daj semu osnovnu i source, pa da ga dovedemo u radno stanje, a ti ces kasnije da ga unapredjujes sa ili bez nase pomoci.
Implementirao sam dosta brojaca i znam sva pitanja koja se postavljaju. Neko ti zamera sto je prebrz, neko sto je prespor i ne mozes da udovoljis svima. Gledaj sta su tvoje potrebe i prema tome cemo se svi organizovati.
12-17-2016, 06:16 PM (This post was last modified: 12-17-2016, 06:18 PM by Želja.)
Slažem se Vojine,
čak i da može u RT, to nema apsolutno nikakve svrhe ...
***
Mislim da će Goranova varijanta biti zadovoljavajuća,
- jedino što ja neću umeti da je doradjujem jer poznajem samo PBP
12-17-2016, 06:17 PM (This post was last modified: 12-17-2016, 06:19 PM by gorankg.)
Evo hex za PIC18F4620.
Za source bi bilo dobro da mi neko kaže kako da vratim obrisane fajlove sa flasha. Umesto da ih zapakujem kliknuo na delete... moron ne mogu da verujem..
12-17-2016, 06:21 PM (This post was last modified: 12-17-2016, 06:33 PM by Želja.)
(12-17-2016, 06:17 PM)gorankg Wrote: Evo hex za PIC18F4620.
Za source bi bilo dobro da mi neko kaže kako da vratim obrisane fajlove sa flasha. Umesto da ih zapakujem kliknuo na delete... moron ne mogu da verujem..
Dešava se,
Ja sam za takve stvari koristio :http://www.recovermyfiles.com/
(nisam siguran šta može free, ali ga ima na torentima)
sve iskopa i vrati
Šaljem ti mail ...
***
Ali ako je samo DELETE, onda bi trebalo da se sve još uvek nalazi u Recycle Bin !?
Goran je napravio dobru osnovu. Jedino jos mozemo da dodamo tastere za zadavanje gornje/donje granice brojanja i eventualno start i stop ako ne postoje neki ulazu.
Ispašće da pametujem, ali opet se svodi na moj prvi post. Ako imaš mašinu koja šalje poznat broj impulsa onda za probu napraviš program koji će uključiti jednu led, što znači čekam, kreni sa impulsima, a potom (posle određenog vremena) stisneš taster, koji će stopirati counter (za svaki slučaj) i sadržaj registra snimiti na flash ili eeprom. To pročitaš pomoću programatora i onda ponoviš određeni broj puta da vidiš da li ima odstupanja u brojanju impulsa (da li gubi prvi impuls. Možeš i u jednoj sesiji više merenja da ne gubiš vreme). Kad se uveriš da li to dobro hardverski funkcioniše, onda idi dalje. Mislim da je svakako 'pametnije' zaustaviti brojač, sad da li postoje uslovi za to ili ne, to su druga pitanja.
Gore je bilo pitanja o capture modu i 'guranja' impulsa u brojač, šta je bolje? Koliko sam shvatio većina PIC-ova u capture modu koristi resurse T1 tajmera, samo sadržaj na određeni 'znak' unese u druge registre kako bi mogli da uhvatimo baš tad vrednost. Što se svodi da je isto. Neki PIC-evi koriste isti ulaz za klok i za T1 brojač, pa ako piše da je buffer high speed, a može da gura klok 20+ Mhz (a i mikikg je potvrdio da može reda Mhz, znači da ima sve preduslove da je 'isto'). Ne bih da guram moje metodologije, svakako imam da učim ohoohooo (Deda Mraz kuca na vrata), ali ja bih testirao taj osnovni modul da li broji kako treba, pa bih se posle bavio displejem (Vojin je to napomenuo pre mene, sad vidim).
Još jednom da kažem da sam gore pogrešio za spajapanje T0 i T1 (Atmel ne poznajem). Možda je moguće (to mi onako vizuelno u glavi, nisam razrađivao) da se pomoću CLC usmeri overflow sa T0 na T1.
12-17-2016, 06:35 PM (This post was last modified: 12-17-2016, 06:40 PM by Želja.)
U medjuvremenu da dodam,
- prava je šteta što Saleae Logic analajzer nema COUNT opciju.
ima sve i svašta još kad bi imao total count, baš bi bilo lepo ...
Em bi ih prebrojao, a posebno je dobro što svaki impuls inače može da se posebno zumira, pogleda ...
U pravilnim ciklusima nekog zumiranog dela, veoma lako bi se uočili impulsi smetnji - ako postoje ...
To bi bio VRH
@mp3police
Sve sto si rekao je tacno. Testiranje moze da testira tako sto ce da pali led posle zadatog broja impulsa. Prvi impuls ne sme da se izgubi. To je neka sistemska greska koja treba da se nadje. Daj kod, pa da vidimo gde je. Brojac ne sme da izgubi impuls. Ako se to desava, mcu je smece i ne treba ga vise koristiti. Ne znam ko ke predlozio koriscenje tmr kao brojaca. To je optimalno resenje. I na to resenje uvek postoji neko ali. Takodje mislim da softverka kaskada brojaca ne oduzima procesorsko vreme uopste pri ovim ucestanostima.
(12-17-2016, 06:35 PM)Želja Wrote: U medjuvremenu da dodam,
- prava je šteta što Saleae Logic analajzer nema COUNT opciju.
ima sve i svašta još kad bi imao total count, baš bi bilo lepo ...
Zeki,
ne zaludjuj se previse, vec kreni da kucas kod. Bilo koji pic ce da ti zavrsi posao. Nisu to neke frek. Pravio si smps, a sad pravimo filozofiju oko pbicnog brojaca. Daj akciju kao i za smps.
Nemoj da te teramo.
(12-17-2016, 06:52 PM)Želja Wrote: Pa zašto da kucam Vojine,
- kad imam 18F4620, PicFlash2 i Goranov hex ??
a imam i prazne protobordove i LCD
***
Ali nema šanse pre ponedeljka
=========
Drugari moji, svi koliko Vas ima - DIVNI ste
Veliki pozdrav
Želja
Mislim samo na tastere. Kod njega, koliko se secam imas samo prikaz trenutne vrednosti brojaca. Miki i ja smo nekada davno u firmi pravili brojace i imali dosta opcija. Imas npr. jedan izlaz koji je aktivan dok je brojanje u toku, a neaktivan po zavrsetku brojanja, pauza u brojanju itd. Na to sam mislio. Da prepravis kod prema svojim potrebama. Za sve dorade koda smo tu.
Evo source na brzinu ponovo rađen. Na RB6 je stavljen prekidač kojim definišeš GORE/DOLE. To treba drugačije a ovde je odrađeno za probu samo. NA LCD imaš u prvom redu ono što je izbrojano NA GORE a u drugom redu ono što je izbrojano na dole. Misteriju jednog impulsa manje treba razrešiti na realnom uređaju.
12-18-2016, 09:37 AM (This post was last modified: 12-18-2016, 08:13 PM by gorankg.)
Oscilator je 10MHz eksterni. Postavljen je 4xPLL u konfiguraciji. LCD data pinovi su na RB4-RB7, RS je na RB3 a E je na RB2. To je sve kao i kod tebe na pločici. Kod tvoje pločice impulse vodiš na RB0/INT0 pin. Prebaci ih na RC0 (pin 15). Evo hex pa probaj. Probaj prvo sa manjim brojem impulsa. DIR je kao i kod tebe na pločici postavljen na RE2.
12-18-2016, 11:12 AM (This post was last modified: 12-18-2016, 11:22 AM by Želja.)
(12-18-2016, 09:37 AM)gorankg Wrote: Oscilator je 10MHz eksterni. Postavljen je 4xPLL u konfiguraciji. LCD data pinovi su na RB4-RB7, RS je na RB3 a E je na RB2. To je sve kao i kod tebe na pločici. Kod tvoje pločice impulse vodiš na RB0/INT0 pin. Prebaci ih na RC0 (pin 15). Evo hex pa probaj. Probaj prvo sa manjim brojem impulsa. DIR je kao i kod tebe na pločici postavljen na RE2.
Ta ploča je radjena za generator impulsa.
Ulaz RB0 na toj ploči nije bio predvidjen za brojanje, već za Externi START generatora preko običnog tastera.
ili nekog spoljnog trigera. -ali preko RB0 interapta u cilju brže reakcije na Ext.triger.
Samo zato je upotrebljen 4N35 koji je za ovo dovoljno brz, a ipak je spor za brojanje impulsa veće frekvencije.
Za brojanje impulsa će morati 6N137 i manji RC član nego što je to na 4N35 u ovoj ploči.
(mada sam odmah mogao postaviti i 6N137 .. )
Na mesto 4N35 uz malko žongliranja ubaciću 6N137 i napraviti rokadu za RB0 i RC0.
i to bi bilo TO.
***
Tek od utorka ću imati vremena za to, - javim rezultate