Communiceren met CAN

Vergelijkbare documenten
Velbus DIN-rail RS232 & USB interface

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

VMB1USB. USB-interface voor het VELBUS-systeem. Velbus manual VMB1USB edition 1 rev.1.0

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

Besturingspaneel v Raam E-systeem functie omschrijving v109

S88XPressNetLI v1.0. Installatie- en gebruikershandleiding en naslagwerk KDesign Electronics, PCB ontwerp door RoSoft

Montagevoorschriften

Handleiding voor installatie en gebruik van

Morpheus. Gebruikers Handleiding Clifford Electronics Benelux, Lijnden.

Locobuffer Handleiding

Besturing van de Miniatuurwereld RM-U. Gebruik van de Bootloader

TRUST AMI MOUSE WIRELESS 300

Handleiding software USB PIC DEV. BOARD

Installatiehandleiding

Bouwbeschrijving UniSAI

Installatiehandleiding CT-1024/1029 Extended powerful wifi Antenne voorzien van Alfa AWUS036NEH wifi-adapter

TAB XENTA 13c 13,3 TABLET FIRMWARE UPGRADE INSTRUCTIES

Handleiding. MED PLUS software

WBelectronics. Infinity USB Phoenix - Handleiding

MONTAGE EN PRE-PROGRAMMERING ESPA INTERFACE TYPE ESPA.Sei. Hoofdstuk 1 Het aansluitschema... blz 2

A Quick Start Guide: AVR programmeren

Programmering Tiny45 voor de DCC locdecoder

TAB NOBLE 97ic FIRMWARE UPGRADE INSTRUCTIES

CAN-tester Met uitgebreide mogelijkheden

Deze handleiding geeft uitleg over de installatie van hard- en software van HTvision V.O.F.

USB to Serial Cable. CN-104v2. Starthandleiding

Softwarehandleiding voor OSID

TAB XENTA 10ic 10 TABLET FIRMWARE UPGRADE INSTRUCTIES

ES1 Project 1: Microcontrollers

Palmtop - Aqua-Max Servicehandleiding

FORTH op de 80C535 processor met het ATS535 board.

SPRAAK MODULE INT-VG. 1. Eigenschappen. 2. Specificaties

De Windows-installatie - stap voor stap

Handleiding USB-LocoNet-Interface driver Setup

USB NAAR SERIËLE CONVERTER

Inhoudsopgave. SNI handleiding. Inhoudsopgave

NIS Notarieel Informatie Systeem

53451 LokProgrammer. Beknopt overzicht.

Installatiehandleiding Windows XP / Vista / Windows 7

ADRESSEERBARE ZONE UITBREIDING int-adr_nl 05/14

Wireless Utility. Complete handleiding

Nieuw toegevoegd: Uitleg driver (her) installeren nadat Windows 8 en Windows 8.1 automatisch de driver heeft geüpdatet.

Handleiding HCS VB5118

Bestnr TechniSat Installatiehandleiding PCI/PCIe/USB 2.0 producten

DIN-RAIL UITBREIDING int-iors_nl 10/14

dmxdomotica DDC1-IP-RGB Controller. Simplistic Light Domotica in drie stappen:

Midi PDF Bladmuziek lezer

Domotica in drie stappen: Systeem omschrijving: DDNET:

CCV Smart (VX VX 820) Installatie instructie ECR-koppeling

De Arduino-microcontroller in de motorvoertuigentechniek (4)

Handleiding HCS VB5248

Intergas Verwarming B.V Wijzigingen voorbehouden.

Handleiding HCS VB5224

Elgas service software. Gebruikshandleiding

Besturing van de Miniatuurwereld TM-H. Gebruik van de Bootloader

Sensor Test Unit TSK40A

De TRUST 2 PORT USB 2.0 PCI CARD werkt niet op MAC.

Gebruiksaanwijzing WTW PC-software

Motormanagement simulatie MegaSquirt Hoofdstuk 3

Seriële bluetooth verbinding ATmega128

