PDA

View Full Version : base CAN protocol for the AIM



BMWTouring
06-02-2013, 11:49 AM
I want to translate an analogue signal to CAN so an AIM or Motec datalogger can use the information. Does anyone have the base CAN protocol for me?

Thanks in advance.

Andrew Richards
06-02-2013, 05:39 PM
Base CAN protocol......No such thing. You would want to run the signal to an analogue input on the data logger or into your ecu which then could be picked up via a CAN request or broadcasted on the CAN depending on the protocol. The data logger CAN protocol will be whatever the CAN protocol on your ECU is.

murpia
06-03-2013, 04:45 AM
Hi,

Why can't you connect the analog signal direct to the datalogger? Is it CAN only?

Can you connect the analogue signal to another ECU (e.g. engine or dash) and have that broadcast the signal over CAN?

If you can't do the above, you need to buy (or build and program) a CAN node for your signal. Then you need to configure your logger to receive the CAN signal from the node. That should be possible to do for any datalogger that dares call itself a datalogger...

Regards, Ian

BMWTouring
06-03-2013, 10:47 AM
The ECU from the bike does not have a CAN line. So i thought i would make a CAN line myself on which the datalogger can connect. My interface will interpret analogue input signals and will translate them to CAN messages. Also i can get input from the Diagnostic Connectors (RPM etc..) and enrich the datastream with GPS info. So everything will be present for the datalogger system.

Idea? What do you think ;-)

MarkSchaumburg
06-03-2013, 02:26 PM
From a hardware perspective, CAN is a fairly complicated communication protocol. However, there are lots of microcontrollers and interface chips that will abstract a lot of the complicated parts away for you (I've used the Atmel AT90CAN128 in a lot of our stuff). I would suggest reading the Bosch CAN 2.0 specs.

Once you're to the point of sending/receiving CAN messages its pretty simple, a CAN message consists of a n 11 or 29-bit ID with 0-8 bytes of data. You configure your data logger to look for a specific ID and then tell the logger to translate the bytes of data accordingly.

BMWTouring
06-03-2013, 03:18 PM
CAN is not my problem. The problem is that I have analogue signals, but I would rather pick the signals like RPM, TPS and others from the ECU. If I can translate them to CAN than the vendor dataloggers can pick the message up and I can use their software to analyse the data.

The other option is to build my own logger and write my own software. But I rather connect to devices which are already on the market. Analogue signals I also have to calibrate?!

Andrew Richards
06-03-2013, 08:34 PM
The problem is getting to the point of sending and receiving CAN signals. We need more info on what you are doing. What type of analogue signal are we talking and once again most of these data loggers have analogue inputs already setup which can also help you with the calibration of your sensors and make picking them and setting sample rates a breeze. I am interested that you say your ecu doesn't support CAN but you plan to get data from the diagnostic connector? What is the protocol that this data is coming across? k-line? Either way I don't know of any data loggers that can input CAN and another protocol (such as k-line) so you would be setting up a CAN based data logger to log a single analogue channel. There are many other cheaper products to do the same task and much much simpler.

TiJei
06-03-2013, 11:06 PM
Hi BMW.

My feeling is, that you should retreat one step and clarify what you want from your logging device. There are different Systems on the market which cost between 50 and 200 € per channel.
Further data logging is not just gathering samples. You have to process your data to make the right decisions. Therefore you need a powerful easy to use Software.

So my advice would be:

1: clarify your intention of data logging
(Driver training / performance / health monitoring)

2: consider how to process your data to be able to make the decisions you need
(Timeplots / x-y-plots / frequency distribution)

3: consider where you get your data Form
(Analog / digital / xxx-bus)
Good practice here is not to overcomplicate your signal chain.

4: check several available systems on how they meet your requirements.

5: consider if you are able to deliver a system according to your requirements within the available time

6: make your decision and go for the mix you need

Finally I want to advise that there are differences in the CAN capabilities oft different loggers. To give a qualified answer to your initial question it would be helpful to know something about the components involved.

Cheers

Timo

Techmor_Inc
08-12-2014, 10:49 AM
Techmor, based out of Cornelius North Carolina, offers a high performance, 16-bit 4 channel analog to CAN unit. This unit allows you to connect four 0-5 V sensors to your CAN Bus network. Multiple units can be used on a single bus. Get more info at the link below.

http://www.techmor.com/analog-to-can-module-ac-1-4/

murpia
08-13-2014, 07:06 AM
Wow, expensive...

ilker58
09-16-2014, 10:21 PM
Firstly, you need a can controller ic (i have used mcp2515 http://ww1.microchip.com/downloads/en/DeviceDoc/21801G.pdf) it's connet to canbus pins of microprocessor then you have to take data and giving ID for example your rpm data at 0x221 but dont forget it's not easy :) you have to read some articles and application notes i recommend, you can use basic can algoritm.
basically
1) read datas
2) send datas to buffers
3) giving id
4)Data is sent to the other device
5)read id (other device)
6)if (id== your id)
7)take datas from line :)

it's basic method but in full can mode has crc control(error control ) fifo mod etc..

EricS
09-28-2014, 03:41 AM
We're currently developing our CAN sensor nodes using NXP LPC11C24. It's Cortex-M0 MCU with built-in CAN controller and CAN transceiver all in a single QFP package. Better yet, there are example codes (CAN, ADC, blinky etc) uploaded to LPCOpen that works out of the box; after a bit of tinkering with code, you should be able to send any CAN messages.