Tak nastal velký problém. Četl jsem, že atmega16 má 2 samostatné USART zařízení, kdežto podle datasheetu to vypadá na jedno, které teď využívám je komunikaci s PC. TO už asi nepůjde použít ke komunikaci se slave že?
Tak nastal velký problém. Četl jsem, že atmega16 má 2 samostatné USART zařízení, kdežto podle datasheetu to vypadá na jedno, které teď využívám je komunikaci s PC. TO už asi nepůjde použít ke komunikaci se slave že?
To sis asi spletl s atmega162, ta má dva USARTy, mega16 má jen jeden. Pokud ho používáš pro komunikaci s PC a mcu je jako slave, tak asi použít nepůjde.
RS-232 neumožňuje multipoint komunikaci, má jen dva stavy log.1 -12V a log.0 +12V, oba jsou dominantní, takže nějak nechápu, jak to máte zapojené.
Když to neumožňuje, tak to naše zařízení asi opravdu nefunguje
Je to zapojené takto:
U počítače je spojené Tx a Rx a dále se to vede jedním drátem k lokálním jednotkám systému. U nich je také spojené Tx a Rx a celá komunikace běží po tom jednom drátu. Všechna zařízení jsou spojená paralelně, čemuž se v zabezpečovací technice říká "multipl".
Počítač se opakovaně dotazuje lokálních jednotek a ty jen poslouchají. Když se dotáže, tak dotazovaná jednotka odpoví, ty ostatní stále mlčí. Když chce jednotka odpovědět, tak si zkontroluje, jestli někdo jiný nevysílá a pak sama začne.
RS-232 neumožňuje multipoint komunikaci, má jen dva stavy log.1 -12V a log.0 +12V, oba jsou dominantní, takže nějak nechápu, jak to máte zapojené.
Když to neumožňuje, tak to naše zařízení asi opravdu nefunguje
Je to zapojené takto:
U počítače je spojené Tx a Rx a dále se to vede jedním drátem k lokálním jednotkám systému. U nich je také spojené Tx a Rx a celá komunikace běží po tom jednom drátu. Všechna zařízení jsou spojená paralelně, čemuž se v zabezpečovací technice říká "multipl".
Počítač se opakovaně dotazuje lokálních jednotek a ty jen poslouchají. Když se dotáže, tak dotazovaná jednotka odpoví, ty ostatní stále mlčí. Když chce jednotka odpovědět, tak si zkontroluje, jestli někdo jiný nevysílá a pak sama začne.
No ale to není RS-232
RS-232 neumí "mlčet", umí jen + nebo - 12V. A když spojíme např. 5 RS-232 vysílačů, které "mlčí" +12V a jeden který "mluví" -12V, co vznikne?
Asi by se muselo těch +12V dávat bias odporem a -12 spínat (dominantně) tranzistorem, zkrátka otevřený kolektor. A kdyby ještě Slave poslouchal co sám vysílá, podobalo by se to na nějakou nesymetrickou odrůdu (nebo zrůdu?) CAN. V tom případě bez UARTu.
Založen: Jul 21, 2006 Příspěvky: 25741 Bydliště: skoro Brno
Zaslal: čt červen 18 2009, 8:46 Předmět:
To už se dá rovnou předělat na RS485.
Jinak předpokládám, že oni tu RS232 provozují na TTL úrovni, tudíž to není RS232 a tam to (nejspíš) fungovat bude. _________________ Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Tak jsem našel hezký připravený kód zde: http://www.atmel.com/dyn/products/app_notes.asp?family_id=607. Upravil jsem ho pro avr-gcc a úspěšně zkompiloval. Jedná se konkrétně o příklad: "Using the USI module as a I2C slave". Myslím, že to slouží jen pro přenos jednoho bajtu. Jak se pomocí toho dá přenášet příkaz(text)?
Tak jsem našel hezký připravený kód zde: http://www.atmel.com/dyn/products/app_notes.asp?family_id=607. Upravil jsem ho pro avr-gcc a úspěšně zkompiloval. Jedná se konkrétně o příklad: "Using the USI module as a I2C slave". Myslím, že to slouží jen pro přenos jednoho bajtu. Jak se pomocí toho dá přenášet příkaz(text)?
Slouží to pro přenos kolika bajtů chceš. Je tam i příklad použití.
Supr, tak už komunikuju. Musel jsem ale vypnout interní pull-upy a dát vnější. Proč nemohu na atmega16(i2c/twi master) nastavit interní pull-upy, respektive mohu, ale pak to nefunguje? Podle dokumentace to možné je i při použití TWI.
Supr, tak už komunikuju. Musel jsem ale vypnout interní pull-upy a dát vnější. Proč nemohu na atmega16(i2c/twi master) nastavit interní pull-upy, respektive mohu, ale pak to nefunguje? Podle dokumentace to možné je i při použití TWI.
Asi komunikuješ rychle, interní pull-upy mají 20-50 kOhmů a to stačí jen pro nízké rychlosti a malé kapacitní zatížení sběrnice. Kolik máš ty externí pull-upy a jak rychle komunikuješ?
S interními prošel občas jen 1. příkaz/komunikace, pak ani ťuk, jelo to cca na 100kHz, teď tam mám externí 3k3 odpory a zvedl jsem rychlost na cca 400kHz a naprosto bez problémů.
100kHz/400kHz je hodně, to je maximum standardní I2C. Kdybys jel na 5kHz, tak by ty interní pull-upy asi stačily, tedy pokud nekomunikuješ přes 10m plochého kabelu
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2, 3Další
Strana 2 z 3
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.