Emotron I/O-board 2.0 Optie

IDGetter BDX118 T1121 Manual V

Snel op weg met e.dentifier2

USB NAAR SERIËLE CONVERTER

Batterytester Software Programma (PC) Update firmware Batterytester Versie, juli 2018

Gebruikershandleiding. LCS loader. LC-Products B.V.

Snel aan de slag met de Mini Squirrel datalogger

AP80 Display Controller

2-poort USB naar RS232 RS422 RS485 Seriële Adapter met COM-behoud. StarTech ID: ICUSB

Xilinx JTAG Programmer

KNX INTEGRATIE MODULE int-knx-2_nl 03/15

Aanvullende gebruiksaanwijzing Chicago 390 USB Deze aanvullende gebruiksaanwijzing hoort bij de gebruiksaanwijzing van de Chicago 390 USB.

Priva Blue ID Network scanner / Syslog Tool

Hoofdstuk 1 Aansluitschema... blz 2. Hoofdstuk 2 Het inbedrijfstellen... blz 3

H A N D L E I D I N G D A Z A T O O L S - O N T V A N G E R

PIC Callgever Door PA1RUM

USB Buitenantenne. Installatie Handleiding. Versie 1.1

SI-Profinet. Unidrive M200-M400 en Siemens S PLC (TIA portal)

M Tracer A1. Versie 0.4 juni 2011

PM32. Besturing van de Miniatuurwereld. Gebruik van de Bootloader. PM32 Bootloader VPEB Besturing Miniatuurwereld

Besturing van de Miniatuurwereld PM32. Gebruik van de Bootloader

1. Inleiding. 1. Inleiding Installatieprocedure De installatie van LisCAD Licentieprocedure...

EnVivo EZ Converter. Gebruikershandleiding

Gebruiksaanwijzing AVR910 USB Programmer

SMP INGENIA X1 5.3 SMARTPHONE FIRMWARE UPGRADE INSTRUCTIES

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Handleiding Remote Engineer Client

Gebruikershandleiding. Draadloze USB video-ontvanger. Model BRD10

Een Simpele RF Ontvanger

IVS-Basic 4.4 IVS-Professional 4.4 IVS-PowerPoint 1.1

Software Netwerkmonitor Wi Safe 2 GEBRUIKERSHANDLEIDING

Installatie & Snelstart Gids iais Wireless(draadloos) AIS Ontvanger en NMEA Server

Het aansluiten van uw Victron op een computer; met VE Bus Quick Configure

Tool Gebruikershandleiding E46 Mods

Op weg naar de nieuwe generatie ActivExpression

Inleiding elektronica Presentatie 1

12.1 Stapsgewijs uw Bluetooth monitoring systeem installeren.

Uw gebruiksaanwijzing. SILVERCREST MD-20

Transcriptie:

Communiceren met CAN Klaus Demlehner Compacte USB- CAN-adapter Ondanks dat het CAN-protocol een serieel protocol is, kan het niet zomaar op (een seriële poort van) een computer worden aangesloten. De hier beschreven allround USB-CAN-adapter is hiervoor een compacte en eenvoudige oplossing. Met de bijbehorende software is alle datacommunicatie te volgen en kunnen bewerkingen als filteren en opslaan in een handomdraai, of beter: klik met de muis, worden uitgevoerd. Het oorspronkelijk voor de automobielsector bedoelde CAN-protocol (Controller Area Network) is inmiddels een dikke 0 jaar oud, maar het wordt nog steeds veelvuldig toegepast. Het door Bosch ontwikkelde protocol is bedoeld om microcontrollers en andere elektronische apparaten met elkaar te kunnen laten communiceren. Het is speciaal ontwikkeld voor gebruik in omgevingen met veel elektromagnetische storingen en maakt daarvoor gebruik van differentiële signaallijnen, waardoor het vooral in de automobielsector zijn toepassingen vindt. Het ontwerp Met de hier gepresenteerde USB- CAN-adapter is communiceren met de CAN-bus zeer eenvoudig. Via een USB-aansluiting die op vrijwel elke pc van tegenwoordig te vinden is, kan de data die op de CAN-bus staat uitgelezen worden. Natuurlijk kan er ook data worden verzonden. De aanbevolen software Tiny-CAN View heeft hiervoor een handige en overzichtelijke gebruikersinterface. Naast de aanbevolen software kan de USB-CAN-adapter ook met andere third party software zoals CANopen Device Monitor en CAN-REport gebruikt worden. Na installatie van de drivers voor de USB-interface-chip van FTDI kan de adapter eenvoudig worden benaderd vanuit Windows- en Linux-besturingssystemen. Een eventuele firmware-update van de microcontroller kan ook gemakkelijk via de USB-aansluiting worden doorgevoerd. Het schema De grootte van het schema (figuur ) weerspiegelt absoluut niet de grootte elektor - /00

