Share |

CS3318

Discussion of future application modules and devices.

Moderator: linux-works

CS3318

Postby ds23man » November 30th, 2011, 6:37 am

I bit the bullet.

Received my LCduino board yesterday ( very nice) and ordered a CS3318 and some other parts. Going to try some Arduino programming, will be a lot of fun because the last I did was way way .......back on a Tandy TRS80 in Basic code :D.

Regards Gerhard
Last edited by ds23man on November 30th, 2011, 10:05 am, edited 1 time in total.
ds23man
 
Posts: 53
Joined: October 7th, 2011, 4:42 am

Re: CS3318

Postby linux-works » November 30th, 2011, 9:03 am

does that chip use 5v i2c levels? I'm thinking it might be 3.3v.

I'm dealing with a chip right now that is 3.3v based. so level converters are needed. just be sure you don't fry that $30 chip! ;)

I would like to try using that chip but its later on in my to-do list.

(btw, I also started with a trs-80 level1 system at home, back in the late 70's)
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1292
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA

Re: CS3318

Postby ds23man » November 30th, 2011, 10:04 am

linux-works wrote:does that chip use 5v i2c levels? I'm thinking it might be 3.3v.

I'm dealing with a chip right now that is 3.3v based. so level converters are needed. just be sure you don't fry that $30 chip! ;)

I would like to try using that chip but its later on in my to-do list.

(btw, I also started with a trs-80 level1 system at home, back in the late 70's)

Thank for your remark on the 3.3v, I will need a converter. Suggestions?

Gerhard
ds23man
 
Posts: 53
Joined: October 7th, 2011, 4:42 am

Re: CS3318

Postby ds23man » November 30th, 2011, 11:13 am

If i look at this:

http://www.i2c-bus.org/how-i2c-hardware-works/

The level of the I2c bus is kept high by pull up resistors to Vd, in your circuits this is done on the r2r and input selectorboard. How can the mcp23008 work without any external boards connected? Or is the Atmega keeping the lines high also?

Regards Gerhard
ds23man
 
Posts: 53
Joined: October 7th, 2011, 4:42 am

Re: CS3318

Postby linux-works » November 30th, 2011, 11:43 am

I'm building a level converter, now, myself, to try out. I'll let you know how it goes ;)

google 'an97055' app note and that's what I'm going to try using.

there are chips, too, that also work. the mosfets are simple and cheap (but small! lol)
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1292
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA

Re: CS3318

Postby amb » November 30th, 2011, 11:55 am

The PCA9306 is a level converter chip specifically for this purpose.
User avatar
amb
Site Admin
 
Posts: 3824
Joined: March 29th, 2010, 9:49 pm
Location: Sunnyvale, CA USA

Re: CS3318

Postby linux-works » November 30th, 2011, 12:01 pm

yup, that's the one that seems to get a lot of refs when you search on i2c level conversion. the mosfet solution by sparkfun also gets lots of chatter.

there are arduinos that are -native- at 3v. that's one way around this ;)

you can run arduinos at 3v (the lcduino ones) but you have to do your own bootloader and run at half speed (8mhz) I think. I have not tried; just read about it.
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1292
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA

Re: CS3318

Postby ds23man » November 30th, 2011, 12:17 pm

So the lcduino is keeping the lines high referenced to Vd and the external pull up resistors are not needed? To much pull ups's on the lines can give to much strain on the connected devices!

Regards Gerhard
ds23man
 
Posts: 53
Joined: October 7th, 2011, 4:42 am

Re: CS3318

Postby ds23man » November 30th, 2011, 12:24 pm

I2c is not "universal" as it seems :mrgreen:

Gerhard
ds23man
 
Posts: 53
Joined: October 7th, 2011, 4:42 am

Re: CS3318

Postby linux-works » November 30th, 2011, 12:29 pm

the lcduino does not have hard (real) pullups. it uses wire.h service which enables local weak pullups but we have remote 'terminator' resistors on the d1 and d2 boards. even those could be considered optional but are there for good practice.

the value of the R depends on how long the cable is and also the load at the end. people use rough values for pullups but you're supposed to look on the scope and use the largest (least loading) value you can get away with. often, though, it does not matter. you'll -know- when it matters (lol) as the comms won't be reliable.

the mosfet app-note version depends on both sides having their local Vdd. usually that's not a problem. the active part of the mosfet solution is to let the wires bring-up the 1-level to native Vdd and only pull-down to gnd to signal a 0. that's nice and elegant. the transistors are $0.07 or something crazy cheap like that.

the sparkfun solution, btw, uses a resistor divider on the recieve side. not sure I like that. the mosfets are bidirectional and the app-note makes it so easy to follow and implement, even figure-3 on page 12 on that app note (an97055). I wired one up but have not tried it yet (maybe later today or tomorrow).
Sercona Audio (Control Systems for Analog and Digital)
Photos: http://www.flickr.com/photos/linux-works/
User avatar
linux-works
 
Posts: 1292
Joined: March 31st, 2010, 9:04 am
Location: Santa Clara, CA

Next

Return to Other devices

Who is online

Users browsing this forum: No registered users and 0 guests

Quick Links

AMB audio DIY resources
AMB audio shop