Hi
We are using HDQ I/O to communicate with our battery. What we noticed is the IMX sometimes reads a lot of bad values from the battery informing wrong capacity and temperature which makes our device to power down.
We are using HDQ I/O, in other words, using a GPIO, and when we have WiFi ON, the performance is significantly worst, in other words, the incidence of wrongs readings is higher.
I was taking a look in the driver, and the implementation has a bunch of microsecond delays. Is this an issue because Linux is not RTOS and we cannot guarantee the performance of GPIOs ? I was thinking the microdelays which has dependencies of jiffies, actually might be impacted when the power govern is changed (interactive, conservative, etc).
Please let me know what you guys think, and of course, thank you very much!
Igor
Thanks... Actually I discovered the problem. The driver was using gpio configuration function calls all the time instead the simple gpio set and read calls.
With the change I had a much clear hw signal and an optimal performance. I also changed some timing for HDQ.
Thanks!
Manoel
Hi Manoel
errors may be caused by noise so one can check signals
with oscilloscope. From software point of view one can try to
run code on separate core if this is multicore processor.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------