Gast
#171481
Ich stehe beruflich oft vor dem Problem, Gerätschaften mittels RS485 zu verbinden bzw. anzusteuern (max. 115kb/s). Da es dabei doch manchmal zu Problemen kommt bzw. es interessant wäre, mitzuschneiden was dort hin und her geht, plane ich jetzt, mir eine Art RS485 Datenlogger (mit ein paar weiteren Funktionen) auf Basis eines ATMEGA128 zu bauen. Das Gerät soll mit zwei RS485 Schnittstellen und einer RS232 für die PC-Anbindung ausgestattet werden. Die beiden RS485 sollen über die USARTs des ATMEGA bedient werden, der RS232 per Software emuliert werden. Momentan habe ich noch zwei große Fragezeichen in meinem Konzept: 1. Ich möchte verschiedene Betriebsweisen realisieren. Einmal sollen die beiden RS485-Treiber sozusagen Back-to-Back zusammengeschaltet werden und der ATMEGA soll nur auf seinen Tx-Leitungen lauschen und mitschneiden. In einem anderen Fall sollen die RS485 komplett über den ATMEGA abgewickelt werden, um beispielsweise eigene Sequenzen abzusetzen. Diese Umschalterei (Back-to-Back <=> komplette Anschaltung an Rx/Tx) möchte ich ungern über mechanische Relais erledigen. Was bietet sich hier alternativ an? 2. Die Menge an Daten, die mitzuschneiden sind, sind relativ gering, so dass ich zunächst mit dem RAM des ATMEGA auskommen werde. Allerdings habe ich noch so ein paar Ideen, die ich mit der Kiste umsetzen möchte, so dass ich zusätzlichen Speicher mit einplanen möchte. Was ist aus eurer Sicht/ Erfahrung praktikabler: Die Nutzung von externem RAM über die entsprechenden Adress-/Datenleitungen des ATMEGA oder der Anschluss von Speicherbausteinen über I2C? Es soll kein Riesenspeicher werden - ich denke, 64kbit dürften reichen. Es dürfte auch nicht allzu zeitkritisch sein, da die Telegramme recht klein sind, so dass ein Puffern im internen RAM allemal möglich ist, um dann die Daten wegzuschreiben. Sorry für den vielen Text, aber außer in meinem Kopf existiert noch kein Schaltplan.
