passion_chorale Posted April 20, 2009 Share Posted April 20, 2009 Hi, The contents of this posting will be rather niche/hobbyist focussed. However the device I discuss here might be of interest to forum members who regularly need to work with embedded electronic systems for stop and key control in electric action pipe organs, so I thought I would place this on the forum. I will be discussing a new processor developed and sold by XMOS Semiconductor ltd of Bristol, UK. Their website is www.xmos.com. I'm an electrical engineering research student, and am writing in a private capacity. My only connections with the company are that I recently attended a free seminar to fiddle with their stuff in Bristol, and a friend of mine from University has gone on to work for them. Obviously this is a 'plug', but with good reason. I think that this device could lower several barriers of entry for hobbyist organ builders who want to easily incorporate their own cheap/custom/sophisticated/reconfigurable electronic control into organ projects. If discussion of individual products like this isn't ok by the moderators, remove it of course! The company produce a new family of microprocessors (~£0.5-£5 in cost), and the (free and open source) software tools required to develop for them. Importantly for hobbyists, they also provide pre-made development kits at about £50 with the chip nicely set up on a board with all the ports brought out to solder pins. Now there are thousands of varieties of microprocessors out there. The reader with some knowledge of electronics is probably thinking 'so what?' at this point. The key to the matter, as I see it, is that any control system in an electric action organ is operating in real time, and in parallel. These are two things that conventional microprocessors hate dealing with. Most microprocessors are serial devices, programmed with code sequentially, like a flow chart. Additionally, many conventional microprocessor architectures have a very weak coupling between the actual input/output pins and the processor core. This inevitably introduces delay, unless the software and associated 'interrupt service routines' are designed carefully. The XMOS chip has four parallel processor cores inside running at 400 MHz. They each run eight threads. That enables you to run 32 programs each with an execution frequency of 50 MHz concurrently, with deterministic timing. That is a big deal. Rather than the notion of 'interrupts' on conventional microprocessors, whereby the serial execution of one processor must be interrupted to service something like a thumb piston press, there is a notion of 'events' with this chip. An event means 'process one' can keep running, and a message is sent to 'process 2' to service the thumb piston press, still with predictable timing. However, a smart chip is useless without development tools which can program it. The company offers a very non-scary development environment and simulator (which you can download for free and fiddle with now). Obviously, you're going to need to learn a little bit of how to program computer code in a language called 'C'. This is easier than it sounds, when you follow the examples. I found the coupling between the development environment and the chip to be incredibly easy to use, and had the demos up and running in seconds. So why would an organ hobbyist want to consider this stuff? The company make a big thing about the fact that with this product, 'software is hardware'. So suppose you want to leave a set of stops 'prepared for'. Previously, adding them would have required lots of inconvenient bodging to the existing electronics. With the development kit, you would add the extra I/O lines (obviously via the correct drivers and buffers) to the processor board, alter the control code, and reprogram the chip with a usb drive to your computer. Of course systems probably already exist that let you do that. But they are proprietary and probably cost a lot of money for a hobbyist. And then suppose you want to add 'MIDI'. With a bit of development time, a piece of cake with this chip, especially as somebody in the user community has already part-coded some midi stuff by the looks of things. And then suppose you would like to introduce custom gradation vs volume profiles for your swell pedal. A night's work and a quick upload. Suppose you have a collection of bits of proprietary hardware you need to make work together? The chip would make an excellent reprogrammable 'glue logic' block. You can even run a webserver and ethernet FROM THE CHIP, and be able to dial into your organ's web page over the internet from anywhere in the world to check up on the relative humidity, usage time, volume profile, etc.... Perhaps you could even have a 'toggle button' on the embedded webpage to disable the festal trumpet while you are gone. Ok, getting a bit enthusiastic. But it will run a webserver and ethernet natively. Because the chips are designed to scale well in multiples (does anyone remember the Transputer?) you could be more ambitious and make custom boards, with a chip per manual, offering distributed real-time control. The links between the chips can run at high speed. so you would remove the need for nasty and fault-prone bundles of signal wire everywhere. I hope that will be of some use to somebody; I have tried to strike a balance between product review and enthusiastic rant. The way I view this stuff, properly applied it could really solve somebody's headache. Inappropriately applied, it could of course cause a lot of headaches. Ps link to the website: www.xmos.com Chip:https://www.xmos.com/technology/silicon-technology Development Kits: https://www.xmos.com/products/development-k...development-kit User Community: http://www.xlinkers.org/ Best Wishes, David Lucas. Addendum: The exciting thing about this, of course, is that if you want to set up a company (lets say DiapasonCorp Ltd) selling innovative hardware for the embedded organ electronics product niche, your costs to entry just went down by two orders of magnitude. Now all you need to do is learn how to write in C (child's play, compared to say...casting metal or re-leathering bellows, trust me), write a program (the 'secret sauce'), program the (very cheap) chips with your software, and mount the chips in a cheapish box on a cheapish PCB with whatever custom hardware you need surrounding it. Link to comment Share on other sites More sharing options...
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now