I am a student working on a project to read EEG using the 1298. I purchased the development kit and want to use the EVM without the MMBO.
There have been several excellent posts on this topic, but I still cannot read the deviceID to get things going. I am using an Arduino UNO
controller board. Here are the details of my setup:
EVM separated from the MMBO component.
EVM and MMBO were tested together upon receipt, the components work.
EVM powered by at TP10 . Analog ground is on TP8. 3.3V verified across JP24 pins 2-3 which are jumpered.
The power is supplied by the Arduino power rail and puts out 3.3V/125mA across these pins.
J3.3 SCLK connected to Arduino pin 13 SRC
J3.7 CS complement connected to Arduino pin 10 (CS default)
J3.8 RESET connect to Arduino pin 9 (programmed).
J3.11 DIN connected to Arduino pin 11 (MOSI default)
J3.13 DOUT connected to Arduino pin 12 (MISO default)
J.3.15 DRDY connected to Arduino pin 2 (DRDY interupt - programmed)
Programming algorithm (Arduino UNO):
- initialize serial connection to PC, SPI library, begin SPI
- set the in and out pin directions
- set internal registers on the Arduino to create a 2MHz, CPOL = 0, CPhase = 1 (SPI MODE1)
- take CS HIGH, then take RESET LOW, delay 33ms, RESET HIGH ( I know this should be more than enough at 2Mhz)
- take CS LOW, issue 00010001 SDATAC command, then CS HIGH
- take CS LOW, issue SPI 0010000 READREG first byte for DeviceID
- issue SPI 00000001 second byte indicating one Register to read
- issue SPI with dummy variable to receive DEVICE ID.
- Result: receive back only 0, not the DeviceID
The problem is....I cannot see anything on the SPI traces using a logic analyzer. Is there something I am missing regarding the setup of the EVM board with power/ground/other? The other major post on this issue appeared to have the CLKSEL set to one, requiring a hard PWDN in the start sequence. Does it need to be done this way? I assumed that since the clock is coming from the controller board, the default CLKSEL value of 0 would suffice and the hard RESET would be enough to initialize the board. One more small question, many posts refer to an OPCODE for PWDN, but I cannot find one. I assume this would require a pin.
Any help you could give would be greatly appreciated.