The Netduino forums have been replaced by new forums at community.wildernesslabs.co.
This site has been preserved for archival purposes only
and the ability to make new accounts or posts has been turned off.
There have been 5 items by Yemi
(Search limited from 16-November 18)
I've recorded the signal with bus pirate, and if I counted it right, clock has 400kHz frequency, Clock HI time is 1.5us and clock LO is 0.75us (according to what the bus pirate recorded). Gap between words is 3us. Will netduino be able to read it as 3 separate digital signals on interrupt mode or is it too fast? Here is the pic what the signal looks like:
Thank you for the welcome and for a quick and detailed reply!
I've been reading your answer and it seems to me that this will work the other way around then I need it to work.
Netduino is suppose to read those 11 words, not send them. I get a clock, data and load signal from a device and am trying to send them to netduino so it can read them and store in an array(instead of the MSM6775). The problem is that I read in the wiki that netduino is the master and as master it is the one that sends the clock, data and load signal, not receives it.
I was looking at this option for reading the data but I'm not sure if it will work:
"The SPI bus is full-duplex. That means that data is sent simultaneously in both directions. The bus is controlled by the bus master, in this case the Netduino. The slave device cannot send data back unless the master generates the clock pulses. So whenever we want to read data we need to send enough clock pulses to get the data we want out. At the same time as the slave is sending data on its DOUT or MISO line, it is also reading whatever is on its DIN or MOSI line, even if this is 0xFF (all ones) or 0x00 (all zeros). So you cannot read without writing to the slave at the same time. That is why there is no SPI.Read() function."
As far as I understood it, if netduino sends 11 byts of clock pulses same frequency as the device has, it will read 11 words back, but the chances that timing of netduino reading the data and device sending it at the same time are probably close to none.
I found another idea in this project that is similar to what I'm trying to do: http://www.overkills...s.com/id14.html, with difference that I won't be displaying the data on another segment display. That's why I need that data in the netduino and I'll process it in another way later on.
At the end of the page it is explained how to trick the chip into reading data as SPI with false LOAD signal every 8 bits, but this would need netduino to work as SPI slave to read it and I know it's not that easy to do.
First of all sorry if the terms in the post won't be technically correct, english is not my main language, but I'll try my best.
I'm working on a project and came to a point where I need to read data from the device, and I'd like to have that data in the array so I can work with that data programmatically in Netduino to continue the project.
The device I have sends data over 3 pins: CLOCK, DATA and LOAD (it is meant to be read by OKI Semiconductor MSM6775 if it's any help). The data format is something like SPI but with one difference - the DATA is in 8 bit words but LOAD signal is every 11 words. Complete data frame consist of 4 packets of these 11 words (ends with 4th LOAD signal and then it's aprox 31,4ms gap between new data frame). So I'm looking for a way to have that data frame in an array of 352 elements (4*11*8).
And this is where I'm stuck. Is it possible to do this with Netduino? How can I trick it into reading this as SPI when Netduino works as SPI master? Is there a way to send "false" load signal every 8 bits?