Post Go back to editing

Reading issue with AD7762

Category: Software
Product Number: AD7762BSVZ
Hello,
 
I am working on communicating with AD7762BSVZ adc. I am finding it difficult to read the data from the IC.
 
To start with, I write gain value 0x8000 using the following step.
1. RDWR->High
2. CS->Low
3. Set port to 0x0004            // Gain register address
4. CS->High
5. Wait for 500ns
6. CS->Low
7. Set port to 0x8000            // Data to Gain register
8. Wait for 10ns
8. CS->High
 
Then, I start the reading process as follows.
1. RDWR->High
2. CS->Low
3. Set port to 0x0001            // Control 1 register address
4. CS->High
5. Wait for 500ns
6. CS->Low
7. Set port to 0x2000            // Data to Control 1 register to read gain register
8. Wait for 10ns
8. CS->High
9. Wait for microseconds
10. RDWR->Low
11. CS->Low
12. Wait for 20ns
13. Read port for data
14. CS->High
15. RDWR->High
 
Practically, I should be reading the exact value which I have set in the first stage but the data read is random. I tried varying the waiting time in ns but no break through. This is the case with all the register. Could you please help me understand where I am going wrong.
 
The crystal used is 40MHz, HCMOS/TTL. I am using arm cortex M7 microcontroller for my application.
 
- Regards,
Hrishikesh