| Autor | Poruka |
|---|
winit_a
Pristupio / la: 16 studeni 2003 Postovi: 17
| 15. veljača 2004 5:42 Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| Kako stvoriti UART sa softverom? Moj projekt Used 3 UART (normalna imati 1 UART s HARDWARE P3.0 i P3.1)
8051 MCU@11.0592MHz Kako stvoriti UART koriste P1 do P2 ili sučelja RS-232 |
|
| Povratak na vrh | |
 |
Google AdSense

| 15. veljača 2004 5:42 Oglasi | | |
|
|
|
|
| Povratak na vrh | |
 |
pisoiu
Pristupio / la: 31 prosinac 2002 Postovi: 723 Pomogao: 24 Lokacija: Romania
| 15 vel 2004 11:58 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| Bok, Moje mišljenje: on je teško osuditi. Morat ćete to učiniti pomoću prekine, ali 8051 je relativno sporo kontroler, njegove performanse ostaje pod 1mips na 11,0592 MHz clock za classic 8051 verzije (1instruction cycle clock cycle = 12). Više od jednog serijski priključak implementiran u softveru će pojesti gotovo sve procesorskog vremena, pogotovo ako želite ići do 115200bps s tim lukama, ili ako želite provesti sve moguće parametre (6/7/8 podatkovni bitovi selecteble, 1 / 2 stop bitova, neparna parnost / ni / marka / prostor / none, kontrola protoka xon-xoff/hard/none podesivo). Moj sugestion je za korištenje izmijenjenom arhitekture iz 8051 čempres ili koristiti scenix sklop (www.ubicom.com). Za scenix kontrolera mogu dati broj za 8 uarts istovremeno. To želite li softver implementacije. Ako želite yau hardver, možete koristiti max3100 (maksima).
Najbolji, |
|
| Povratak na vrh | |
 |
Ajay
Joined: 29. veljača 2004 Postovi: 31
| 01. ožujak 2004 0:10 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| Mogli biste stvoriti jednu UART (uz pomoću SBUF) pomoću nekog vremena posvetio pisanju i jako brz kod na rotirati zalogaj. Na dolazne strane (RXD), morate koristiti jedan prekid pin. Kad je prekid dolazi, početak vremena i pročitate vaš PIN u statusu nositi, rotirati i kreirajte svoj dolazni bajtovima. Dobro radi upto 9600 Baud (imam ga koristi).
Međutim, stvaranje još dva u isto vrijeme? Zaboravite to. Čak i ako koristite dva vremena posvećen je prekid rutine postati tako velika da će propustiti bitova.
Ako ste u potrazi za spori UARTs (1200 Baud ili sporije), tada ova tehnika radi za upto 2 UART-a. Imajte na umu da ćete odustati sve tri vremena (jedna za takta za prijenos gen za SBUF, jedan za priključak 1 i jedan za priključak 2 timing), kao i obje prekine.
Dakle, bolje je da se dizajn koristi ARM čip sa dvije UART-a (ja sam stvorio 2 dodatna UARTs na 19200 Baud s ARM) ili koristiti Rabbit kontrolera ili neku takvu stvar.
Ajay |
|
| Povratak na vrh | |
 |
beuch
Joined: 06. lipnja 2001 Postovi: 65 Lokacija: Francuska
| 03. ožujak 2004 14:45 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| Bok,
imaju pogled na priloženu datoteku iz Philips web AN.
AN446
zdravo
|
|
| Povratak na vrh | |
 |
crazytnt
Joined: 02. veljača 2004 Postovi: 8
| 03. ožujak 2004 17:43 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| To je vrlo teško. Predlažemo da koristite hardver. |
|
| Povratak na vrh | |
 |
J_expoler2
Pristupio / la: 10 svibanj 2003 Postovi: 179 Pomogao: 19
| 03. ožujak 2004 18:00 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| Bok Imam nekoliko ideja, ali UART slati samo podatke koristeći timer 0 T232 kao bitni TxD MOV TMOD, # 22h MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcija poslati podatke: CLR T232; START BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRC A JNB TF0, $ MOV T232, C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ Močiti to možda pomoći u BR. |
|
| Povratak na vrh | |
 |
fireplus
Joined: 31. listopad 2003 Postovi: 195 Pomogao: 5
| 04. ožujak 2004 3:29 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| pokušati da
[hr: 5c6e3c7296] Vatra u Žica: sm2:
|
|
| Povratak na vrh | |
 |
Ajay
Joined: 29. veljača 2004 Postovi: 31
| 08. ožujak 2004 12:28 Re: Kako napraviti sa UART Software (ne koristi SBUF) na 8051 | | |
|
| | J_expoler2 wrote: | Bok Imam nekoliko ideja, ali UART slati samo podatke koristeći timer 0 T232 kao bitni TxD MOV TMOD, # 22h MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcija poslati podatke: CLR T232; START BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRC A JNB TF0, $ MOV T232, C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ Močiti to možda pomoći u BR. |
To je jedino dobro za prenošenje. Problem dogoditi se našto te pokušati primiti as well. Prije svega, ova metoda neće nikada raditi za obosmjeran operaciju, osim ako koristite dva različita vremena.
Štoviše, za primanje, trebat ćete prekinuti korištenje hardvera koji će početi točno vremena na vrijeme, a zatim će pomoći smjeni podataka. Opet, ova metoda je samo dobro kao pol duplex komunikaciju.
Drugi kompleksnost proizlazi iz činjenice da je prekid rutine duga i postati će uzrokovati probleme nestalo bitova. Imajte na umu da će se greška akumulirati u određenom vremenskom periodu!
Najbolji način je korištenje čip koji ima više serijski portovi (ARM, uPSD iz ST i sl.)
Ajay |
|
| Povratak na vrh | |
 |