Hardware highlights Galvanische scheiding Externe voeding van - V Beveiligingsschakeling voor CAN en externe voeding, speciaal voor automotive toepassingen Hardwarematige zendbuffer met intervaltimer voor CAN-Messages Controle van de microcontroller door een Hardware-Watchdog De firmware van de module kan via de USB-Bus geüpdatet worden Software highlights Dataontvangst in polling- of eventmodus (callbackfunctie) Selectie van ontvangen data door filter Zendbuffer met intervaltimer Log-bestanden opslaan van het uiteindelijke printje. Vooral de microcontroller valt vanwege zijn SMD-behuizing in het echt veel kleiner uit. Verder zijn de verschillende functionele blokken vrij gemakkelijk in het schema te herkennen: bijna elk gedeelte werkt met een IC. De USB-interface is met een USBnaar-serieel converter-chip gerealiseerd (IC). De chip is de welbekende FTRL van FTDI. Deze wordt door de besturingssystemen Windows en Linux prima ondersteund. Extern heeft de FTRL slechts een condensator nodig (C) die voor de stabilisering van de interne voedingsspanning van,v zorgt. De -bit microcontroller van Fujitsu met geïntegreerde CAN-functionaliteit (IC) vormt het hart van de schakeling. Van de controller gebruiken we de L WE- X UBUS D D+ USB D C 0n SMBJV0A C C p p C C T 00n μ BSS J RN.D 0 IO RESET CTS CBUS0 DCD 0 CBUS TXD CBUS IC RXD CBUS DSR CBUS RI FTRL RTS USBDM SSOP DTR USBDP OSCI VOUT OSCO TEST A C 00n k RN.A k k VDD IC RST MR TPS- RST J RN.C RN.B k 0 0 P.0/AD0/TIN P./AD0/TOT P./AD0/SIN P./AD/SOT P./AD/SCK P./AD P./AD P./AD P.0/A/PPG P./A/PPGB P./A/PPGD P./A/PPGF P./A0/IN0 P.0/ALE/IN P./RD/IN P./WR/INT0R P./WRH P./HRQ/OUT P./HAK/OUT P./RDY/IN P./CLK/OUT P.0/AN0 P./AN P./AN/PPG P./AN/PPG P./AN/PPG P./A/IN/ADTG P./AN/PPGA P./AN/PPGC RST P./AN/PPGE MB0FSPFV P0.0/AD00/INT P.0/X0A P0./AD0/INT P./XA P0./AD0/INT0 P./IN/RX P0./AD0/INT P./IN/TX P0./AD0/INT P./SDA0/FRCK0 P0./AD0/INT P./SCL0/FRCK P0./AD0/INT P0./AD0/INT C AVRH A MD0 P.0/AN/SIN P./AN/SOT MD P./AN0/SCK MD P./AN0/TIN P./AN/TOT P./AN P./AN IC X0 X AVSS Q 0 0 0 0 C C0 C C C μ 00n 00n 00n 00n LD groen LD rood LD geel LD geel RN x k R 0k R k VREF CANL IC RXD TXD PCACT RS CANH 0Ω R J X SUB D C MHz C C p p 00n 00 - Figuur. Het schema is stukken groter dan de print. Duidelijk te zien is dat de microcontroller van Fujitsu (IC) het hoofdonderdeel is in deze schakeling. /00 - elektor

