<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MicroControl Blog</title>
	<atom:link href="http://www.microcontrol-blog.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.microcontrol-blog.net</link>
	<description>MicroControl - Macht Ihre Systeme präzise, zuverlässig, hochwertig.</description>
	<lastBuildDate>Thu, 11 Apr 2013 08:44:29 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Fehlersuche in CAN Netzwerken / Teil 2</title>
		<link>http://www.microcontrol-blog.net/2013/03/fehlersuche-in-can-netzwerken-teil-2/</link>
		<comments>http://www.microcontrol-blog.net/2013/03/fehlersuche-in-can-netzwerken-teil-2/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 12:57:06 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[CAN]]></category>
		<category><![CDATA[CANopen]]></category>
		<category><![CDATA[Fachbeiträge]]></category>
		<category><![CDATA[CAN Baudrate]]></category>
		<category><![CDATA[CAN Kabel]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=443</guid>
		<description><![CDATA[In meinem letzten Beitrag bin ich ausführlich auf die richtige Terminierung von CAN Netzwerken eingegangen. Jetzt möchte ich auf weitere Fehler, die beim Aufbau eines CAN Netzwerkes auftreten können, im Detail eingehen. Unterschiedliche Baudraten der Teilnehmer Eigentlich kein ernstzunehmendes Problem &#8211; die Baudrate lässt sich auf den meisten Teilnehmern per DIP-Schalter oder Hex-Codierer einstellen. Bei [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem letzten Beitrag bin ich ausführlich auf die richtige Terminierung von CAN Netzwerken eingegangen. Jetzt möchte ich auf weitere Fehler, die beim Aufbau eines CAN Netzwerkes auftreten können, im Detail eingehen.</p>
<h3>Unterschiedliche Baudraten der Teilnehmer</h3>
<p>Eigentlich kein ernstzunehmendes Problem &#8211; die Baudrate lässt sich auf den meisten Teilnehmern per DIP-Schalter oder Hex-Codierer einstellen. Bei unterschiedlichen Baudraten im gleichen Netz kommt es auch häufig zum &#8220;Stillstand&#8221; der Kommunikation. Das Problem tritt schnell auf und lässt sich einfach beheben.</p>
<p>Anders verhält es sich dann bei Teilnehmern, die nach dem Einschalten erstmal auf einer &#8220;Default Baudrate&#8221; hochkommen und erst 2..3 Sekunden später die eigentlich gewünschte Baudrate einnehmen. Dieses Verhalten konnte ich schon häufig bei Steuerungen (SPS) sehen, aber auch bei Modulen mit großer Rechenleistung wie Antrieben/Umrichtern. Hier scheint der CAN Controller erstmal auf irgendeiner Baudrate loszulaufen, wird dann aber später nach Initialisierung der Applikation wieder &#8220;eingefangen&#8221; und auf die richtige Baudrate eingestellt. Bei diesen Konstellationen sehen Sie nach dem Einschalten erstmal haufenweise Error-Frames und hoffentlich später dann alle Module im Pre-Operational Status &#8211; leider bleibt aber auch der Ein- oder Andere auf der Strecke (BusOff).</p>
<h3>Falsches CAN Kabel</h3>
<p>Der Einsatz des richtigen CAN Kabels ist von entscheidender Wichtigkeit bei der Vermeidung von Problemen im CAN Netzwerk. Das &#8220;richtige&#8221; Kabel ist in der ISO-11898 spezifiziert. Im folgenden Blockschaltbild ist das ideale CAN Netzwerk dargestellt:</p>
<p><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Bus-Structure1.jpg"><img class="alignleft size-full wp-image-452" title="Bus Structure" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Bus-Structure1.jpg" alt="" width="696" height="378" /></a></p>
<p>Entscheidend ist die Impedanz Z0 die sich aus den Anteilen Widerstand, Kapazitiver Belag und Induktiver Belag zusammensetzt. Diese Anteile werden definiert über das Verhältnis von Verdrillungen per Meter, Isolation zu Kupferleitung, Abstand der Kupferleitungen etc. Erst wenn die Impedanz des Kabels im definierten Bereich liegt funktioniert auch die reflexionsfreie Terminierung einwandfrei (siehe auch:  <a title="Fehlersuch in CAN Netzwerken" href="http://www.microcontrol-blog.net/2012/12/fehlersuche-in-can-netzwerken/ " target="_blank">http://www.microcontrol-blog.net/2012/12/fehlersuche-in-can-netzwerken/ </a>).</p>
<p>Aus diesen Rahmenparametern kann man also ganz klar erkennen, dass es &#8220;richtige&#8221; und &#8220;falsche&#8221; CAN Kabel gibt. Der CAN läuft auf den meisten verdrillten Kupferleitungen &#8211; die Frage ist immer ob er dauerhaft fehlerfrei läuft. Und wie verhält sich das Konstrukt, falls die Leitung um ein paar Meter verlängert wird oder weitere Teilnehmer hinzukommen. Setzen Sie also nicht irgendein &#8220;Datenkabel&#8221; ein, sondern CAN Kabel.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2013/03/fehlersuche-in-can-netzwerken-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innenausbau hat begonnen</title>
		<link>http://www.microcontrol-blog.net/2013/03/innenausbau-hat-begonnen/</link>
		<comments>http://www.microcontrol-blog.net/2013/03/innenausbau-hat-begonnen/#comments</comments>
		<pubDate>Thu, 28 Mar 2013 12:28:34 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Innenausbau MicroControl]]></category>
		<category><![CDATA[Neubau MicroControl GmbH & Co. KG]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=437</guid>
		<description><![CDATA[Nach längerer Zeit wollte ich mal wieder einen Bericht zum Stand des Neubaus abgeben. Der Innenausbau hat jetzt mit vereinten Kräften begonnen. Da alle Fenster geschlossen sind und das Dach auch in Position ist, sind wir natürlich nicht mehr von dem &#8220;Winterwetter&#8221; abhängig. Der Innenputzer hat bereits alle Wände fertiggestellt. Der Trockenbauer (oder heißt das [...]]]></description>
			<content:encoded><![CDATA[<p>Nach längerer Zeit wollte ich mal wieder einen Bericht zum Stand des Neubaus abgeben.</p>
<p>Der Innenausbau hat jetzt mit vereinten Kräften begonnen. Da alle Fenster geschlossen sind und das Dach auch in Position ist, sind wir natürlich nicht mehr von dem &#8220;Winterwetter&#8221; abhängig. Der Innenputzer hat bereits alle Wände fertiggestellt. Der Trockenbauer (oder heißt das Akkustikbau ?) hat alle Wände gesetzt. Der Elektriker und die Sanitärinstallateure haben zeitgleich mit der Rohinstallation begonnen. Falls weiterhin alle Gewerke im Zeitplan bleiben, wird in ca. 2 Wochen der Fußboden (inkl. Heizung) gelegt.</p>
<p>Der Bau nähert sich also in großen Schritten der Fertigstellung. Demnächst soll dann auch das Außengelände in Angriff genommen werden &#8230; dazu muss aber erstmal der Boden auftauen <img src='http://www.microcontrol-blog.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Anbei ein paar Impressionen aus dem Chaos des Innenausbaus:</p>
<div id="attachment_473" class="wp-caption alignnone" style="width: 471px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Eingangsbereich.jpg"><img class=" wp-image-473  " title="Eingangsbereich" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Eingangsbereich.jpg" alt="" width="461" height="346" /></a><p class="wp-caption-text">Eingangsbereich</p></div>
<p><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Fertigung.jpg"><img class=" wp-image-474  " title="Fertigung" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Fertigung.jpg" alt="" width="461" height="346" /></a></p>
<dl id="attachment_474" class="wp-caption alignnone" style="width: 471px;">
<dd class="wp-caption-dd">Fertigung</dd>
</dl>
<div id="attachment_475" class="wp-caption alignnone" style="width: 471px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Sekretariat.jpg"><img class="wp-image-475  " title="Sekretariat" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/Sekretariat.jpg" alt="" width="461" height="346" /></a><p class="wp-caption-text">Sekretariat</p></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2013/03/innenausbau-hat-begonnen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finger weg von CAN Remote Frames!</title>
		<link>http://www.microcontrol-blog.net/2013/03/finger-weg-von-can-remote-frames/</link>
		<comments>http://www.microcontrol-blog.net/2013/03/finger-weg-von-can-remote-frames/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 08:00:08 +0000</pubDate>
		<dc:creator>Uwe Koppe</dc:creator>
				<category><![CDATA[CAN]]></category>
		<category><![CDATA[CANopen]]></category>
		<category><![CDATA[Fachbeiträge]]></category>
		<category><![CDATA[Remote Frame]]></category>
		<category><![CDATA[RTR]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=221</guid>
		<description><![CDATA[CAN Remote Frames &#8211; auch als RTR (Remote Transmission) bezeichnet &#8211; sind in der Bosch CAN Spezifikation /1/ definiert, um einen CAN Data Frame mit dem gleichen CAN Identifier anzufordern. Die Unterschiede zu einem CAN Data Frame sind: beim Remote Frame ist das RTR Bit nach dem Identifier immer rezessiv der Remote Frame hat kein [...]]]></description>
			<content:encoded><![CDATA[<p>CAN Remote Frames &#8211; auch als RTR (Remote Transmission) bezeichnet &#8211; sind in der Bosch CAN Spezifikation <a href="#Ref1">/1/</a> definiert, um einen CAN Data Frame mit dem gleichen CAN Identifier anzufordern. Die Unterschiede zu einem CAN Data Frame sind:</p>
<ul>
<li>beim Remote Frame ist das RTR Bit nach dem Identifier immer rezessiv</li>
<li>der Remote Frame hat kein Datenfeld</li>
</ul>
<p><div id="attachment_424" class="wp-caption alignleft" style="width: 507px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/CAN_Remote_Frame_11_Bit.jpg"><img src="http://www.microcontrol-blog.net/wp-content/uploads/2013/03/CAN_Remote_Frame_11_Bit-e1362757469293.jpg" alt="CAN Remote Frame" title="CAN_Remote_Frame_11_Bit" width="497" height="97" class="size-full wp-image-424" /></a><p class="wp-caption-text">CAN Remote Frame</p></div><br />
Außer CANopen erlaubt kein mir bekanntes Higher-Layer Protokoll (HLP) die Verwendung von Remote Frames, in der SAE J1939 oder in DeviceNet ist die Verwendung sogar explizit verboten. Und dies hat einen guten Grund: Remote Frames führen in der Praxis zu erheblichen Problemen, die ich im folgenden beschreiben möchte.</p>
<h3>Unterschiedliche Implementierungen</h3>
<p>Für den Empfang von CAN Remote Frames existieren unterschiedliche Ansätze. Zum einen gibt es CAN Controller, die eine CAN Nachricht über ein RTR Bit kennzeichnen, wenn es in den Empfangspuffer geschrieben wird. Dieses muss dann per Software ausgewertet werden. Ein anderer Ansatz ist die Markierung eines CAN Message Buffers im CAN Chip mit einem Flag, der dann bei Eintreffen des Remote Frames automatisch den Data Frame sendet. Ob dieser CAN Message Buffer für Empfang oder Senden konfiguriert sein muss hängt von der Philosophie des Halbleiterherstellers ab, hier gibt es leider keinen Standard. Problematisch an der automatischen Aussendung des Data Frames ist aber, dass die Applikation erst <strong>nach</strong> der erfolgreichen Übertragung der Daten davon erfährt und somit den Inhalt des CAN Data Frames nicht mehr aktualisieren kann.</p>
<h3>Prinzipielles Problem</h3>
<p>Die Verwendung von CAN Controllern mit autonomer Reaktion auf CAN Remote Frames birgt ein potenzielles Risiko. Solange die Protocol Engine des Controllers unter Spannung steht und getaktet wird, erfolgt auch eine Antwort auf Remote Frames, selbst wenn der Rest des Microcontrollers bildlich gesprochen &#8220;in Flammen steht&#8221;. Man muss also schon tief in die Trickkiste greifen (wie beim CANopen Node-Guarding) um überhaupt sicher zu stellen, dass bei der Kommunikation über Remote Frames valide Daten von der Applikation gesendet werden.</p>
<h3>Fehlerhafte Implementierungen</h3>
<p>Leider existieren immer noch fehlerhafte Implementierungen des CAN Remote Frames auf dem Markt. Dies fängt damit an, dass der DLC in einem Remote Frame nicht korrekt ausgewertet wird und endet mit Chips, die bei Eintreffen eines Remote Frames mit einem Error Frame antworten. Für den Anwender, der überhaupt nicht weiß, welche CAN Controller in dem Gerät verbaut sind, wird damit die Fehlersuche zu einer echten Herausforderung. Daher kann meine Empfehlung nur lauten: <em>&#8220;Finger weg von CAN Remote Frames!&#8221;</em></p>
<h3>Vermeidung in CANopen</h3>
<p>In <a href="#Ref2">/2/</a> ist die Problematik von CAN Remote Frames ausführlich erläutert und es wird erklärt, wie man auch CANopen Netzwerke ohne RTR betreiben kann. Die betroffenen CANopen Dienste sind zum einen das <strong>Node-Guarding</strong> und zum anderen <strong>PDO</strong> Nachrichten.</p>
<p>Das Node-Guarding wird einfach durch den <strong>Heartbeat</strong> ersetzt, was zudem den Vorteil hat, dass CANopen NMT Slave Geräte sich gegenseitig überwachen können (Node-Guarding kann nur vom NMT Master durchgeführt werden). In <strong>CoDeSys</strong> ist zur Überwachung der CANopen Teilnehmer immer noch Node-Guarding als Standard eingestellt, hier muss man den Haken einfach nur bei Heartbeat setzen.</p>
<p>Für das Anfordern von PDO Nachrichten besteht die Alternative, dies über eine <strong>SYNC </strong>Botschaft zu erreichen.</p>
<h3>Referenzen</h3>
<p><a name="Ref1"></a>/1/ ISO 11898-1, Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling<br />
<a name="Ref2"></a>/2/ CiA Application Note AN802 &#8211; CAN remote frames: Avoiding of usage, <a title="CiA Specifications" href="http://can-cia.org/index.php?id=specifications&amp;no_cache=1" target="_blank">CiA specifications</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2013/03/finger-weg-von-can-remote-frames/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Richtfest</title>
		<link>http://www.microcontrol-blog.net/2013/02/richtfest/</link>
		<comments>http://www.microcontrol-blog.net/2013/02/richtfest/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 13:10:24 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Neubau MicroControl]]></category>
		<category><![CDATA[Richtfest MicroControl]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=382</guid>
		<description><![CDATA[Jetzt hat uns der Winter doch noch erwischt. Aber nach den Verzögerungen zum Anfang des Jahres konnten wir am 13. Februar 2013 unser Richtfest feiern. Mit zahlreichen Gästen, Vertretern der Kreissparkasse Köln und der Stadt Troisdorf haben wir gemeinsam auf die Fertigstellung des Rohbaus unser Glas erhoben. Unser Bauleiter Herr Mathias Peschke (Fa. borgers) hatte [...]]]></description>
			<content:encoded><![CDATA[<p>Jetzt hat uns der Winter doch noch erwischt. Aber nach den Verzögerungen zum Anfang des Jahres konnten wir am 13. Februar 2013 unser Richtfest feiern. Mit zahlreichen Gästen, Vertretern der Kreissparkasse Köln und der Stadt Troisdorf haben wir gemeinsam auf die Fertigstellung des Rohbaus unser Glas erhoben.</p>
<div id="attachment_386" class="wp-caption alignnone" style="width: 540px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Peschke1.jpg"><img class="size-large wp-image-386" title="Bauleiter Peschke in Zimmermannskluft" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Peschke1-1024x678.jpg" alt="Bauleiter Peschke in Zimmermannskluft" width="530" height="350" /></a><p class="wp-caption-text">Bauleiter Peschke in Zimmermannskluft</p></div>
<p>Unser Bauleiter Herr Mathias Peschke (Fa. borgers) hatte sich extra für diesen Anlass in seine Zimmermannskluft geworfen. Herr Peschke hatte vor seinem Studium den Beruf des Zimmermanns erlernt.</p>
<div id="attachment_391" class="wp-caption alignnone" style="width: 540px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Kranz-einhängen.jpg"><img class="size-large wp-image-391" title="v.l. Krahl, Wielpütz und Koppe beim Kranzeinhängen" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Kranz-einhängen-1024x678.jpg" alt="v.l. Krahl, Wielpütz und Koppe beim Kranzeinhängen" width="530" height="350" /></a><p class="wp-caption-text">v.l. die Herren Krahl, Wielpütz und Koppe beim Kranzeinhängen</p></div>
<p>Nachdem die Herren Koppe, Krahl und Wielpütz den Richtkranz eingehängt hatten, begab sich unser Bauleiter auf die höchste Stelle des Baus um den Richtspruch zu verlesen.</p>
<p>&nbsp;</p>
<div id="attachment_393" class="wp-caption alignnone" style="width: 540px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Zum-Wohlsein1.jpg"><img class="size-large wp-image-393" title="Verlesen des Richtspruchs" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/Blog_Zum-Wohlsein1-678x1024.jpg" alt="Verlesen des Richtspruchs" width="530" height="800" /></a><p class="wp-caption-text">Verlesen des Richtspruchs</p></div>
<p>Das Schnapsglas wurde hiernach fachgerecht zerlegt &#8211; und die Gäste konnten sich dem gemütlichen Teil des Festes widmen. Trotz aufgestellter Heizstrahler war es nicht wirklich warm und die heiße Gulaschsuppe fand regen Absatz.</p>
<div id="attachment_395" class="wp-caption alignnone" style="width: 540px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/2013-MicroControl-Richtfest-24b.jpg"><img class="size-large wp-image-395" title="Richtfest mit Gulaschsuppe" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/02/2013-MicroControl-Richtfest-24b-1024x682.jpg" alt="Richtfest mit Gulaschsuppe" width="530" height="352" /></a><p class="wp-caption-text">Richtfest mit Gulaschsuppe</p></div>
<p>Unser Generalunternehmer Firma borgers hat bis jetzt saubere Arbeit geleistet und wir sind alle zuversichtlich, unseren geplanten Umzugstermin einhalten zu können. Nun beginnt die Zeit des Innenausbaus und die Baufortschritte werden nicht mehr so offensichtlich sein.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2013/02/richtfest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MicroControl Neubau</title>
		<link>http://www.microcontrol-blog.net/2013/01/microcontrol-neubau/</link>
		<comments>http://www.microcontrol-blog.net/2013/01/microcontrol-neubau/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 13:23:37 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Baufortschritt]]></category>
		<category><![CDATA[MicroControl]]></category>
		<category><![CDATA[Neubau]]></category>
		<category><![CDATA[Rohbau]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=374</guid>
		<description><![CDATA[Wie beim letzen Eintrag erwähnt, schreiten die Arbeiten zügig voran &#8211; und das Wetter hat &#8220;mitgespielt&#8221;. Da der Winter (zumindest bei uns) bisher ausgeblieben ist, konnte bereits das Erdgeschoss fertiggestellt werden.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microcontrol-blog.net/wp-content/uploads/2013/01/Erdgeschoss.jpg"><img class="wp-image-376 " title="Bild: Erdgeschoss in der Fertigstellung" src="http://www.microcontrol-blog.net/wp-content/uploads/2013/01/Erdgeschoss-1024x768.jpg" alt="Erdgeschoss des Neubaus der MicroControl GmbH &amp;amp; Co. KG" width="549" height="397" /></a></p>
<p>Wie beim letzen Eintrag erwähnt, schreiten die Arbeiten zügig voran &#8211; und das Wetter hat &#8220;mitgespielt&#8221;. Da der Winter (zumindest bei uns) bisher ausgeblieben ist, konnte bereits das Erdgeschoss fertiggestellt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2013/01/microcontrol-neubau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neubau nimmt Gestalt an</title>
		<link>http://www.microcontrol-blog.net/2012/12/neubau-nimmt-gestalt-an/</link>
		<comments>http://www.microcontrol-blog.net/2012/12/neubau-nimmt-gestalt-an/#comments</comments>
		<pubDate>Fri, 21 Dec 2012 12:50:01 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Neubau MicroControl GmbH & Co. KG]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=356</guid>
		<description><![CDATA[Nach dem Spatenstich am 16.11.2012 gehen die Arbeiten am Neubau der MicroControl zügig voran. Das Erdgeschoss ist fast fertiggestellt &#8211; und wenn das Wetter &#8220;mitspielt&#8221; soll Anfang des Jahres der Rohbau abgeschlossen sein. Auf dem folgenden Bild sind die fast fertiggestellten Mauerarbeiten im Erdgeschoss zu sehen. Bild 2: Mauerarbeiten am Erdgeschoss]]></description>
			<content:encoded><![CDATA[<p>Nach dem Spatenstich am 16.11.2012 gehen die Arbeiten am Neubau der MicroControl zügig voran. Das Erdgeschoss ist fast fertiggestellt &#8211; und wenn das Wetter &#8220;mitspielt&#8221; soll Anfang des Jahres der Rohbau abgeschlossen sein.</p>
<div id="attachment_359" class="wp-caption alignleft" style="width: 540px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Bild_11.jpg"><img class="size-large wp-image-359 " title="Bild 1: Fundamente werden erstellt" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Bild_11-1024x768.jpg" alt="Arbeiten an den Fundamenten des Neubaus der MicroControl GmbH &amp;amp; Co. KG" width="530" height="397" /></a><p class="wp-caption-text">Bild 1: Fundamente werden erstellt</p></div>
<p>Auf dem folgenden Bild sind die fast fertiggestellten Mauerarbeiten im Erdgeschoss zu sehen.</p>
<p><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Bild_21.jpg"><img class="size-large wp-image-362" title="Bild 2: Mauerarbeiten am Erdgeschoss" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Bild_21-1024x768.jpg" alt="Mauerarbeiten am Erdgeschoss des Neubaus der MicroControl GmbH &amp; Co. KG fast fertiggestellt" width="530" height="397" /></a></p>
<dl id="attachment_362" class="wp-caption alignleft" style="width: 540px;">
<dd class="wp-caption-dd">Bild 2: Mauerarbeiten am Erdgeschoss</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2012/12/neubau-nimmt-gestalt-an/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fehlersuche in CAN Netzwerken</title>
		<link>http://www.microcontrol-blog.net/2012/12/fehlersuche-in-can-netzwerken/</link>
		<comments>http://www.microcontrol-blog.net/2012/12/fehlersuche-in-can-netzwerken/#comments</comments>
		<pubDate>Wed, 19 Dec 2012 10:30:19 +0000</pubDate>
		<dc:creator>Torsten Krahl</dc:creator>
				<category><![CDATA[CAN]]></category>
		<category><![CDATA[Fachbeiträge]]></category>
		<category><![CDATA[CAN Netzwerk]]></category>
		<category><![CDATA[Fehlersuche]]></category>
		<category><![CDATA[Terminierung]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=309</guid>
		<description><![CDATA[Im Zusammenhang mit Fehlern in CAN Netzwerken tauchen immer wieder ähnliche Frage- und Problemstellungen auf. Der häufigste Grund für Probleme im CAN Netzwerk ist der fehlerhafte physikalische Aufbau des Netzwerks. Wenn in diesem Umfeld technischer Support geliefert wird, erhalten wir immer eine Reihe von Fehlerbeschreibungen wie folgt: CAN Netzwerk läuft gar nicht Bei einem „hot-plug“ [...]]]></description>
			<content:encoded><![CDATA[<p>Im Zusammenhang mit Fehlern in CAN Netzwerken tauchen immer wieder ähnliche Frage- und Problemstellungen auf. Der häufigste Grund für Probleme im CAN Netzwerk ist der fehlerhafte physikalische Aufbau des Netzwerks.</p>
<p>Wenn in diesem Umfeld technischer Support geliefert wird, erhalten wir immer eine Reihe von Fehlerbeschreibungen wie folgt:</p>
<ul>
<li>CAN Netzwerk läuft gar nicht</li>
<li>Bei einem „hot-plug“ eines neuen Teilnehmers bleibt das CAN Netzwerk stehen</li>
<li>Das CAN Netzwerk läuft, bleibt aber sporadisch stehen (Teilnehmer senden nicht mehr)</li>
<li>Mit Hilfe eines CAN Tools werden Error-Frames im Netzwerk festgestellt</li>
</ul>
<p>Nach unserer Erfahrung gibt es einige (wenige) Hauptfehlerursachen in CAN Netzwerken. Nachdem einfache Tests und Überprüfungen des Netzwerks stattgefunden haben sind mehr als 90% der Probleme behoben. Die aus unserer Erfahrung häufigsten Fehlerursachen sind:</p>
<ul>
<li>Fehlende oder falsche Terminierung</li>
<li>Unterschiedliche Baudraten der Teilnehmer</li>
<li>Falsches CAN Kabel</li>
<li>Bustopologie fehlerhaft</li>
</ul>
<p>In loser Folge werden wir in diesem Blog auf die einzelnen Fehlerursachen, deren Analyse und Behebung eingehen. Nach Abarbeiten dieser Punkte sollten die meisten Fehler behoben sein. Sollten dann immer noch unklare Vorkommnisse vorliegen, sollten Sie sich an unseren fachmännischen Support wenden.</p>
<p>Im ersten Teil starten wir mit der &#8220;Terminierung von CAN Netzwerken&#8221;.</p>
<p><span style="text-decoration: underline;">Fehlende oder falsche Terminierung</span></p>
<p>Mit Terminierung bezeichnet man den reflexionsfreien Abschluss eines Netzwerkes mit dem jeweiligen Wellenwiderstand. Das hört sich jetzt komplizierter an, als es in der Praxis ist. Das CAN Netzwerk muss nur am Anfang und am Ende mit einem Widerstand von 120 Ohm zwischen der CAN-High und der CAN-Low Leitung versehen werden.</p>
<p>Am besten messen Sie den Gleichstromwiderstand mit einem Multimeter im spannungslosen Zustand des Netzwerkes.  Der Messwert sollte ca. 60 Ohm betragen.</p>
<div id="attachment_324" class="wp-caption alignleft" style="width: 489px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_beideitig_richtig.jpg"><img class="size-full wp-image-324  " title="CAN Terminierung beidseitig richtig" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_beideitig_richtig.jpg" alt="CAN Netzwerk richtig terminiert" width="479" height="209" /></a><p class="wp-caption-text">Das CAN Netzwerk ist an beiden Enden mit 120 Ohm richtig terminiert</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Hierbei ist es entscheidend, die Widerstände am physikalischen Ende der Leitungen zu setzen. Im elektrischen Sinne (Gleichstromtechnik) würden Sie den gleichen Effekt erreichen, wenn die beiden Widerstände „irgendwo“ im Netzwerk angebracht werden. Dieser Aufbau ist fehlerhaft und wird in der Praxis nicht zuverlässig funktionieren.</p>
<div id="attachment_328" class="wp-caption alignleft" style="width: 480px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_fehlerhafte_Position.jpg"><img class=" wp-image-328  " title="CAN Terminierung fehlerhafte Position" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_fehlerhafte_Position.jpg" alt="CAN Terminierung falsch, Position" width="470" height="216" /></a><p class="wp-caption-text">Die Terminierung wurde an den falschen Positionen gesetzt</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Ebenso kommt es häufig vor, dass zu viele oder zu wenige Terminierungen verwendet werden. Dieses Fehlerbild kann sehr einfach analysiert werden, indem Sie mit einem Multimeter den Widerstand im spannungslosen Zustand des Netzwerkes messen.</p>
<div id="attachment_333" class="wp-caption alignleft" style="width: 505px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_zu_viele1.jpg"><img class=" wp-image-333 " title="CAN Terminierung zu viele" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_zu_viele1.jpg" alt="Zu viele Terminierungen im CAN Netzwerk" width="495" height="216" /></a><p class="wp-caption-text">Hier wurden zu viele Terminierungen im CAN Netzwerk gesetzt</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Bei zu vielen Terminierungen ergibt sich ein Widerstandswert, der geringer als die erwarteten 60 Ohm ist.</p>
<div id="attachment_336" class="wp-caption alignleft" style="width: 505px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_zu_wenige.jpg"><img class=" wp-image-336 " title="CAN Terminierung zu wenige" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/12/Terminierung_zu_wenige.jpg" alt="Zu wenige Terminierungen im CAN Netzwerk gesetzt " width="495" height="216" /></a><p class="wp-caption-text">Hier wurden zu wenige Terminierungen im CAN Netzwerk gesetzt</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Zu wenige Terminierungen (hier nur eine) ergeben einen Widerstandswert von 120 Ohm. Falls gar keine Terminierung gesetzt wurde, werden nur die Impedanzen der Treiber im spannungslosen Zustand gemessen. Dieser Wert befindet sich im 2-stelligen kOhm-Bereich (z.B. 20..40 kOhm).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2012/12/fehlersuche-in-can-netzwerken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spatenstich zum Firmenneubau</title>
		<link>http://www.microcontrol-blog.net/2012/11/spatenstich-zum-firmenneubau/</link>
		<comments>http://www.microcontrol-blog.net/2012/11/spatenstich-zum-firmenneubau/#comments</comments>
		<pubDate>Fri, 16 Nov 2012 14:00:23 +0000</pubDate>
		<dc:creator>Uwe Koppe</dc:creator>
				<category><![CDATA[Sonstiges]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=297</guid>
		<description><![CDATA[Am 16. November 2012 fand im Beisein des Bürgermeisters der Stadt Troisdorf, Herrn Klaus-Werner Jablonski, und der TROWISTA, vertreten durch Herrn Jürgen Sturm, der symbolische Spatenstich zum Firmenneubau der MicroControl GmbH &#038; Co. KG am Junkersring 23 in Troisdorf statt. Der Erstbezug des neuen repräsentativen Gebäudes ist für Mitte 2013 geplant, mit ca. 600 qm [...]]]></description>
			<content:encoded><![CDATA[<p>Am 16. November 2012 fand im Beisein des Bürgermeisters der Stadt Troisdorf, Herrn Klaus-Werner Jablonski, und der TROWISTA, vertreten durch Herrn Jürgen Sturm, der symbolische Spatenstich zum Firmenneubau der MicroControl GmbH &#038; Co. KG am Junkersring 23 in Troisdorf statt.</p>
<p>Der Erstbezug des neuen repräsentativen Gebäudes ist für Mitte 2013 geplant, mit ca. 600 qm Gebäudefläche verteilt auf zwei Etagen werden die bisherigen Flächen für Entwicklung, Produktion und Vertrieb mehr als verdoppelt.</p>
<p>Mit derzeit 12 Mitarbeitern ist MicroControl ein innovatives Technologie-Unternehmen im Bereich der industriellen Messtechnik. Seit mehr als 15 Jahren erfolgt die Entwicklung und Produktion der hochwertigen Messtechnik hier am Standort Troisdorf.</p>
<p>Die weltweit ansässigen Kunden von MicroControl gehören in ihren jeweiligen Bereichen zu den Technologieführern und kommen aus den Branchen des Maschinenbaus, der Medizintechnik, der Fahrzeugtechnik und der erneuerbaren Energien.</p>
<p>Ziel der drei Geschäftsführer, Uwe Koppe, Torsten Krahl und Frank Wielpütz ist die weitere Expansion des Unternehmens in den nächsten Jahren. Hierzu gehört natürlich auch die Schaffung neuer, qualifizierter Arbeitsplätze. Mit der Investition in den Standort Troisdorf unterstreicht die Firma ihre Verbundenheit mit der Stadt sowie das Bekenntnis zu der Produktion „Made in Germany“.<br />
<a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/11/Junkersring_Spatenstich_2012_11_15.jpg"><img src="http://www.microcontrol-blog.net/wp-content/uploads/2012/11/Junkersring_Spatenstich_2012_11_15.jpg" alt="Spatenstich Firmengebäude Junkersring" title="Junkersring_Spatenstich_2012_11_15" width="850" height="567" class="alignleft size-full wp-image-300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2012/11/spatenstich-zum-firmenneubau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipps zum CANopen Network Management (NMT)</title>
		<link>http://www.microcontrol-blog.net/2012/10/tipps-zum-canopen-network-management-nmt/</link>
		<comments>http://www.microcontrol-blog.net/2012/10/tipps-zum-canopen-network-management-nmt/#comments</comments>
		<pubDate>Sun, 21 Oct 2012 09:00:53 +0000</pubDate>
		<dc:creator>Uwe Koppe</dc:creator>
				<category><![CDATA[CAN]]></category>
		<category><![CDATA[CANopen]]></category>
		<category><![CDATA[Fachbeiträge]]></category>
		<category><![CDATA[Produkte]]></category>
		<category><![CDATA[Heartbeat]]></category>
		<category><![CDATA[Network Management]]></category>
		<category><![CDATA[NMT]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.net/?p=230</guid>
		<description><![CDATA[In einem CANopen Netzwerk existiert immer ein Teilnehmer, der das Netzwerk-Management übernimmt, der sogenannte NMT Master. Der NMT Master kann den Zustand der anderen Teilnehmer im Netz (diese nennt man NMT Slaves) verändern. Für diesen Zweck wird eine CAN-Nachricht mit der höchst möglichen Priorität verwendet, d.h. der CAN-Identifier hat den Wert &#8220;0&#8243;. Die CANopen NMT [...]]]></description>
			<content:encoded><![CDATA[<p>In einem CANopen Netzwerk existiert immer ein Teilnehmer, der das Netzwerk-Management übernimmt, der sogenannte <strong>NMT Master</strong>. Der NMT Master kann den Zustand der anderen Teilnehmer im Netz (diese nennt man <strong>NMT Slaves</strong>) verändern. Für diesen Zweck wird eine CAN-Nachricht mit der höchst möglichen Priorität verwendet, d.h. der CAN-Identifier hat den Wert &#8220;0&#8243;.</p>
<div id="attachment_247" class="wp-caption alignright" style="width: 310px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/09/nmt_state_machine.png"><img class="size-medium wp-image-247" title="CANopen NMT Slave State Machine" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/09/nmt_state_machine-300x255.png" alt="" width="300" height="255" /></a><p class="wp-caption-text">Bild 1: NMT State Machine</p></div>
<p>Die CANopen NMT Slave Geräte können die folgenden Zustände annehmen:</p>
<ul>
<li>Initialisierung</li>
<li>Pre-Operational</li>
<li>Operational</li>
<li>Stopped</li>
</ul>
<p>Nach dem Einschalten oder einem Reset durchläuft jedes Slave Gerät den Zustand <strong>Initialisierung</strong> und sendet mit Eintreten in den Zustand <strong>Pre-Operational</strong> die Bootup-Nachricht <a href="#Ref1">/1/</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>NMT Zustand überwachen</h3>
<p>Der NMT-Zustand von CANopen Geräten kann durch das Heartbeat-Protokoll überwacht werden. Hierzu wird ein Timer in dem Gerät auf dem Index 1017h parametriert, der bei Ablauf die Aussendung der Heartbeat-Nachricht veranlasst. Die Zeit wird in Milli-Sekunden angegeben. Das folgende Beispiel zeigt die Einstellung des Heartbeat-Timers auf den Wert 1000 ms bei einem Gerät mit der Adresse 127 (7Fh).</p>
<div class="wp-caption alignleft" style="width: 530px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_heartbeat.jpg"><img title="trace_heartbeat" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_heartbeat.jpg" alt="Trace NMT Heartbeat" width="520" height="255" /></a><p class="wp-caption-text">Bild 2: Einstellung Heartbeat</p></div>
<p>&nbsp;</p>
<h3>Wo sind meine Prozessdaten?</h3>
<p>Um von einem CANopen Gerät Prozessdaten in Form von PDO Nachrichten zu erhalten, muss dieses in den Zustand Operational geschaltet werden. Dies erfolgt typischerweise durch den NMT Master, indem eine Botschaft in der folgenden Form versendet wird:<br />
<code><br />
ID DLC Data<br />
000 2 01 03 ; start node with node-ID 3<br />
000 2 01 00 ; start all remote nodes<br />
</code><br />
Der folgende CAN-Trace zeigt den Start eines Teilnehmers mit der Adresse 3 und das ereignis-gesteuerte Senden einer PDO.</p>
<div id="attachment_273" class="wp-caption alignleft" style="width: 530px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_nmt_start.jpg"><img class="size-full wp-image-273" title="trace_nmt_start" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_nmt_start.jpg" alt="NMT Start" width="520" height="250" /></a><p class="wp-caption-text">Bild 3: Start eines Teilnehmers mit der Adresse 3</p></div>
<p>&nbsp;</p>
<h3>Zu schnelle NMT Master</h3>
<p>Durch die Aussendung der Bootup-Nachricht wird die Betriebsbereitschaft des CANopen Teilnehmers signalisiert (siehe Bild 1). Eine Kommunikation mit dem Teilnehmer im Zustand <strong>Initialisierung</strong> ist nicht möglich. Leider ist in letzter Zeit ein Anstieg von Master Implementierungen auf dem Markt zu beobachten, die sich darum wenig kümmern. Das typische Fehlverhalten ist in Bild 4 dargestellt.</p>
<div id="attachment_276" class="wp-caption alignleft" style="width: 530px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_nmt_start_fail.jpg"><img class="size-full wp-image-276" title="trace_nmt_start_fail" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/10/trace_nmt_start_fail.jpg" alt="Zu schnelle SDO Abfrage" width="520" height="250" /></a><p class="wp-caption-text">Bild 4: NMT Master wartet nicht auf Bootup-Nachricht</p></div>
<p>Der NMT Master sendet einen NMT Reset Node Kommando, direkt gefolgt von einem SDO Request. Nachdem dieser Request nicht beantwortet wird und die folgende Bootup-Nachricht einfach ignoriert wird, beginnt der Zyklus erneut. Für den Anwender stellt sich das Problem als &#8220;<em>der CANopen Teilnehmer funktioniert nicht</em>&#8221; dar.</p>
<p>Die NMT Botschaft wird immer von <strong>allen CANopen Geräten</strong> im Netzwerk ausgewertet, unabhängig von Nachrichteninhalt! Bei einer Bitrate von 1 MBit/s beträgt die Länge der Nachricht ca. 65 Mikrosekunden. Diese Zeit hat das CANopen Gerät zur Verfügung, um die Nachricht auszuwerten, bis die nächste Nachricht diesen Typs einläuft. Dies ist nicht bei allen auf dem Markt verfügbaren CANopen Geräten möglich, zumal wenn die Hardware schon etwas älter ist.</p>
<p>Daher müssen sogenannte <strong>NMT Bursts</strong> durch den NMT Master auf jeden Fall vermieden werden. Für diesen Zweck wurde das Objekt 102Ah (NMT Inhibit time) in <a href="#Ref2">/2/</a> definiert, um eine Verzögerung zwischen den CANopen NMT Nachrichten zu gewährleisten. Im <a title="CANopen Master Stack" href="http://www.microcontrol.net/quellcode/canopen/canopen-master-stack.html" target="_blank">CANopen Master Stack</a> kann dies zusätzlich durch die Funktion <em>ComNmtSetInhibit()</em> erreicht werden.</p>
<h3>Automatisch starten</h3>
<p>CANopen Teilnehmer müssen nicht zwingend durch einen NMT Master gestartet werden. Über das optionale Objekt 1F80h (NMT Startup, definiert in <a href="#Ref2">/2/</a>) kann ein Teilnehmer autonom in den Zustand <b>Operational</b> wechseln. Eine Anleitung hierzu findet sich <a href="http://www.microcontrol.net/know-how/canopen.html" title="AN1203" target="_blank">hier</a> in der Application Note <strong>AN1203</strong>.</p>
<h3>Referenzen</h3>
<p><a name="Ref1">/1/</a> CiA 301 V4.2.0 – CANopen application layer and communication profile<br />
<a name="Ref2">/2/</a> CiA 302 DSP V4.1.0 &#8211; CANopen additional application layer functions</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2012/10/tipps-zum-canopen-network-management-nmt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CANpie &#8211; ein CAN Treiber für alle Microcontroller</title>
		<link>http://www.microcontrol-blog.net/2012/06/canpie-can-treiber/</link>
		<comments>http://www.microcontrol-blog.net/2012/06/canpie-can-treiber/#comments</comments>
		<pubDate>Fri, 08 Jun 2012 07:45:36 +0000</pubDate>
		<dc:creator>Uwe Koppe</dc:creator>
				<category><![CDATA[CAN]]></category>
		<category><![CDATA[Fachbeiträge]]></category>
		<category><![CDATA[CANpie]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Treiber]]></category>

		<guid isPermaLink="false">http://www.microcontrol-blog.de/?p=52</guid>
		<description><![CDATA[Die Idee zu einem universellen CAN Treiber für Embedded Anwendungen entstand aus der Situation, dass diverse CAN Higher Layer Protocols (CANopen, SAE J1939, DeviceNet) auf unterschiedlichen Microcontrollern laufen sollten, ohne dabei den Code des Protokollstacks für das jeweile CAN-Interface modifizieren zu müssen. Die Realisierung dieser Idee heißt CANpie, was für CAN Programming Interface Environment steht. Das [...]]]></description>
			<content:encoded><![CDATA[<p>Die Idee zu einem universellen CAN Treiber für Embedded Anwendungen entstand aus der Situation, dass diverse CAN Higher Layer Protocols (CANopen, SAE J1939, DeviceNet) auf unterschiedlichen Microcontrollern laufen sollten, ohne dabei den Code des Protokollstacks für das jeweile CAN-Interface modifizieren zu müssen.</p>
<p>Die Realisierung dieser Idee heißt <a title="CANpie" href="http://www.microcontrol.net/quellcode/can-treiber.html">CANpie</a>, was für <strong><em>CAN Programming Interface Environment </em></strong>steht. Das API des Treibers ist in C geschrieben und ist an die Funktionsweise eines virtuellen CAN Controllers angepasst (siehe Abb. 1).</p>
<div id="attachment_188" class="wp-caption alignright" style="width: 219px"><a href="http://www.microcontrol-blog.net/wp-content/uploads/2012/01/code_canpie_driver.jpg"><img class=" wp-image-188  " title="code_canpie_driver" src="http://www.microcontrol-blog.net/wp-content/uploads/2012/01/code_canpie_driver-299x300.jpg" alt="Struktur CANpie Treiber" width="209" height="210" /></a><p class="wp-caption-text">Abb. 1: Struktur CANpie Treiber</p></div>
<p>Der Treiber unterstützt sowohl den Empfang und das Versenden von CAN-Botschaften über FIFOs als auch die Verwendung von Mailboxen. Insbesondere der Zugriff auf den CAN-Bus über Mailboxen ist die ideale Basis für die Implementierung von CANopen oder DeviceNet Protokollstacks. In Abhängigkeit von den Möglichkeiten des CAN-Controllers ist die Mailbox Funktionalität ohne Laufzeit-Overhead (durch Hardware-Filterung) möglich. Das API unterstützt bis zu 255 CAN Kanäle, was in der Praxis mehr als ausreichend ist sowie den Zugriff auf die Error State Machine des CAN Controllers.</p>
<p>&nbsp;</p>
<p>Die komplette <a href="http://sourceforge.net/projects/canpie/">CANpie Projekt</a> ist auf SourceForge gehostet. Die HTML Dokumentation ist unter <a href="http://canpie.sourceforge.net/">http://canpie.sourceforge.net/</a> aufrufbar.</p>
<p>Das CANpie Projekt ist unter der <strong>LGPL Lizenz</strong> veröffentlicht, was für &#8220;Lesser GNU Public License&#8221; steht. Damit ist es dem Nutzer möglich den Quellcode zu modifizieren und in eigenen kommerziellen Produkten zu verwenden, ohne diese Änderungen zu veröffentlichen. </p>
<p>&nbsp;<br />
Für den Einsatz mit CAN HLPs (CANopen, SAE J1939, DeviceNet) stehen CANpie Treiber für über 40 Microcontroller zur Verfügung, darunter auch für diverse Cortex-M3 Derivate.<br />
&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.microcontrol-blog.net/2012/06/canpie-can-treiber/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
