Author |
Message |
skacid
Joined: Aug 17, 2008 Posts: 7 Location: boulder,co
|
Posted: Tue May 07, 2013 10:20 am Post subject:
Possible to load sample files into Chamy from SDcard? |
|
|
Hi,
Boards been pretty slow these last years. I, for one, use my two chamys quite often and love them to pieces. Especially entity.
I've been coding the arduino (open source, 8-bit development platform) as of late and I've come to realize that that little platform could, in combination with the chameleon, allow for a DIY sampler platform. While the chamy has plenty of MIPS for performing sample manipulation, and enough ram to be useful, there is no port available to dump samples into.
The arduino can be equipped with an SD-Card reader. If I could interface it to an unused port on either the coldfire or DSP it might be possible to transfer sample data to the chamy from an SD-card via the arduino. My goal would be to do this as fast as possible. Naturally, code would have to be written on the chamy side to allow for this... I think that's perfectly doable. I haven't done any hardware probing yet. However, I feel there are some possibilities here. The coldfire has two UARTS and only one is used in the chamy. The DSP has an unused SCI and ESS1 port available. I am favoring the DSP SCI right now and may begin investigations there. The SCI has configurable asynchronous transfer rates and may be fast enough to be tolerable. Not sure about the coldfire UART. The ESS1 port may be too fast for the little 16mhz arduino to keep up with.
Have you had any ideas about transfering files quickly to the chamy? Have you experience with the SCI port? Let me know what you think.
Thank you for reading,
SKacid |
|
Back to top
|
|
|
skacid
Joined: Aug 17, 2008 Posts: 7 Location: boulder,co
|
Posted: Tue May 07, 2013 8:31 pm Post subject:
|
|
|
UPDATE:
I've been tracing the pins on DSP and Coldfire and found the following:
Both UARTs are used on the coldfire. #2 is for the panel and #1 for MIDI (duh!)
The parallel port on the coldfire connects to the DSP host port (FYI)
The DSP SCI is configured as GPIO (Port E) and is connected to the CODEC.
I suspect ESS1 is GPIO as well, though I haven't traced that one yet.
So far, the only available port is the Coldfire M-BUS. It is sunk to ground.
I don't like the specs on M-BUS since communication seems to be one-way only but I'll look into it. Am I missing some other unused port?
I did notice that the lower 16 data lines of the coldfire are not connected to anything but using them would require bus arbitration - something I've no experience in.
-SKacid |
|
Back to top
|
|
|
skacid
Joined: Aug 17, 2008 Posts: 7 Location: boulder,co
|
Posted: Thu May 09, 2013 5:46 pm Post subject:
|
|
|
NEED HELP/KNOWLEDGE:
I need to get the coldfire into supervisor mode to access the hardware registers. Specifically, I wish to reconfigure UART2 for a higher baud rate.
On the Atari ST this was a matter of calling a TRAP. I doubt there are any TRAP handlers in the Chamys tiny boot ROM. So, I feel kinda stuck. Its a chicken and egg kinda thing.
See, the Chamy powers on in super mode and then the "OS" switches over to user mode to run the skin thereby making Coldfire hardware access (except through the device drivers) impossible.
By the way, the M-BUS port of the Coldfire is spec'd as having a max rate of 100kbps. It would take 13 minutes to load up the 8mb memory of the coldfire at that rate. Also, it would require modifying the chamy board to bring out the connections. So... I'm changing my tactic to use the panel interface (UART2) to upload sample files. I'm hoping to achieve 2mbps!
This is all theoretical at this point. Until I can establish reliable communication between the coldfire and arduino AND gain control over the coldfire UART hardware I will not be able to conduct any tests.
Thanks again for reading,
SKacid |
|
Back to top
|
|
|
DrJustice
Joined: Sep 13, 2004 Posts: 2114 Location: Morokulien
Audio files: 4
|
Posted: Tue May 14, 2013 4:31 am Post subject:
|
|
|
So, did you confirm that ESSI1 is GPIO? I'm not sure what the DSP would do with all that GPIO.
I can't see SCI or ESSI1 being accessed from any DSP code - the only thing would be if the Chameleon bootloader runs some DSP code behind the scenes (I don't think so). |
|
Back to top
|
|
|
skacid
Joined: Aug 17, 2008 Posts: 7 Location: boulder,co
|
Posted: Tue May 14, 2013 1:04 pm Post subject:
|
|
|
Thanks for your interest Dr. Justice.
Your question prompted me to investigate the ESS1 pins.
As you guessed, they aren't connected. The presence of jumpers on TXD RXD and CLK had me thinking they were connected via the backside of the board but in fact they dead-end there. That's cool cause it makes soldering wires to these pins a snap. I also confirmed that the SCI pins are connected to the crystal codec control port. They are probably used only in the boot rom to setup the codec.
My intention now is to set the ESS1 pins as GPIO and try some communication to the arduino. I'll have to look into any special electrical issues before I wire them up.
I'll post what I find.
-SKacid |
|
Back to top
|
|
|
DrJustice
Joined: Sep 13, 2004 Posts: 2114 Location: Morokulien
Audio files: 4
|
Posted: Wed May 15, 2013 11:30 am Post subject:
|
|
|
It is indeed an interesting Project. With ESSI1 available you should be in business
Maybe you could clock ESSI1 from the AVR, using the serial port functionality as it is. AFAIK there are no timing restrictions other than the shortest clock period, so it could be paced at your leisure from the AVR. That would also let you use DMA on the DSP side. |
|
Back to top
|
|
|
skacid
Joined: Aug 17, 2008 Posts: 7 Location: boulder,co
|
Posted: Thu May 16, 2013 8:35 pm Post subject:
|
|
|
YES, IT CAN BE DONE!
I got test data flowing now between the arduino (using hardware SPI) and the chamy DSP. Currently I'm getting 512mbs, that's 64Kbytes per second. I'm not satisfied with that and will recode the arduino SPI routines to see if get to my goal of 256Kbytes per second.
I learned a lot about SSI. For example, I now know that a frame sync is necessary even if network mode is turned off.
It's a real blessing that the chamy designers brought out the ESS1 signals the way they did. They even brought out ESSI1 SC2 which is used for frame sync. Lotsa hackability there! You could add more audio I/O by adding an additional CODEC, for example.
Thanks for reading,
SKacid |
|
Back to top
|
|
|
DrJustice
Joined: Sep 13, 2004 Posts: 2114 Location: Morokulien
Audio files: 4
|
Posted: Fri May 17, 2013 2:00 pm Post subject:
|
|
|
That's very cool!
Please let us know how it develops |
|
Back to top
|
|
|
|