Hallo!
Bin neu hier und beginne gerade die ersten Erfahrungen mit AVR
zu gewinnen! (Hab Erfahrungen mit 8051, 80C167)
Was mich interessieren würde:
Möchte ein kleines board entwerfen, welches an verschiedenen stellen im
Haus angesteuert über ein Netzwerk div. Steuerungen übernehmen soll!
Nun meine Frage:
Ich bin auf den CS8900A gestoßen! Hat jemand mit diesem baustein schon
Erfahrungen gemacht?
Habt Ihr noch andere (kostengünstige) Lösungen?
Andere ICs für diese Löung? Lösungsvorschläge?
Vielen Dank für eure Hilfe
Charly
Natürlich www.CANathome.de nicht zu vergessen. ;-)
Beschäftigt sich mit Automation über CAN-Bus.
Thema Ethernet: Benötigt einen schwer erhältlichen, teuren CS8900A (oder
ähnliche, z.B. RTL8019A...). IP-Stack verbraucht "Unmengen" an Speicher.
Die meisten Projekte, die ich bisher zum Thema AVR/IP gesehen habe
setzen einen ATmega103/128 voraus. Das alles macht eine IP-Station
schwer bastelbar und teuer.
Wenn man keinen ext. CAN-Controller (also nicht so wie ich :-))
verwendet, sondern nur einen CAN-PHY (z.B. 82C250) hat man quasi einen
RS485-Bus mit besseren Eigenschaften:
- bidirektionale Kommunikation auf 1 Adernpaar
- verlustfreie Busarbitrierung
- Multimaster
- kein Hub notwendig
Der geringfügig höhere Preis eines CAN-PHY(82C250) im Gegensatz zu einem
75176 beträgt 45Cent für je die DIP-Version bei Reichelt. Das kann doch
nicht der Grund sein weshalb RS485 so stark verbreitet ist und
propagiert wird. Das Protokoll muß/kann ich mir in beiden Fällen selbst
zurechtstricken.
Also wo liegen die Vorteile von RS485/75176?
André.
--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN
Naja, ich finde CAN immer noch etwas "Oversized". entweder man muß einen
überteuerten und großen CAN Controller nehmen (AN 82527, PLCC-44, 16.40
bei Reichelt), was meiner Meinung nach zu groß und teuer ist, oder man
nimmer einen kleinen für kanpp 2,- und muß sich um das Protokoll
selber kümmern. Es gibt auch Controller mit eingebautem CAN, wo man die
aber bekommt und was die kosten weiß ich nicht.
Vielleicht lieg ich damit ja auch völlig falsch, dann lass ich mich gern
eines besseren belehren ;)
Gruß
Markus
http://www.elektronik-projekt.de/
PS: ich bekomme auf Deine Seite immer einen Laufzeitfehler
Naja, im Prinzip hast du ja das wiedergegeben, was ich oben
meinte/schrieb.
Was spricht gegen die "knapp 2-Lösung"?
(Ich will hier nicht CAN hochloben oder RS485 schlecht reden (wozu
auch), sondern nur Pro und Contra CAN<->RS485 in der Verwendung auf
unterster Ebene (->physical layer) herausfinden.)
André.
--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN
Hm, ich kenne CAN leider nicht sonderlich gut. Aber man hat ja ein
Protokoll vorgegeben. CAN definiert ja sowohl wie die Hardware
auszusehen hat als auch wie das Protokoll aussieht. Soweit ich weiß ist
das Protokoll etwas komplexer, mit startbits, stopbits, Checksum und was
weiß ich was noch alles.
Bei der teuren Lösung wird das alles vom CAN Controller übernommen, bei
der Billiglösung muß es der µC selber machen. Und ich denke mal er muß
dann WIRKLICH alles selber machen da man da nicht einfach den UART dafür
nehmen kann.
Bei RS485 hat man halt freie Hand und kann den Treiber einfach an den
UART hängen, z.B. wie hier auf dem Schaltplan
http://www.elektronik-projekt.de/Boards/img/2313_Mini_Modul_sch_full.gif
Gruß
Markus
http://www.elektronik-projekt.de
Hm, das hatte ich überlesen. Du strickst Dir Dein eigenes Protokoll. Das
ist wieder was anderes, aber eigentlich kein CAN mehr. Du verwendest nur
die Schnittstellentreiber von CAN statt von RS485. Wo ist da der
Unterschied? Gibt es da Vor- oder Nachteile?
Eigentlich sind beides differentielle Busse, rein von der Hardware
gesehen.
Würd mich jetzt echt mal interessieren
Gruß
Markus
http://www.elektronik-projekt.de
> Aber man hat ja ein Protokoll vorgegeben
Nein, wenn du den CAN-PHY selbst ansteuerst hast du die volle Kontrolle.
Das die externen oder integrierten CAN-_Controller_ ein spezielles
Protokoll fahren können (mit entsprechenden Vorteilen und Kosten) ist ja
eine andere Sache. Man muß diese ja nicht nutzen.
>da man da nicht einfach den UART dafür nehmen kann.
Doch, bzw. was spricht dagegen?
André.
--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN
>>da man da nicht einfach den UART dafür nehmen kann.>Doch, bzw. was spricht dagegen?
Nichts, solange man keine Besonderheiten einhalten muß. Soweit ich weiß
müssen bei CAN wie gesagt spezielle Start und Stopbits gesetzt werden.
Das mit den UART zu machen geht glaub ich nicht
Gruß
Markus
http://www.elektronik-projekt.de
Ich glaube wir reden aneinander vorbei - vielleicht liegts ja an der
Uhrzeit...
Es geht mir um die unterste Schicht, sprich Logikpegel.
Mit den CAN-PHYs dürfen 2 Stationen unterschiedliche Pegel zur gleichen
Zeit senden - das juckt keinen, der dominante Pegel gewinnt.
Zwischen 2 75176 fließt in einem solchen Fall ein "großer" Strom, sodaß
die Teilnehmer in einen "protective thermal shutdown mode" schalten.
(Ist also zu vermeiden).
Wann, wie und wer welche Pegel auf den Bus legt, das bestimmt der
Mikrocontroller. Der CAN-Treiber macht CAN-Pegel aus den TTL-Pegeln des
Mikrocontrollers - mehr nicht! Ob der Mikrocontroller jetzt RS232-
(z.B. 8N1), CAN- oder sonst ein Protokoll an den CAN-PHY schickt/anlegt
ist egal. Selbst I2C-Protokoll wäre mit 2 CAN-Kanälen möglich (aber
wenig sinnvoll). Alles CAN - nix muß. ;-)
Mit den CAN-Treibern hab ich den Vorteil der Multimasterfunktionalität,
die der Ausgangsposter wohl auch im Auge hatte - deshalb der Einwurf von
CAN.
André.
--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN
>Ich glaube wir reden aneinander vorbei - vielleicht liegts ja an der Uhrzeit...
Hm, kann schon sein das es an der Uhrzeit liegt :). Kann aber auch daran
liegen das ich mit CAN immer das komplette "Paket" meine. Also Hardware
UND Protokoll. Die Unterschiede in der Hardware waren mir noch nicht
bekannt. Macht das ganze natürlich gleich interessanter.
Werde mit überlegen ob ich für meine Module statt der RS485 Treiber
nicht die PCA 82C250 o.ä. verwende.
Gruß
Markus
http://www.elektronik-projekt.de
Hallo,
für ganz kleine Aufgaben gibt es hier etwas: www.picoweb.net
So eine alte ISA Karte hat sicherlich der ein oder andere in der Ecke
liegen, ein board dazu kostet auf Lochraster so um die 10€ und
fast fertig....
Martin
hallo!
vielen dank für die vielen ratschläge!
warum ich unbedingt ethernet gewählt habe ist folgender grund:
als erweiterung hab ich mir vorgestellt die ganzen verteilten boards im
haus über eine "web-oberfläche" zu bedienen!
soll dann auch von auswärts bedienbar sein!
habt ihr dazu vorschläge!?
grüße
charly
Für eine Weboberfläche reicht 1 Ethernetknoten, der dann Ethernet auf
das von dir favorisierte Bussystem umsetzt. Damit sparst du dir die
vielen Ethernetknoten (ich schätze unter 50EUR wirst du keinen IP-Knoten
kaufen können).
Ich nehme an, mit
> div. Steuerungen
meinst du keine Videoübertragung o.ä. sondern kleine Datenmengen
(Schaltbefehle, Sensormeßstellen - klassische Gebäudeautomation also).
Dann sind die oben genannten Busse (RS485 od. CAN) mind. genauso gut
geeignet wie Ethernet, aber deutlich billiger.
Beispielrechnung:
uC: 2313/2323 4EUR
Treiber: 82C250 2EUR
Stecker, Stiftleiten,Rs, Cs,... 3EUR
könnte auf Lochraster aufgebaut werden. oder Platine (ich schätze max.
3x3cm²): 3EUR
Summe: 12EUR.
Das Ethernet-RS485/CAN-Gateway kann auch ein PC sein (z.B. 486er mit
Linux/Apache), der dir die Webseite anbietet und die Kommunikation mit
den einzelnen Stationen/Knoten übernimmt. Hierfür würde dann ein
RS232<->RS485/CAN-Interface-Knoten ausreichen, den der PC dann
ansteuert.
André.
--
CAN@home - http://www.CANathome.de - Hausautomation mit AVR + CAN