-polige sub-d steker Pen Signaal Beschrijving - gereserveerd CAN-L CAN bus signal low CAN- CAN-massa - gereserveerd CAN-Shield niet aangesloten optionele CAN-massa CAN-H CAN bus signal high - gereserveerd CAN-V + niet aangesloten 00 - Figuur. Hier is de penbezetting van de -polige SUB-D steker voor aansluiting op de CAN-bus getoond. seriële interface en de CAN-functionaliteit, maar de controller heeft ook nog de beschikking over een -kanaals 0-bit A/D-converter. Van deze laatste wordt in deze schakeling echter geen gebruik gemaakt. Om de status van de USB-CAN-adapter aan te duiden, zijn er vier LED s (LD... LD) op de controller aangesloten. Met behulp van tabel is daarmee de status van de adapter af te lezen. pikt worden door de USB-kabel buiten de deur worden gehouden. Daarbij beschermen ze ook IC. Wanneer de programmeerjumper J niet geplaatst is, ligt pen (MD0) via RNC aan de voedingsspanning en pen aan massa. De controller bevindt zich nu in de RUN-modus. Wanneer de programmeerjumper geplaatst wordt, komt pen (MD0) aan massa te liggen. Transistor T geleidt nu en levert een hoge spanning op pen (MD). De controller bevindt zich nu in programmeermodus. Onderdelenlijst: Weerstanden R = 0k R = k R = 0 Ω RN = weerstandsarray x k RN = weerstandsarray x k Condensatoren: C = 0n C,C, C0...C = 00n C,C = µ C,C = p C,C = p Halfgeleiders: D = SMBJV0A IC = FTRL De microcontroller (IC) kan via de USB-interface geprogrammeerd worden. D is hierbij ingezet als overspanningsbeveiliging. C, L, C en C zorgen ervoor dat HF-storingen die opgebus niet kan blokkeren. R dient voor slope control ; deze functie is echter niet geactiveerd. Door het plaatsen van J wordt de CAN-bus met R (0Ω) afgesloten. C, C, C, C0, C, C en C zijn ontstoorcondensatoren. In figuur is de lay-out van de CAN-connector weergegeven. Figuur toont de componentenopstelling. Software IC = TPS- IC = MB0FSPFV IC = PCACT LD = LED mm, low power, groen LD = LED mm, low power, rood LD,LD = LED mm, low power, geel T = BSS Diversen: Kristal Q = MHz L = WE- SMD ferriet (Würth) X = USB.0 inbouwconnector type B X = -polige Sub-D steker J,J = -polige header J = -polige header Bouwpakket bestaande uit print met voorgemonteerde SMD s en alle overige onderdelen EPS 00- verkrijgbaar via www. elektor.nl Tabel. LED-statusaanduiding LED Beschrijving LD LD uit aan De firmware van de module wordt gestart. aan Module bedrijfsklaar, geen communicatie met de pc flikkert Verbinding met pc opgebouwd knippert CAN-bus status is Error Warning, de FIFO-buffer voor ontvangst is vol aan CAN-bus status is BusOff LD LD knippert/aan CAN-bus bericht succesvol ontvangen knippert/aan CAN-bus bericht succesvol verzonden Figuur. De componentenopstelling van boven gezien. De afmetingen van de print geven een indruk van de compactheid van dit project. IC is een reset-controller, die samen met jumper J een externe reset-schakeling voor de microcontroller vormt. Net als bij alle CAN-schakelingen is er bij dit project een CAN-transceiver nodig. In ons geval is dit IC, een PCAC, die voldoet aan de ISO- standaard. Dit IC doet voor deze schakeling wat een MAX voor de pc doet: het zet de V-CAN-signalen om naar TTL-niveau en andersom. Verder zorgt R ervoor dat de microcontroller bij de initialisatie de CAN- Het monitorprogramma Tiny-CAN View is gebaseerd op de GTK+ bibliotheek. Op een Windowssysteem moet deze bibliotheek eerst geïnstalleerd worden. Wanneer Tiny-CAN View voor het eerst gestart wordt, waarschuwt het programma dat het nog geen configuratiebestand geladen heeft. Na een klik op OK moeten dus als eerste de instellingen worden bepaald. In het hoofdvenster (zie figuur ) is alle informatie in één blik te overzien. In worden de ontvangen berichten getoond. Hiervoor moet de trace elektor - /00

