Archiv verlassen und diese Seite im Standarddesign anzeigen : Welcher Controller??
niemalsaufgeben
08.07.2005, 22:15
Hallo Miteinand
Ich geh jetzt natürlich die Gefahr ein es mir gleich zu vermiesen, aber ich hab eben nirgens wo was gefunden.
Ich möchte mit ein paar einfachen sachen anfangen und mich ein wenig einarbeiten. Mein erstes Ziel ist es eine Füllstandsmessung mit Ultraschall zu bauen. Das ganze soll erweiterbar sein um über CAN mit einem zweiten Microcontroller zu kommunizieren.
Da habe ich bei Atmel gesehen, dass es Chips gibt, die den CAN schon drin haben, kann man die direkt miteinander verbinden??
Ich bin für jeden Tipp dankbar!
Mfg Niemalsaufgeben
Masmiseim
08.07.2005, 22:49
Die Mikrocontroller geben auf den CAN-Ausgängen nur ein TTL-Signal aus. Bzw. akzeptieren nur ein TTL_Signal als Eingang. Genau wie bei der Seriellen Schnittstelle brauchst Du da zusätzlich einen externen Chip der die Pegelkonvertierung vornimmt. Der PCA82C251 ist dafür recht weit verbreitet.
Wenn Du aber über CAN direkt zwei Chips verbindest (ebenfalls genau wie bei der Seriellen Schnittstelle), können sie auch direkt über die TTL-Pegel komunizieren. Die externen PullUp-Widerstände musst Du aber bei beiden Varianten in den Bus integrieren.
niemalsaufgeben
08.07.2005, 23:05
Danke für deine Hilfe. Wenn ich recht sehe reichen drei Leitungen für die Kommunikation über Bus?! Da kann ich ja dann auch auf eine der Datenleitungen die Versorgungsspannung überlagern, oder?
Ist ein AT90CAN128 für solche Spielereien zu empfehlen?
meines Wissens nach ist der AT90CAN128 der einzige AVR mit integriertem CAN-Controller...
oder meinst du gar keine AVRs?
niemalsaufgeben
08.07.2005, 23:20
Ich kenn mich noch nicht so gut aus. Es soll nach Möglichkeit nicht so schwer sein, für den Einstieg. ICh möchte den zweiten MC über eine dreiadrige Leistung verbinden, hier muss auch die SPannungsversorgung drin sein!
Ansonsten einen min. 8-Bit AD-Wandler und ein paar wenige Ein- und Ausgänge. Es muss kein AVR sein, aber ich denke das Ganze klappt nur mit CAN???
aber ich denke das Ganze klappt nur mit CAN???
wieso klappt das Ganze nur mit CAN?
Welche Entfernung liegt zwischen den beiden µC? Es gibt nämlich noch eine ganze Reihe weiterer Verbindungsarten, die teilweise bei AVRs stärker vertreten sind(TWI(I²C), SPI, RS232).
Wenn allerdings auch die Spannungsversorgung mit dabei sein muss bei den 3 Adern wirds ein wenig eng, da gibts etwas namens Microwire, das glaube ich mit nur einer Ader funktioniert, aber damit kenne ich mich überhaupt nicht aus, ansonsten wirds grad bei CAN eng mit drei Adern. Ist es dabei nicht so, dass man pro Signal zwei Adern braucht?
Masmiseim
09.07.2005, 08:45
Ist ein AT90CAN128 für solche Spielereien zu empfehlen?
Keine Ahnung. Ich habe bisher nur Mikrocontroller von Freescale und TI verwendet.
ICh möchte den zweiten MC über eine dreiadrige Leistung verbinden
CAN überträgt die Signale differenziell über zwei Leitungen. Dies erhöht die Störfestigkeit der Übertragung. Etwa im Motorraum eines Autos (dafür wurde CAN entwickelt). Es wurde aber auch eine art Notlaufbetrieb implementiert. Für den Fall das eine Leitung unterbrochen wurde kann die Kommunikation auch über eine einzelne Datenleitung fortgesetzt werden. Dann aber mit einer geringeren Geschwindigkeit. Damit kenne ich mich aber nicht so gut aus.
Im Normalfall benötigst Du also vier Leitungen. Zwei für die Kommunikation, und je eine für Masse und Vcc.
niemalsaufgeben
10.07.2005, 00:23
Kann man nicht irgendwie die Beiden Datenleitungen auf eine höhere SPannung legen. Quasi auf der Datenleitung die Versorgung überlagern?? Welcher Bus ist mir eigentlich egal, er soll nur sehr störungsunempfindlich sein und es dürfen nur drei Adern im Spiel sein.
niemalsaufgeben
10.07.2005, 00:33
PS: Naja, ich dachte dass CAN am wenigsten Adern braucht und am Besten in Sachen Störunempfindlichkeit ist.
Die Entfernungen können bis zu 70m werden. Ist das ein Problem?
Masmiseim
10.07.2005, 10:27
Kann man nicht irgendwie die Beiden Datenleitungen auf eine höhere Spannung legen. Quasi auf der Datenleitung die Versorgung überlagern??
Mir ist so was weder von CAN noch von irgendeinem anderen Bus bekannt. Naja Power-LAN aber das wirst Du ja wohl nicht verwenden wollen. Google einfach mal ein bischen. Vielleicht gibt es so was ja tatsächlich.
Welcher Bus ist mir eigentlich egal, er soll nur sehr störungsunempfindlich sein und es dürfen nur drei Adern im Spiel sein.
CAN wurde dafür entworfen das es extrem wenig anfällig für Störungen ist. Wie bereits gesagt es wurde entworfen um in einem "feindlichen" gebiet wie einem Motorraum zu funktionieren, in dem extrem viele Störungen auftreten.
In was für einer Umgebung willst Du die Kommunikation denn nutzen das Du so einen Wert auf Störsicherheit legst?
Besorg Dir doch einfach mal zwei von den ATMEL Controllern und probier einfach mal ein bisschen mit dem CAN-Bus rum. Nach dem Standard kann man eine der Kommunikationsleitungen einfach unterbrechen. Der Controller sollte dies automatisch erkennen und auf eine Kommunikation über eine einzelne Ader umschalten. Ob das in der Praxis auf dem Controller tatsächlich so umgesetzt ist kann ich nicht sagen. Das müsstest Du einfach mal probieren. Ich kann hierzu auch keinerlei Praxiserfahrung vorweisen. Bislang habe ich den CAN-Bus immer mit zwei Datenleitungen verwendet.
Aber wieso bist Du denn auf drei Leitungen beschränkt? Hast Du keine Möglichkeit eine vierte hinzuzufügen?
Die Entfernungen können bis zu 70m werden. Ist das ein Problem?
CAN kann bei reduzierter Datenrate bis zu einem Kilometer lang sein. Da sind 70 Meter kein Problem. Allerdings solltest Du bei den Längen nicht mehr über TTL-Pegel kommunizieren.
SPI fällt bei diesem Längen komplett raus. IIC kann mit Bustreiber bis zu 100 Meter überbrücken, besitzt allerdings auch zwei Datenleitungen. SCI funktioniert bei moderater Baudrate und guter Kabelqualität auch bei dieser Länge. Aber auch hier hast Du mindestens zwei Datenleitungen.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.