PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATA6660 CAN-Controller



Ceos
14.03.2008, 09:15
ich wollte mal versuchen ein wenig mit nem CAN-Bus zu experimentieren, was genau bringt mir dieser Controller ?
übersetzt der mir CAN-protokoll zu rs232-TTL oder wie darf ich das verstehen das datenblatt ist leider nur dürftig und das block-schaltbild sagt mir garnichts ... es geht darum das ich eine rel. sichere und kostengünstige datenübertragung ala master slave von einem mastercontroller (meg32) und mehreren slaves (tinys) entlang einer längeren strecke realisieren möchte ... leider geht hier I2C nicht wegen der störanfälligkeit (zumindest soll es anfällig sein nachdem was ich im web so gefunden habe)

Felix G
14.03.2008, 09:59
Also die meisten hier verwenden soweit ich weiß den CAN-Controller "MCP 2515" in Kombination mit dem CAN-Transceiver "SN65HVD251D".

Ersterer übernimmt den ganzen Logik-Kram, also das eigentliche CAN-Protokoll, letzterer ist sowas wie ein Pegelwandler, welcher ebenfalls benötigt wird.


Der ATA6660 scheint ebenfalls kein Controller sondern "nur" ein Transceiver zu sein, du benötigst aber beides



edit: anstatt des separaten CAN-Controllers kannst du natürlich auch einen µC der AT90CAN... Reihe verwenden, die haben bereits eine CAN-Schnittstelle, und benötigen nurnoch den Transceiver.

Ceos
14.03.2008, 10:35
bist du wahnsinnig ? für JEDEN slave so ein kostenmonster ??????? ich wollte eig. günstiger wegkommen als 20€ pro slave .....

MCP 2515 und MCP 2551 sind doch das dasselbe nur in DIL oder ? wenn nein bitte ich brauche nach möglichkeit DIL form !!! ich finde immer wenn cih can controller suche ne mischung aus der 8bein variante ähnlich ATA6660 und ner mehrbeinvariante in SMD ... bitte ich brauche hier wirklich hilfe und auch was kostengünstiges, ich würde nciht fragen wenn ich nicht schon vergeblich nach vernünftigen angeboten gesucht hätte aber ich bekomm nur so verwaschene informationen auf den webseiten und in den datenblättern

EDIT: nein sie sind nicht dsasselbe, der 51er ist ein transceiver ....

http://www.avrcard.com/Documents/can/can_spi_schema_1_1.pdf

wenn ich mir dads so ansehe .... gibt es denn keine einfachere methode eine veränderliche anzahl von slaves über einen master anzusprechen ? bidirektional ? vor allem kostengünstig ? rel. störunempfindlich bis MAX. 50m rel. langsame datenrate ...

askazo
14.03.2008, 11:42
Den MCP2515 gibt's auf jeden Fall auch als DIL-Version.

Wenn Dir CAN zu aufwendig/kostenintensiv ist, dann versuch's doch mal mit RS485. Da kannst Du - je nach verwendetem Transceiver - 32 bis 256 Teilnehmer auf einer Länge von max. 1200m dranhängen. Für Deine Zwecke sollte das ja dann reichen. Das einzige, was Du dann benötigst, ist ein Transceiver (z.B. MAX485).

CAN ist übrigens kein Master-Slave sondern ein Multi-Master-Protokoll.

Gruß,
askazo

Felix G
14.03.2008, 11:54
Kostenmonster? Der 2515?

Also ich finde mit ca. 2-3€ pro Stück ist der noch vergleichsweise günstig.

Ceos
14.03.2008, 11:59
@askazo recht haste, iss kein echtes master slave aber es würde dennoch den zweck erfüllen wenn ich einfach an ein "paket" vorne ne adresse ranhänge

@felix also ich finde den bei reichelt für 15€ das iss um faktor 5 höher als was du meinst ... korrigier mich falls ich falsch liege am besten mitm link zum produkt weil ich hab 3 mal so n preis gefunden und das ist mir zu viel!!!

EDIT: das mit dem RS48dingens klingt auch nicht so schlecht, wie ist da der verschaltungsaufwand ? wie übermittle ich daten ? rs232 -> rs485 oder wie ?
der wiki-eintrag klingt als wäre da doch erheblicher technischer und programm-aufwand und auch viel undefiniertes was zu problemen führen KÖNNTE?!

askazo
14.03.2008, 12:09
Ja klar, mit CAN kann man natürlich auch ein Master-Slave System aufbauen. War nur so der Vollständigkeit halber...

Der MCP2515 kostet bei Reichelt 2,55€ (http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A316;GROUPID=2946;ARTICLE=54 515;START=0;SORT=order_col_artnr_besch;OFFSET=16;S ID=26nTcsYKwQARoAADHkJ1Y9d692da787b2ff596102cb7881 833676), gibts da allerdings scheinbar nur im SMD-Gehäuse.
Wo man den im DIP-Gehäuse herbekommt - keine Ahnung...

Gruß,
askazo

Ceos
14.03.2008, 12:47
den 2515 hab ich woanders schon billiger gesehen sogar mit mengenrabatt .... ich meinte eig. den at90canXX den felix meinte ... der kost defnitiv mehr als 10 € und das ist mir einfach zu teuer ... ist aber sowieso egal ... der beschaltungsaufwand ist reichlich heftig wenn cih mir das pdf ansehe ... der 485 kommt eig. nurnoch wirklich in frage und I2C wenn mir jemand verrät wie ich den störsicher bekomme auf max. 50m

EDIT: smd macht sich nur häßlich beim experimentieren aufm steckbrett ... ausserdem kann man ihn nicht mehr ausbauen wenn er mal verlötet ist fürden fall das ich eine verbesserung auf der platine gelötet habe oder sowas

askazo
14.03.2008, 13:26
Gut, der AT90CAN ist auch für Deine Ansprüche glaube ich ein wenig überdimensioniert. Der muss es ja nicht sein.

Der Schaltungsaufwand ist sicher ein wenig höher als bei der RS485-Lösung. In der von Dir verlinkten Schaltung kann man allerdings auch L1 und U3 problemlos weglassen.

I2C würde ich auf keinen Fall nehmen, für solche Leitungslängen ist der einfach nicht geeignet, da nicht differentiell. I2C ist halt nur für die Verbindung zwischen Bauteilen auf einer Platine gedacht.

RS485 ist von Haus aus störsicher und einfach zu handhaben, von daher sollte das der Bus Deiner Wahl sein.

Gruß,
askazo

Ceos
14.03.2008, 13:38
mh ok, dann nehmich den auch .... werd ich übers WE mal rumgoogeln nach paar aufbauten und bauteilen ^^ danke wie immer an alle

Felix G
14.03.2008, 14:08
Naja, der z.B. AT90CAN32 wäre natürlich ein vollständiger Ersatz für den ATmega32, dessen Kosten man sich in diesem Fall also sparen könnte.


Dennoch wird die Lösung mit MCP 2515 + CAN-Transceiver sicherlich deutlich günstiger sein. Die Ansteuerung des 2515 läuft dann per SPI, sollte also kein Problem darstellen.