Jump to content

Working on a ARM based QuadSID


Jack
 Share

Recommended Posts

Hi all!

I decide to work on my free time, on a refresh of the MBSID design.

PRO ARM:

-One ARM should control 4 SIDs

- ~60MIPS

-USB2.0 (next year)

-Audio CODEC (at the moment not implemented)

-more IO

-SD / MMC optional

-embedded LINUX

CONTRA ARM:

-Soldering only for Profesionals

-2 Layer design (expensive)

-JTAG problem (only with free Software)

I will order my developement board in 30 Days, but I cannot decide which ARM is the best solution.

Both chips are very equal.

Source:

www.olimex.com

http://www.olimex.com/dev/lpc-h2214.html

http://www.olimex.com/dev/sam7-p64.html

Jack

Link to comment
Share on other sites

Hey,

I would welcome the ARM-based MBSID... even if has downsides, but what doesn't. But I think, it could handle more SIDs. I don't very understand these circuits yet (but I can build them w/o problem - I even built my home amp), but I think the ARM is powerful enough to handle for example 6 or 8 SIDs (and probably more). The audio codec is needed for what? The SIDs have analog outputs. Even if you want to do an A->D conversion, please ignore the last two sentences. :D The USB seems to be a good idea too. Hope it'll be released.

Link to comment
Share on other sites

I don't want to demotivate you, in fact I also already thought about the use of an ARM based core for MIDIbox projects (see also http://www.midibox.org/forum/index.php?topic=3305.msg22398#msg22398). Based on the experiences I made with this processor so far (I attented a programming course some time ago, but I'm mainly working with TriCore), I can only say, that MIPS are not everything. If the PIC CPU (or AVR, this doesn't matter here) is clocked with the same frequency like a ARM core, you will notice, that PIC/AVR perform better on special tasks, especially on bit manipulations and IO transactions, because they provide special instructions for such operations. Also the interrupt handling of ARM is really ugly, the interrupt latency is higher, task switching is slow. Ok, this has been optimized with ARM 9 core...

GCC compiler: nice solution, but not as good as the original ARM compiler (from ARM). Propably you have to write a lot of routines in assembler, in order to achive a performance to handle more than two SIDs. ARM assembler doesn't make fun (due to RISC architecture)

Keep also in mind that the IO requires some additional hardware, since the chip is supplied with 1.8V and/or 3.3V - at least for the LCD an external IO tristate driver will be required, and for the SIDs of course

So, I guess that you won't be happy with an ARM7 derivative, especially when you are planning to program in C, and if you want to use Linux as the operating system (or do you really favor unstable synth timings before an operating system, which loads a little ARM7 more than really required?)

I guess that with an ARM9 based derivate, clocked with 150 MHz and higher, you will be able to do much more than with dedicated PIC cores for each SIDs

Just my thoughts - I could be wrong, but I just want to express, that an ARM doesn't really satisfy me yet. It's not a real microcontroller, it's more a computing engine.

Best Regards, Thorsten.

P.S.: when I'm speaking of the handling of SIDs, I don't only mean to access them via MIDI, but also to provide the same software implemented sound engine capabilities like the real MBSID.

Ok, so long you only forward incoming notes the SID registers, and access sound parameters via CC, and if you only provide some simple modulation capabilities, then you are propably able to handle 8 SIDs and more... but you just don't get enough out of the SIDs, just some cheap sounds

Compare this with "HardSID" (the PC based solution), which provides a slower update cycle than MIDIbox SID, even it's running on pentium processors ;-)

Link to comment
Share on other sites

@TK

You have more skills that I never be able to reach. But I never give up!

What's your suggestion?

@me

It my new hobby and I need a new motivation.

PS:

I have:

- 8 pieces of EP9302 ARM9 from Cirruslogic

- 32 pieces CS5381 A/D

- And a Mother who can solder 144 LQFP without any probs!!!  ;D

Sources:

http://www.mikrocontroller.net/forum/read-1-259841.html#new

http://www.embeddedartists.com/products/boards/lpc2106_rs232.php

Good Night

Jack

Link to comment
Share on other sites

It's interesting, that the guys have the same objections, so I guess that  I'm not so wrong when I'm saying, that an ARM7 derivative is not sufficient for controlling so much SIDs

Suggestion: start with an easy to handle microcontroller in order to get some more experiences about the general approach. Using MIOS with the C wrapper isn't a bad idea for the beginning. Or just use your Linux PC, and control a SID via the parallel port?

If you are not able to realize something useful with such an proven environment, you will never be able to realize your own.

Then... after maybe one year or so, you should have a clear imagination about the requirements for the ideal SoC of your project. Then start to design a board, setup the programming environment, etc...

I especially mention this, because I read many articles in this forum, and got many emails in the last years from people who wrote about their great plans with powerful chips. Interestingly  the success stories are very rare - thats the big problem, when people are thinking, that they can just skip the longsome learning process that other people had to go

Best Regards, Thorsten.

Link to comment
Share on other sites

I totally agree to Thorsten. Don't underestimate the time you need to get into all this new ARM stuff. I have two Evalboards for a Freescale MPC5200 and a Fujitsu Coral-P grafics controller as well as a nice 12" TFT, and to be honest: I even didn't find the time yet to implement everything in an Embedded Linux GUI for a MIDIbox looking console -- due to other projects. I'll finally start this chrismas, but with a one year delay!!!

Regarding ARM: in my job I'm confronted with a lot of different micro architectures. After some comparison of ARMs with other architectures I got back to the following four: PICs and AVRs for the fast and efficient things like MIDIbox etc, and the Freescale PowerPCs and ColdFires for the higher level functions, running with Linux. ARM7 is cheap and well known in the electronics market, I agree, but not that powerful as many people believe. ARM9 or even future ARM11 architecture micros might be an interesting alternative as long as you are able to program them in an optimized and efficient way. Beside that, don't forget how long a dedicated ARM microcontroller is in the market before it dies again. A few years, then it's obsolete. But PowerPCs, ColdFires, PICs and AVRs have a long lifetime (due to their typical industrial usage) -- usually more then ten years. No real problems with obsolescence.  Just some thoughts...

Cheers,

Skunk

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...