Hello,
I have read the data sheet of the PGA2310.
Nice device. I'd like to daisy chain it but what is not clear to me is ;
when i e.g. daisy chain 3 devices and like to address the last one in the chain, does the first one in the chain block the data if it is not selected by the CS ???? Or just passes it all the data ???
grtz
Simon
I have read the data sheet of the PGA2310.
Nice device. I'd like to daisy chain it but what is not clear to me is ;
when i e.g. daisy chain 3 devices and like to address the last one in the chain, does the first one in the chain block the data if it is not selected by the CS ???? Or just passes it all the data ???
grtz
Simon
Hi Simon.
If you use the SDO pin to connect to the following PGA's SDI then you can tie /CS together. You data is then send like a seriel code with the last PGA in the chain FIRST. Do you follow?
You will then load all the PGA at one time. When you pull the /CS high after the datatransfer.
How is your projects going?
Sonny
If you use the SDO pin to connect to the following PGA's SDI then you can tie /CS together. You data is then send like a seriel code with the last PGA in the chain FIRST. Do you follow?
You will then load all the PGA at one time. When you pull the /CS high after the datatransfer.
How is your projects going?
Sonny
PG2310 Question
But if i wish to control them separatly, but for layout and micro-controller pin save-ing reasons wish to daisy chain them ???
Then i need 3 /CS, do i ???
But if i wish to control them separatly, but for layout and micro-controller pin save-ing reasons wish to daisy chain them ???
Then i need 3 /CS, do i ???
Yes. Five lines total SDI, SCLK and 3 /CS. Tie all the SDI and all the SCLK together. The ones who is disabled (/CS set high) will not react one SDI and SCLK.
I think your code will have the same size, whatever the two ways you use.
Sonny
I think your code will have the same size, whatever the two ways you use.
Sonny
PGA2310 question
What i hoped for is that i still could daisy chain them SDO->SDI and only use the /CS to enable the device if i wished to address them seperatly.
OTOH, this way it is easier. In case of 3 devices in chain you have to send 16 x 3 bits in one go or 16 x 1 bits if you do not chain them, i prefer the last.
The projects are progressing slowly.
I am in the process of making PCB's and in the mean time working on an etch tank.
I bought several membrame pumps which i have to modify.
They contain metal parts which i am replacing by plastic ones, cause i wish to pump the etch fluid.
grtz
Simon
What i hoped for is that i still could daisy chain them SDO->SDI and only use the /CS to enable the device if i wished to address them seperatly.
OTOH, this way it is easier. In case of 3 devices in chain you have to send 16 x 3 bits in one go or 16 x 1 bits if you do not chain them, i prefer the last.
The projects are progressing slowly.
I am in the process of making PCB's and in the mean time working on an etch tank.
I bought several membrame pumps which i have to modify.
They contain metal parts which i am replacing by plastic ones, cause i wish to pump the etch fluid.
grtz
Simon
Hi Simon... Sorry for the delay...
if you wan't to do it this way then..
The PGA data is 16 bit long. If you daisychain them then you have to add 16 more clocks to reach the second before you raise /CS on the second PGA or 32 clocks to reach the third before you raise /CS on the third.
If you use only one /CS then you have to :
1. lower /CS
2. send the data for all three at one time
3. raise /CS
Then you end up using only 3 pins ... SDI,SCLK and /CS. You only have to write straight foreward code. Maybe use a SPI device if you have this on your micro.
If you don't want to do it this way you will end up with : SDI,SCLK and 3 x /CS (PGA1,PGA2,PGA3).
I hope it helps a bit. Maybe i am far off the track??
Sonny
if you wan't to do it this way then..
The PGA data is 16 bit long. If you daisychain them then you have to add 16 more clocks to reach the second before you raise /CS on the second PGA or 32 clocks to reach the third before you raise /CS on the third.
If you use only one /CS then you have to :
1. lower /CS
2. send the data for all three at one time
3. raise /CS
Then you end up using only 3 pins ... SDI,SCLK and /CS. You only have to write straight foreward code. Maybe use a SPI device if you have this on your micro.
If you don't want to do it this way you will end up with : SDI,SCLK and 3 x /CS (PGA1,PGA2,PGA3).
I hope it helps a bit. Maybe i am far off the track??
Sonny
You are not far off, this exactly what i needed.
I was afraid that the PGA2310 was not transparent when passing the data from SDI to SDO and not enabling that device.
I do not have a SPI interface, but i already made emulation 2C code and that works fine.
The only thing that keeps me considering is the fact that i have to shift out 32 bit. that means in my case a, i use a PIC16F84/628, that i need 6 variables !
How is your video / x-fer project ?
grtz
Simon
I was afraid that the PGA2310 was not transparent when passing the data from SDI to SDO and not enabling that device.
I do not have a SPI interface, but i already made emulation 2C code and that works fine.
The only thing that keeps me considering is the fact that i have to shift out 32 bit. that means in my case a, i use a PIC16F84/628, that i need 6 variables !
How is your video / x-fer project ?
grtz
Simon
I was wrong! The SDO gets tristated when /CS is high 🙁
The SPI bus normaly dont do this.
So you have to write them all at once is you daisychain them. Or run them all in parallel then you still only uses 5 pins.
Can you not use only two register and place the other once in DATARAM? I have knowledge in PIC.
Sonny
The SPI bus normaly dont do this.
So you have to write them all at once is you daisychain them. Or run them all in parallel then you still only uses 5 pins.
Can you not use only two register and place the other once in DATARAM? I have knowledge in PIC.
Sonny
Hello!
I'm also playing around with the PGA2310.
I wonder if it is possible to drive it with a balanced insignal. Putting hot on VinR and cold on AGNDR?
Magnus
I'm also playing around with the PGA2310.
I wonder if it is possible to drive it with a balanced insignal. Putting hot on VinR and cold on AGNDR?
Magnus
Magnus,
I would use just 1 device to do this.
Hot on Vin-right cold on Vin-Left and used ground as common.
grtz
Simon
I would use just 1 device to do this.
Hot on Vin-right cold on Vin-Left and used ground as common.
grtz
Simon
- Status
- Not open for further replies.
- Home
- Amplifiers
- Solid State
- PGA2310 Question