cancel
Showing results for 
Search instead for 
Did you mean: 

How to generate the wake-up request pulse (WURQ) with an L6360?

JHutt.1511
Associate II

I simply can't figure out how to generate this pulse with my STEVAL-IOM001V1 board. Even the supplied code (en.stsw-iom001) doesn't make me any wiser.

48 REPLIES 48
MG.1
Associate II

I have the same problem. Has anyone a solution? Or understand how the WURQ works?

JHutt.1511
Associate II

I haven't heard anything from STM, other than some fuzzy messages in the case I created (in nov 2019!).

And as you can see no-one from the community either :-))

MG.1
Associate II

Okay thanks for your response anyway.

TSerr.1
Associate II

The L6360 datasheet is very unclear on the WURQ triggering.

Figure 24. "Device initialization" of the docs, is the only place where the WURQ is mentionned and describes how to trigger it.

We managed to get the WURQ by writing to at least one of the registers of the IC using the I2C interface. In our case, we set the IC to push-pull mode so we write 0xE0 to the "Configuration register" (address 0001), then if the write is successful you need to trigger a read command (which will read the Status & Parity registers). If each operation went well, the IC triggers (without showing any signs) the WURQ pulse on the C/Q line and will allow UART communication with the IO-Link device. On the sensor we have, the green status led blinks cyclicly when in IO-link mode.

The functions to configure the IC through I2C can be found in STSW-IO-LINK in a file called master_settings.c. However, be aware that this software doesn't implement the IO-link protocol but a fake one to allow toy communication with an L6362 device board.

JHutt.1511
Associate II

Thank you so much for your info!

I changed my code accordingly the way you described. Strange that the WURQ isn't even seen on my oscilloscope. I would expect to see a 80 usec pulse on the C/Q-line (figure 21 of the IO-Link spec).

But if it works at your side, I can assume it works on my side too :-). And if the WURQ works, I need to have a deeper look why my raspberry pi won't get an answer on a read of the minCycleTime of a sensor at COM3.

Raghava
Associate II

I am also working on L6360 IO-Link module. In datasheet i didn't find any information about Wakeup sequence or Wakeup pulse. Can any one suggest me to configure and generate WURQ.

JHutt.1511
Associate II

@Raghava / @MG.1​ ​ Did you tried @TSerr.1​ method?

MG.1
Associate II

I tried to read different i2c registers, but I couldn't get any communication or anything on the oscilloscope.

Currently i have a working communication with an ifm level sensor and the eval board connected to a Raspberry Pi 3. 

First the configuration register is set to push pull via i2c, then the pins for L+ and ENL+ are set to high and the serial interface is initialized. After that the program waits about 10ms. Then the ENCQ is set to high for the duration of the MinCycleTime at intervals of approx. 3ms and then to low again after transmission. After the third transmission of the MinCycleTime, the sensor responds with the value 2.3ms, which corresponds to the value for COM2 given in the specification. 

From this time on further data can be requested, e.g. the DeviceID.

TSerr.1
Associate II

@MG.1​  are you able to run your device in OPERATE mode and receive ProcessData correctly with a RPi 3 ?

I spent some time trying, I was able to get the ProcessData for a finite and variable period of time. The problem on my setup is that for a COM2 sensor with a MasterCycleTime of 3.1ms the RPi3 GPIO toggling the ENCQ is not accurate enough and leads to poor signal frequency (even using the lowest level GPIO access e.g. pigpio, bcm2835, etc). The device erratically switches back to STARTUP mode when the cycle is not perfect. Globally, this is I believe due to the fact that RPi3 runs on linux, and the program gets distracted by interrupts.

The solution I found which works perfectly, is to use an ARM such as an arduino or a Nucleo (I chose the Nucleo F446RE that goes with the IOM001 evaluation kit) use it as a master and transmit all the sensor's data to the RPi3 using UART. The timings of the Nucleo are perfect, there are therfore no interruption in the master cycle.