opname wel gestart zijn. In worden de gefilterde berichten getoond, toont de macro-lijst en de zendlijst. Een macro is in dit geval een opgeslagen CAN-bericht, dat zo heel snel en eenvoudig verzonden kan worden. Macro s zijn eenvoudig aan te maken via het menu macro. De zendlijst kan overigens naar behoeven met meerdere regels worden uitgebreid via het setup-menu (Options -> Setup, tabblad transmit). Ook het filteren van berichten kan via het submenu Filter worden ingesteld en aangepast. Berichten kunnen op drie verschillende manieren worden gefilterd: single: een CAN-bericht met een bepaalde Id wordt gefilterd uit de datastroom. range: berichten met een Id tussen twee in te stellen waarden ( Id start en Id stop ) worden apart genomen. masked: het Id wordt gefilterd via een masker. Alleen de bits die in het maskerveld op gezet zijn (zie figuur ), worden vergeleken. De waarde van de andere bits in de ontvangen data doet er niet toe. In de zendlijst kunnen de waarden voor CAN Id en data op verschillende manieren worden weergegeven. Met een prefix wordt aangegeven wat de notatie is; x staat voor hexadecimaal, d staat voor decimaal, b voor binair en c voor ASCII. Om te wisselen tussen de weergave klikt u met de muis op de prefix. Aan de slag Figuur. In het hoofdvenster van de software zijn de gegevens overzichtelijk af te lezen. De module wordt geleverd met alle SMD-componenten reeds gemonteerd. Alleen de through hole onderdelen moeten nog gesoldeerd worden (figuur ). Met de USB-connector gemonteerd, kan de controller geprogrammeerd worden. Allereerst moeten hiervoor de drivers voor de FTDI-chip (USBinterface) geïnstalleerd worden. Hierbij mag de module NIET aangesloten zijn op de USB-poort. De meest actuele driver kan van de website van FTDI [] worden gedownload. Ten tijde van schrijven is dat versie.r voor Linux en versie.0.0 voor Windows, waarvan ook een setup executable met de naam CDM.0.0.exe te downloaden is. Om de microcontroller te kunnen programmeren, dient de programmeerjumper J geplaatst te worden. Pas daarna kan de USB-kabel worden aangesloten (Let op: J NIET opsteken of verwijderen als de USB-kabel verbonden is!). De computer zal nu nieuwe hardware detecteren (Windows) en deze aanduiden als USB seriële poort. Download de software 00- van de Elektor-website en pak het.zipbestand uit. Open nu het programma TCanFirst in de map.../tiny-can/fu_ down/tcanfirst. Dit programmeert de Flash-Bios van de module. Verbreek na de terugmelding dat het flashen gelukt is de USB-verbinding en verwijder hierna de programmeerjumper (J). Figuur. In het filter setup venster zijn de filterparameters eenvoudig in te stellen. Figuur. De module is werkelijk zeer compact en netjes opgebouwd. De status-led s geven direct de huidige werktoestand weer. /00 - elektor

