📄 install.t2
字号:
++or using a not supported hardware..LP--Starten sie nun++Please start.CW can_send--zum Versenden einer Nachricht mit 8 Datenbyte mit dem Dateninhalt 0x55:++to send a CAN message with 8 data byte with the contents of 0x55:.LS$ can_send -D can0 0x555 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55.LE--Nach Ausf黨ren des Kommandos++After execution of.CW can_send--sollte auf dem CAN Bus eine Nachricht erscheinen.--Ist der Bus nicht mit einer CAN Gegenstelle abgeschlossen,--versucht der CAN Controller diese Message immer wieder abzusetzen,--da er kein Acknowledge bekommt.++there should be a CAN message on the bus.++When the bus is not connected with a receiving device++the CAN controller will continue to send the message++because it doesn磘 receive an acknowledge.--Dies ist sehr gut mit einem Oszillographen zu beobachten.--Durch den gew鋒lten Identifier und das Muster der Datenbytes,--sollte sehr einfach der k黵zeste Signalwechsel erkennbar--und ausmessbar sein.--Bei 125 kBit/s betr鋑t die Zeit f黵 den k黵zesten Signalwechsel 8 祍.++This behaviour is easy to trace with an oscilloscope.++The chosen CAN identifier and the pattern of the data++is quite easy to recognise and to measure.++With a baud rate of 125 kBit/s the measurement of the++shortest signal change should be 8 祍..LP--Setzen sie den Debuglevel des Treibers zur點k:++Reset the debug level of the driver:.LS\&./debug 0.LE.NH--Eintr鋑e in++Entries in /proc/sys/Can.LP--Siehe dazu auch die Beispiele in den Konfigurationsdateien++Please see also the example in the configuration files.I etc/*.conf ..TSl | c | l.--Eintrag pro Kanal Bedeutung++Entry per channel meaning_AccCode * CAN Controller Acceptance Code RegisterAccMask * CAN Controller Acceptance Maske--Base * CAN Controller Adresse++Base * CAN Controller Address--Baud * Bitrate in kBit/s--IOModel Ein Buchstabe pro Kanal f黵 IO-Model++IOModel One letter per channel for the IO-Model--IRQ * IRQ Nummer++IRQ * IRQ NumberOutc * Output Control Register--Overrun * Overrun Flag des Kanals++Overrun * Overrun Flag of the channel--RxErr * Anzahl der Rx Fehler++RxErr * number of Rx errors--Timeout * Timeout Wert++Timeout * Timeout value--TxErr * Anzahl der TX Fehler++TxErr * Number of TX errors--dbgMask globaler DebugLevel++dbgMask global debug level--version Versionsstring++version versions string--Chipset vom Treiber unterst黷zter CAN controller++Chipset CAN controller supported by the driver.TE.LP--F黵 die CAN Bitraten ++The values for the bit timing registers of the CAN controller++for the bit-rates10,20,40,50,125,250,500,800 --und++and1000 kBit/s--werden die Werte f黵 die Bit-Timing Register--des CAN Controllers--aus internen Tabellen geladen.++are taken from internal tables.--Diese Tabellen gelten jedoch nur f黵 eine Takt\%versorgung des --CAN Controllers mit 8 MHz (externer 16 MHz Quartz).--Bei abweichenden Werten--wird der Inhalt der Bit-Timing Register wie folgt berechnet:++These tables are only valid ++if the clock cycle of the CAN controller++is 8 MHz (external 16 MHz quartz).++When using a different clock cycle++the bit timing registers are calculated as follows:.LSBTR0 = (Baud >> 8) && 0xFFBTR1 = Baud && 0xFF.LE--Beispiel f黵 die Einstellung von 125 kBit/s f黵 einen SJA1000 --Controller mit einer Taktfrequenz von 10 MHz (20MHz),--16 Quanten und einem Abtastpunkt (Sampling Point) bei 87.5%:++Example for setting the bit rate to 125 kBit/s for a++SJA1000 with a clock cycle of 10 MHz (20MHz),++16 time quanta and the sampling point at 87.5%.LS--Berechnete Werte f黵 die Bit-Timing Register: ++Calculated values for the bit timing register: BTR0 = 0x04 BTR1 = 0x1c.LE.LS--Daraus folgt:++From this it follows that: Baud = (0x04 << 8) + 0x1c = 0x041c = 1052 .LE.LP--Die Internet-Seite++The sitehttp://www.port.de/deutsch/canprod/sv_req_form.html--bietet ein Formular--zur Berechnung der Werte f黵 die Bit-Timing Register.++provides a input form for bit timing calculation++of the bit timing register..LP.IP dbgMask--globaler DebugLevel++global debug level.br--Standard 0 - keine Debugausgaben;++default 0 - no debug messages.br--Jedes Bit dieser Maske hat eine bestimmte Bedeutung:++every bit of this mask has a specified meaning..TSl l.--Bit Bedeutung++Bit meaning_0 Flag for setting all options=on1 log function entries2 log function exits3 log branches4 log data given to functions5 log interrupts6 log register info7 reserved.TE.IP Outc--Das Output Control Register beim++The output control register of thePhilips 82C200/SJA1000.NHDIL-NET-PC TRM/816 Hardware by SSV embedded Systems.LP++The code was provided by--Der Kode wurde von .MTO geggus@iitb.fraunhofer.de "Sven Geggus" .++Please read his++.I README.trm816++and the++.I trm816/README .--bereitgestellt.--Bitte lesen Sie dazu --.I README.trm816--und auch--.I trm816/README ..NHPC104 board PC104-200 from ESD.LP.B can4linux was modifiedand extended to support the.URL http://www.esd-electronics.com/ "esd"elctronic system design GmbHPC/104-CAN Cardby.MTO tchouto@fokus.fraunhofer.de "Jean-Jacques Tchouto" . .NHEmbedded controllers with internal CAN.LPThese need cross compilation.Since 3.5.3 the Makefile concept has changed.There is a global Makefile, called Makefile-standard and some specific target Makefiles called Makefile-target.A shell script can be used to switch between..CDS./target mmc.CDECalling ./target without arguments will tell you more.Settings for the cross compilation and location of kernel source filesare handled via shell environment variables defined in fileslike cross-target.After setting your specific values,simply source these files into your shell environmentand call make..NH 2ATMEL AT91SAM9263.NH 2ATMEL AT919260 with external SJA1000.NH 2ATMEL AT91 wit MCP2515 via SPI.NH 2Freescale MCF5282.LP.NH--Vorgehen im Fehlerfall++In the case of ....LP--Bei allen Fehlfunktionen des Treibers,--z.B.++In the case of any malfunction of the driver, e.g..B open ()returnsEINVAL - invalid argument -,++set the debugmask.B dbgMask++to a higher level, and watch the system log at--Einschalten und.I /var/log/messages--ansehen..NHConfiguring the driver.LPSome configuration parameters of the driver,like bit rate, are accesible via the /proc/sys/Can/* entries. Since version 3.5.3 the location is /proc/sys/dev/Can/*.To view the entries one can do.CDS$ cat /proc/sys/dev/Can/Baud125 125 125 250.CDEor to see all values.CDS/sbin/sysctl dev.Can.CDEand set values.CDS$ echo '250 250 500 125' > /proc/sys/dev/Can/Baud$ cat /proc/sys/dev/Can/Baud250 250 500 125.CDELinux has special commands to handle these .CDS$ /sbin/sysctl dev.Can.versiondev.Can.version = 3.4_CPC_PCI.CDEAnd values can be set using.CDS$ sudo /sbin/sysctl -w dev.Can.dbgMask=7dev.Can.dbgMask = 7.CDEThe changes you make do not apply across a reboot.In order for them to persist, you need to either:.ULS.LICreate a new startup script in an appropriate /etc/rc#.d directorywhich runs the cat or sysctl commands, or.LIPut "variable=value" lines into /etc/sysctl.conf.These lines are just like sysctl commands,without the 'sysctl' keyword or '-w' flag.For example:.CDSdev.Can.Baud = '125 125 125'.CDE.ULE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -