SPI bit banging; MCP3208; Raspberry;error -


  1. i using raspberry pi 2 board raspbian loaded. need spi bit banging & interface mcp3208.
  2. i have taken code github. written mcp3008(10 bit adc).

  3. only change made in code instead of calling:

    adcvalue = recvbits(12, clkpin, misopin)

i called adcvalue = recvbits(14, clkpin, misopin) since have receive 14 bits of data.

  1. problem: keeps on sending random data ranging 0-10700. though data should max 4095. means not reading data correctly.

  2. i think problem mcp3208 has max freq = 2mhz, in code there no delay between 2 consecutive data read or write. think need add delay of 0.5us whenever need transition clock since operating @ 1mhz.

  3. for small delay reading accurate delays on raspberry pi

excerpt:

...when need accurate short delays in order of microseconds, it’s not best way, combat this, after studying bcm2835 arm peripherals manual , chatting others, i’ve come hybrid solution wiringpi. delays of under 100μs use hardware timer (which appears otherwise unused), , poll in busy-loop, delays of 100μs or more, resort standard nanosleep(2) call.

i found py code simplify reading 3208 raresplescan. https://github.com/raresplescan/daisypi/blob/master/sense/mcp3208/adc_3.py

i had data logger build on pi, using 3008. cots data logger trying replicate had better resolution, started looking 12 bit , found 3208. literally swapped 3008 out 3208 , guys code have achieved better resolution cots data logger.


Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -