Please explain the c code generated with quick eval software. I am trying to upload c code on my PCB, but i am unable to do it, whereas i am able to upload DC590B on the PCB.
The C-code generated by the TestBench GUI is directly compatible with the Linduino or other Arduino UNO compatible boards. While it is largely ANSI-C compatible, you will need to modify the SPI routines for use with a different processor.
If you are using an Arduino compatible platform, you should be able to load it using the Arduino IDE.
okay thanks, while i have succesfully uploaded the code using arduino Uno board and i am also able to run the quick eval software using arduino uno, but i am unable to upload code using standalone atmega 328p processor on breadboard or on my custom pcb.Please find the attachment of my schematic for the designed pcb for your reference.
It's outside the scope of EngineerZone support, but I'm thinking you may be missing the Arduino bootloader on your custom PCB. Without the bootloader you'll need to flash the program directly via AVR ISP to the part which the Arduino IDE doesn't know how to do.
See this page for some info, particularly the bottom about burning a bootloader into your ATmega - there are other resources on this elsewhere (try searching for DIY Arduino, burning bootloader, flashing Arduino, AVRISP, etc.):Arduino - Setting up an Arduino on a breadboard
Hope this helps,
Logan thanks for your kind response, your suggestions and guidance have been of great help.
Further regarding the custom PCB, i want to tell you that i have burnt the bootloader on my custom PCB and i am also able to upload basic programs such as blink and analog read etc. I am facing problem in uploading C codes like those generated from quick eval software, i guess is there any problem in communication of LTC 2984 IC and atmega 328p. Please can you once take a look on my schematic that i have uploaded above.
Also i am able to run the quickeval software through arduino uno on the LTC board, but i am unable to run it through my PCB.
Else please explain me what are the important connections apart from SPI and I2c to the atmega controller that should be done in order to run the quick eval and also uploading C code through arduino IDE
Other connections like interrupt and reset are those important?
@tshivam - you will definitely need RESET pulled high - it is active low and there is no internal pull-up. A 10k resistor to VCC should work well.
interrupt is not needed, it can be helpful to know when a conversion has finished so you can read the results back but the demo code polls the command status register to determine this.
Don't worry about the I2C and the EEPROM - that is used on the demo board to identify the board to QuikEval and launch the correct demo GUI. In your case the EEPROM codes don't make sense as it's your custom board. You will need to comment out or remove the line in the demo code that interrogates the EEPROM - else the code will hang waiting for a response.
// comment out this line for custom boards so the code doesn't look for a value in an EEPROM
Can i make direct SPI connections from LTC 2984 IC to atmega 328P, is it okay if i donot include the other circuitry like that used in linduino buffer for example resistors, UHS buffer (NC7WZ125) & comparator (LT1719).
After connecting the reset pin of LTC 2984 IC with a pull up resistor, still i am unable to upload the code.
I am able to upload code through USBasp programmer, but i am unable to upload through arduino ide.
s far as LTC 2984 IC is concerned what are the important connections to be made with atmega 328p controller apart from 20 channels, Reset and SPI. In SPI is it necessary to include the extra circuitry in between the 2 ICs such as UHS buffer & comparator.
Reset and SPI should be all you need. Make sure that you change the pin definition for chip select to match your schematic.
This line: #define CHIP_SELECT QUIKEVAL_CS // Chip select pin
can be changed to
#define CHIP_SELECT 10
where 9, or 10 or whatever your chip select pin is on the atmega
I'm not sure why the IDE won't program your board, there are a number of minor things that can go wrong with the bootloader. If you are able to flash code using a programmer you should be able to see print statements and verify that you can write and read-back a channel config for example to verify you are talking to the 2983 correctly.
Okay lets forget the custom PCB. At present i just want to communicate to a LTC 2984 IC on breadboard using Linduino. Please suggest me how i should go ahead.
Retrieving data ...