 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
damo Član


Pridružen-a: Čet 31 Jul 2003 13:45 Prispevkov: 2008 Aktiv.: 8.48 Kraj: Krško
|
Objavljeno: Ned Mar 05, 2006 11:34 pm Naslov sporočila: softwerski uart |
|
|
Ojla,
uporabljam Atmelov 89s53 in Keilov C. V projektu rabim 2 serijska porta. Ker nebi rad izumljal tople vode, prosim, če ima kdo napisane funkcije za softverski uart (8bit, 1 start bit, brez paritete, 9600). Našel sem nekaj v asemblerju, ampak bi raje za C, da direktno vgradim v program.
hvala in lp
|
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Pon Mar 06, 2006 12:00 am Naslov sporočila: |
|
|
Si že razmišljal, da bi uporabil 8031 z dvema serijskima portoma?
Dve od možnih izbir:
- Philips P89C669
- Dallas Semiconductor DS87C520, DS83C530 itd..
SW izvedba serijskega porta je sicer možna, toda procesorsko dokaj potratna. Sam sem pred časom nad tem obupal, saj se je izkazalo kot neuporabno v primeru, ko moraš istočasno obdelovati tudi druga opravila.
Ni pa nobenega problema, če moraš v danem trenutku početi samo to, toda potem lahko serijski port tudi preklapljaš na HW-jski način.
Žal sem imel zasedene vse časovnike, da bi lahko testiral tudi izvedbo preko prekinitve časovnika.
|
|
Nazaj na vrh |
|
 |
silica Član

Pridružen-a: Ned 29 Avg 2004 20:01 Prispevkov: 360 Aktiv.: 1.52 Kraj: Logatec
|
|
Nazaj na vrh |
|
 |
damo Član


Pridružen-a: Čet 31 Jul 2003 13:45 Prispevkov: 2008 Aktiv.: 8.48 Kraj: Krško
|
Objavljeno: Pon Mar 06, 2006 8:56 am Naslov sporočila: |
|
|
ja, vem, da so čipi z dvema serijskima kanaloma, vendar sem tu vezan na obstoječi hardware (89s53) in tudi programator. Zato tudi nisem šel v smeri hardwerskega preklaplanja portov. >Sicer pa mikrokontroler nima prehudega dela: čita vhodne podatke (9600baud), jih filtrira in ima fifo buffer za 10 podatkov ter nato pošlje naprej. Deluje kot neke vrste prediktivni filter.
Dobil sem informacijo, da je komunikacija enosmerna, zato bom mogoče šel v varianto enega serijskega porta. Se mi pa zdi dvojni port boljša rešitev, kajti lahko se jutri pojavi zahteva po 2-smerni komunikaciji (npr. potrjevanje sprejetih podatkov) in takrat bom v pi... Zadevo pa moram naredit do torka (jutri) zvečer
Imam v planu it iz atmela na philipsa, ampak nikdar ne najdem časa za preskok.
lp
|
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Pon Mar 06, 2006 9:37 am Naslov sporočila: |
|
|
Za kontrolerje n.pr. Philipsove ne potrebuješ programatorja. Vse kar rabiš je ta SW:
http://www.esacademy.com/software/flashmagic/
in nekaj malega dodatnega HW (na serijski liniji verjetno že obstaja, reset tudi), rabiš samo še eno majhno "brikno".
Nov procesor lahko dodaš v obstoječi bord (še posebej če je DIL izvedba) bolj ali manj zelo enostavno z metodo sendviča. DIL običajno paše direktno, za ostale izvedbe ohišij pa narediš majhno prilagoditveno ploščico, ki jo zatakneš v obstoječe podnožje procesorja.
Citiram: |
čita vhodne podatke (9600baud), jih filtrira in ima fifo |
To je sicer napisano zelo enostavno (sam sem predelal eno izmed množice funkcij za I2C, ki so dostopne na netu). Pri meni je stvar bolj ali manj ostala na eksperimentalnem nivoju.
Problem je "tajming", ki je tukaj zelo pomemben in v C-ju včasih rahlo težaven za nastaviti (analiza generirane kode ali meritev). Poleg tega vzporedno ne moreš početi nič pametnega. Že interupti, ki se generirajo v ozadju ti včasih porušijo vso stvar.
Uporaba časovnih prekinitev (če imaš prost še kakšen časovnik) ti bo tukaj močno olajšala delo.
|
|
Nazaj na vrh |
|
 |
damo Član


Pridružen-a: Čet 31 Jul 2003 13:45 Prispevkov: 2008 Aktiv.: 8.48 Kraj: Krško
|
Objavljeno: Pon Mar 06, 2006 11:44 am Naslov sporočila: |
|
|
Timerje imam fraj (razen enega, ki je za uart)
Lahko pripneš kako skico za programiranje Philipsov? PRed časom sem nekaj raziskoval, pa mi ni blo čisto jasno ISP / ICP itd...
|
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
|
Nazaj na vrh |
|
 |
silica Član