Na opnieuw verbinden van de USBstekker licht de rode LED op. We kunnen nu de eigenlijke firmware programmeren. Start hiervoor het programma TCanProg in de map../tiny-can/fu_ down/tcanprog. Wanneer de groene LED oplicht, is alles goed verlopen. Bij een firmware-update hoeft u alleen de laatste handeling (TCanProg runnen) uit te voeren. Nu kan het CAN-monitor programma gestart worden. Tiny-CAN View is een CAN monitor programma voor Windows én Linux. Het is te downloaden van de Elektorwebsite via de link op de projectpagina die bij dit artikel hoort. Het programma is een GNU Open Source project en is ontwikkeld in C met MinGW/Gtk+ en maakt zoals gezegd gebruik van de GTK+ bibliotheek. Deze kan gedownload worden van []. Kies de Development Environment Revision en installeer de bibliotheek. Tiny-CAN View maakt automatisch verbinding met de USB-CAN-adapter wanneer als driver mhstcan.dll gekozen is. In het tabje CAN in het setupmenu kunt u de overdrachtssnelheid instellen. De overige tabs hoeft u voor een eerste try-out niet te controleren en kunt u overslaan. Het programma kan zoals gezegd gebruik maken van filters om de datastroom overzichtelijk te houden. Ook kan de ontvangen data in een file worden opgeslagen en kunnen CAN-berichten worden verzonden. Ondersteuning voor Standaard (-bit ID s) en Extended Frames (-bit ID s) is ingebouwd. Alle benodigde links en programma s staan verzameld op de bij dit artikel horende projectpagina op Elektor-website. Vanuit daar kunt u gemakkelijk aan alle software en drivers komen. De print lay-out van de schakeling kunt u daar ook vinden. Voor wie de SMD-behuizing van de microcontroller te klein is: de module is ook als bouwpakket verkrijgbaar via www.elektor.nl. Dit pakket bestaat uit een print waarop de SMD-onderdelen reeds gemonteerd zijn. U hoeft dan alleen nog de through-hole componenten te monteren. Weblinks: [] www.ftdichip.com [] http://gladewin.sourceforge.net [] www.mhs-elektronik.de/tiny-can (00) Projecten met CAN: Domotica http://caraca.sourceforge.net CARA- CA staat voor CAN Remote Automation en Control met de AVR. CARACA is een home-automation project dat gebaseerd is op een netwerk van onderling gekoppelde programmeerbare circuits. Deze circuits kunnen verschillende handelingen verrichten, zoals apparaten in/uitschakelen, opdrachten van een IR-afstandsbediening decoderen, thermostaten controleren, enzovoorts. Elk knooppunt van het netwerk kan met elk ander knooppunt communiceren via het robuuste CAN-protocol en de status kan worden bijgehouden op een pc, die ook nog eens op internet aangesloten kan worden. Toyota Prius www.eaa-phev.org/wiki/prius_phev_user_interfaces -Op deze pagina worden mogelijkheden besproken voor het aanpassen van de gebruikersinterface en de State Of Change management mogelijkheden van de Toyota Prius. Een dergelijk apparaat zou dezelfde logische signalen aan moeten kunnen als de Prius PHEV Pseudo Code. Satelliet http://can-do.moraco.info - CAN-Do! is een microcontroller (widget) die ontworpen is om dienst te doen als interface naar het bedradingsnetwerk van een satelliet en via dit netwerk toegang te bieden tot de geïntegreerde Housekeeping unit die de verschillende satelliet-subsystemen overziet en beheert. De primaire doelen zijn het terugbrengen van de benodigde hoeveelheid bekabeling en het vergemakkelijken van integratie in een ruimteschip. Temperatuurbeheer www.ece.usu.edu/experiences/0_projects/zone_heating_system_sp0/index.htm - Hier wordt een door studenten ontwikkeld systeem uiteengezet dat de temperatuur van verschillende kamers in een huis beheert. Via een computerapplicatie kan de gebruiker de temperatuur van verschillende zones instellen en de huidige status bekijken. Een aparte controller houdt de status van elke zone bij en schakelt de verwarming of airconditioning in. De hoofd-controller communiceert via een CAN-bus met de zone-controllers, die de kleppen voor de verwarming besturen en hun huidige gemeten temperatuur naar de hoofdcontroller sturen. De pc en de hoofdcontroller communiceren via een seriële verbinding. 0 elektor - /00