The cansynth board provides a platform for experimenting with the use of CAN networking in synthesizer applications. Each node contains an atmel at90can128, 128k sram, and 64k of eeprom. There are 8 analog inputs, 8 analog outputs, and 12 digital input/output lines. The CAN interface is capable of running at the maximum 1Mbps.
The cansynth boards have arrived. Cost is $20 per board plus shipping. (plus a little more to cover paypal's cut if you pay by credit card). The picture above is of the prototype. The current boards have soldermask and silkscreen.
The netsynth code has been moved here.
The pcb is 4"x3". All parts are mounted on the top side. Everything is surface mount save the various through-hole connectors.
|ref||part||vendor||description||package||digikey part number|
|u1||at90can128-16ai||atmel||avr mcu with can interface||tqfp64||at90can128-16ai-nd|
|u7||adm101e||analog devices||rs232 level converter||msop10||adm101earm-nd|
|u4||ad5328||analog devices||12bit octal dac||tssop16||ad5328bru-nd|
|u8||74hc4053||texas instruments||triple analog switch||so16(150mil)||296-9220-5-nd|
|u2||74ahc573||texas instruments||d-type transparent latch||so20(300mil)||296-4612-5-nd|
|u9||ref192||analog devices||2.5V precision reference||so8(150mil)||ref192es-nd|
|u5||at24c512||atmel||64k serial eeprom||so8(150mil)||at24c512n-10si2.7-nd|
|c3,c4,c21,c22||ecj-1vc1h220j||panasonic||22pF 50V ceramic capacitor||0603||pcc220acvct-nd|
|c5||ecj-1vb1c103k||panasonic||10nF 16V ceramic capacitor||0603||pcc1750ct-nd|
|c6,c7,c8, c9,c10,c11, c12,c13,c14, c15,c16,c17, c18,c19,c20||ecj-1vb1c104k||panasonic||100nF 16V ceramic capacitor||0603||pcc1762ct-nd|
|c2||ecj-3yb1c106k||panasonic||10uF 16V ceramic capacitor||1206||pcc2413ct-nd|
|c1||ecj-4yb1c476m||panasonic||47uF 16V ceramic capacitor||1210||pcc2335ct-nd|
|l1||elj-fa100jf||panasonic||10uH inductor 140mA||1210||pcd1817ct-nd|
|s1||219-4lpst||cts||4 position spst dip switch||ct2194lpst-nd|
|r4,r5||rc0603fr-0762rl||yageo||62r 1% resistor||0603||311-62.0hrct-nd|
|r1||rc0603fr-0710kl||yageo||10k 1% resistor||0603||311-10.0khrct-nd|
|r2,r3||rc0603fr-071k8l||yageo||1k8 1% resistor||0603||311-1.80khrct-nd|
|h1||2510-6002ub||3m||10 position header||mhb10k-nd|
|h2||2516-6002ub||3m||16 position header||mhb16k-nd|
|h3,h4||2520-6002ub||3m||20 position header||mhb20k-nd|
|j3,j4||rj11-4l2-b||tyco||rj11 jack with ferrite block||ccm9012-nd|
|j2||747844-6||tyco||db9 female connector||a23305-nd|
|j1||1725656||phoenix contact||2 position screw terminal||277-1273-nd|
The parts listed above are for a fully-configured board. Some components can be left out or exchanged depending on your needs and budget.
The ad53x8 series of dacs from analog devices comes in 8bit (ad5308), 10bit (ad5318), and 12bit (ad5328) versions. All share the same pinout and software protocol and will work in the cansynth board. Each version also has both A and B grades with differing error specifications.
The ref19x series of voltage references (also from analog devices) has many versions with different voltages. Each voltage also has a range of lettered grades with different accuracy and stability.
Pick a reference voltage suitable for your application. I chose 2.5v in the table above but I've also used 2.048v. The ad53x8 can optionally multiply the reference by 2 for added flexibility. However, the adc in the at90can128 doesn't have this feature. Both dac and adc can use avcc for a reference as well and the external reference can be omitted in this case. (You can of course still mount it and switch between references; or use both -- the ad53x8 can select a different reference for each group of 4 outputs.)
When I designed the cansynth, the at90can128 was the only CAN-enabled AVR around. Now it looks like the at90can32 and at90can64 are finally available. They are pin-compatible with the at90can128 and have identical peripherals, differing only in the amounts of each type of memory: flash, ram, and eeprom. If you don't need as much memory, they can be used instead of the at90can128.
The cy7c1019 provides 128k of external sram. If your application doesn't need this extra memory you can omit this chip along with the 74ahc573 latch. Note that you still can't use ports a and c because they aren't brought out to pin headers.
The at24c512 provides 64k of external eeprom. If your application doesn't need this extra memory you can omit this chip. You can also mount a chip with a different amount of memory as long as it's in the 24xx series. Note that when I checked the smaller sized devices were not necessarily cheaper (economies of scale and all that). As with the cy7c1019, you can't use the i2c pins for other purposes because they aren't brought out to pin headers.
A fully configured cansynth will cost about $80 in parts, but your first two don't have to cost that much. Analog Devices will let you order two samples each of ad53x8, ref19x, and adm101e, taking about $30 off of each board if you get the expensive versions (and you should -- they're free!). Atmel will let you sample up to five of certain parts, but they take a while to ship and don't inform you on the status of your request. Some people have requested samples of the at90can128 and ata6660 but have not received them yet. I will update this section if they are successful. Along with the ad53x8, the at90can128 is the other expensive chip on this board and samples from Atmel would reduce the price another $18 or so.