Pridružen-a: Ned 29 Avg 2004 20:01 Prispevkov: 360 Aktiv.: 1.52 Kraj: Logatec
|
Objavljeno: Pon Mar 06, 2006 12:51 pm Naslov sporočila: |
|
|
Razmerje osnovnih cen med LPC952 in C669 je cca 1:3 zato bolj priporocam
uporabo LPC952, seveda ce ne potrebujes ogromnega Flasha v C669.
LP Tomaz
_________________ Za www.quectel.com |
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Pon Mar 06, 2006 1:09 pm Naslov sporočila: |
|
|
Ja vidim, da ima tudi nekaj drugih dobrot n.pr. interni RC oscilator, pa zunanjega reseta ne rabiš itd...
Za moj okus bi lahko imel malce več flash-a in rama-a.
Zaradi hitrosti sam pogosto matematične funkcije tabeliram, kar pa zelo nažira memorijo. Isti problem je, če imaš na aplikaciji LCD, par tekstov, ki se izpisujejo in ostaneš na suhem.
Ram pa tudi prav pride, da ni treba škrtarit prav na vsakem koraku, še posebej pri serijskih komunikacijah, ko v "ozadju" potekajo kakšne operacije na baferjih.
|
|
Nazaj na vrh |
|
 |
silica Član

Pridružen-a: Ned 29 Avg 2004 20:01 Prispevkov: 360 Aktiv.: 1.52 Kraj: Logatec
|
Objavljeno: Pon Mar 06, 2006 3:11 pm Naslov sporočila: |
|
|
Tudi 16K Flash varianta, LPC954, bo kmalu na voljo. Ce bos rabil
pa se vec Flasha, tja do 64K (2K RAM), pa bo na voljo LPC96x v 32pinskem
ohisju. Vec imas v pripeti prezentaciji.
LP Tomaz
Opis: |
|
 Download |
Ime datoteke: |
Microcontrollers-March-2006.zip |
Velikost datoteke: |
2.37 MB |
Downloadano: |
14 krat |
_________________ Za www.quectel.com |
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Pon Mar 06, 2006 4:08 pm Naslov sporočila: |
|
|
kje so tisti, ki pravijo, da 8031 umira?
bolj ko umira več ga je
|
|
Nazaj na vrh |
|
 |
damo Član


Pridružen-a: Čet 31 Jul 2003 13:45 Prispevkov: 2008 Aktiv.: 8.48 Kraj: Krško
|
Objavljeno: Pon Mar 06, 2006 10:08 pm Naslov sporočila: |
|
|
Ojla,
ja, Proteus, bi te prosil za kako skico, da ne izumljam tople vode.
Vsekakor bom moral presedlat na nekaj močnejšega od 89s53.... bom kar Philipsa izbral, sam mal še počakam na onega 16k, ker 8 mi je nekam malo...
lp
|
|
Nazaj na vrh |
|
 |
silica Član

Pridružen-a: Ned 29 Avg 2004 20:01 Prispevkov: 360 Aktiv.: 1.52 Kraj: Logatec
|
Objavljeno: Tor Mar 07, 2006 12:12 am Naslov sporočila: |
|
|
V bistvu imas ze sedaj na voljo P89C669 z 96K Flasha. V bistvu ni nic mocnejsi,
samo dosti vec Flasha ima 89c53... Flash pa ima svojo ceno
LPC952 je nekoliko hitrejsi, ker tece na 2 ciklih, ima pa se nekaj dodatne
sare.
Ce pa imas cas, pa zaradi osebnega razvoja rajsi nastudiraj ARMe. Za isti
denar, kot stane P89LPC952 (oziroma ko bo 954) dobis LPC2103, kjer
poleg dveh UARTov in 32K Flasha dobis se en kup dodatne sare.
Junija bodo prvi sampli celo v 44pin PLCCju.
LP Tomaz
_________________ Za www.quectel.com |
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.20
|
Objavljeno: Tor Mar 07, 2006 9:15 pm Naslov sporočila: |
|
|
V pripeti sliki imaš del moje aplikacije. Kako torej poteka programiranje Philipsovega P89C669?
Na konektor K1 (Rx/Tx 1.serijski port) imam priključen vmesnik RS232/TTL, ki je povezan neposredno s PC-jem.
(1) najprej moramo aktivirati interno vgrajeno programsko opremo, ki bo komunicirala s PC računalnikom in vpisovala sprejete podatke (kodo) v mikrokontroler. Konektor JP1 kratko skleneš (PSEN povežeš preko upora na maso). Sledi reset (kratek stik na konektorju JP2) in procesor se zbudi pod komando interno vgrajenega SW-ja.
(2) Zaženeš Flash Magic, nastaviš ustrezne parametre (vmesnik je tako intuitiven, da kakšen dodaten komentar niti ni potreben) in programiranje se začne.
(3) Ko ti program javi, da je vse O.K., snameš briko iz JP1, ponovno resetiraš procesor in gasa z novo programsko pridobitvijo.
Naj te ne moti konektor JP3, ki je namenjen moji paranoji oz. slabi izkušnji s Siemensovim 80C535, kjer interni "pazi-pes" ni vedno odigral svoje naloge. V času programiranja tako blokiram DS1232 (zunanji neodvisen pazi kuža) s priključitvijo na ALE.
Opis: |
|
Velikost datoteke: |
87.23 KB |
Pogledana: |
50 krat |

|
|
|
Nazaj na vrh |
|
 |
S57OPA Član

Pridružen-a: Ned 26 Okt 2003 17:36 Prispevkov: 10 Aktiv.: 0.04 Kraj: Zg. Savinjska dolina
|
Objavljeno: Sre Jan 10, 2007 5:40 pm Naslov sporočila: |
|
|
Ola!
Mene pa zanima, ce ima kdo kakšen primer programskega uart-a za ATtiny26!
Že lep cas brskam po netu, pa se nisem nasel kaj konkretnega za uporabo.
Programiram v C-ju z CodeVisionAVR.
Lp, Matej
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|