Question
How to communicate with AD5201 on CN0287 ?
- Enable and pull down P3 output on AD7193 is done
- Send data via SPI to AD5201 (SPI bus shared with AD7193)
- next step should be: Release or pull up P3 output on AD7193, but it is
possible without error?
Answer
Sorry for this confusion on CN0287. I checked this with the designers of CN0287
: the CMD sent to AD7193 can also be sent to the digi-port when the SPI nCS of
the digi-port which is connected to AD7193 GPO.3 is set to low. This would
generate issue during setting digi-port value but this issue could be partly
solved by some additional work in software.
In order to configure digi-port, 1st we need to set GPO.3 to low; Then we need
to write the expected data into digi-port and then set GPO.3 to high hence we
need to write AD7193 GPOCON again but this time the GPO.3 is still low till
this writing operation get worked which means that the Configuration to AD7193
in order to setting GPO.3 would be at least partly accepted by digi-port and
probably change the previous expected configuration of digi-port.
What we want to do is combining the expected data needed to be written into
digi-port and the data in order to set GPO.3 together and do the two
things(writing digi-port, setting AD7193 GPO.3) in one writing operation. See
the AD7193 GPOCON register format shown as below:
AD7193 GPOCON Register format :
AD5201 Data format
In order to set GPO.3, we could not only write 1 to GP3(P3DAT) but also just
writing 0 to GP5(GP32EN) to disable the GPO3&2 and the pin of GPO.3 would be
pulled up by 10k resistor no matter what value it is in bit0 to bit4. So we
could write any value from 0x00~0x1F into digiport and also set GPO.3 of AD7193
to high in one writing operation.
This would allow us to set most of the value to AD5201.
After Setting GPO.3 to high, we could do any other configurations to AD7193,
just remember to keep GPO.3 to high.