Very bad sampling on MAX11300

Anoat

Active member
Hello:D,

I am contacting you to ask for your help on my project.

I use a MAX11300 DAC to generate ADSR type envelopes. Everything works pretty well, however I find that the sampling of the DAC is very bad (around 500 µS:mad:). According to the datasheet of the manufacturer (https://datasheets.maximintegrated.com/en/ds/MAX11300.pdf ) it is possible to improve it by using the immediate update of the port.

To drive the DACs I use the "Pixi_demo" library available on Github. (https://github.com/wolfgangfriedrich/Pixi_demo )
In the code of the library, I indeed find an allusion to this mode of control ( Pixi.ccp line 151 ) :

// config DACREF (internal reference), DACCTL (sequential update)
info = ReadRegister(PIXI_DEVICE_CTRL, true);
WriteRegister(PIXI_DEVICE_CTRL,info|DACREF|!DACCTL);

The problem is that I do not see how to modify this mode:confused:, which in my opinion is blocked in sequential mode ...
 
Sorry I have not used any of these DAC chips nor the library and the like.
So I have no way of trying it out and see what if anything works.

So probably not much help. One thing you might try doing is looking at other libraries that talk to these chips, like:
https://github.com/logos-electromechanical/MAX11300Arduino/tree/master/src

And see if either they work better and/or give you some hints.
Again not much help. Hopefully someone else up here uses these chips and can give you some more information.
 
Thank you for your answer !

Well I have great news:D! After a short night, I managed to configure the MAX11300 to obtain a sample rate of 80 µS:cool:!!

The solution :

The solution is not in the library, I used the configuration software for MAX11300 to generate the code to configure the DACs. I then use the library to transmit these codes.

pixi.WriteRegisterA ( 0x0D, 0x0000 );
pixi.WriteRegisterA ( 0x0E, 0x0000 );
pixi.WriteRegisterA ( 0x10, 0x40c4 );
pixi.WriteRegisterA ( 0x11, 0x0000 );
pixi.WriteRegisterA ( 0x16, 0x0000 );
pixi.WriteRegisterA ( 0x17, 0x0000 );
pixi.WriteRegisterA ( 0x24, 0x5100 );

PS: it is necessary to drive the DACs directly by their register. "pixi.WriteRegisterA (0x64,voltage[0]);"
 
Back
Top