9 770268 451128 0 L 1 [ • r. Hr--". +* r Choke A Chicken GT-3095 £8.50 + post & packing Relieve stress with a bit of violence! This annoying chicken dances around and squawks. Funny for about one second! Grab him by the throat and he screams and gags. Funny forever! (not recommended for ^ children). Approx 12" ^ tall. Requires 4 x AA batteries (not ind.) 1 Theremin Synthesiser Kit KC-5295 £14.75 + post & packing The Theremin is a weird musical instrument that was invented early last century but is still used today. The Beach Boys' classic hit "Good Vibrations" featured aTheremin. By moving you hand between the antenna and the metal plate, you can create strange sound effects. Kit includes a machined, silk screened, and pre drilled case, circuit board, all electronic components, and clear English instructions. We Stock... Electronic Components, Sub-Assemblies & Electronic Kits Power Products & Accessories Audio 61 Visual Equipment & Accessories Computer 61 Telecoms Accessories Burglar Alarms 61 Surveillance Equipment Lighting Products 61 Accessories Gadgets 61 Unique Gifts tjfl Call or log on to our website and apply for a FREE 400 page catalogue. You can purchase on the Net from us 24/7/365 through our secure encrypted system. Post and packing charges are modest and you can have any of 8000+ unique products delivered to your door within Smart Card Reader/ 7-10 days of your order. Programmer Kit KC-5361 £15.95 + post & packing Jaycar has noticed a substantial increase in sales of the KC-5361 Smart Card Programmer Kit & ZZ-8800 Programmable Gold Wafer Card. We strongly suspect that this maybe due to persons unknown some how using these products to make unlawfully generated access codes for the latest cable T.V. set top boxes. We also wish to advise that we discourage this activity. For those legitimate users, the KC-5361 Programmer Kit £15.95 & ZZ-8800 Smart Card £3.85 are back in stock. Once again please be reminded that we cannot accept any responsibility for the use of these devices in other than legitimate activities. Wafer Card ZZ-8800 £3.85 + post & packing This is a multi-chip 'smart card' based on the PIC 16F84A and is coupled with a 24LC16B EEPROM, compatible with most reader/programmer units available including the programmer above. "Clock Watcher's" LED Clock Kits KC-5416(blue) £55.25 + post & packing KC-5404(red) £41.35 + post & packing These clocks are hypnotic! They consist of an AVR driven clock circuit, that also produces a dazzling display with the 60 LEDs around the perimeter. It looks amazing, but can't be properly explained here. We have filmed it in action so you can see for yourself on our website www.jaycarelectonics.com! Kit supplied with double sided silkcreened plated through hole PCB and all board components as well as the special clock housing! Available in Blue (KC-5416) and Red (KC-5404). High Performance Electronic Projects for Cars BS-5080 £7.00 + post & packing Australia's leading electronics magazine Silicon Chip, has developed a range of projects for performance cars. There are 16 projects in total, ranging from devices for remapping fuel curves, to nitrous controllers. The book includes all instructions, components lists, color pictures, and circuit layouts. There are also chapters on engine management, advanced systems and DIY modifications. Over 150 pages! All the projects are available in kit form. Smart Fuel Mixture Display KC-5374 £8.95 + post & packing This new 'smart' version has a few additional touches such as, auto dimming for night driving, emergency lean-out alarm, and better circuit protection. Another great feature, is the 'dancing' display which operates when the ECU is operating in closed loop. Kit supplied with PCB and all electronic components. • Car must be fitted with air flow and EGO sensors (standard ^ on all EFI systems) for full functionality. Recommended box HB-6014 £1.40 each High Range Adjustable j Temperature Switch with LCD KC-5376 £22.75 + post & packing Heat can be a major problem with any car, especially modified and performance cars. The more power, the more heat, so you need to ensure you have adequate cooling systems in place. This temperature switch can be set anywhere up to 2192°F, so it is extremely versatile. The relay can be used to trigger an extra thermo fan on an intercooler, mount a sensor near your turbo manifold and trigger water spray cooling, or a simple buzzer or light to warn you of a high temperature. The LCD displays the temperature all the time, which can easily be dash mounted. » Fausts m onrtor m 9 tore . **£?5*|r 400+ page Catalogue aycar Post and Packing Charges: Order Value Cost £20 - £49.99 £50 - £99.99 £100 - £199.99 £200 - £499.99 £500+ Cost £5 £10 £20 £30 £40 Max weight 121b (5kg) - heavier parcels POA. Minimum order £20. Log on to www.jaycarelectronics.co.uk/elektor for your FREE catalogue! 0800 032 7241 (Monday - Friday 09.00 to 17.30 GMT + 10 hours only). For those who want to write: 100 Silverwater Rd Silverwater NSW 2128 Sydney AUSTRALIA FT232R usb uart with MCU Clock Generator and FTDIChip-ID™ Security Dongle A MORE Integration - EEPROM, internal clock generator, and USB termination resistors on-chip. Functionality - integrates the functions of USB UART, MCU clock generator and Security Dongle into a single chip. Flexibility - five 10 pins can each be user configured as Sleep, Transmit Enable, Power Enable, MCU Clock Output, TX/RX LED Drive or GPIO Pin Security - FTDIChip-ID™ technology helps protect your application software. I/O Drive Capability - from 5.5v down to 1 .8v levels at 4mA or 12mA programmable strength. I/O Modes - synchronous and asynchronous Bit-Bang I/O OS Support - in house developed & supported drivers for Windows 98,ME,2K, Server 2003, XP, XP64, Embedded XP, Mac OS8,9,X, Linux, Win CE + many 3rd party drivers. Driver Options - VCP and D2XX drivers for all Windows platforms and Linux. Technical Support - a wide range of evaluation kits available from the outset make evaluating the FT232R a snap. Package Choices - SSOP28 and QFN32 Interface Options - also available with a parallel FIFO interface ( p/n FT245R ). •* EVALUATION LESS External Components - no crystal, EEPROM or USB termination resistors required. Board Space - new QFN package takes up only 25mm 2 of pcb area. Manufacturing Cost - minimal external component count coupled with competitive pricing reduces the overall cost. Programming - FT232R comes pre-programmed with each part having a unique USB serial number burnt in. This eliminates the need to program the EEPROM in many cases and saves on production time / cost. Time to Market - FT232R eliminates USB driver and firmware development in most cases thus significantly reducing time to market. FT232* Europe HQ Future Technology Devices International Ltd. 373 Scotland Street, Tel. ; +(44) 141 429 2777 Glasgow G5 8QB, Fax. : +(44) 141 429 2758 United Kingdom E-Mail : sales1@ftdichip.com gboso cbus* GBUS2 www.ftdichip.com Micros turn Mega acting the way I've always been confident that the Greek prefixes |j (micro) and M (mega) are safely apart at an immense factor of 1 0 1 2 or one bin ion. The venerable prefixes are established in electronics to the extent that only rank beginners would surmise the existence of microhertz frequencies and megafarad capacitances. Sure, these exist in theory but no-one's ever seen the equipment or capacitor to match. Although it's not necessary right now to burn your maths textbooks, recently the distance between micro and mega has dwindled and in fact both prefixes can now be said to co-exist happily in two species of electronic component. The main subjects of this month's issue, microcontrollers and FPGAs, execute microinstructions from megabytes of memory, not forgetting nanosecond sig- nal setup times and several kilobits a sec- ond worth of data traffic on serial lines. If you thought that the microcontroller was the next and perhaps final step in an evolutionary process that started with the valve and went by way of the tran- sistor and the integrated circuit, buckle up for FPGAs. To illustrate the scale at which we need to think now, some FPGAs are powerful enough to mimic a vintage 6502 microprocessor including its exact pin functionality, and still have room to spare for 'side activities' like serial interfacing and memory flashing. Readers tell us that they find FPGAs impressive and even awe-inspiring, but also off putting not just for design com- plexity but mostly 'solderability'! Here at Elektor Electronics we're not in the least afraid to deal with the latest in FPGA and microcontroller land, witness our Versatile FPGA Module, FPGA Pro- totyping Board and Renesas R8C/13 Motherboard. Let the professionals do the soldering — in all three cases we supply the boards with all the dreaded SMDs, BGAs and TQFPs and what have you ready fitted, so you can concentrate on the real thing: programming and developing turnkey applications with maximum intelligence and an absolute minimum of components. I wouldn't say wielding a full-blown FPGA or R8C development system is a micro effort at a nano investment but you can be cer- tain of mega results. Glad to help you. Jan Baiting Editor 16 Until recently, FPGAs were practically reserved for specialists in high-tech companies. That's all changed now thanks to low component prices and free design software, so it's high time to devote attention to this technology in Elektor Electronics. The FPGA module discussed in this article forms the core of various upcoming projects in the magazine. Versatile FPGA Modu Free C Booklet Th is issue comes with a free 24- page introduction to C pro- gramming. The booklet is not only a runway to an industry- standard programming lan- guage, but also a prelude to articles on C for our low-cost R8C Starter Kit. CONTENTS Volume 32 March 2006 no. 352 ■t '*<* £ik 00 'll! $><$! (E 0 1 *flP| i * 0£ fUE « 1 Ci *‘C f* i , We devote attention to interesting but affordable kits where we not only look at kits that are suitable for a commercial environment but which are also very interesting for hobby use. 28 Development Kits 38 Application Board for R8C/1 3 Last month we described how you can get started with our under-£10 R8C/1 3 microcontroller module. The Now we add a 'base camp' with lots of con- nections to the outside world like USB, two serial ports and an LCD interface. know-how 68 Linear Motors hands-on 16 Versatile FPGA Module 20 FPGA Prototyping Board 38 Application Board for R8C/13 46 Cheap Logger 54 A real pC PLC 63 Telephone Eavesdropper Design Tips Energy recovery FBI siren with flashing light Energy saver for relays Opamp with increased output current technology 50 Travel Charger 58 E-blocks Making Waves info & market 6 Colophon 8 Mailbox Corrections & Updates News & New Products 28 Development Kits 74 The 'Kaleidoscope' E-CAD DVD 84 Sneak Preview infotainment 34 The Triumphant March of the 6502 Retronics: Elektor Plotters (1 988-1 991 ) 79 Hexadoku (3) lektor lectronics Volume 32, Number 352, March 2005 ISSN 0268/45 1 9 Elektor Electronics aims at inspiring people to master electronics at any person- al level by presenting construction projects and spotting developments in elec- tronics and information technology. Publishers: Elektor Electronics (Publishing), Regus Brentford, 1000 Great West Road, Brentford TW8 9HH, England. Tel. (+44) (0) 208 261 4509, fax: (+44) (0) 208 261 4447 www.elektor-electronics.co.uk. The magazine is available from newsagents, bookshops and electronics retail outlets, or on sub- scription. Elektor Electronics is published I I times a year with a double issue for July & August. Under the name Elektor and Elektuur, the magazine is also published in French, German and Dutch. Together with franchised editions the magazine is on circulation in more than 50 countries. International Editor: Mat Heffels (m.heffels@segment.nl) Editor: Jan Buiting (editor@elektor-electronics.co.uk) International editorial staff: Harry Baggen, Thijs Beckers, Ernst Krempelsauer, Jens Nickel, Guy Raedersdorf. Design staff: Ton Giesberts, Paul Goossens, Luc Lemmens, Karel Walraven Editorial secretariat: Hedwig Hennekens (secretariaat@segment.nl) Graphic design / DTP: Ton Gulikers, Giel Dols Managing Director / Publisher: Paul Snakkers Marketing: Margriet Debeij (m.debeij@segment.nl) Subscriptions: Elektor Electronics (Publishing), Regus Brentford, 1000 Great West Road, Brentford TW8 9HH, England. Tel. (+44) (0) 208 26 1 4509, fax: (+44) (0) 208 26 1 4447 Internet: www.elektor-electronics.co.uk Email: subscriptions@elektor-electronics.co.uk Rates and terms are given on the Subscription Order Form Head Office: Segment b.v. RO. Box 75 NL-6I90-AB Beek The Netherlands Telephone: (+31)46 4389444, Fax: (+31)46 4370161 Distribution: Seymour, 86 Newman Street, London Wl P 3LD, England UK Advertising: Huson International Media, Cambridge House, Gogmore Lane, Chertsey, Surrey KTI 6 9AR England. Telephone: +44 (0) 1 932 564999, Fax: +44 (0) I 932 564998 Email: r.elgar@husonmedia.com Internet: www.husonmedia.com Advertising rates and terms available on request. International Advertising: Klaas Caldenhoven, address as Head Office Email: advertenties@elektuur.nl Advertising rates and terms available on request. Copyright Notice The circuits described in this magazine are for domestic use only. All drawings, photographs, printed circuit board layouts, programmed integrated circuits, disks, CD-ROMs, software carriers and article texts pub- lished in our books and magazines (other than third-party advertisements) are copyright Segment, b.v. and may not be reproduced or transmitted in any form or by any means, including photocopying, scanning an recording, in whole or in part without prior written permission from the Publishers. Such written permis- sion must also be obtained before any part of this publication is stored in a retrieval system of any nature. Patent protection may exist in respect of circuits, devices, components etc. described in this magazine. The Publisher does not accept responsibility for failing to identify such patent(s) or other protection. The submission of designs or articles implies permission to the Publishers to alter the text and design, and to use the contents in other Segment publications and activities. The Publishers cannot guarantee to return any material submitted to them. Disclaimer Prices and descriptions of publication-related items subject to change. Errors and omissions excluded. © Segment b.v. 2006 Printed in the Netherlands £ a> lectronics cd-rom Elektor 2005 This CD-ROM contains all editorial articles, with the exception of New Products items, published in Elektor Electronics magazine Volume 2005. Using the supplied Acrobat Reader program, articles are presented in the same layout as originally found in the magazine. The DiskMirror utility on this CD-ROM allows your earlier Elektor year volume CD-ROMs (1997-2004) to be added to a large archive on hard disk for fast access and easy reference. A built-in search function allows you to find references in any article from the archive on hard disk, or from individual year volume CD-ROMs you have available. 6 elektor electronics - 3/2006 SERIAL COMMUNICATIONS SPECIALISTS Test and Measurement Solutions featured products = = = Bronze Prize Winner = = NASA Tech Briefs 2004 Products of the Year £125.00 DS1 Ml 2 USB Scope / Logger 2x1 MS/s Input Channels + waveform generator output. EasyScope & EasyLogger s/w included. Affordable CAN Bus Solutions CANUSB is a very small dongle that plugs into any PC USB Port and gives an instant CAN connectivity. This means it can be treated by software as a standard COM Port (serial RS232 port) which eliminates the need for any extra drivers or by installing a direct driver DLL for faster communications and higher CAN bus loads. CAN232 is a very small dongle that plugs into any PC COM Port, or any other RS232 port in an embedded system and gives an instant CAN connectivity. This means it can be treated by software as a standard COM Port (serial RS232 port) which eliminates the need for any extra drivers. Sending and receiving can be done in standard ASCII format. priced from £61 .00 (CAN-232) USB Instruments - PC Oscilloscopes & Logic Analyzers Our range of PC Instruments may be budget priced but have a wealth of features normally only found in more expensive instrumentation. Our DS1M12 and PS40M10 oscilloscopes have sophisticated digital triggering including delayed timebase and come with our EasyScope oscilloscope / spectrum analyzer / voltage and frequency display application software and our EasyLogger data logging software. We also provide Windows DLLs and code examples for 3rd party software interfacing to our scopes. OurANT8 and ANTI 6 Logic Analyzers feature 8/16 capture channels of data at a blazing 500MS/S sample rate in a compact enclosure. priced from £125.00 ( DS1M12 & ANT8 ) * £36.00 USB-2C0M- 2 Port Industrial USB RS232 Serial with wall mount bracket and DC auxiliary output 1 to 16 port USB to Serial Adapters With over 16 different models available, we probably stock the widest range of USB Serial Adapters available anywhere. We offer converter cables, multi-port enclosure style models in metal and plastic, also rack mount units with integral PSU such as the USB- 16COM-RM. Serial interfaces supported include RS232, RS422 and RS485. We also supply opto-isolated RS422 and RS485 versions for relaible long distance communications. All our USB Serial products are based on the premium chipsets and drivers from FTDI Chip for superior compatibility, performance and technical support across Windows, MAC-OS, CE and Linux platforms. priced from £20.00 ( US232B/LC ) UPCI Serial Cards Discover our great value for money range of multi-port UPCI serial cards. Supporting from two to eight ports, the range includes RS232, RS422, RS485 and opto-isolated versions. Our 4 port and 8 port models can connect through external cables or the innovative wall mounting COMBOX. priced from £21.00 ( UPCI - 200L ) EasySync Ltd 373 Scotland Street Glasgow G5 8QB U.K. Tel: +44 (141)418-0181 Fax: +44 (141)418-0110 Web : http://www.easysync.co.uk E-Mail: sales@easysync.co.uk Prices shown exclude carriage and VAT where applicable 7 INFO & MARKET MAILBOX Retronics on multimeters (3) Dear Sir — I enjoyed very much Jan Buiting's article on analogue multimeters ('Retronics', December 2005, Ed.). I myself own an excel- lent BBC Goerz Unigor A43 analogue multimeter that I bought at a flea market. It has a DC sensitivity of 100 kohms/volt and its low- est DC current scale is 10 microAmperes. In addition to the advantages of analogue over digital meters mentioned in the arti- cle, I would like to call your attention to another one men- tioned by Robert A. Pease in his book Troubleshooting Analog Circuits. On page 1 7 he says: "Another advantage of ana- log meters is that they are passive devices: They don't inject noise into your circuit as digital meters can — even battery powered ones. And they have a lot less capaci- tance to ground". Mr. Pease is referring to the noise generated inside digital meters by the A/D conver- sion process, of course. Congratulations Jan for your interesting article. Carlos Urbina Pacheco (Mexico) Thanks for the compliment Car- los , as they say "it makes a wel- come change from being at the wrong end of the customer com- plaints line". The photograph shows an Unigor 4S meter from my collection. JWWUft \7~7 \/ vl £.r L A7Vfi Vtvp.'T T TT r~ Battery backup for bike — help please (Mailbox December 2005 issue refers, Ed.) Dear Editor — I have got my dynamo backup circuit to work: a voltage doubling rec- tifier solved the problem caused by the half-wave recti- fier's series capacitor. I enclose the corrected schematic. Note that the DC isolator capacitors are mount- ed separately beside the dynamo, whereas the circuit is mounted at the other end of the bike (near the battery pouch). The battery is also used for extra lamp(s) such as a turn indicator. The circuit seems to take 3 mA from battery when switched over to dynamo but even if that's just noise picked up by the meter, I can live with it. I found the free Linear Technology LTSpice program very useful. An alternative circuit (simulat- ed with LTSpice) replaced the optoisolator and BJT with a logic-level p-channel MOSFET (protected by a zener), and connected battery ground to dynamo ground. Unfortunately, Maplin no longer sell p-type MOSFETs so I could not build this circuit. I have also enclosed a photo of the finished unit. The han- dlebar bracket is a Minoura battery lamp extension (long) minus the lamp tube. Alan Bradley (UK) That's a happy ending then Alan , congratulations on getting your circuit to work. We also thank those readers who have written with suggestions to help Alan find (and solve) the problem. He also informed us that he has further information available on the migration of the circuit to FETs. Hexadokus While compiling this month's Mailbox pages , we're inundated with solutions to our first and second ' Hexadoku ' puzzles published in the January I and February 2006 issue. I Apparently we succeeded I in adding a lighter note to I high-brow electronics stuff I that normally fills our I pages. We were both I pleased and surprised to I see that a good number I of correct solutions I were sent by family I members of our read- I ers. A number of I solutions reached us I by regular post I (thank you all for I using our new I address). Readers were also quick to spot that our Hexadokus can be downloaded free of charge from our website. Here's some com- ment we got from you: "A great opportunity for us lesser gods in electronics to win a prize". "Can we have a microcon- troller version of it please." "Took me two days to solve but I think I have the solution." "What a wonderful idea this Flexadoku; just what I would expect from Elektor." "I just love Sudokus and was hooked the moment my hus- band showed your hexadeci- mal variety. It's addictive and crazing. And tough, too." "The normal 9x9 Sudoku was starting to bore me. Your hex variety got my grey matter milling over numbers again." "A great puzzle. I was already hooked on Sudokus but yours is even worse!" "Cost me one pencil and a rubber to solve; 8 elektor electronics - 3/2006 i Rejektor ■ A power-wise server ADSL, wideband and fast cable Internet connections spreading very fast across countries in the world, many of you may start to I think about using an old I PC as a server. I Unfortunately many forget I the server's additional I power consumption adding considerably to the electric- ity bill. The average con- sumption of a Pentium 1 33 . PC without a CRT monitor is between 50 and 100 I watts. A Pentium P2-266 I consumes even 25% more! I A typical CRT monitor will I consume 80 watts on aver- I age. Money-wise that's I about 60 pounds per year if the equipment is left on all the time. Mr Jeroen Baars from the Netherlands sent us his suggestions for reduced I power consumption for I small network servers, I based on his own experi- I ence with a Pentium 1 33 I PC. The best candidates for this kind of server applica- tions are PCs with a CPU running at anywhere ! between 90 and 233 MHz and having a Socket-7 type motherboard. Although a I Socket-5 or a 486 I DX/DX2/DX4 may also be I suitable, these machines I will be found to be sluggish I and have somewhat higher I power consumption. To begin with you should ® check if the PC is still fully functional. Run a thorough test on the hard disk, then make sure it's virus-free. ■ Make notes of the hard- Under this heading we will occasionally publish circuits, ideas and suggestions that did not make it to full publication in this magazine for various reasons (like lack of space). HEM ] Efl I EDS NitlETEMJ riMtH mnnbCjrlEifT U W ittaiEi ih,- liq 4 ittto iJ i Xpiihlp IRQ 5 CUT Up LftH < Instils b (fivww Phiv- tl^hln I FU ? CUT He LrtH i . run Ur !H ft ■ tut Up IRQ 9 CP-cvo-vt:!? n Ihi.blo I HU - r^hln J HD II Efeirrvcaj i Inn Mb m (5 j 2 IF.'J LI uni I E-Mbl-B !• U h Pi Shi ! MtJr 1ED 1*. i !■ F Friffi J : luhlfi i Uu I L tl- : Hew i lie Em mr***f- : IHM lfi(. i Mrl UUuc-a: fRH it L Itt : Hu I nr 10 ■ Ln».I CTUK prf # qjl¥ - Lmi KnLup FcFmEIi ware address and IRQ of the network card. Next you can disassemble the PC to pre- pare it for its future function. Open up the power supply and remove dust and dirt with a small brush. Watch out for residual charge of the electrolytic capacitors. Connect the fan to 5 V instead of 1 2 V and check it runs smoothly and reliably on the lower voltage. If not, replace it by one that does. Replace the CPU cooler by a version without a fan. In most cases the fan can be removed from the heatsink and the cooling will still be sufficient. Replace a high-per- formance video card you may come across by a stan- dard card with just 1 , 2 or 4 Mbytes of memory. If an ISA card is used, make sure the hardware address and IRQs are known (for the software installation). A PCI card will usually stand a higher chance of success provided it is from a reputed supplier. A sound card is not required. A floppy disk or IDE card is only necessary with a 486 machine. The available mem- ory should be 16 Megabytes or more. Once everything looks fine so far, a cheap energy meter (£15-20 from builders mar- kets) and the following meas- ures will tell you how much energy is saved. To start with, relocate the CPU speed jumpers to select a setting of about 75 MHz. With some motherboards and CPUs, even lower speeds may be set up. Although apparently even more energy-wise, in practice you'll find that 25 to 30 MHz is the minimum you can get away with. In most cases however, you'll find that "the slower the more economi- cal". There are exceptions however. When testing a stripped-down 486DX machine no difference was noticed when the clock speed was reduced from 50 down to 25 MHz. You may also want to experiment a little with the CPU core voltage jumpers, making sure you never select a voltage higher than the original setting. If you happen to have a small stock of video, network and (if applicable) HD/floppy disk cards, it's very well worth the time and effort to swap these around for a bit as one card may con- sume far more power than the other. If you assemble the PC without the help of an ener- gy meter, be sure to use a PCI video card. After all this modding around, the PC will typical- ly consume 25 to 30 watts. Of course, there will be exceptions and tough cases but then these are easily recognised from boiling hot chips and ditto heatsinks. In principle, a floppy disk is sufficient for a small web- site, router or printer serv- er. You will need a hard disk however if want to run a large website with photos on it and FTP access. The hard disk may, of course, be replaced with an IDE Flash drive: very power- wise, quiet and perfectly working! The BIOS settings will usu- ally require some changes. The BIOS will be specific to the motherboard used, so some research will be needed to find and under- stand the settings that mat- ter. Enable the 'halt on errors' option in the Standard CMOS Setup menu. Then go to the Power Management menu and change the settings to those indicated in the screendump. Next, click on 'Save & Exit'. At that point you are ready to proceed with the installation of an operating system, for exam- ple, Freedos or Freesco. Both have a "dot org web address. next one, please!" "Took a bit longer than the decimal ones!" "Nice puzzle; blood, sweat and beer!" "Could not put it down and got off the wrong subway sta- tion." "A most enjoyable distrac- tion, I will look forward to more of these puzzles in the future." Visual Basic Course Dear Elektor people — I was thrilled to see the free Visual Basic course booklet with the January 2006 issue. A fan- tastic initiative, thank you Mr Petros Kronis and Elektor for your efforts! When I wanted to download Visual Basic Express edition 2005 I got a message saying the product required Windows 2000. Unfortunately, my PC has Windows 98. Does this mean I am unable to pro- ceed? I was unable to find a 'minimum requirements' list in your booklet. Jose Qvik (Netherlands) The big advantage of the latest version of Visual Basic is that it's free. Most programs discussed in the booklet will also run using older versions of Visual Basic , but these , alas , are not free. Maybe you should start looking for an older VB version someone is will- ing to sell at a low price. PIC programming Dear Editor and lab staff — I am looking for a handbook 3/2006 - elektor electronics 9 INFO & MARKET MAILBOX Corrections & Updates SC Analyser 2005 April 2005, p. 34, 030451-1 Several readers have reported difficulties with the configura- tion bits to set up in the PIC. The confusion is owing to poor- ly defined standards at Microchip. Because all status bits are at 7 1 7 with a new processor, there are options where '1 ' means 'enabled', while for other options it means 'dis- abled'. To add to the confusion, some programmer systems (including the one currently in use at Elektor labs) employ the notation 'on' and 'off'. The essential options are the oscillator, watchdog timer, low- voltage programming and in-circuit debugger. The following list provides the desired state for each option, where '0' = unprogrammed and '1' = programmed. Options: bit 13, CP: bit 1 1, DEBUG: bit 10-9, WRT1 : bit 8, CPD: bit 7, LVP: bit 6, BOREN: bit 3, PWRTEN: bit 2, WDTEN: bit 1-0, FOSC1 : Flash Program Memory Code Protection bit; 1 In-Circuit Debugger Mode bit; 1 WRTO Flash Program Memory Write Enable bits; 1 1 Data EEPROM Memory Code Protection bit; 1 Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit; 1 Brown-out Reset Enable bit; 1 Power-up Timer Enable bit; 0 Watchdog Timer Enable bit; 0 FOSCO: Oscillator Selection bits; 1 1 DDS RF Signal Generator October 2003, p. 1 4, 020299- 1 Pin 6 of IC3 is erroneously connected to the +9 V supply rail. The relevant 1C input is however designed to handle logic levels with a maximum High level of +5 V. Although the 1C will not take damage from the +9 V level applied, it is recommended to cut the relevant connection and wire pin 6 to the +5 V supply rail. or a course covering PIC microcontroller programming. Several questions in forums failed to produce relevant answers, so I am now turning directly to you. Do you have any relevant books? Chris (UK) All books we have available are faithfully listed on our website , see SHOP — > Books & CD-ROMs. Unfortunately there's not yet a book that matches your exact requirements. However ; we found one on the Internet at www.mikroelektronika. co.yu/ english/ product/books/ PICbook/ picbook.htm and a series of tutorials at www. mstracey. btinternet. co. uk/ pictutorial/picmain.htm MSC1210 programming tweak Dear Editor — I am happy to report further progress with my Elektor MS C 1210 microcontroller system ( Precision Measurement Central, July August 2003 and Micro Webserver, July/August 2004, Ed.). I happened to discover that replacing the instruction printf("%f ....) somewhere in the program by printf("%u ....) reduces the amount of code generated by about 20%. Apparently, floating point output is very byte con- suming. The 20% extra space I gained in this way allowed me to extend the program to my personal requirements. Patrick (Belgium) Thanks for letting us know Patrick , I'm sure other MSC1210 users will find this useful information. Four steps to LEDs on the mains Dear Jan — I really liked the extra-large instalment of Design Tips in the January 2006 issue. Unfortunately, in a number of cases the com- ponent references in the texts with Four Steps to LEDs on the Mains are not consistent with the schematics you have printed. I'm happy to say that despite the discrepancies I did not have problems under- standing the operation of the circuits. Many thanks for an interesting article. Walther (UK) Unfortunately the component num- bering in the drawings was changed from the author's hand drawn originals we used to pro- duce the texts. Also , LED D10 in the third drawing is shown the wrong way around. Given the simplicity of the circuits discussed we trust the errors do not detract too much from the educational value. MailBox Terms - Publication of reader’s correspon- dence is at the discretion of the Editor. - Viewpoints expressed by corres- pondents are not necessarily those of the Editor or Publisher. - Correspondence may be translated or edited for length, clarity and style. - When replying to Mailbox correspondence, please quote Issue number. - Please send your MailBox correspondence to: editor@elektor-electronics.co.uk or Elektor Electronics, The Editor, 1000 Great West Road, Brentford TW8 9HH, England. 10 elektor electronics - 3/2006 MikroEtaktronika MICROCONTROLLER DEVELOPMENT TOOLS HCniicru Easy ^ 3 plCmicro Starter Pack £99.00 4 Kjuylily di)vuk»pirtviTfl I.KMiU 4 OuilMn USB 2. ft programmer * Winctawa9a^i , ?00(J.^P oompatfele - SUppoflg 8. 14. 18. 26 and 4flpm DIP niKiioci5fiirDii^i^rforntnenpf. 12#-. 16 F and 18 F P ICmicro Families « Qn-befltf'd le d*. switch®, 7- segment displays- polemiomelm RS-23E mis riaoe USB and PS 2 come do is * AM I'D lines Available lor expansion 4 Ea&yPlC3 Slide-1 Pack ihcHrd**: - PtCiaF452 microcontroller < 16x2 characlar LCD ■■' 126*64 pixel graph*; LCD ^ DG1S320 Eomporalurt terser J USB pf-ogramminqi power load *' Programming software and examples Easy sPIC2 dsPIC Starter Pack £9900 * Hgh qiMhty dwekHmwl bowd 4 Built-in USB 2.0 progiammer * Windows Ha*MEt!200a:>EF' J comp/ilibla * Support 18. 28 and 40-pm Dip tkqdal cMiro«eni Irqm cfePlC30 fanny 4- QrhtKwudLED*. switches. peiertti omfllfitf* Rs-232 inferlae#. PS^E and ICD;-? conoedoiE, a nd MMC-SD card Biol * All ID Unas available lor expq Soil waiu and samples BIG' 3 80-pin PlCmicro Starter Pack £119.00 V ' ■■.■ t. ■ ■ - JL - >. ■ - •-«.- ' * High quality cfcrvefcpnwnt board ■ BuiR-n USB 2,0 p logrummar ■ Window* ®t'M£ i'2000/XP- compatfclfl * Supports Ihfl 1316*1 SQ-pln tifl4»W iFdrn |he 18f PlCnucro lamily * Cn board LEDs, *w4ch«s. poRonti- orhfllbl^, Iwn FIS 232 !rH 0 ifflCfl&, PS-2 connedor, and MMC'SD and Corn- pad Flash caid dots ■ Alt ID lines available tor expansion ■ BKJPIC3 Slartar Pit*, UndudR: ^ PtClsFB52D MCU module i 1 5x2 charade r LCD J 126X84 pixel graphic LCD * DSl852flterhpemlur6 mmtu ■ USB programming.'power lead ■' Pragrammng softwaie and examples IsPK PRO 64/80-pin dsPIC Starter Pack £14900 * High Quality devflidprne m tenid * BuiH in USB 2.0 progiarnniei * Windf'jws- 93 HI ?itO" XI 1 compair.’lo ■ Suppofl* 64 JWKl W-piri chgMal SKjnif 11 tfinlmlEflr& trnm the d*PlC?b limtly - Orhbowd LCD*. * wile he*, iwe Fts 232 inlarlaew. fiS-485 menace 1WO CAN interfaces, real- time dock 12-bfl AD and DA and C F card skn ■ All 1*0 bnas available lor axpanston 4 rfcPICPF&O srortflf PmM mciludw: dsFIC30F6D14 DSC module *' 16x2 character LCD r 128x64 pixel graphic LCD - DS18S20 Iflmfflrsturfl Sfln&5r k' USB pforjramniiingfjciwfir lead ■■■ Programming software and examples- BIG M i 64-pin AVR Starter Pack £119.00 « High q*. :-.lil y davalopmarrl boaid ■ Suit- m USB J.&piogrsmmflr ■ Wndows Sfl-'ME *2806 XP compalbla « ^uppoils 64 -pin AVR m ic rocord rotters ■ Qn-b04td LED*. tWflCNSt, pfltfllllp- flPMrtett, l wo FiS-232 iintflrlncflt. ps-? Cfjfinflddr am MHCi^D and Coni- pad Flash card slots -■ All LD Rnas available loi expansion - Si^AVFt Siader Padc indutfw: * ATffl*gal2&MCU mflduto 16x2 diarader LCD 128x64 pixel graphic LCD osi8S20tflmi>tiF3tute sof *■' U$8 pfbgfamruwi^powflf l&sd « Programming! software and examples PSoC Starter Pack £119.00 » High quaMy baufllqpmerK board * Birfl ‘Hi USB 2,8 prcpniim«f ■■ WmxIowe W campalibUe * Supports B, 20, ?i and 4fl-pm DIP PSoC mixfld sAjnfli'Mntrollfli* * Dn-board LEDfi SMrtche*. polenli- emetofs. RS-232 IfMitooa, R^-485 mlarTace. CAM pttariace. real-time dock, and MMCiBD and CF card slots r An ID lines available lor expansion ■ Ea*yP$oC3$lartflrPflcif includes v 45 pm PSoC mrcroooniroler * 1 6x2 character LCD ^ 126x84 pfXat graphic LCD v DS 1 8 S 26 lempflrfliiKfl 4 USB programming-power lead ^ Piogr3mnnng *Oltwaae ^hd examples ^readboarcung System* ean supply al MikroE tettrarnkfi prcwhicfcs frem, ntocR cradfl and *bfl tards accepi&d Pnee* shewn extf nde daiivflry and VAI Bread boarding Systems Software and hardware development tools Tel: 0845 226 9451 Web i www.b read boardi ng .co.uk INFO & MARKET NEWS & NEW PRODUCTS British computing power helps bring Were-Rabbit to life Sight Systems has helped bring the latest Aardman Animations film, "Wallace & Gromit: The Curse of the Were-Rabbit", to the screen with their high-tech cus- tom computer systems. Sight Sys- tems helped build a custom- developed computer called the Aardcase that helped Nick Park and his team to speed up the process of bringing the plasticine hero's, Wallace and Gromit, to life as well as creating the huge, mysterious veg-ravaging beast: the Were-Rabbit! The Aardcase is connected to the film cameras, capturing the images from up to 30 cameras directly to hard disc. It allows the animators to check the minute changes made from one frame the next in real time. Although many people assume that the technology behind blockbuster movies is associated with large Hollywood companies, Sight Systems has provided some tech- nology for several productions, including the last Aardman film, "Chicken Run". The Aardcase is a single board based PC with a passive back- plane in a ruggedised 61) 19" rack mount case. Aardman demanded a highly robust prod- uct that could be easily trans- ported - including being wheeled over the cobbled paths near their office - so Sight Sys- tems designed a custom vibra- tion-resistant solution to ensure that the computer would stand up to this rough treatment. The system includes a video capture PCI card, an optical drive for storing captured film, and two hard drives. The two drives sep- arate the video, which is stored on a high-performance SCSI drive, from the operating system and software that is held on a cost-effective ATA drive. The custom case routes the video connections and other I/O to a rear panel designed for use by animators with little or no knowl- edge of PCs. In addition to the video inputs, the system also pro- vides a 1 2V supply to power the cameras. Installed software includes the Perception Video Recorder from DPS as well as a custom Video Assist and Digital Video Frame store developed by Aardman that helps the anima- tors plan character movements on screen, and allows them to check the frame currently being shot with those already com- pleted to ensure continuity. "We have provided many sys- tems for the film and broadcast industry, which is only one of the applications that use our prod- ucts," said Phil Walters, MD of Sight Systems. "Our long rela- tionship with Aardman shows that we can meet the needs of the most demanding customers over an extended period of time. Wallace & Gromit: The Curse of the Were-Rabbit is showing now at local cinemas, featuring the voices of Helena Bonham-Carter and Ralph Fiennes as well as Peter Sallis, who has been the voice of Wallace since the first short. More information is available at www.sightsystems.co.uk. ( 065079 - 4 ) In-vehicle video recorder Reliance Motor Services (RMS) has announced their success with deView's Mobile Digital Video Recorder System (DV-M8), manufactured by Security Man- ufacturing Limited (SML). Reliance Motor Services are renowned for their success and are the 2005 winners of the "Bus Operator of the Year" award at the RouteONE Excel- lence Awards." due to their qual- ity and commitment to their cus- tomers and staff. RMS operates throughout the Vale of York. RMS contacted Sewell of Leeds nearly 6 months ago to find out what would best suit their require- ments for CCTV for double deck buses, which were being added to their fleet. Sewell of Leeds arranged to demonstrate the deView DV-M8 and gave them the option of a range of deView cameras and driver screens to meet their needs. The DV-M8 can be installed into any vehicle type and you can choose what you require to view internally or externally on the vehicle. Camera installation is quick with well-designed camera mounting making set up quick and simple. The DV-M8 system is easy to add or integrate options such as reversing camera sys- tems, as well as being compact and having the ability to bolt directly to the vehicle without compromising reliability makes installation a breeze. Full details of all deView prod- ucts can be found on their web- site at www.deview.com and for more information regarding the DV-M8, please contact Gerry Burns, Special Project Sales. ( 065079 - 6 ) 12 elektor electronics - 3/2006 FPGA-based mobile applications board QuickLogic Europe has released a low-power FPGA development tool for Intel's PXA27x based Processor Developer's Kit - the 'Mainstone' DVK - enabling rapid adoption of emerging tech- nologies that are not natively sup- ported. The new Mobile Appli- cation Board (MAB) can provide seamless connectivity between XScale processors and periph- eral interfaces such as Mini PCI, CardBus, SDIO and IDE. QuickLogic's FPGA-based MAB enables the development and performance verification of design ideas for a variety of peripheral interfaces such as Wi- Fi, HDD (Hard Disk Drive), 10/1 00/1 G Ethernet, MPEG devices, SD memory, and many more. It connects directly into the VLIO connector of the DVK, which allows designers to make system measurements and archi- tecture trade-offs including power consumption, perform- ance and cost. MAB allows electronic design teams start software develop- ment prior to receiving final hardware. This ability to design hardware and software in paral- lel can provide product develop- ers with a critical competitive advantage, by significantly reducing time spent in develop- ment of popular portable prod- ucts such as GPS, smart phones, portable media players, and portable industrial systems. The QuickLogic Mobile Applica- M1TACHI mad pftvi ■mm W TT* Travetatar QutfXLQChC QuicxLogic XScale Mobile A.B ft? V 10 ilJIOL Ik CANADA <£> rPH MirtJ PCI ( r r i r fit i ? i it t i Hit 1 i tion Board is available immedi- ately. Complete solution packs are available for both Wi-Fi and HDD connectivity. They include the Mobile Application Board, an Eclipse II QL8325 device in a 484-ball BGA package, refer- ence design files and software drivers for Windows CE, Win- dows Mobile, and Linux. In addition to this solution for QuickLogic's Eclipse II family of FPGAs, the company will release a MAB based on PolarPro, the new ultra low power FPGA, at the end of Q1 , 2006. For more information, access: www.quicklogic.com/mab QuickLogic Europe, 1 5 London Street, Chertsey KT16 8AP,UK. Tel. +44 1932 579011. www.quicklogic.com (065079-5) Advertisement Your price conscious PCB supplier Verified CIRCUITS Online price calculation Online ordering Online order tracking Online 24/24H and 7/7D a la carte pooling for standard boards up to 6 layers from 1 to 1000 pieces from 4 working days onwards - technology at the right price - up to 8 layers - from 1 to 1000 pieces - from 3 working days onwards Interested? Contact us: +32 15 28 16 30 E-mail: euro@eurocircuits.com On demand your board, our challenge up to 20 layers from 1 piece onwards from 2 working days onwards 3/2006 - elektor electronics 13 INFO & MARKET NEWS & NEW PRODUCTS Three-phase PWM controller International Rectifier announced a three-phase PWM control 1C with integrated drivers for DC- DC converters. The IR3094MPbF enables up to 40% circuit size reduction when used with Inter- national Rectifier DirectFET™ MOSFETs. The smaller footprint makes the IR3094 ideal for space-constrained applications like DDR memory in rack servers and point-of-load (POL) modules used in high-density data sys- tems. A typical 80A, three-phase syn- chronous buck solution would require as many as 13 devices including one control and three drivers in addition to three MOS- FETs per phase. A chip set made with the IR3094 plus IRF6637 and IRF6678 DirectFET MOS- FETs reduces the silicon compo- nent count to seven devices for the same output current. Three pairs of these DirectFET MOS- FETs can be placed directly next to the IR3094, creating a solu- tion that minimizes printed circuit board trace parasitics and enables optimum switching per- formance. The IR3094 is designed for applications requiring a 0.85 V to 5.1 V output. The new 1C is housed in a compact 7mm x 7mm MLPQ package, and fea- tures 3A gate drive capability, a 1% accurate reference voltage, adaptive voltage positioning and programmable switching fre- quency up to 540kHz. The IR3094 provides system protec- tion with programmable soft start, hiccup over-current protec- tion, over-voltage protection, and a "power good" indicator. The IRF6678, an ideal synchro- nous MOSFET, features a very low typical device on-resistance of 1.7mOhm at 10VGS and 2.3mOhm at 4.5VGS. The IRF6637 is best suited as a con- trol MOSFET, with very low Miller charge of only 4nC and typical device on-resistance of 5.7 mOhm at 1 OVGS and 8.2mOhm at 4.5VGS. Both MOSFETs are housed in the medium can DirectFET package, occupying the same board area as a SO-8 with only a 0.7mm profile, and improved thermal performance through double- sided cooling. www.irf.com ( 065079 - 3 ) LPKF ProtoMat S42 PCB Plotter LPKF Laser & Electronics AG presents the LPKF ProtoMat® S42 circuit board plotter, a new entry-level circuit board plotter for in-house rapid PCB prototyp- ing. This compact system pro- vides precision and performance for quickly and easily milling and drilling single-sided and double-sided circuit board proto- types in a single day. The LPKF ProtoMat® S42 is an excellent tool for colleges and technical institutions, allowing students and instructors to pro- duce printed circuit boards that are production quality and chemical free, immediately in the classroom environment. Low con- sumable costs, instant turn- around, and no need for exter- nal vendors encourages more practical exercises and experi- ments in the classroom or labo- ratory. The ProtoMat® S42's 42,000 RPM spindle motor makes it an excellent entry-level performer for producing quality PCBs in- house. Easy handling can be increased with the addi- tion of an optional recognition camera, as well as a vacuum table. LPKF Laser & Electronics AG, Osteriede 7, D-30827 Garbsen, Germany. Tel.: +49 (0)5131- 7095-324, Fax: +49 (0)5131- 7095-90. www.lpkf.de ( 065079 - 1 ) 14 elektor electronics - 3/2006 PC Oscilloscopes <& Analyzers Analog + Digital 100MHz Digital Oscilloscope Dual Channel Digital Scope using industry standard BNC probes or analog inputs on the POD. 40MS/s Logic Analyzer 8 logic, External Trigger and special purpose inputs to capture digital signals down to 25nS. Mixed Signal Oscilloscope True MSO to capture analog waveforms time-aligned with logic using sophisticated cross-triggering on any input. Real-Time Spectrum Analyzer See spectra and waveforms in real-time displayed simultaneously Waveform Generator Load up to 128K arbitrary waveform and replay via BNC B. Capture circuit response simultaneously on BNC A Get the full picture with BitScope Mixed Signal Oscilloscopes Turn your PC into a powerful Digital Storage Oscilloscope! See inside your circuit with simultaneous analog, logic and spectrum displays to make tracking down those elusive real-time bugs much easier. BitScope combines a high speed synchronized storage scope and logic analyzer with a programmable waveform generator and spectrum analyzer. With "Smart POD" connected active probes and multiple software options you've got the perfect low cost high performance test and debug solution! U; ( - w r . V 0* w v o Standard 1 M/20pF BNC Inputs 200uV-20V/div with xl 0 probe S/W select AC/DC coupling Switchable 50ohm termination Arbitrary Waveform Generator BitScope Smart POD probe connector 8 logic channels, cross-triggering Dual channel analog inputs Async serial I/O for external control Supports active probes USB 2.0 or Ethernet Connectivity Single cable to PC or switch Compressed data transmission Ethernet option uses UDP/IP Internet addressable device Expandable and Programmable Simple ASCII Protocol BitScope Scripting Language Add active probes and devices Supplies up to 500mA via POD BitScope and your PC provide an array of Virtual Instruments ■r • dp \ J BitScope DSO software for Windows and Linux BitScope's integrated design uses standard oscilloscope probes and a growing range of custom probes to provide functionality equal to instruments many times the price. BitScope plugs into third party software tools and has an open API for user programming and custom data acquisition. www. bitscope . com 3/2006 - elektor electronics 15 HANDS-ON FPGA MODULE Modern technology for everyone Paul Goossens FPGAs have established a firm position in the modern electronics designer's toolkit. Until recently, these 'super components' were practically reserved for specialists in high-tech companies. That's all changed now thanks to low component prices and free design software, so it's high time to devote attention to this technology in Elektor Electronics. The FPGA module discussed in this article forms the core of various upcoming projects in the magazine. 16 elektor electronics - 3/2006 If you want to use an FPGA in your design, there are several things you can’t do without, including a program- ming interface and configuration mem- ory. We thought it would be a good idea to incorporate the standard items normally associated with an FPGA into a single electronics module, in order to avoid the need for everyone to reinvent the wheel each time. This module can then be used as a ‘digital core’ for var- ious circuits. A major benefit of this approach is that it allows designers to concentrate on specific applica- tions without having to worry about the sound- ness of the FPGA element. Getting started is the hard part For those of you who haven’t used FPGAs before, this module and the associ- ated prototyping board described elsewhere in this issue form an ideal starting point for learning about FPGAs. It’s impossible to avoid using SMDs in a circuit such as this. To make things even worse, we decided to use an FPGA in a BGA package for this cir- cuit, which means DIY soldering with a normal soldering iron is simply impossible. Soldering the other mem- ber of the family (in a PQFP package) is also very difficult. However, using these ‘difficult’ components allows the overall dimensions of the circuit board to be kept reasonably compact. Fortunately, you don’t have to worry about assembling the board, because the FPGA module is available from Elektor Electronics with most of the components pre-assembled. The only components you have to solder by hand are the connectors. Besides this module, you will need a programming interface that sits between the PC and the FPGA board. Naturally, we’ve also developed a design for this interface. Technical features • Altera Cyclone FPGA • 1 2,060 logic elements • 4 MB configuration memory • 8 MB user SRAM • 1 MB user flash RAM • on-board 50-MHz clock • JTAG/programming interface • Byteblaster compatible • 80 user I/O lines • dedicated clock signals • indicator LED • built-in switch-mode power supply • small multilayer PCB (1 10 x 77 mm) • supplied ready to use It takes more than just an FPGA to make a circuit As already mentioned, you’ll need some peripheral electronics to enable you to use an FPGA in a practical cir- cuit. One of the most important ele- ments beside the FPGA is the configu- ration memory. In contrast to most FPGAs, the configuration memory retains its data when the supply volt- age is switched off. Each time the unit is switched on, the FPGA must be configured again before it can fulfil its intended function. Fortu- nately, FPGA manufacturers have developed special memory ICs that can configure FPGA ICs automatically when power is switched on. Our cir- cuit includes one of these memory ICs. Easy programming of the FPGA and the configuration memory during the development phase is also highly desirable. That’s why a programming interface (using JTAG) also forms part of the standard peripheral circuitry. Another quite important part of such a circuit is the power supply. The inter- nal operating voltage of most such ICs is quite low (1.5 V in our case). The power supply must be able to handle short current spikes without problems. In addition, a different voltage is used for the inputs and outputs. Here we decided to use 3.3 V. The supply for this voltage must also be able to deliver fairly heavy currents and remain stable under heavy loads. Our circuit also includes an oscillator, SRAM and flash memory. They can be used freely by the application. All the individual elements of the cir- cuit can be easily identified in the schematic drawing. The design Due to the size of the schematic draw- ing of the FPGA module, we decided to print it on a foldout which may be found in the centre of the magazine. Let’s start at the beginning with the power supply. It is built around a TPS75003 (IC2) and can work with an input voltage in the range of 4. 5-6. 5 V. This IC is specially designed for use in FPGA circuits. It contains two switch- mode power supply circuits and one series regulator. The latter is not used in our circuit; only the two switch- mode circuits are used. A step-down regulator that provides a 3.3-V supply voltage is implemented using Tl, Dl, LI, Cl and associated components. IC2 periodically drives FET Tl into conduction to allow a cur- rent to flow from the input voltage via Tl, LI and Cl. This causes the current through the inductor to increase, which in turn causes capacitor Cl to be charged. When IC2 switches off the FET, the current flowing in LI cannot stop immediately, so it continues to flow through Cl and Dl. Rl, R3 and C3 provide feedback so IC2 can determine whether it has to supply more power or less power. The values of these components have been chosen such that IC2 tries to maintain the output voltage at 3.3 V. Resistor R2 is a sense resistor. IC2 will limit the current if the voltage across 3/2006 - elektor electronics 17 HANDS-ON FPGA MODULE Figure 1. The programming mode of the Quartus program. this resistor rises above 0.1 V. The value used here (50 mil) results in a current limit threshold of 2 A. A similar circuit is built around T2, with only the values of the feedback resistors being different. They are cho- sen to yield an output voltage of 1.5 V. The electrolytic capacitors at the input buffer the input voltage. They also pre- vent fast current spikes from leaving the board. That prevents generation of interference that could impair the oper- ation of nearby equipment. The FPGA is powered from these sup- ply voltages, but not directly. The sup- ply lines for the two sections of the FPGA are first fed through ferrite beads to block high-frequency radia- tion. The supply voltages are also buffered close to the IC by several additional capacitors. That may appear to be a bit of overkill, but fairly large switching currents at high frequencies can flow through the FPGA, depending on the final circuit configuration. It is always a good idea to keep the paths of such currents as short as possible. Otherwise the circuit can easily gener- ate too much undesirable interference. And now for the digital part Now that we’ve looked after the sup- ply voltages, we can turn to the digital portion of the circuit. The first thing the FPGA needs is a configuration mem- ory. That memory is present in the cir- cuit in the form of IC6, which has been designed to work with the FPGA. When the MSEL signals from the FPGA are at ground level, the IC expects to find a configuration memory (such as the EPCDS4) connected to it. The FPGA will then independently control the memory IC and read data from it in order to configure itself based on the data. That makes the process very easy in actual use. A programming connector (K5) is pro- vided for programming IC6. The pin assignments of this connector have been chosen to make it compatible with the Altera ‘Byteblaster’ program- ming interface. Connector K6 is used for in-circuit pro- gramming of the FPGA from a PC. That makes it unnecessary to first program a design into the configuration memory. This connector can be used to quickly test a design without using the config- uration memory. Here again, the sig- nals are arranged to be compatible with the Byte- blaster interface. The circuitry around T3-T5 forms an indicator circuit that clearly displays the status of the FPGA using bicolour LED D3. Any error states that may occur are also indicate visibly by D3. An abundance of I/O As this circuit is intended to be used for all sorts of applications, it has an abundance of I/O pins. They are accessible via con- nectors K3, K4, K7, K8 and K2. These connectors fit stan- dard pin headers with 0.1” pin spac- ing. That avoids the difficulties of using SMD connec- tors on the motherboard and thus makes it quite easy to connect the board to your own hardware. Connectors K3, K4, K7 and K8 present an impressive total of 80 I/O pins of the FPGA to the outside world. The I/O lines are all routed to one side of each connector. The supply voltage (3.3 V) and ground are available on the other side on alternating pins. You can use the supply and ground pins to power your own circuit if it doesn’t require too much current. This supply voltage is also filtered on the module by a ferrite bead and two capacitors. Connector K2 provides a special con- nection. Besides ground lines, it has several signals that are specifically intended to be used as clock signals. Pin 10 is an input that can be used to supply an external clock signal to the FPGA. The remaining even-numbered pins are all connected to the outputs of the internal PLLs of the FPGA. Of course, it’s possible to provide an external clock signal on any other desired input of the FPGA, but these pins are specifically intended to be used for that purpose. 18 elektor electronics - 3/2006 The extras Many FPGA-based designs require memory. Although there is memory available in the FPGA, it’s not enough for many types of applications. In light of the fact that a ‘softcore’ processor is often used, a flash memory can be quite handy for storing the firmware of the processor. That makes it possible to use larger amounts of code in appli- cation designs without taking up addi- tional space in the FPGA. The flash memory takes the form of IC5 in the schematic diagram. A bit of extra RAM can also be desir- able in some cases. Besides being use- ful if one or more softcore processors are used in the FPGA, additional RAM can also be welcome for various types of signal processing. The RAM memory is provided by IC3 and IC4. These ICs have a capacity of 4 Mbits and are configured as 256K 16- bit words. Signals BHE and BLE can be used as two separate CE lines, with BHE being the chip-enable line for the upper byte (D8-D15) of the data lines and BLE the chip-enable line for the lower byte (D0-D7). That means this memory can also be used as a 512-KB memory with 8-bit data. IC3 is connected directly to the FPGA, while IC4 shares its data and address busses with the flash memory (IC5). The busses are shared to ensure that enough I/O pins of the FPGA are kept free for the user connectors. However, that means the FPGA cannot read or write the RAM and flash memory at the same time. That doesn’t form a major problem in practice, especially when softcore processors are used. That completes the description of the main parts of the circuit. We already mentioned that the circuit board for the module is provided nearly fully assembled. The only thing you have to do is to solder the eight pro- vided connectors to the board. Connec- tors K2, I<3, K4, K7 and K8 are fitted on the bottom of the board. The other three connectors are fitted on the top of the board (on the component side). Make sure pin 1 of each connecter is in the right position, which is marked by a ‘1’ on the component overlay. Programming interface This module by itself is only a starting point. The FPGA and/or configuration memory must be programmed before they can be used. That requires a pro- gramming interface. The schematic diagram of the programming interface is also shown on the foldout. It con- nects the FPGA or configuration mem- ory to the parallel port of a PC. The programming interface is compatible with the Altera Byteblaster interface and can be used with free Altera soft- ware. The circuit is quite straightfor- ward. Everything is powered by 3.3 V taken from the FPGA module. The two ICs are used to convert the +3.3-V signals from the FPGA to + 5-V signals for the PC and vice versa. The 100-Q resistors prevent the + 5-V signals from raising the supply voltage above the allow- able level. The interface is connected to the par- allel port of a PC via connector K3. K2 is a box header that is connected to the FPGA board by a 10-way flat cable with a matching plug at each end. If you just want to program the FPGA in order to test something, this cable must be connected to K6 ( JTAG) on the FPGA module. If you want to program the module so it can operate on its own, this cable must be connected to K5 (PROGRAM) on the FPGA module. Software A project of this sort naturally includes corresponding software. The manufac- turer of the FPGA we use here, Altera, has a very nice package of support software for its FPGAs. The free ver- sion of the software is called ‘Quartus Web Edition’ and can be downloaded from the manufacturer’s website (www.altera.com). It’s a quite sizeable download (240 MB at the time of writ- ing this article), but you can also request a free CD-ROM on the Altera website. After installing the software, which by the way goes without a hitch, you will need a licence. You can also obtain this via the Altera website, and it is valid for six months. At the end of the six months you can request a new licence. For the sceptics among our readers, the manufacturer has assured us that this software will remain free in the future. There’s not enough room here to show you everything you can do with this software, and it’s equally impossible to present a full course in VHDL here. If you’re new to using FPGAs, you should have a look at the accompany- ing FPGA Prototyping Board described elsewhere in this issue. Testing Although this circuit does not have any real input or output capabilities, it’s still possible to make a simple test. After installing the software, it’s best to switch off your PC for the next steps. Start by connecting the programming interface to the paral- lel port of your PC. Next, use the supplied 10-way flat cable to con- nect the interface to the FPGA mod- ule. You should connect the flat cable to connector K6 (JTAG) on the FPGA module. Now switch on the PC and connect a power source to the FPGA (caution: maximum volt- age 6.5 V). Start up Quartus and then click on the programming icon in the menu bar, or click on the Tools menu and select Programmer (the result will be the same in either case). The pro- gramming window will be opened. Click on the Hardware Setup button, and then click on Add Hardware in the new window. Select ‘Byte- blaster’ and specify the printer port you connected to the programming interface (usually LPT1:). If you then click on the Autodetect button in the main window, the pro- gram will automatically detect your FPGA (EP1C12). That way you can be sure the FPGA is working and the supply voltage is present. ( 040477 - 1 ) The Versatile FPGA module can be ordered from Elektor Electronics Readers Services under order number 040477-91 . Included items • FPGA module (ready to use) • programming interface (ready to use) • programming cable • interconnect cable (between PC and programming interface) • 8 pinheaders (supplied separately) 3/2006 - elektor electronics 19 HANDS-ON FPGA PROTOTYPING BOARD VGA A genuine VGA output that you can use to display text and imagery on a PC monitor. It's all done with only a few standard components. See page 24. Ethernet Your link to the Internet. The associat- ed 1C provides the coupling between the analogue and digital portions. See page 24. USB This USB interface makes communi- cation with your PC fast and easy. And it takes only five components, including the connector! See page 24. Analogue I/O Four analogue inputs and one ana- logue output. In addition to all the digital artillery on the board, an ana- logue interface is naturally indispen- sable. This I/O port has a resolution of 8 bits, which is enough for most applications. See page 24. mu mi uuo>xow * ■ ™ f ■ 111 J - r . ■ 1 !£l ■ ■ ■ IhCLv ‘ 1 m! i lip Mi i> 1 jJ P mm in: iiW ill \\\ i VI lTI f Digital I/O LEDs This interface allows you to connect You can use the LEDs for a visible your own circuitry to the indication of the status of prototyping board. various components. See page 24. See page 24. 20 elektor electronics - 3/2006 Q Q 00000^0 Power supply The power supply is pretty tolerant. As long as the input voltage is some- where between 6 V and 20 V, the regulator will take care of the rest. You don't even have to worry about getting the polarity right - the power supply circuit doesn't care. See page 25. PS/2 A port for a PC keyboard and mouse. See page 25. LCD A two-line LCD module with a maxi- mum of 16 characters per line. An essential part of every proper proto- typing board! See page 24. Audio I/O With 16-bit stereo input and output, this prototyping board can also hold its own in the audio world. See page 25. Displays The ideal way to display numbers. Also handy for displaying the date or time. See page 24. Pushbuttons Besides all sorts of sophisticated inputs and outputs, simple operation using pushbuttons is often desirable. See page 24. DIP switches For enabling or disabling options. Naturally, they can also be used as independent switches. See page 25. 3/2006 - elektor electronics 21 HANDS-ON FPGA PROTOTYPING BOARD This prototyping board provides an environment for the FPGA module that enables it to do something useful. That gives you an opportunity to discover the capabilities of our FPGA module for yourself. Naturally, you don't have to make this voyage of discovery all on your own - a course in the form of a series of instalments in upcoming issues will guide you on your way. We’ve designed a prototyping board that enables the FPGA to be used for a variety of tasks. As you can see from the list of features at the head of the article, it’s equipped with quite a few modern interfaces. For many of our readers, designing a circuit that will ultimately be imple- mented in an FPGA will be a totally new experience. For that reason, we’ll start a series of articles on FPGA pro- gramming in next month’s issue. It will be based on the prototyping board described here. Just like the FPGA module, this circuit board is supplied in ready-to-use form. »> Figure 1 . Schematic diagram of the FPGA prototyping board. The board layout is available free of charge in PDF format at www.elektor- electronics.co.uk. K3 +5V © O o § © © © © © © © © © © 10 +5V © R4 a I o I 15 14 C18 lOOn C17 nr 100n 16 © AOUT A0 IC3 A1 AIN0 A2 AIN1 OSC AIN2 SDA AIN3 SCL PCF8591 VREF EXT AGND -1- 13 11 9 K8 1 3, 5 7 | 9 1 1 1 13 1 5 1 17 19, 21 23, 25 27, 29 31, 33 35, 37 39, d c \ o d ? 9 <; \> o d ? 9 <; o c ? 9 c \ o d \> o d 2_2J \> 0 d ?9J ) o d \> o d ? 9 o d ? 9 c \ d) ? 9 2 4 6 8 10 12 14 16 18 1 20 1 22' 24' 26 1 28 1 30 32 34 36 38 40 X oc X xxxx X + a m c r > □ g xxxX x +3V3 10 12 *x K5 +5V © O 5 © © © © © © © © © © +5V ©- 2 4 3 5 4 6 5 7 6 9 7 10 8 11 9 12 10 C19 ir 16 lOOn PO PI P2 P3 P4 P5 P6 P7 © IC4 SCL SDA INT PCF8574 AO A1 A2 +5V © +5V ©■ 14 15 13 C29 | R18 LCD1 < 04 CO vss VDD VO RS R/W E DBO DB1 DB2 DB3 DB4 DB5 DB6 DB7 LED+ LED- 031 lOOn - 11 12 16 Hh lOOn PO PI P2 P3 P4 P5 P6 P7 © IC6 SCL SDA Tnt PCF8574 AO A1 A2 +5V ©- 14 15 13 C33 7 4 8 5 9 6 10 7 11 9 12 10 13 11 14 12 15 16 R31 ion +5V +) 16 Hh 100n 1 PO PI P2 P3 P4 P5 P6 P7 © IC8 SCL SDA Tnt PCF8574 AO A1 A2 14 15 S 5 i 6 15 4 13 12 1 10 l 9 I 1 — o o— — o o— 11 6m6 o lo 11 I o 2 3 4 5 3 7 8 +5V ■© 3 2 5 6 DIPSWO DIPSW1 DIPSW2 DIPSW3 DIPSW4 DIPSW5 DIPSW6 DIPSW7 "N ■\ "N "N TT.TTT R11 9 1 8x 10k +3V3 2x FDV301N +3V3 1 SI n 13 +5V -© S2 R5 S3 n R6 S4 R7 SWITCH1 SWITCH2 SWITCH3 SWITCH4 A "N A R 8 T T . T T R37 +3V3 (+)— f T~ion~| K11 K13 7 RESET 8 10 LRCIN y 11 BCKINy 12 DOUT / 15 DIN jA C48 lOOn K16 z K17 K4 T V 7777 T V / / / / V V 7777 Z O o CO n CN n i— n 0 n DC g OC z O 1 — CN CO _l C/) a O X DC X DC X oc X oc O X X DC X oc X 1 - O X X 1 - X 1 - X H X f— X H O 0 Q 2 LU —i DC 1 - 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 c !> d 0 d d !> d 5 d !> d !> d 0 d d !> d \> d !> d !> d 5 d d !> d 5 d c !> d 5 c ? 9 ^ ? ? ? 1 3 I 5 7 I 9 111 13 15 1 17 191 21 23 1 25 27 l 29 31 1 33 35 1 37 39 1 22 elektor electronics - 3/2006 K12 3, 5 % 7 1 9 11. 13 % 15. 17 19, 21 3 23, 25 3 27, 29 3 31 . 33 3 3 5 1 37 39 1 O O O ooooooooooooooooooo OOQQQQQQQQQQQQQQQQQQ 8 10 12 14 16 //// 18 20 22 24 26 28 O //// 30 32 36 38 40 //// +3V3 © L3 ^C20 ^C21 ^C2 FULLSPEED KBDDAT \ KBDCLK KEYBOARD MOUSEDAT A \ MOUSECLK MOUSE K7 in CO 04 CO C4 ] 04 CO (D in CO G LU —1 o LU _l Q LU -1 G LU —1 Q LU —1 X O 1- X O 1- X 0 1- X 0 1- £ CO □_ § CO Q_ £ CO □_ CO < > CO _l 0 CO 5 5 s 5 Q G G 0 G G 0 G CO CO CO CO CO 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 !> d 5 d \> d !> d ) d !> d ) d 5 d \> c !> d !> d 5 d ) d 5 d \> d !> d ) d 5 d !> d IS IS IS IS j> j> j> ? s 3 1 5 71 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 C24 lOn 33 n 1 R 12 TX CLK RXCLK ■j ri6 RXDO "j R17 RXD1 RXD2 "! R20 RXD3 44 1 — 43 MDC 42 MDIO 54 TX ER 56 TX EN 57 TXDO 58 TXD1 59 TXD2 60 TXD3 53 RX ER 49 RX DV 62 COL 63 CRS 4 RESET 64 MDINT \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ R29 \ VGA HSYNC \ VGA VSYNC +3V3 © 2x BAS40-04W IC7 ULN2003AD LED1 1 f LED2 2 f LED3 3 ' LED4 4 f LED5 5 f LED6 6 ' LED7 7 V DIG 1 1 Sv DIG 2 2 ^ DIG 3 3 V DIG 4 4 V DIG L 5 \ DIG A 6 S. DIG B 7 \ DIG C 1 \ DIG D 2 \ DIG E 3 \ DIG F 4 \ DIG G 5 DIG DP 6 B1 iv Cl B2 C2 B3 C3 B4 C4 B5 C5 B6 C6 B7 C7 E COM 8 1 9 IC10 ULN2003AD B1 iv Cl B2 C2 B3 C3 B4 C4 B5 C5 B6 C6 B7 C7 E COM 8 1 9 IC11 ULN2003AD B1 iv Cl B2 C2 B3 C3 B4 C4 B5 C5 B6 C6 B7 C7 E COM | D8 [D9 "d 10 Dll | D1 2 *D 13 |D14 V->W>W'>W'>W>W'>W'>' |R21 | R22 | R23 | R24 | R25 | R26 | R27 a r M I psl I /*v 1 pi I pJ I pi V] I ^ I v«/] V] I I Oi jo o I o I o o I o I o CM CM I CM I CM CM I CM I CM 16 15 14 13 12 11 14 +5V 16 15 270 fl 16 1 R51 13 ■j R52 3 ■j R55 5 ■j R57 11 ■j R58 15 \ R59 7 D20 1 2 6 8 A, LI B, L2 T- CM CO q- -I < < < < < o o o o o L3 o, rO 0*0 O ■ UoLDJJJo G DP DIG1 DIG2 DIG3 DIG4 LITE-ON LTC-4627JR K2 1 3 5 7 9 d c ) d p c 5 d p c !> d p c !> d p c 5 p 2 4 6 8 10 K1 -0- -0 FEEDBACK VIN BOOST IC1 LM2679-5.0 SOFTSTART OUT ADJUST Cl lOn +5V © < 4A5 LI 15|jH 1 R1 8 5 R2 m CM 00 30BQ015 C13 22(i 20V VIN Cl 4 22ja 20V C15 22|m 20V FEEDBACK BOOST IC2 LM2679-3.3 SOFTSTART OUT . ADJUST C16 lOOn C9 lOn +3V3 -© 8 5 R3 D7 m CM 00 CIO C11 C12 180n 6V3 180(1 6V3 30BQ015 180|i 6V3 050370- 11 3/2006 - elektor electronics 23 HANDS-ON FPGA PROTOTYPING BOARD VGA Our prototyping board even has its own VGA output. The circuitry for this can be found around K9. Three super-cheap D/A converters are implemented using six resistors. The synchronisation signals can remain in digital form. As signal reflections can be expected here, all of these lines are protected against over- shoots by a set of fast Schottky diodes (D15-D19). Generating a VGA signal is easier than it appears. After reading the seventh instalment of the course, you'll know exactly how it's done. Ethernet The Ethernet interface is built around IC5, which converts digital signals into analogue signals and the other way around, all according to the Ethernet standard. Driving this interface is fairly complex. In the ninth instalment, well use this interface to perform some experiments on a network. 7-segment displays The board has four 7-segment displays with decimal points, which are housed together with three separate LEDs in a single package (D20). This display has several common-anode leads (5 in total). They can be individually connected to the supply voltage to determine which of the five areas of the display should be illuminated. Here four of them are used for the four 7-segment displays and asso- ciated decimal points. The fifth lead pro- vides current to the three separate LEDs. The anode leads can be used to con- trol which elements of these five areas light up. For the drive signals, we use the same type of 1C as for the LED drive signals. Several outputs of 1C 10 and IC1 1 are used to switch the anodes to ground under control of the FPGA. Five leads are used to switch transistors T1-T5. In this way, we can use signals DIG1-DIG4 and DIG L to control which part of the display is active. Driving this display is somewhat difficult because the various parts of the display must be driven in rotation. We'll illus- trate how to do this in the second instalment of the FPGA course. Digital I/O We can easily imagine that the proto- typing board will be used as a control unit for something or other. There are eight digital I/O lines to allow user hardware to be connected to the proto- typing board. The 1C we selected for this purpose (IC4) has an l 2 C interface. This interface is also used to communicate with another 1C that we'll describe shortly. The circuit around T8 and T9 has already been used in another Elektor Electronics design. It converts the 3.3-V l 2 C signals into 5-V l 2 C signals. The l 2 C bus uses a serial data transmis- sion protocol. The way this is implement- ed in the FPGA will be described in the third instalment of the course. USB A standard USB interface is built round connector K1 0. It can be optionally con- figured to present itself as a fast or slow USB device. The PC recognises a fast USB device by the fact that the D+ USB line is pulled up to the positive supply voltage by a resistor. For a slow device, the D- line of the USB is pulled to ground by a resistor. On the prototyping board, either option can be selected by the FPGA as desired by switching FETs T6 and T7 on or off. Here again, the two data lines are wired directly to the FPGA. We'll perform a few experiments with the USB bus in the eighth instalment. Analogue I/O Besides the digital I/O options, the board has four analogue inputs and one analogue output. These 8-bit I/O ports are provided by IC3, which also has an l 2 C interface. For that reason, this I/O option will also be described in the third instalment of he FPGA course. LEDs LEDs D8-D14 can be driven directly from the FPGA module by signals LED 1 - LED7. IC7 buffers the drive signals. Whenever an input is at a logic High level, the corresponding output is pulled to ground. The currents through the LEDs are limited by resistors R12-R27. This type of drive is very simple. In the first instalment of our FPGA course, we will use these LEDs to study various digital functions. Pushbuttons One of the input options of the proto- typing board takes the form of pushbut- tons. This is provided by pushbutton switches S1-S4. Signal lines SWITCH 1-SWITCH4 are held low by resistors R5-R8 when the pushbuttons are not pressed. If a pushbutton is pressed, the associated signal line is pulled up to the supply voltage. Signal 24 elektor electronics - 3/2006 lines SWITCH 1-SWITCH4 are con- nected directly to the FPGA module, just like the LED signal lines. You can use the pushbuttons to control the states of four signal inputs to the FPGA. These four pushbuttons will also be used for simple input functions in the first instalment of the FPGA course. DIP switches Switch module S5 houses eight small switches, which are wired the same way as pushbuttons S1-S4. They allow an additional eight signal inputs of the FPGA to be controlled by the user. A good application for switches of this sort is to use them for enabling or dis- abling various options. We will use these DIP switches in the second instalment of the FPGA course. digital I/O lines. Well put the LCD through its paces in the fifth instalment. PS/2 A PS/2 keyboard and mouse can be connected via connectors K14 and K15. Both signals on this bus are connected directly to the I/O pins of the FPGA module. As with most of the other I/O ports, the FPGA provides 'intelligent' control for these signals. Even the bidi- rectional data signal can be processed directly by the FPGA without the inter- vention of any external ICs. This commu- nication uses a special serial transmis- sion protocol, which well examine more closely in the sixth instalment. The "brains" on the Versatile FPGA Unit. Audio I/O The circuitry around 1C 12 forms a gen- uine 16-bit stereo input/output port. The sampling frequency is set to 48 kHz by the clock rate of IC1 3. This 1C communicates with the FPGA via five signal lines, which will be described in more detail in the fourth instal- ment of the course. Naturally, that will also include an example of an applica- tion in which the 1C is driven by the FPGA. LCD The 2-line by 16-character LCD (LCD1 on the schematic diagram) is driven by IC6 and IC8. These ICs operate on the same principle as the ones used for the Power supply All of this is rounded out by the power supply. That's the only part of the circuit that isn't controlled by the FPGA. IC1 and IC2 are both step-down con- trollers. Each of these ICs forms a step- down converter in combination with an inductor, a diode and buffer capacitors. The advantage of these converters is that a high input voltage doesn't cause the supply to dissipate a lot of power in the form of heat, unlike a series-regulated power supply using a 7805 or the like. The input voltage on K1 can be con- nected either way round. D1 and D4-D6 sort things out so the polarity of the voltage at the inputs of IC1 and IC2 is always correct. The electrolytic capacitors at the input ensure that fast switching currents stay on the board where they belong. As a result, the power supply generates relatively little interference. The FPGA is powered via K2. ( 050370 ) The Ethernet interface built around IC5. 3/2006 - elektor electronics 25 Qua&ar ElKiidfPCt Lmnited PO Bor 6935. Bishops Slortford CM23 4WP, Unite*! Kingdom T«£ 0370 240 1 E 326 Fax: 0370 400 1045 F nina 1 1 : sal&sigquasar steel rorucs. com Web: www.QuasarEJectrorncs.com PWW * K«i||h0 Optiftfli lUp -C 2K® BhWwtidnr UK ftt^rtclard 1-7 Djy DcHmhv - Cj &5 UK MalviUAd Naxl Day Dallvvy - £§ ». Eufdpe | EUJ.£i;>: Rtsl yf World EL 9 95 |up !o 0 !■* f**« ** N W* ucct|rf bH) nuiw c i , 1 1 r.-detift tard&. Mike cftaquw/PO’* pjyjbi-e td QuOUf Etecirontci Priced include- 17.5% VAT. Call f\*vt tiff ou f FflfE CATALOGUE with UkUiIs Of Crtwr KO ifciti, prdfHti, modulA-A and piifclKaliena. DlsefrUfils tot bull! u jarafcdH!^. QUASAR electronics Motor Ortv>rr‘C:ifit(ollwt Heine nr# jys.1 a tew of our eonlrollef and driver modules- for AC, DC. uni pofcar/bipolar stepper motors and servo motors Set websde ter full details. mm Bidirectional DC Meter Controller Control the speed of mosl Mimmgn DC motors (rated up to 32Vd»‘5A,) in twfeh the forward and reverse directum The range of control is from fully OFF to telly ON in both directions The uiredion and speed are co ri- ff plied using a single potentiometer Strew terminal Uucfc for comediong Kit Order Code 3l«tT*tUM Assembled Order Code AS3166 - £23.96 DO mt*t Spei Controller |IATl«Vf Control the speed of almost any common DC motor ratexi up Ip 10CV/5A Pulse width mockjlation output tor rftaitimum motor torque at all speeds Supply 5-1 5Vdc B ox supplied Dimensions (mm) 6 QWkI00Lx 6QH hi! Order Code 3067 KT 111.95 Assembled Order Code: AS3067 - £19.16 PC t Standalone Unipolar Stepper Motor Driver Drives any 5, 6 or ELlead unipolar stepper motor rated up to 6 Amps max Provider speed and direc- tion control Operates in stand-alone or FC- conrtrolled nude Up lo sue 31 79 driver ‘boards can bt connected to a single parallel port Supply 9Vdc, PCB. 00x50 mm Kit Order Code 31 79KT - 1 1 1 .96 Assembled Order Code AS3179 £18.96 WW Bi-Poiai Stepper Moior Driver Drive any bipolar stopper motor uw rig exlemeily sup- . - *ji plied SV levels for stepping a nd direchon control. These usoa lly come fro m software running on a computer. Supply 8-30Vdc. PCS: 75x6Smm Kit Order Code 31 58KT - £ 14 .96 Assembted: Order Code AS3159 - £27,16 Most ate his are available in tall form (KT suffix) or assembled and ready for use (AS prefix), CREDIT CARD SALES 17 71 Cofrlroileri A Loggers Here are just a few of the controller and data acquisition and control units we have Sec website ter full details Suitable PSU ter all unite Order Cede PSU 345 £9 95 Rolling Code 4 -Channel UMF Remote State -of-lhe-Art. Hiffh security 4 channels Momentary or btching relay output. Range u p lo 40m Up to 1 5 Tx's can be learat by one Rx (kri in- eludes one Tan but more avail- able separately). 4 indicator LED V Rx PCB TTxfiSmm, 12Vd&‘6mA {sfandhy) Two end 1 Ten chrintief ver&'orrs also OvSi ianl& Kit Orde r Code 31 80KT - £3196 Assembted Order Code: AS3180 - £47.16 Compute! Temp erai u re Data Logger 4-channel* tempera! ure log- ger for serial port. *C or D F Continuously lo gs up to 4 ^eparaie sensora located 2TOm* from board Wide range of free software appfi- cOtibins fqr -Stenn^uSiog data PCS pu$l 3Ek38mm Powered by PC. Includes one DS182G sensor and four header cables. Kit Order Code 31 45KT - £ 1196 Assembled Order Code: AS 3 145 - £23.96 Additional D5I820 Sensors - £3,96 each uffy DTWf Telephone Relay Swilehei Cal! your phone number using a DTMF phone from anywhere in Ehm world and remotely turn on-uff any of the 4 relays as deared Uset sella bte Security Password, Ami- Tamper. Rings lo Answer, Auto Hang-up and Lockout includes plastic case Not BT ap- proved. t30xt10x30mm Power 12Ude Kit Order God# 3140KT - £33.96 Assam tied Order Code A5314Q - £69.96 &erial Isotated HQ Module Computer puntroiitd 6- channel relay board 5A mams rated relay outputs 4 isolates.: digrtal tfiputS Useful m a variety of contra! and sensing applications. Controlled via serial port for programming (using our new Wm- dow&inte-rfape, lermmal emulator or batch files) Includes plastic case 1 34klOOi3^mm Power Supply: OVdc-EOOmA Kit Order Code: 310&KT - £49.96 Assembled Order Code A331Q3 - £69.96 Infrared R C Relay Board Individually control 12 on- board relays with included mfraned rarode central unit Toggle or mome-nta ry 1 5m * range It 2x1 22mm Supply: l2Vdfci‘£L5A Kit Order Code 3142KT - £39.9 6 Assembled 0 r ^ m i cne, AS 31 A 2 - £ 49:66 We have a wde range of low cosl FiC and ATMEL Programmers Gompiete range and documental on available from our web site. Progt&mmw Ac eMtflr/ 4 |? 44 -pin WideZiF socket (ZIF40W] £l i.40 ISVdo Power supply IRSU0 10) £19.9$ Leads: Parallel (LDC 136) £4 96 t Serial (LDC441) £4.96 / USB (LPC944} £2 J6 mm* USB All-Flash PIC ProgmfnmaL USB PIC programmer For all 'Flash 1 devices No external power smppty making it truly portable. Supplied with box and Wndows Software ZIF Socket and USB Plug A-B lead not ind. Krt Order Code 312SKT-E34J6 Assembled Order Coda. AS31 2fl - £44.96 ■^ICALL" MC Programrrrai ■PlCALL" will program virtu- aly all 3 to 40 pn ssnat- moere' ANDparaffeZ-moEte | PIC 16C5x family)* pro- grammed PIC micro cormol- lera Free fully functional software Blank chip auto detect for super fast bulk programming Parallel port connection Supply 16-18Vdc. Assembled Order Code AS31 17 - £24:96 ATMEL 39-xxxx Programmer uses serial pert and any Standard terminal cpmms progra m 4 L E P 5 display the status. ZIF sockets not included Supply iS-lSVdc Kit Order Code 31 23KT - tUM USB 4 Serial Port FIC Programmer USB- Serial connection Header sable ter 1CSP Free Windows software Wide range of sup^ i ported PICs - see website for "oomptete listing ZlF SockeVUS© Plug A-B lead not md Supply: 16-1 SVdc Kit Order Code 3149CKT - £34.96 Assembled Order Code AS3149C - £49.96 www. q uasa r@ I ©ctroin ics.com Learn j A complete self-study course in using ARAAy microcontrollers *1 a Keil UVISION3 IDE, C/C++ t6K compiler and, simulator Full Simulation of LPC20OO with peripherals, interrupts St uLINK JTAG interface Z Z ■p Fully assembled LPCaixx development board Insider's Guide complete ARM7 self-study course with CD-ROM based tutorial r ■thj tirfaH. i.i.wn I LPC2129 LPC2103 LPC2140 LPC2130 WWW. hJ httex pfVR I (SrMfhl TfMHI "PHILIPS PicoScope 3000 Series PC Oscilloscopes The PictiSctipc 3000 striefi oscilloscopes arc the latust Offerings from the market loader in PC O&CilltiS topes combining hi|h handwidths with large buffer memories, listing the latest advances in electronics, the osciElascopeB connect to the USB port of any modern PD, mdhing full use of the PCs' processing capabilities, large screens and familiar graphical user interface 5 , * Biglh performance 1 : 10GS h ^ipnplmg rate & 300MHz bandwidth * IMS buffer* m v mo ry - Nigh . |..i l cj iJ U5£E S.Oi interface * Advanced display & trigger modes * Compact G portable ■ Supplied with PicoScope & Pico Log software Tel: 01480 396395 www. picotech.com/scope334 11 1 VI k fffl T'MiNi I'jir-i'i vib. 1 J .:iWm + t>lA b» !■»"■■■ >-i™ rlu »" (l | n jT.UJHa Qw>vm l‘L Cobp tcS 1 Han lAii SDCHMIHi aiA* ■iLHiMs 1 Jwt*v\r Li !>□!■.■ IiiNn Ed i.n* *. K D Lhp QCUh. & 1 hisitd 1H ■ tlEh :i»k usua.d itAtfi ,i EipprtiHi 1*6. ill Ed tiH\ ill 0l« t^OMiir Tcr/ino/agy 3/2006 - elektor electronics 27 INFO & MARKET DEVELOPMENT KITS In this issue, which is bursting with FPGAs and microcontrollers, they could not possibly be omitted: development kits! We devote attention to interesting but affordable kits where we not only look at kits that are suitable for a commercial environment but which are also very interesting for hobby use. The first few steps are always difficult. This is also true of course when working with FPGAs, microcontrollers and DSPs. Particularly in order to acquaint commercial devel- opers in an easy way with new products, various chip manufacturers offer so-called 'development kits' (some- times also called 'starter kits'). But if you would like to use them at home for yourself, then that is generally not a problem at all. You can usually just order a kit from the appropriate distributor for private purposes. There is then nothing to stop you from messing about with your chosen kit. The only catch is that you 'just' have to decide which kit you would like to get started with. And this can be much more involved than you would think at first glance. In this article we attempt to give you an overview of inter- esting and affordable kits. We selected a few kits from each category and have summarised the important details in a table. Options As already mentioned, before you start your development effort, you have to make a choice from the different options on offer from the various manufacturers. It is a good idea to not just consider what you need at this par- ticular moment, but also to think ahead about possible extensions you may wish to add at a later date. Imple- menting a small design in an FPGA is generally not a problem, but a larger design (i.e., more gates) can be more trouble to make fit. That is why development kits are often equipped with one of the larger members, if not the largest member, from a family. For microcontrollers too, it is good to take into account your future require- ments. Using fewer inputs and outputs is always possible. Wanting to use more than the 1C provides is impossible. Even the choice between an FPGA and a microcontroller may not be that immediately obvious. A microcontroller is less complex than an FPGA, but an FPGA, on the other hand, offers many more possibilities. The development boards have a number of inputs and outputs for communication with other devices (that they may potentially control). The RS232 port remains a very familiar interface. In many cases headers are used, so that every pin from the 1C can be accessed easily. Some boards have a number of ADCs and DACs and occasion- ally CAN, SPI and 1 -Wire-interfaces make an appear- ance. For programming, each board has its own specific connector. Microchip uses a so-called ICD programming interface, while others use RS232, JTAG or some other specific interface. The same holds true here: try to think ahead of what you may need at a later stage. In the large table we have included a number of critical characteristics so that it becomes relatively easy for you to make the final decision. Nevertheless, we will provide some guidance to the start- ing developer by describing the broad characteristics of microcontrollers, DSPs and FPGAs. Microcontrollers A microcontroller is essentially a computer in one chip (refer Figure 1). The arithmetic unit is integrated together with all the I/O and memory in one 1C, so that no additional chips are required (in contrast to a micro- processor which does need additional chips). Microcon- trollers are used mainly for controlling electronic equip- ment, such as, for example, our recent SMD Oven (see Elektor Electronics January 2006). The difference between an 8-bit and 1 6-bit controller is 28 elektor electronics - 3/2006 J?CW«0CTOfl Lf i — 9 ■ m - rli -»■ * i“* p.‘ WET j 1 i sTm.] mainly the speed. A 1 6-bit controller can, compared to an 8-bit controller with the same number of MIPS (Million Instructions Per Second), process twice as much data. Most of the demo boards have been designed in such a way that they can function on their own. That means in most cases that there is a microprocessor on the board that runs a (demo) program. In addition there is then the possibility to simu ate the board using the bundled soft- ware and, if the program is not quite 1 00 percent cor- rect, use debug-mode to iron out the last wrinkles. In the text box you can read some more regarding the choices for a particular type of microcontroller. DSPs DSP means Digital Signal Processor. Such a processor is really a kind of specialised microprocessor. The signifi- cant difference between a microcontroller and a DSP is that a DSP has been optimised for the mathematical oper- ations that are necessary for digital signal processing. For example, a DSP has a special register structure and mechanisms to carry out an FFT (Fast Fourier Transform, a mathematical operation to analyse the frequencies in a signal) as quickly as possible and to move large blocks of data as efficiently as possible. These days the boundary between DSPs and microcon- trollers is becoming increasingly blurred, for example the PIC series from Microchip. The microcontrollers are then provided with the partial functionality of a DSP (which means additional instructions). FPGAs An FPGA (Field Programmable Gate Array) is, as the name implies, a 'field' with programmable logic gates and programmable internal connections (see Figure 2). It is a real millipede. An FPGA can be programmed so that it carries out all kinds of logical operations. Ranging \Z RAM Configurable Logic Block FPGA I/O Buffer CLB CLB CLB PSM PSM / CLB / / CLB CLB I/O Buffer 050324-16 Figure 1 . Block diagram for a typical microcontroller. Figure 2. Typical architecture of an FPGA. 3/2006 - elektor electronics 29 INFO & MARKET DEVELOPMENT KITS Microcontrollers Manufacturer / Website Type of 1C supplied Programming Interface I/O LCD Power Supply R.R.P. PICDEM 2 Plus Microchip / www.microchip.com PIC18F452 and PIC16F877 ICD RS232 2x16 standard 9 V DC adapter £59 PICDEM 4 Microchip / www.microchip.com PIC12F1320 and PIC16F627A ICD RS232; PIC16LF72 I/O expander 2x16 standard 9 V DC adapter; 9V battery £76 DS89C450-K00 Maxim/Dallas Semiconductor / www.maxim-ic.com DS89C450 RS-232 2x RS232; 4x 8-bit I/O - 6-9 V DC adapter £62 Z8 Encore! XP 4K Series Development Kit Zilog / www.zilog.com Z8F0XXA (selectable) USB or serial RS232; IrDA, header for ADC input (up to 8 channels), - 5 V adapter supplied £35 Z8 Encore! MCU Development Kit Zilog / www.zilog.com Z8FXX (selectable) USB or serial RS232, IrDA, header for ADC input (up to 8 channels) - 5 V adapter supplied £35 SK-XC866 Starter Kit Infineon / www.infineon.com XC866 JTAG RS232, CAN, LIN, JTAG; Headers for motor control and SBC board - 8-1 8 V adapter £100 eCOGl Development Kit Cyan Technology Ltd / www.cyantechnology.com eCOGl Parallell port Fast Ethernet, parallel; debugger interface; 2x RS-232; \K, SPI, IrDA 2x16 adapter supplied £200 AVR STK500 Atmel/ www.atmel.com AT90S8515-8PC RS232 2x RS-232; pin-headers for I/O ports of any AVR - 10-15 V DC adapter £90 R8C Starter Kit Elektor/Glyn / www. elektor-electronics.co.uk; www.glyn.com Renesas R8C-13 R5F21 1 34FP#U0 RS232 USB; 2x serial port; LCD connnec- tion - via USB or adapter £62 DSP's dsPICDEM 2 Microchip / www.microchip.com dsPI(30F401 1 ICD RS232; CAN; headers for all I/O ports 2x16 standard 9 V DC adapter £58 Explorer 1 6 Microchip / www.microchip.com PIC24FJ1 28GA01 0 and dsPIC33Fl 28GP71 ODSC ICD, JTAG and PICIcit 2 USB; RS232, JTAG; headers for all I/O ports; PICTail Plus 2x16 9-1 5 V DC adapter £75 MAXQ2000-KIT Maxim/Dallas semicon- ductor/ www.maxim-ic.com MAXQ2000 JTAG RS232, JTAG, 1 -Wire interface; headers for all I/O ports 41/2 Via JTAG-interface, 5V and 6-9 V DC adapter £55 FPGA's High Volume Starter Kit Bundle (comprising Spartan-3 Starter Kit and CPLD Design Kit) Xilinx/www.xilinx.com XC3S200-4FT256C (FPGA), XC9572XL-10VQ44C and XC2C256-7TQ144 (oolrunner-ll (CPLDs) JTAG RS232; JTAG; PS/2 mouse / key- board port, 3x 40-pin header - supplied 75 MAX II Development Kit Altera / www.altera.com MAX II EPM1270F256C5 (CPLD) JTAG via ByteBlaster USB; PCI; JTAG; Altera Expansion Prototype Headers 2x16 via USB- of PCI-bus £105 ADDS-21 261/Cyclone Evaluation Kit Altera / www.altera.com Cyclone EP1C3 (FPGA) and ADSP- 21261 (SHARC DSP chip) JTAG for FPGA, USB for SHARC USB; RS232; JTAG; expansion header - via adapter £140 EasyFPGA's EZ1KUSB Development Kit EasyFPGA / www.easyfpga.com Altera ACEX EP1 K50TC1 44-3 USB or JTAG USB; JTAG; 58 I/Os - via USB or supplied 6V DC adapter £130 Morph-IC Morph-IC/ www.morph-ic.com Altera ACEXEP1K10TC1 00-3 USB USB; 2x20-pin header - via USB or supplied 5V DC adapter £65 30 elektor electronics - 3/2006 Devices Accepted Manual Software Required for programming Miscellaneous items supplied 18-, 28,- & 40-pin PIC16XXXX and PIC18XXXX on CD MPLAB IDE, MPASM, MPLAB Cl 8 PRO MATE II, MPLAB PM3, PIC- START PLUS or MPLAB ICD 2 5k potentiometer, TC74 temperature sensor, piezo buzzer 8-, 14-,& 18-pin PIC16XXXX and PIC18XXXX on CD MPLAB IDE PRO MATE II, MPLAB PM3, PIC- START PLUS of MPLAB ICD 2 NanoWatt technology/supercapacitor circuit, four 5k potentiometer, space for LIN transceiver and motor driver DS89C430, DS89C440, DS89C450, DS5000 on CD Microcontroller Tool Kit (MTK) Software only; PC (MTK) 64kB Flash memory, 1 28kB SRAM not exchangeable on CD ZDS II Integrated Development Environment, ANSI C-compiler Supplied serial or USB Smart Cable 256-1 k bytes RAM, 1 -4k flash memory, 2 16-bit timers, comparator. Optional: 8 channel 1 0-bits ADC, temperature sensor not exchangeable on CD ZDS II Integrated Development Environment, ANSI C-compiler Supplied serial or USB Smart Cable l-64k bytes Flash/ROM, 256-4k bytes RAM, up to 60 I/Os, up to 24 interrupts, up to 4 1 6-bit timers, up to 1 2 channels 1 0-bit ADCs, optional: DMA controller, SPI and l 2 C. not exchangeable on CD Evaluation versions of Keil uVision and Ulink or Hitex debugger Tantino-Eco, DAvE Tantino USB (supplied) Compatible with 8051, PWM generator, 10-bit ADC, 3 16-bit timers, 27 general purpose I/O, 768 bytes RAM, 16k flash, potentiometer eCOGl on CD CyanIDE with ANSI C-compiler, simula- tor, debugger and Configuration Tool Software only; PC 2MB 16-bit SDRAM, piezo buzzeer, 12-bit ADC, temperature sensor 8-, 20-, 28- and 40-pin AVR (Attiny, AT90S, ATmega) on CD AVR Studio Software only; PC 2Mbit dataflash not exchangeable In Elektor / on website KD30, NC30, HEW, Flash Development Toolkit Software only; PC 8-bit timer, 1 2 channel 1 0-bit ADC, 5 external & 1 1 internal inter- rupts, 4kB flash, 1 Ok potentiometer 18-, 28- and 40-pin dsPIC30FXXXX on CD MPLAB IDE MPLAB ICD 2 potentiometer, temperature sensor, nine 1 0-bits ADC channels, SPI PIC24 and dsPIC33 families on CD MPLAB IDE MPLAB ICD 2 temperature sensor TC1047A, 10k potentiometer, 256kb EEPROM not exchangeable MAX-IDE Software only; PC MAXI 407 ADC/DAC, potentiometer, JTAG interface board, LCD board Spartan-3, Coolrunner-ll, XC9500XL On paper and CD- ROM Evaluation versions of Xilinx ISE & EDK Supplied JTAG3 cable 3-bit, 8-colour VGA display port, 1MB SRAM not exchangeable on CD Quartus II Web Edition ByteBlaster II parallel download cable Temperature sensor, potentiometer 1 28kB SRAM, onboard power meterr not exchangeable on CD Evaluation version Visual DSP++, Quartus II Web Version Software only; PC 64 Mb SDRAM, 64Mb EE memory, 4Mb Flash Altera ACEX EP1K10TC144-3, ACEX EP1 K30TC1 44-3, ACEX EP1 K50TC1 44-3 on CD Quartus II Web Edition, USB-drivers Software only; PC not exchangeable on CD USB drivers, FPGA loader program, Windows DLL (for use with Visual C++, Visual Basic, Borland Delphi), Quartus II Software Starter Suite Software only; PC Onboard 93C56 EEPROM 3/2006 - elektor electronics 31 INFO & MARKET DEVELOPMENT KITS from basic logic gate functions (AND, OR, XOR, NOT, etc.) to complex combinational logic such as mathemati- cal functions and decoders. It is even possible to emulate a complete (8051) microprocessor in an FPGA (provided that the FPGA has enough gates, of course). These ports are formed by CLBs, which are connected in a matrix arrangement. Each CLB consists of multiple lookup tables (LUT), a few multiplexers and optionally a number of flip-flops. So the CLBs carry out all logic func- tions. By connecting the CLBs with programmable switches to each other in the right way, the desired func- tionality is obtained. The development software generally sorts out these interconnections for you, so you don't need to do much there yourself. FPGAs have evolved from CPLDs (Complex Programma- ble Logic Device). As a consequence of their internal architecture, FPGAs have greater design flexibility com- pared to CPLDs. On the downside, the increased flexibil- ity has also increased the complexity. However, don't be taken aback by the overwhelming number of possibilities and accompanying data, descrip- tions, tutorials and other things. Once you've started with FPGAs, chances are that you cannot live without them any more. ( 050324 - 1 ) The right microcontroller for every user Florian Schaffer The first steps into the world of micro- processors seem to be easy at first glance. Countless starter kits tempt the prospective buyer with all sorts of bells and whistles, but on closer examination they tend to be much alike. A PCB with a microprocessor, eight or more I/Os, an RS232 port for communicating with a PC and an LCD for the displaying of text is pretty much standard. So when choosing the hardware you cannot really go wrong that much. But which one do you choose? Apart from the differences in price, not too many things play a part when choosing a development kit for person- al use. If you are just starting out in the world of microprocessors and are about to buy your first kit, it is a good idea to first think about what you would like to achieve with the develop- ment kit and how much scope there is for expansion. Are you only going to design a specific control system for which the number of inputs and outputs are already defined? Are you just hav- ing a tentative look around and want to try things out in a microprocessor environment, do a little bit of program- ming for some flashing LEDs and react to pushbutton inputs, and get an LCD to spring into life? Or do you need some special functionality, such as a serial port, a USB-interface or an Im- port for data exchange with other devices? Depending on the purpose that you have in mind for the board, you will have to examine the various modules a little closer. It is best if you do not just rely on the brief technical datasheets from the manufacturer, but also look at the discussions in various Internet forums to read user experiences. In that way you get to find out the a particular board does have an RS-232 interface, but which is not very useful in real life because the 8-byte buffer is too small and the processor is much too slow to receive and process more than four symbols at data rates from 9600 baud and up. With this we arrive at the next criteri- on: instruction set and speed of the processor. For a heating control appli- cation there is no need for the CPU to calculate at great speed. If it gets warmer a few seconds later, then that is not a big deal. It is different if a few thousand LEDs have to be driven via some multiplex scheme. If the CPU is not fast enough, the LEDs will just appear to flash in some meaningless fashion. If your program has to react quickly to signals Trom the outside', for example keyboard input or data from an interface, then it can be handy if the microprocessor is good at process- ing interrupts. Also think about the various program- ming solutions. Do you need additional hardware to program the microcon- troller, can it be (re-) prog rammed in the system (ISP - In System Programming)? What method do you prefer? What are your ambitions regarding tin- kering with these things? Most develop- ment kits consist of one PCB. The LCD is connected with a ribbon cable and the power supply consists of by a stan- dard mains adapter, which is regulated on the board with a 780x. With very simple models it may even be possible that you have to provide your own reg- ulated power supply. Perhaps you're looking for something to do some control tasks in your home. A module that has been designed for rail/rack mounting, typically used in electrical installations, can be very practical. In order to realise your plans, it is probably necessary that you need more parts, which you will have to build yourself or that are possibly available read-made. Examples are a stepping motor driver or a relay board to control large loads. After you have made your selection with respect to the hardware, do not forget to look at the software aspect. Of course, for most of the microproces- sors some form of development environ- ment is available. The question is, how much do you have to pay for it, and with which programming language do you have to work? Assembler is not something everyone is familiar with. C and BASIC are easier for beginners to use and are certainly not worse, although hardcore assembler hackers will sometimes have a good laugh about BASIC. The resulting machine code ultimately loaded into the proces- sor is not substantially different com- pared to handwritten code. Because in the beginning you will probably need to rely on some help from other users, it is best to have a look for a suitable forum and see what sort of topics are being discussed. The best way is to use Google to search for forums that deal with a specific type of controller. It is possible that a development kit contains a programming language that in practice is not actually used in com- bination with that kit, for example a C development environment. If you have questions in relation to that, it will take much longer to get an answer if other users use predominantly BASIC or assembler. In the forums there are always people participating who are glad to help you out. Most of the beginner's questions have already been asked so it certainly pays to do a search of the forums first. In general you have to be prepared to do a little searching to obtain a satis- factory end result. You will also have to trawl through numerous datasheets. 32 elektor electronics - 3/2006 Your price conscious PCB supplier CIRCUITS Online price calculation Online ordering Online order tracking Online 24/24H and 7/7D a la carte Interested? Contact us: +32 15 28 16 30 E-mail: euro@eurocircuits.com www.eurocircuits.com pooling for standard boards up to 6 layers from 1 to 1000 pieces from 4 working days onwards - technology at the right price - up to 8 layers - from 1 to 1000 pieces - from 3 working days onwards your board, our challenge up to 20 layers from 1 piece onwards from 2 working days onwards Tel: 01635 40347 he m *» 3*1 (-null: oilj I sCnrwtkrY-lEtni eg Nnwhuiy Ehtftraish:* lid FraJtymgd He***? mm JwrtHffYEtocb me s ek. u t Lichfield Electronics "Hr Tel: (01543) 256684 Web: www.lichfieldelectronics.co.uk wsi3 6ju Line Tracking Mouse £24.99 Uses an 8bit OTP CPU and photo transistors to follow a line. Sound Reversing Car £13.75 Using a mono-stable oscillator & mic this car will react to sounds. Transistor Radio £9.99 BSr A small AM radio with ZX141 IC. With headphones. Basic Solar kit £6.99 This kit includes a small solar panel. “solar” motor, stickers & booklet. 10 LED Flasher £4.99 Make an astable oscillator which flashes two sets of five LED’s Photo Sensor & Relay £6.99 Make a kit that can turn an item on or off when it goes dark Metal Detector kit How does a metal detector work? Find out with this great kit. M Uli U1 UII V £9.99 13 Note Electronic Organ £4.99 d Make lots of noise with this great kit based on the 555 chip, m When it goes dark this fly will sing a happy tune. We Also stock a range of lead free logic chips... • 'Vi Electronic Dice £6.99 Using a 555 and a 4017 chip make an electronic dice. Shortwave Receiver £9.99 Using this kit you can listen to * f# amateur radio through a speake' FM Microphone £12.99 Build a short range FM transmitter with microphone. Crystal Radio £7.99 This is a great postcard AM crystal radio. No soldering Single Valve Radio £26.99 Build your own thermonic valve AM radio. No soldering. Infrared player £14.99 A two part kit which plays music based on what button is pressed on the remote. Light Alarm £4.99 Using transistors, when this kit sees light it makes a noise. Music Firefly £8.99^^ soldering. IB -i 1 H Tilt Aoyue 909 Rework Station £99.99 This great surface mounted rework station includes a 35W 200-480C temperature controlled soldering iron, 100-500C Hot air rework gun, 4 nozzles and a 0-15V 1 .5 A PSU. A must have unit! Aoyue 936 Soldering Iron £24.99 A high quality temperature controlled 35W soldering iron with long lasting ceramic heater element, metal iron stand with solder holder/feeder. Spare element included free! Temp range: 200-480C Other tools and such Babani Books & More Coil Design and Construction Manual £3.99 IC 555 Projects £4.99 25 Simple Indoor and Window Aerials £1 .75 25 Simple Tropical and MW Band Aerials £1.75 Getting the Most From Your Multimeter £3.99 An Introduction to Amateur Radio £4.99 How to Use Oscilloscopes £6.99 Projects for Radio Amateurs and SWLs £3.95 The Art of Soldering £3.99 A Beginners Guide to TTL Digital Ics £4.95 A Beginners Guide to CMOS Digital Ics £4.95 Practical Opto-Electronic Projects £4.95 Electronic Projects for Video Enthusiasts £4.95 Nuts & Volts US Electronics Magazine £4.99 Aoyue 850 hot air gun £54.99 Smoke Extractor £34.99 Workstation & PSU £27.99 Aoyue suction pen £3.50 2M Pb Free Solder £1.99 4M Pb Free Solder £2.99 35M Pb Free Solder £7.99 Advanced Kits AM Radio Kit & Case £13.99 AM/FM Radio & Case £16.99 DIY Multimeter Kit. £16.99 Multi-Output PSU kit £17.99 100ft TV Transmitter £27.99 Post and Packing HEF4001BP: Quad 2-Input NOR-Gate DIL-14 29p HEF4011BP: Quad 2-Input NAND-Gates DIL. 29p HEF4013BP: Dual D-Type Flip-Flop DIL-14. 29p HEF4015BP: Dual 4-Bit Register DIL- 16. 43p HEF4017BP: 5-stage Johnson Counter DIL-16. 38p HEF4021BP: 8-Bit Stat Shift Register DIL-16. 43p HEF4028BP: 1 -of- 10 Decoder DIL-16. 40p HEF4060BP: 14-Stage Binary Counter DIL 45p HEF4069UBP: Hex Inverter DIL-14 29p SN74HC00N: Quad 2-Input NAND Gate DIL 25p SN74HC02N: Quad 2-Input NOR-Gate S DIL 25p 74HC03N: Quad 2-Input NAND Gates DIL-14 29p 74HC04N: Hex Inverter Buffered-Gate DIL-14 26p 74HC08N: Quad 2-Input AND-Gates DIL-14 26p 74HC10N: Triple 3-Input NAND Gates DIL 29p SN74HC11N: Triple 3-Input Flip-Flop DIL-14. 25p SN74HC14N: Hex Inverter CMOS DIL-14. 23p 74HC21N: Dual 4 Input AND Gate DIL-14. 29p SN74HC74N: Dual D-Type Flip-Flop DIL-14. 25p SN74HC245N: Octal 3-State Bus Transceiver . 42p SN74LS00N: Quad 2-input NAND-Gate. 50p SN74LS14N: Hex Inverter Bipolar DIL-14 50p SN74LS32N: Quad 2-Input OR-Gate DIL-14 46p SN74LS123N: Dual Mono-stable multi-vibrator 65p SN74LS138N: 3-to-8 Line Decoder DIL-16 65p SN74LS245N: Octal 3-State Bus Transceiver 76p SN74LS373N: Octal D-Type Latch DIL-20 76p Order Value £4.99-£12.99 £13.00-£22.99 £23.00-£49.99 £50.00-£150.00 P&P Cost £1.50 £2.50 £6.00 £12.00 UK Only, phone for P&P to Ireland. Pay by cheque, card or postal order! Visit website for weight based P&P Or visit our shop in Lichfield 3/2006 - elektor electronics 33 INFOTAINMENT THE 6502 The Triumphant March 30-year old design still inspires thousant Roelf Sluman Are eight-bit processors something from the past or is it still possible to do some- thing useful with them? Elektor Electronics went looking and discovered that the good-old 6502, in a world of threaded computing and dual-core processors, still has a following of faithful fans. Figure 1. The KIM-1 computer, developed by MOS Technology. Input was via a hexadecimal keyboard, for the output a 6-digit LED display was present. In the 1970's and 80's three 8-bit processors dominated the market: the 6809 from Motorola, the Z80 from Zilog and the 6502 from MOS. By far the most popular of these three was the 6502: its low cost (when r — introduced, the 6502 set you back about 25 dol- lars) and the advanced design for its time made sure that the 6502 con- quered the world in a short time as the brain in popular home-computers such as the Commodore 64 and the Apple II. elegant 8-bit processor. Many thousands of enthusiasts across the whole world still work daily with the 6502 and make it do things that were not considered possible 1975. in Price war When the 6502 was introduced In 1975 it cost about 25 dollars. That made it a serious com- petitor to the processor it was copied from, the 6800, which by comparison costs a whopping 1 79 dollars. No wonder computer manufacturers such as Apple and Commodore went for the 6502. Steve Wozniak from Apple had his eye in the 6800, but the enormous price difference ulti- mately forced the decision. We are now some 30 years later and proces- sors that are many thousands of times faster than the 6502 now dominate the market. But... that does not mean that there are no applications to be found for the tylODULf rr hUt \Vjlk ^ r- ,T . History The 6502 processor cele- brates its 30^ anniver- sary this year. The intro- duction was preceded by a scandal: the designers of the 6502 had, in the first instance, developed another processor: the 6501. Unfortunately, it was a virtual copy of the — _ — — _ — _ j 6800 processor from Motorola. This is not a surprise, because the same designers developed the Motorola 6800! Shortly after the 6800 processor appeared on the market, a dispute arose between Motorola and the 6800 designers. This conflict resulted in the resignation of most of the designers, who were promptly hired by MOS Technology (in the 70's Motorola's biggest competitor). MOS recognised the potential for the 6800 and asked the designers to design a processor that was pin-compatible with the 6800. That became the 6501 , which was much cheaper because the development costs were negligible. Naturally, Motorola weren't going to just let that happen and threatened to drag MOS into court. MOS responded with the 6502, which was exactly identical to the 6501 with the only change that the pin-out was different. As a consequence, the 6502 no longer fitted in boards that were designed for the 6800, which was reason enough for Motorola not to proceed with a lawsuit. Because there were now no boards that would fit a 6502, MOS had to design something to bring the 6502 34 elektor electronics - 3/2006 the Is of designers to the attention of software developers. This became the KIM-1 (see Figure 1), a single-board computer with 1 kB of RAM. Computer manufacturers quickly appreciated the enor- mous potential that the 6502 offered. With the introduc- tion of the Apple II and Atari 400 personal computers, the 6502 broke into the American market; Commodore was equally successful in Europe with the VIC-20 and later the Commodore 64 (with a more advanced version of the 6502, the 6510). The sales of just the Commodore 64 alone exceeds 25 million; the total number of 6502 processors sold worldwide is estimated at well over one hundred million! In Elektor Electronics there were also countless projects using the 6502. The 'Junior Computer' was an exception- ally successful learning system published in the 1980s. From 1 983 there was a series of boards that allowed you to build a complete 6502 computer. This finally resulted in 1 985 in a system that was called Octopus 65. The technology puter with 64 kB of memory that could be switched in or out as desired in an intelligent manner, via a method called bank switching.. (For example, in the memory area into which the I/O ports were mapped there was also a section of RAM that could be switched into 'view' so that data could be copied to it and then switched 'out of view' so that the l/O-ports were accessible again.) Get cracking yourself with a 6502 The best way to get to know the 6502 is to work with one yourself. Simulator The easiest way is using a simulator, a piece of software that imitates the behaviour of a 6502. An example of an excellent 6502 simulator is the program 6502 Simulator that you can download free from http://home.pacbell.net/michal_k/6502.html (Figure 2), among others. The 6502 is a 5-volts, 8-bit processor with a 1 6-bit address bus, that with a range from 0x0000 to OxFFFF is able to address up to 64 kB of memory. It comprises 4,300 transistors. The clock speed is 1 MHz, but because the 6502 does not have to work through a list of microcode instructions for each opcode that has to be executed, it is in practice just as fast as a 4 MHz Z80 (which does use microcode). Emulator An emulator is a computer program that creates a so- called virtual machine: a computer inside a computer as it were. Because an emulator is a software replica of an authentic computer or processor, all software written for a certain computer or processor will also run in the emula- tor. Even possible design faults that were present in the The instruction set consists of no more than 56 instruc- tions and because RAM memory was much faster in those days, the designers saved on internal registers. The 6502 has therefore only three, each eight bits wide: the accumulator (the only register on which operations can be performed), and the index registers X and Y. The rela- tively large number of addressing modes of the 6502 makes it possible to address 64 kB of memory efficiently, using two-byte instructions (opcode and one operand). In order to fill 64 kB of memory, not more than 1 9 bytes of opcodes and operands are required. (Do you know how? Send the author an email: rsluman@gmail.com!) There exist a number of variations of the 6502, with either more or fewer features. The best known are the 6507 (which was used in the Atari VCS2600 game com- puter) and the 65 1 0 that can be found in the Com- modore 64. The Commodore 64 was the first home com- Figure 2. Ideal for those who want to work with a 6502: the 6502 macro-assembler and simulator from Michal Kowalski. 3/2006 - elektor electronics 35 INFOTAINMENT THE 6502 Figure 3. The old, trusty screen from the Commodore 64, now as emulator on a modern computer. original hardware are present in the emulator! Practically every computer from the 70's and 80's has been emulated by now. In a large number of cases, the software producers from the then popular computer soft- ware have made their software freely available for use on these emulators. If you're ever thinking nostalgically about your time in front of your Apple, Atari or Commodore com- puter then you can relive those times with an emulator! One of the better-known emulator programs is VICE (a rather silly abbreviation for Versatile Commodore Emula- tor). This can be found at www.viceteam.org. VICE was written to emulate all known Commodore home computers (including the Commodore 64). The VICE emulator is so perfect that practically every piece of software ever writ- ten for the Commodore 64 runs flawlessly under VICE. After starting VICE, the famous blue screen of the Com- modore 64 appears (Figure 3). From now on you're dealing with a real Commodore 64. Even the keyboard Figure 4. One of the two PCBs that comprise the 6502 built from discrete parts by Dieter Muller, (source: website Dieter's Hobby Projects) e & mb l5" v 1 w ^ • ,Y ■- ■ - V - h in - Figure 5. At FPGA Arcade various 6502 hardware for games are emulated in an FPGA. has been arranged differently and now corresponds to the Commodore 64 keyboard. The disk drive and cas- sette player, including any possible turboloaders are also completely emulated. Copying You can also copy a 6502 using 'discrete' components such as 7400-series ICs, RAMs and EPROMs. This is what Dieter Muller did with some old bits he had at home. He nearly succeeded, using about 40 ICs and two PCBs (Figure 4). The most important concession is a dif- ferent timing, but his processor knows all 6502- and 65C02 opcodes (see http://people.freenet.de/ dieter.02/ m02.htm). A different approach is to start with an FPGA and to build into it the complete functionality of a 6502. An 36 elektor electronics - 3/2006 FPGA, after all, contains a large number of programma- ble logic blocks and in a modern version the circuit for an 6502 can be easily accommodated (or even multiple copies in one FPGA!). There is an organisation, which goes by the name Opencores, that is engaged in the development of various CPU cores in FPGAs (http://opencores.nnytech.net). The 6502 code can be found after a bit of searching, it is called T65. This is also available from http://www.fpgaarcade.com/, where a number of games variations of the 6502 are available as well (Figure 5). Applications Because the 6502 is such a versatile and cheap proces- sor, and because it is easy to combine with other hard- ware, it is still a favourite element in many DIY projects. Many projects can be found on the Internet that use a 6502. Most of these comprise a home-built computer with the 6502 as its nerve centre, but a number of very inspiring applications can also be found... The 6502 in the casino That a 6502 can be used to make a lot of money was discovered by the / Eudaemons / , a pair of American stu- dents from California. They built two circuits based in the 6502, which they housed in two shoes. They subse- quently went to a casino and picked a roulette table. Stu- dent number one moved his shoe in the same rhythm as the revolutions of the roulette wheel. The 6502 processor in this shoe used a revolutionary algorithm to calculate on which number the ball would come to rest. This infor- mation was then automatically sent to student number 2 kB memory? More than enough! The first computer in which the 6502 was used was the world famous games computer from Atari, the VCS2600. Although the 6502 was already the cheapest computer in its class. Atari managed to reduce the price even further by ordering a special version of the 6502, the 6507. This processor could address a maximum of 8 kB instead of the normal 64 kB. Not a problem, according to the designers of the Atari 2600. After all, memory was so expensive that no com- puter game would ever use more than 2 kB. two, who could determine, based on the vibrations in his shoe, on which number to bet. Give your robot eyes Mike Naberezny used a combination of four Sharp GP2D02 infrared sensors and a 6502 to give his robots 'eyes'. The program does nothing more than continually poll the four sensors (high values mean 'close' and low values mean 'far') and pass this information to the robot. On the Internet (with as starting point www.6502.org) many more such fantastic projects around the 6502 can be found. (050316-1) Where can you find a 6502 now? Gunther Ewald It is hard to believe, but microcontrollers with a 6502 core are still being produced today. Manufacturers such as Micronas and Renesas use this CPU core in cheap microcontrollers for simple control tasks. Have a look at Micronas at the WDC65C816 CPUs, which are used mostly in automotive applications: http://www.micronas.eom/products/by_function/c dc_l 607f-e/product information/index. html Renesas employs the 6502 core in the entire 740 family. These are (with exception of specific exten- sions) completely opcode-compatible with the origi- nal. Unfortunately the selection has been reduced somewhat as a result of switching to lead-free pro- duction, but the manufacturer still has 37 deriva- tives with a 6502-core: www.renesas.com/fmwk.jsp7cnts740_family land- ing.jsp&f p=/ products/ mpumcu/740_family/ ■ II IS* mkm Lfiri uj frtuj; s h | \yt iwm i ft S *! 1 kMUILl tor i Bin £: 4 - ! X: 1 14- — These products are not really suitable for hobby applications. You need to use a special emulation MCU and an emulator. The manufacturer does make a free MCS-simulator available with a run- time of 4 months. This offers l/O-simulation, inter- rupt-simulation, execution cycle measurement, RAM monitor display and coverage measurement. The program is available from the Renesas homepage. 3/2006 - elektor electronics 37 HANDS-ON MICROCONTROLLERS Gunther Ewald and Burkhard Kainka In the February issue, we described how you can get started with the R8C/13 microcontroller module without all too much effort. The application board described here gives the module a 'base camp' with lots of connections to the outside world, including a USB interface and two serial ports. There's also an LCD interface and other useful features for developing your own applications. 38 elektor electronics - 3/2006 The starting point for this design was the question, what do you need to suc- cessfully utilise all the major features of the microcontroller with a minimum of effort? The result is a circuit board with the following complement of functions: • two serial interface ports • a USB port using an integrated USB/serial adapter • an LCD interface • four LEDs that can be connected to port lines • a potentiometer connected to one of the many analogue inputs • a power supply socket and 5-V volt- age regulator • an option for powering the board via the USB port • a reset switch • a jumper for the MODE input The USB interface on the board deserves special mention. Serial interfaces are becoming increasingly rare on new PCs, but asynchronous serial interfaces are fundamentally necessary for communi- D5 1 N4002 IC2 K1 -rr \ < r\ CIO 220|i 25 V 7805 0 » C11 lOOn +5V © +5V © +5V © C12 lOOn JP11 POWER fo Q ofr EXT Cl 3 10|Ll 16V USB FI +5V © Polyfuse +5V © PI 100mA JP12 © +5V z JP1 ANALOG 7 j 10k +5V n (+) R9 H D2 JP4 -&1 SERIAL PROGRAMMING KA LJ K5 K6 ©- +5V r\. RXD1 1 _r\ KS rv. CNVSS 1 _C\ _r\_ RESET 1 V-/ rv XOUT 1 _r\. VSS 1 V-/ r\. XIN 1 vj { U~ _r\ VCC 1 vJ m r\ ■U" r\_ PI. 7 1 _r\ \~r r\. PI. 6 1 V-/ RXDO 1 vJ TXDO 1 vJ ■v-r _r\_ PI .3 1 _r\ V-/ PI .2 1 P1.1 1 r _r\ P1.0 1 V-/ rv P4.5 1 1 16 RXDO RXD1 SUB D9 9 SUB D9 9 Cl 4 4|i7 25V 14 13 Cl 7 is 4|i7 25 V Cl 5 4p7 m Ul 25 V 2 v+ C1 + © IC3 Cl- TIOUT T1IN RUN RIOUT R2IN R20UT T20UT T2IN C2+ MAX232 C2- J- V +5V © 16 11 12 10 15 Cl 6 ■IQ- 4|T7 25V C2 lOOn ~l K7 32 17 a o o o o TXD1 1 P0.1 1 P0.2 1 P0.3 1 MODE 1 P0.4 1 P0.5 1 P0.6 1 P0.7 1 IVCC 1 P3.0 1 AVSS 1 P3.1 1 AVCC 1 P3.2 1 P3.3 O O o o I I TXDO TXD1 USB K4 JP7 a o K4 JP8 O USB USB o (3 O EC a. JP9 a K4 o K4 JP10 a USB 5 V) R6 RIO R11 R17 K8 LJ U o JP2 PROG +5V © K9 LCD B P2 V CONTRAST 10k 10 11 12 13 14 LlOOn O O O VSS VDD VO RS R/W E DO D1 D2 D3 D4 D5 D6 D7 to X CM a! C4 > ", J a' a > a a > SHTD_N EE_CLK EE DATA IC1 \ RST J VDD DSR_N DCD_N CTS N PL2303 DTR_N RTS_N RI_N PLL_TEST GND GND OSC1 DP DM TRIMODE LD_MODE GND_PLL GND_3V3 OSC2 C6 lOp 27 XI I I 12MHz 19 20 R13 10 R14 11 R12 \ 220k | — '» \ 220k 15 16 \ 220k R16 -\ 27 (> |~ 22 23 25 18 28 C5 lOp R15 27 Q R5 0 n Jl6V pi X J" L^p6V X C8 lOOn K2 O O O 0 6 4 USB-B 050179-3- 11 Figure 1. The circuitry on the application board provides two serial ports, a USB interface and an LC display to connect the R8C daughter board to the outside world. 3/2006 - elektor electronics 39 HANDS-ON MICROCONTROLLERS USB Port 050179-3- 12 Figure 2. Block diagram of the Prolific interface converter. cation with the microcontroller. For that reason, we decided to simply include a USB/serial adapter on the board. In contrast to the equally viable approach of using an external USB adapter, this has the advantage of allowing the board to be powered via the USB port. A total of four jumpers determine which serial interfaces of the microcontroller are routed via the RS232 ports or the USB port. For instance, you can load and debug pro- grams via the USB interface, or you can use the USB interface for serial commu- nication with the microcontroller and your programs. Microcontroller ports The schematic diagram (Figure 1) essentially shows the principal fea- - - “ a* i* f* ML ■ . x a J *-**.•. ;r | -rill mT .r ir^fc j .^irr an 1 ■ ■ ■ -J iuLUubu f hL- i- J MhM Figure 3. The virtual COM interface in the Windows XP Device Manager window. tures of an R8C system as already mentioned in the February issue. The MODE jumper and Reset switch are important features. Interface drivers are also necessary for the RXD1 and TXD1 leads of the debug interface, which are routed here via JP7 and JP8 to allow either RS232 or USB to be used. Depending on the jumper set- tings, you can use either the MAX232 and connector K4 or the PL2303 USB controller and a USB link. In addition to the serial debug inter- face (UART1), the R8C/13 has a sec- ond, fully independent serial interface (UARTO) that communicates via the TXDO and RXDO leads. As is well known, the MAX232 can handle more than just two lines - in fact, it can han- dle four. That’s why jumpers JP9 and JP10 and a second serial interface con- nector (K3) are on the board. You can also select either RS232 or USB for the UARTO interface. Now for a few words about the micro- controller ports. The microcontroller leads are routed to single-row socket headers in order to leave all options open. However, specific functions have also been assigned to most of the port leads. Here 8-bit port P0 is intended to be used for connecting the LCD mod- ule, but it can of course be used for some other purposes if you don’t need an LCD. A standard alphanumeric LCD can be driven in 4-bit mode using only six port pins. Leads P0_2 to P0_7 are thus used by the LCD. P0_0 is reserved for the debug inter- face (TXD1) and is only available for user applications if the debug function is not used. That still leaves P0_1. As this lead can also be used as an ana- logue input, a potentiometer providing a variable input voltage of 0-5 V can be connected to it via JP 13. A supple- mentary protective resistor (R17) pre- vents overloading if P0_1 is acciden- tally configured as an output while connected to the potentiometer. The two jumper pins can also be used as a measurement input. If you want to connect a sensor that outputs both positive and negative voltages, you can use the potentiometer to adjust the zero point to where you need it. The four lower bits of Port 1 can be connected to the four LEDs via jumpers and series resistors. That’s ideal for your initial programming exer- cises, such as those described in the February issue. If you haven’t already tried the ‘blinker’ example program, now’s your chance to get up to speed. If you remove jumpers JP3-JP6, these leads can also be used as four addi- tional analogue inputs. Just add a few lines of code, and you have a four- channel digital multimeter with LCD display! A total of seven individual port leads have been left open, but you’re bound to think of a use for them. Applica- tions such as an I_C or SPI interface and the like can always use an extra lead or two. It takes a bit of juice There are two options for powering the board, which are selected using JP11. Either you can use the power supply connector (Kl) and voltage regulator IC21, or you can use USB with its built- in 5 V supply voltage. If you’re using USB anyhow, it makes sense to dispense with an external power supply. However, a bit of cau- tion is advisable here. According to the USB specification, every USB down port is supposed to be protected against overloads by a PolySwitch pro- tective device. However, painful expe- rience proves that it just ain’t so. A simple short on the USB supply line results in a small puff of smoke from the PC motherboard and causes the corresponding down port to be perma- nently disconnected from the supply voltage. For cost reasons, manufactur- ers obviously do nothing more than placing small series resistors in the supply tracks, which then simply melt through. For this reason, a PolySwitch protective device (FI) rated at 100 mA is included on the application board for the spe- cific purpose of protecting the PC. That creates peace of mind and allows you to experiment in a relaxed mood. USB interface Next we come to the USB interface. The PL2303X, which sports the desig- nation ‘USB to Serial RS232 Bridge Controller’, comes from the Taiwanese manufacturer Prolific (sales rep: Glyn). Attentive readers may recall having already seen this Prolific IC in a built- in, encapsulated form in an interface converter cable described in the Sep- tember 2005 issue of Elektor Electron- ics. This IC is a full-speed USB device for USB 1.1 and thus compatible with the more recent USB 2.0 interface. That means the data transmission rate on the bus is 12 Mbit/s. R5 connects the 40 elektor electronics - 3/2006 D+ lead of the USB connector to 3.3 V to signal a full-speed device to the PC. That causes the PC to load a driver for a virtual serial interface. Such a driver allows serial interfaces to be operated at transmission rates up to 1,228,800 baud (that’s 1.2 Mbaud!). In line with the capabilities of the R8C/13, various standard baud rates are used here. The virtual serial interface behaves exactly the same as a real RS232 interface for downloading and debugging programs. Figure 2 shows the internal structure of the IC, which consists of a USB transceiver, a serial interface, and two data buffers. The data buffers support fast, uninterrupted data transfers, with data blocks being packed into individ- ual USB frames. It is also possible to connect an I_C EEPROM to store user configuration settings, but that option isn’t used here. The non-inverted RXD and TXD signals are available at the serial side of the converter and can be connected directly to the R8C. The inputs of the PL2302X are compatible with 3.3-V and 5-V logic levels. The TXD, DTR and RTS outputs provide either 3.3-V or 5-V logic levels, depending on the voltage connected to pin 4. In this case, this voltage is 3.3 V from the internal voltage regulator of the PL2303. That means the level applied to the serial input of the R8C/13 is 3.3 V, although the level actually expected there is 5 V. That’s permissi- ble, though, because the R8C/13 can also be operated at 3.3 V, and besides that a 3.3-V signal at the RXD input of the microcontroller is adequate even when it’s operated at 5 V. All inputs of the R8C regard any voltage above 0.2 V cc as a logic ‘high’ level. Driver installation You may have already used a Prolific USB adapter with your system. In that case, the interface will be recognised as soon as the board is connected to the PC. If it isn’t, or if you experience problems using the USB port, you should install the latest version of the driver. You can obtain the driver by downloading the file 050179-3-ll.zip from the Elektor Electronics website ( www.elektor-electronics.co.uk ). It con- tains the file ‘PL-2303 Driver Installer.exe’. Run the driver installer file before con- necting the board. Any older version of the driver present in the PC will be deleted automatically when the new driver is installed. The next time the board is connected (or another inter- Figure 4. Configuring the buffer sizes and COM port number. face converter using the Prolific IC is connected), Windows will automati- cally locate the appropriate driver and load it. After that, your PC will have an additional serial interface that can be used just like a normal RS232 interface. If you have already installed several such interface converters, Windows will assign a high COM number to the new virtual interface. In that case, it’s recommended to use Advanced Set- tings to rename the interface, for exam- ple to ‘COM2’. You can usually ignore any message saying that this interface is already in use, because it refers to another virtual interface that is not used at the same time. All you need to know is which serial interfaces are actually present in your PC in hard- ware form. For example, the PC used for our tests had only COM1 present on the motherboard, but it also had an interface card with COM3 and COM4. In that case it’s a good idea to name the virtual interface ‘COM2’ (see Fig- ure 3), especially since many older pro- grams only support COM1 and COM2. Problems with high COM numbers have also been observed with the FDT download program, so you should at least keep the number in the single- digit range. In some cases it may be necessary to configure the FIFO buffer of the virtual interface to the smallest possible size (Figure 4) in order to obtain reliable communication. That’s because with a large buffer size, it’s theoretically pos- ! COMPONENTS | LIST Resistors: R1-R4,R7= lkD R5 = 1 kfl5 1 R6 = 47kD ■ R8,R9,R10 = 4kD7 I R1 1 = 33kD I R12 / R13 / R14 = 220kD | R1 5,R1 6 = 27D I R17= lOkfl I PI ,P2 = lOkD Capacitors: C 1 -04,08,0 1 1 ,C 1 2,C 18 = lOOnF 05,06 = lOpF 07,09,013 = 1 OjLtF 16V radial ■ CIO = 220|iF 25V I C 1 4-C 1 7 = 4|iF7 25V radial I Semiconductors: | D1-D4,D6 = LED l D5 = 1 N4002 D7 = 1N4148 IC1 = PL2303X (Prolific) IC2 = 7805 IC3 = MAX232 Miscellaneous: JP3-JP6JP1 2 = jumper JP7-JP1 1 = 3-way SIL pinheader K1 = 2-way PCB terminal block, lead pitch 5mm K2 = USB socket, type B for PCB mounting K3,K4 = 9-way sub-D socket, angled pins, PCB mount K5-K8 = 16-way SIL pinheader K9 = LCD module, 2x16 characters SI = pushbutton with 1 make contact (e.g. TS695) FI = 100 mA Polyfuse X2 = 1 2MHz quartz crystal PCB, bare, order code 050179-1 PCB, ready-assembled and tested, order code 050179-92 LCD with backlight, order code 030451-72 Poly-LED display, order code 030451-73 3/2006 - elektor electronics 41 HANDS-ON MICROCONTROLLERS Figure 5a. The track and ... 42 elektor electronics - 3/2006 o o o o o o o o ^/o (b c o P1.0 OO I Analog 050179-1 COM port programming Power LED Contrast LCD TxDI PO.1 P0.2 P0.3 mod P0.4 P0.5 P0.6 P0.7 IVcc P3.0 AVss P3.1 AVcc P3.2 P3.3 7 7 Figure 5b. ... component layouts of the double-sided circuit board. Figure 6. The fully assembled prototype board. The component overlay is slightly different from the production version shown in Figure 5. 3/2006 - elektor electronics 43 HANDS-ON MICROCONTROLLERS sible for the PC software to be waiting for reply while the query is still stuck in the buffer. If errors occur when download- ing programs into the flash memory of the microcontroller, reducing the size of the buffer may improve the situation. Board assembly The printed circuit board (Figure 5) is also available fully assembled so readers with relatively little soldering experience don’t have to worry about problems with the Prolific IC (IC1), which is only available in a 28-lead SMD package (SSOP-28). If you assem- ble the circuit board yourself, you should start with this IC because it’s easier to solder if the board is other- wise empty. Numerous Elektor Electronics SMD projects have shown that they can be soldered without using special SMD tools. Start by soldering two diagonally opposite leads in place, after first care- fully positioning the IC. A check with a loupe will show whether you have a steady hand. If necessary, you can still adjust the position relatively easily at this stage. Continue by soldering an entire row of leads with a sufficient amount of solder. Any excess solder can be easily removed afterwards with a length of solder wick. If your final inspection with a loupe does not reveal any solder bridges, everything is OK. The author has also found that strong reading glasses (3 dioptre) are an excellent alternative to a loupe. They’re almost as good as stereo microscope, at only a fraction of the price. The remaining components shouldn’t present any special difficulties. You can omit the pin headers (K5 and K8) if desired. If you wish, you can later con- nect flat cable here or wire only the connections you actually need to the prototyping area. A socket header has proven to work well as an LCD connec- tor. The matching LCD module can then be fitted with long pin headers and simply plugged into the board. Initial test Before using the board for the first time, you should re-inspect the compo- nent assembly and solder joints and fit the necessary jumpers. The following jumper settings are important: JP 11: toward K7/K8 (‘ext’ position, with power coming from an external supply) JP 3-6: fitted (LEDs connected) JP 12: fitted (‘Power’ LED connected) JP 2: fitted (debug mode) JP 7-10: toward IC3 (both interfaces via RS232) You should check the supply voltage on the board before plugging in the R8C/13 daughterboard, in order to avoid any risk to the microcontroller. LED D6 should light up after you con- nect an AC adapter with 9-V DC out- put. The voltage measured on I<6 between pin 5 V ss (Pin 5) and pin 7 (V cc ) must have a value of +5 V. After verifying this, disconnect the AC adapter and plug in the daughter board while no power is applied to the board. Now comes the most exciting moment! Reconnect the 9-V AC adapter. The ‘Power’ LED will light up. Connect I<4 to the COM1 serial port of the PC. You can immediately download a program now, because JP2 is configured for debug mode. Use the FDT program as described in the February 2006 issue of Elektor Electronics. A good choice for your first download is the ‘port_toggle’ program. The programming tool will indicate whether the download process completed successfully. Next, remove jumper JP2 and briefly press the Reset button. The four LEDs connected to Port PI should start blinking. If you want to use the USB interface, fit JP7 and JP8 in the proper positions (toward the USB connector). That will connect RXD1 and TXD1 to the USB converter IC. After that, you must con- figure FDT to use the virtual COM interface. Everything else works exactly the same as with a real RS232 interface. KD30 debugger Up to now, we’ve only described how to download finished programs into the microcontroller and run them. When you’re developing a program, especially one that’s relatively com- plex, it’s helpful to use a debugger. That allows you to interrupt the pro- gram at any desired location, view memory contents, execute single steps, and much more. The microcontroller must always be in debug mode when you use the debug- ger, which means that jumper JP2 must remain fitted. The Reset button isn’t necessary in this case, because you can only use software commands from the debugger to start and stop your program. We’ve prepared an extensive descrip- tion of how to get started with the debugger and placed it on the Elektor Electronics website at www.elektor- electronics.co.uk. Deeopnding on the amount of feedback we get, a special R8C activity page may also be created, so check out the website. ( 050179 - 3 ) References: www.glyn.com www.glyn.de E-mail: elektor-r8c@glyn.de R8C forum: For hints and tips about using the R8C/1 3 board, check out the 'R8C 1 6- bit Micro Starter Kit' topic in our Forum menu at www.elektor-electronics.co.uk. Naturally, we would be pleased if you post your own tips and tricks on this forum for the benefit of other readers. 44 elektor electronics - 3/2006 rl o1 Number One Systems Pocn. ^3 for CaSy"rv Windows The world beating PCB design software A. '.J- Tfc -.iV 1 * y ** • Hi 1 " >*■, Ml ' w ■ 1 ' ■ ■ 1 _ ^ ■ >, “ ‘ s’ 1 '-, 5 ' ' i* l,L I* 1 t L '' r’TL ■ -r"" ^ ■ b 8 ' V \ Easy-PC version 9 just gets better Winning accolades the world over, Easy-PC for Windows V9 is another major milestone in the evolution of this extremely popular software tool. Try a demonstration copy of Easy-PC and prepare to be amazed at the power, versatility and remarkable value for money. If 7+1 Version 9 fetaures ■ 3D Board View ■ New Win XP User Interface ■ Reverse Engineer SCM from PCB ■ Track Fattening 0 Interactive Schematic Routing H New Sliding Toolbars ■ Component Clearance Checks ■ Alphanumeric Pin Names Plus many more exciting features .Ul ■ Fully integrated Schematics & PCB layout in a single application complete with forward and back annotation. Design and rules checks at all stages ensure integrity at all times. Professional manufacturing outputs allow you to finish the design process with ease. Stop press... Stop press... Stop press... Stop press... Easy-PC imports Eagle files as well asTsien Boardmaker 2 files call for a brochure, prices & CD on +44 (0)1684 773662 or e-mail sales@numberone.com you can also download a demo from www.numberone.com Number One Systems - Oak Lane - Bredon - Tewkesbury - Glos - United Kingdom - GL20 7LR UK ss Designed for Microsoft® Windows®XP, 2000, ME, 98, Windows NT® DON'T LOSE YOUR TEMPEf Before phoning us - if you are looking for a hard-to-find part. We have over 20,000 items in stock - including obsolete and up-to-date parts. WHY NOT VISIT OUR WEBSITE www.crickIewoodelectronics.com 2N 2SA 2SB 2SC 2SD 2P 2SJ 2SK 3N 3SK 4N 6N 17 40 AD ADC AN AM AY BA BC BD BDT BDV BDW BDX BF BFR BFS BFT BFX BFY BLY BLX BS BR BRX BRYBS BSS BSV BSW BSX BT BTABTB BRWBU BUK BUT BUV BUW BUX BUY BUZ CA CD CX CXA DAC DG DM DS DTA DTC GL GM HA HCF HD HEF ICL ICM IRF J KA KIAL LA LB LC LD LF LM M M5M MA MAB MAX MB MC MDAJ MJE MJF MM MN MPS MPSA MPSH MPSU MRF NJM NE OM OP PA PAL PIC PN RC S SAA SAB SAD SAJ SAS SDA SG SI SL SN SO STA STK STR STRD STRM STRS SV1 T TA TAA TAG TBA TC TCA TDA TDB TEA TIC TIP TIPL TEA TL TLC TMP TMS TPU U UA UAA UC UDN ULN UM UPA UPC UPD VNXXRZZN ZTX + many others We accept Mail, telephone & email orders. Callers welcome. Opening hours Mon-Sat 9:30 - 6:00 VISA Connect L J Cricklewood Electronics Ltd 40-42 Cricklewood Broadway London NW2 3ET Tel: 020 8452 0161 Fax: 020 8208 1441 sales @ cricklewoodelectronics.com 3/2006 - elektor electronics 45 HANDS-ON MODDING & TWEAKING Cheap Logger Use a web router to read the gas/water/electricity meters Jeroen Domburg & Thijs Beckers This month we'll turn an inexpensive router into a data logger. This is provided with sensors that monitor the readings on gas, water and electricity meters. One of the benefits of using a router is that the logger can be connected directly to an internal computer network and can therefore be accessed from any PC with an Internet browser. every five minutes, making it possible to create nice graphs from the data. In this way you can find out during which part of the day the consumption is highest, which can lead to better use of the resources and smaller utility bills. The device itself can be permanently fixed close to the meters. All measure- ments can be accessed via the built-in web server, programmed specifically for this task. The meter reader can therefore be hooked up to the home network and accessed from any com- puter. The router used is again the ‘Sweex broadband router’ with four 100 MBit ports, type number LB000021 (without WLAN). The reason we’ve chosen this router is that it is still one of the cheap- est available (£ 17.50 from scan.com). The rest of the hardware isn’t pricey either: the costliest are the microcon- troller (an ATTiny2313 made by Atmel, The Sweex LB000021 is still one of the cheapest routers that can run Linux. At the time of writing, this model was available on the Internet for less than £20, including postage costs. When we look inside this router we see a pair of unpopulated headers on the board. The smaller of the two (circled in red) is the serial port, which well use for this project. This is the board with the microcontroller, which well hook up to the port. The circuit is so simple that it can easily be built on a piece of experimenter's board. In last month’s article we described an inex- pensive router and showed how it could be reprogrammed with our own firmware. This month we’ll use the same router, with some additional elec- tronics, and build a gas, water and elec- tricity consumption meter. This meter has four sen- sor inputs and can therefore read a maxi- mum of four meters. The consumption is read out and stored 46 elektor electronics - 3/2006 The board is connected to the serial port and fixed to the router PCB using a folded piece of duct tape. There is no need to use expensive screws or other fasteners. A multitool is ideal for making the hole in the case for the sensor cables. A cable-tie around the cables functions as a strain relief. The router is connected, ready for the firmware update. The network cable connects directly to a PC. This UTP cable may be either a crossover cable or a 1:1 cable. tu_ R1 U b 0 TxD 0 - RxD 0 - GND 0 D1 D2 D3 11 100|i 20 © RESET PB7 PB6 PDO |C1 PB5 PD1 PB4 PD2 PB3 PD3 PB2 PD4 PB1 PD5 PBO PD6 ATTiny2313 o X XI D4 which should be available for a few pounds) and the sensors. This project consists of three parts: the router itself, which acts as web server and stores the data, the board with the microcontroller, and the sensors. The router communicates with the micro- controller every five minutes. The lat- ter uses sensors to keep track of the meters. The sensors are optical and the types used depend on the meter they have to read. The general idea is that the sen- sor ‘looks’ at the gas, water or electric- ity meter. Most modern electricity meters have an LED, which flashes every time a certain amount of power has been con- sumed. This pulse can of course be easily detected by a simple LDR. Older meters have a rotating disc with black XI = 20MHz Figure 1 . The microcontroller circuit is fairly simple and can easily be built on a piece of experimenter's board (see inset). Once everything is connected, the router can be found at IP address 192.168.2.1. The firmware can be upgraded to the GWE-meter firmware by selecting 'firmware upgrade' from the 'tools' menu. It works! With the firmware upgraded, the router can be connected to the network. The ex-router will be given an IP address automatically. Take a look at the configuration of your gateway, router or cable/ADSL modem to find out what the address is. 3/2006 - elektor electronics 47 HANDS-ON MODDING & TWEAKING The time has come to connect the sensors. A modern electricity meter with a flashing LED is the easiest... An LDR covered by a piece of duct tape is sufficient to obtain an accurate reading. markers. These meters can be read with the help of reflective optical sen- sors such as the CNY70, or the OPB704 (more expensive, but better). Gas and water meters usually have a mark on one of the least significant digits (often the ‘0’ or ‘6’). A reflective sensor can be used without too many problems in these cases as well. Whichever type of method is used for the measurements, all sensors occa- sionally exhibit a drop in their resist- ance. The capacitors connected to the sensors (see Figure 1) and some clever firmware in the microcontroller enable these resistance changes to be read. The firmware keeps track of the num- ber of times that the current drops below a certain value and hence how often a change of resistance has occurred. This count gives a good indi- cation of the consumption over a given time. The counters can be read or reset via the serial port of the microcon- troller. The calibration of the sensors also takes place via this route. The microcontroller’s serial port is con- nected to a header in the router (JP2). This header normally isn’t mounted on the board. The serial port of the router ends up at this header (see Figure 2). The router itself runs a dedicated ver- sion of the firmware. The firmware contains a program that takes care of the communications with the micro- controller and makes sure that the counters are read at the right time. As we mentioned earlier, this occurs every five minutes. The data are stored in the internal RAM of the router. This has the advantage that about a year’s worth of data can be stored; the disad- vantage is that all this data will be lost if there is a power cut. Luckily, this can easily be prevented by the inclusion of a back-up battery in the power supply; this will be covered in detail later on. The firmware inside the router con- tains a simple web server and several server-side scripts; these enable every- thing, including the network settings and sensor calibrations, to be accessed via a browser. It is also possible to use the browser to view the data in differ- ent formats. The data of one or more selected sensors can be viewed as a graph. Alternatively, the raw data can be downloaded as a CSV file, for use in Excel. The facility to update the firmware hasn’t been forgotten either. Using this update facility, the official Sweex firmware can be flashed back into the router, so it can be used again as a nor- mal router. It’s worth noting that the meter firmware hasn’t stopped the internal switch from working: the four LAN ports and the WAN port are con- figured as a single switch by this firmware. So far so good, but how can you obtain this firmware? The answer is very sim- ple: the required firmware is available from both the Elektor website [1] (file number 050360-11. zip), and the author’s own site [2]. The Linux kernel and all other tools used are licensed under the GPL (General Public License), which means that the source code of the programs has to be made available along with the firmware. The author has of course complied with this requirement. He has also made the tools available that were written specifically for use with the meter firmware. These can also be down- loaded from the above-mentioned sites. Installing the firmware is fairly simple: the router already has a facility to upload a firmware upgrade and this method can also be used to smuggle our firmware into the router; refer to the inset for more info. If you want to flash the original firmware back into the router, you can use the method The circle of the '6' in this gas meter is not filled in, which can be detected by a reflective optical sensor. The reflective sensor is fixed to the meter using a bit of Blu Tack. 48 elektor electronics - 3/2006 This water meter is a lot more difficult to read: there are no distinguishable digits, no flashing LEDs... In principle it should be possible to use a reflective sensor to detect a dial, possibly using a blue LED. However, this has not been extensively tested by the author. described earlier. The microcontroller can be pro- grammed via the parallel port of a PC and a programmer [3], consisting of a DB25 connector and three resistors. The required programming software is available for Windows as well as other operating systems. The physical placement of the sensors depends very much on the type of meter they’re used with. A meter with a flashing LED is easiest: an LDR can be stuck with tape over the LED. A gas or water meter can be trickier, but as long as the reflective sensor can point JP2 4m 1: RxD 2: +3V3 7: TxD 8: GND Figure 2. These ore the connections of JP2 in the router. +U, N D1 +Ub © | © 050360 - 2 - 17 Figure 3. The back-up supply is inserted into the supply line. This diagram shows that it is a fairly simple circuit. straight onto the last digit, it shouldn’t cause too many problems either. The author couldn’t test an electricity meter without an LED (i.e. , one with just a rotating disc), but it is likely that the black marker on the disc can be detected by a reflective sensor after a bit of experimentation. Once the sensors have been fixed into place and connected to the microcon- troller, they have to be calibrated. There is a link on the web page of the router that helps with this. This func- tion continuously reads the (analogue) value of the sensor until the user has determined that the calibration is com- plete. The minimum and maximum sig- nal levels are extracted from these readings. Each time that a sensor’s output changes by more than two- thirds of the difference between mini- mum and maximum, the microcon- troller assumes that another unit of gas, water or electricity has been used. There is no need to worry that the router itself will significantly increase your electricity bill: it only draws about 340 mA from its 12 V supply. The power consumption is therefore about 5 watts. The router itself contains a switch-mode PSU; any voltage from 6 to 15 Volts was found to be suitable. Armed with this information, we can design a simple back-up circuit to keep the data safe during a power cut. A 9 V NiMH or NiCd battery can keep the router powered for some 20 minutes. Six beefy NiMH cells give a back-up time of about three hours. During this period the meter continues to take readings. The measurements of all con- nected meters are therefore preserved. The circuit in Figure 3 shows how a back-up supply should be connected. This circuit should be inserted between the adapter and the router. The two diodes ensure that no current can flow from the adapter to the bat- tery and vice versa. The resistor pro- vides enough current to the battery to keep it fully charged during normal Web links [1] www.elektor-electronics.co.uk/, items March 2006. [2] http://sprite.student.utwente.nl/ ~jeroen/ projects/ gwemeter [3] http://sprite.student.utwente.nl/ ~jeroen/ projects/ progavr use. If you use Schottky diodes the voltage drop, and hence the losses, are kept to a minimum. The value for the resistor is calculated as follows: R = (LT b - C7 batt ) / (0.02 x battery capacity) For example, when a 12-V adapter and 9-V battery with a capacity of 800 mAh are used, the resistor should take a value of about 180 Q. ( 050360 - 2 ) About the author: Jeroen Domburg is currently studying electronic engineering at the Saxion University in Enschede (The Netherlands). He is an enthusiastic hobbyist, who spends much of his spare time on microcontrollers, electronics and computers. In this section we will be able to examine and build some of his projects. 3/2006 - elektor electronics 49 Karel Wa I raven Recharging batteries for devices such as digital cameras can be a problem when you're on holiday in a remote or inhospitable region. You won't find an electrical outlet anywhere. Naturally, you can count on an Elektor Electronics designer to whip up a solution using a solar panel and a DIY Li-ion battery charger. I was due a bit of a holiday, so I sug- gested to management that I’d step out for half a year. Their response was less than enthusiastic, and my own enthusiasm was soon dampened when I had a good look at what it would cost. The outcome was thus four weeks of trekking through the Anna- purna region in Nepal. To meet my electrical energy needs, I took along a solar panel and a simple Li-ion charger built from discrete com- ponents. I didn’t have a lot of time, and in the spirit of the motto ‘better a good copy than a bad design’, I cribbed the accompanying circuit from a well- known Chinese company. As you doubtless know, charging lithium cells is actually quite easy. You generate a well-regulated voltage of exactly 4.1 or 4.2 V (always read the manufacturer’s specifications to deter- mine the right value) and add current limiting to keep the current within bounds. The charging current will automatically decrease as the cell becomes charged (see Figure 1 for the charging characteristic). You can assume that the cell is fully charged when the charging current drops to 1/20C or less. Just to reiterate, the charging voltage is critical - the allowed tolerance is only 1%. That’s not very much, because 1% of 4.2 V is only 42 mV. That means you have to measure the output voltage carefully to ensure that it stays within tolerance. The nice thing about this circuit (Fig- ure 2) is that it’s easy to build as a DIY project because it doesn’t use any obscure components. The TL431 volt- age reference is an old standby that you can obtain almost everywhere. For the rest, it consists of a few ordinary transistors and a power transistor, all of which can be replaced by any rea- sonable equivalents. The Schottky diode can be any type that can handle 1 A, or if necessary you can use an ordinary 1N4001. The input voltage can also be higher, although beyond a certain point you’ll have to fit a heat sink for Tl. Design philosophy It’s always interesting to examine someone else’s design carefully in order to figure out the underlying design philosophy. 50 elektor electronics - 3/2006 Reference voltage To start with, the circuit is based on a good, stable reference voltage gener- ated by a Texas Instruments TL431 (IC2). That’s a prudent choice, because a good reference is a funda- mental requirement if you want to be sure of achieving 1% accuracy for the charging voltage. The reference IC is followed by an emitter follower (T4) so the reference source can supply more than just a few milliamperes. That would normally reduce the output voltage by approxi- mately 0.6 V and trash the stability, but feedback from the transistor via R21 and R23 eliminates those problems. The IC adjusts its reference potential to maintain a voltage of 2.5 V on its Adjust input. That yields a reference voltage of 3.3 V, which is used every- where in the circuit. It’s important to be able to adjust the value of R21 or R23 when you’re building charger if the voltage of the TL431 differs too much from the nominal value. If a check reveals that your reference IC is near the end of the tolerance range, correct the reference voltage by fitting a resistor in parallel with R21 or R23. You can simply use the trial-and-error method by trying a succession of val- ues until you obtain the correct volt- age. Once that’s done, you can solder the resistor permanently in place. Naturally, a reference voltage of 3.3 V represents an arbitrary choice. It could also be a bit higher or a bit lower. It shouldn’t be all too high, though, to avoid restricting the headroom of the TL431. A more important consideration is that the reference voltage must fall within the common-mode input volt- age range of the opamp used in the cir- cuit. We’ll say more about that when we talk about selecting the opamp. A decidedly low reference voltage, such as 2.5 V (as obtained without a voltage divider), is also undesirable because it makes it more difficult to drive LED D1 and increases the sensi- tivity of the circuit to the input offset voltage of the opamp. Control circuitry Now we come to the actual control cir- cuitry. We want to have: • a stable output voltage • current limiting • battery monitoring (for temperature) • a clear indication when the battery is fully charged Figure 1. Charging characteristic of an Li-ion cell (source: Panasonic). Figure 2. The circuit of the charger uses standard components instead of special charger ICs. 3/2006 - elektor electronics 51 TECHNOLOGY LABTALK Figure 3. The small printed circuit board for the charging circuit. The spring contacts for the battery pack are at the right. The first three items all affect the out- put voltage. The output current can be reduced by lowering the output volt- age, and if the battery becomes hot, the charging current must be reduced by lowering the output voltage. Here we have a topology in which three opamps (IClb, IClc and ICld) can simultaneously control a single output. That’s possible using a sort of OR-gate arrangement. In the schematic diagram, you can see that the outputs are simply connected together. Under normal conditions, that would naturally lead to problems whenever one opamp tries to increase the output voltage while another one tries to reduce it. That problem can be solved by putting diodes or transistors after the opamps. In this case, a more elegant solution is to use opamps with open-collector out- puts. That means each opamp can only reduce the voltage on the shared out- put. Resistor R8 provides the pull-up voltage. It supplies the base current for T2, which in turn drives T1 into conduc- tion and voila, the positive terminal of the battery is connected to the positive supply voltage. This gives us a system in which each parameter (voltage, current, and temperature) has its own opamp that can reduce the output voltage. Current regulation As a rule of thumb, you can assume that the maximum charging current of a normal Li-ion battery is around 0.7 to 1 times its capacity. This charger deliv- ers a maximum current of 0.65 A, which makes it suitable for batteries rated at 0.65 Ah or more. The current with a fully discharged battery would ordinarily be higher than the above-mentioned 0.65 A. The current can be easily measured by con- necting a small resistance in series. Here that role is fulfilled by R17 and R18, with two resistors being used due to the magnitude of the current and the power dissipation. The current generates a voltage across these resis- tors, and ICld compares this voltage with a reduced reference voltage obtained from a voltage divider. If the voltage generated by the charging cur- rent is higher than the comparison voltage, ICld takes control by reducing the voltage on the shared output. That lowers the charging voltage for the battery and thus reduces the charging current to the desired level. When the battery becomes fully charged, the control function provided by IClc prevents the voltage from ris- ing above 4.2 V. The battery voltage is compared with the reference voltage via two voltage dividers (R15/R16 and R7/R4, respectively), and if necessary IClc reduces the voltage on the shared output. The logic of the temperature monitoring circuitry with IClb is similar. A thermis- tor (NTC resistor) is built into the bat- tery, and its resistance decreases as the temperature increases. The thermistor forms a voltage divider in combination with Rl, and IClb compares the voltage at the junction of this divider with a reduced reference voltage obtained from divider R14/R3. It restricts the charging process if the temperature rises too high. By the way, this temperature protec- tion is not fail-safe, so charging will proceed as normal if there is bad con- tact or an open lead. If you’ve ever built a circuit with an opamp followed by two transistors (which also provide gain), you know you can expect problems. Such a cir- cuit is guaranteed to oscillate. That problem is solved here by using a hefty capacitance (Cl) to slow down the entire control loop. An additional capacitor (C2) connected at the output, in combination with voltage divider R15/R16, keeps the circuit stable in the no-load state, and the divider provides a minimum load. Indicator We haven’t said anything yet about the indicator portion of the circuit, which consists of the circuitry around ICla. This bit of electronics is not essential to the operation of the circuit, but it is nevertheless very important. As a user, you naturally want to know where things stand. The nice thing about this indicator is that it responds to the charging current. That means you can be sure that charging is actually taking place, which avoids simple errors such as forgetting to connect the mains adapter or a bad battery contact. Here again the reference voltage is divided down, this time by R12/R19, to a voltage of approximately 14 mV If the voltage drop resulting from the charg- ing current through R17/R18 is less than this value (with no battery con- nected or a fully charged battery), the internal open-collector output transis- tor of ICla will be cut off. The red LED in D1 will be off in that case, but the green one will be on because it is con- nected to 3.3 V and to ground via a 220-fl resistor. In the opposite case, with sufficient charging current flowing, ICla will pull its output low. In that case LED will be on and T3 will conduct to short out the green LED and keep it dark. Using a bi-colour LED for D1 thus provides a perfectly clear charging indicator. Have you already realised the signifi- cance of selecting 14 mV as the refer- 52 elektor electronics - 3/2006 ence voltage for ICla? The maximum charging current of 650 mA generates a voltage drop of 153 mV across R17/R18. 14 mV is approximately 1/11 of this value, so the battery is consid- ered to be fully charged as soon as the current drops to 1/11 of the maximum value. The charging process will con- tinue as usual, but the LED will indi- cate that the battery is fully charged. You could also add another stage to the circuit, because it’s better to limit the charging current to 1/10 of the battery capacity if the battery has been discharged to below 2.9 V. That can be easily implemented by using another opamp to connect a resistor in parallel with R5 to reduce the divided reference voltage for current limiting to 14 mV. However, the man- ufacturer decided not to do this, pre- sumably because it would require an additional IC. Component selection Now for a few remarks about select- ing the opamp. When you design a circuit, you can choose from hundreds of IC types. All the different options don’t make the choice any easier. However, in this case a standard opamp type without any special prop- erties is sufficient. It doesn’t need to have especially high accuracy (a mil- livolt more or less doesn’t matter), it doesn’t have to have a special tem- perature range, and noise and speed are also unimportant. However, there are two aspects that deserve further attention. The first is the common-mode range. When you select an opamp for a cir- cuit, it’s important to keep all the volt- ages that may be present on its inputs within the limits of the common-mode range, or to select an opamp that can handle the expected range of voltages. The data sheet for the LM399 says that the lower limit is 0 V and the upper limit is 1.5 V below the supply voltage. If we had chosen an LM741, the lower limit would have been 1.5 V, so a volt- age such as 14 mV would not have been allowed. That means it’s essen- tial to chose an opamp for this design that can work properly with voltages close to zero. The second aspect is the offset volt- age. From the data sheet, you can see that the input offset voltage is 2 mV. (The manufacturer supplies this opamp in various versions with differ- ent offset voltage ratings. As you might expect, better specs always cost more.) That means the IC intro- duces an error of approximately 2 mV at its inputs. As a result, although you think (or hope) that the charging indi- cator will change state at 14 mV, it may actually change as early as 16 mV or not until 12 mV. That’s an error of more than 10%, which is considerable. That isn’t a problem for the charging indicator, but such an error in the charging voltage would be unaccept- able. That’s why the reference value for the charging voltage is much higher at around 2.4 V. An error of 2 mV at 2325 mV is only around 1 part in a thousand, which is negligible. ( 050396 - 1 ) CONSTRUCTIO Elektor Electronics (Publishing) does not provide parts and components other than pcbs, fornt panel foils and software on diskette or ic (not neces- sarily for all projects). Components are usually available form a number of retailers - see the adverts in the magazine. Large and small values of components are indicated by means of one of the following prefixes : E (exa) = 10 18 P (peta) = 10 15 T (tera) = 10 12 G (giga) = 10 9 M (mega) = 10 6 k (kilo) = 10 3 h (hecto) = 10 2 da (deca) = 10 1 a (atto) = 10~ 18 f (femto) = 10“ 15 p (pico) = 10“ 12 n (nano) = 10“ 9 H (micro) = 10“ 6 m (milli) = 10“ 3 c (centi) = 10“ 2 d (deci) = 10 _1 In some circuit diagrams, to avoid confusion, but contrary to iec and bs recommandations, the value of components is given by substituting the rel- evant prefix for the decimal point. For example, 3k9 = 3.9 ka 4/x7 = 4.7 /xF Unless otherwise indicated, the tolerance of resistors is ±5% and their rat- ing is l A- l A watt. The working voltage of capacitors is > 50 V. In populating a pcb, always start with the smallest passive components, that is, wire bridges, resistors and small capacitors; and then ic sockets, relays, electrolytic and other large capacitors, and connectors. Vulnerable semiconductors and ics should be done last. Soldering. Use a 15-30 W soldering iron with a fine tip and tin with a resin | core (60/40) Insert the terminals of components in the board, bend them ■ slightly, cut them short, and solder: wait 1-2 seconds for the tin to flow 1 smoothly and remove the iron. Do not overheat, particularly when solder- ing ics and semiconductors. Unsoldering is best done with a suction iron or special unsoldering braid. 1 Faultfinding. If the circuit does not work, carefully compare the populated ] board with the published component layout and parts list. Are all the com- N GUIDELINES ponents in the correct position? Has correct polarity been observed? Have the powerlines been reversed? Are ah solder joints sound? Have any wire bridges been forgotten? If voltage levels have been given on the circuit diagram, do those meas- ured on the board match them - note that deviations up to ± 10% from the specified values are acceptable. Possible corrections to published projects are published from time to time in this magazine. Also, the readers letters column often contains useful comments/additions to the published projects. The value of a resistor is indicated by a colour code as follows. color 1st digit 2nd digit mult, factor tolerance black 0 brown 1 1 xlO 1 ±1% red 2 2 xlO 2 ±2% orange 3 3 xlO 3 - yellow 4 4 xlO 4 - green 5 5 xlO 5 ±0,5% blue 6 6 xl06 - violet 7 7 - - grey 8 8 - - white 9 9 - - gold - - xlO- 1 ±5% silver - - XlO- 2 ±10% none — — — ±20% Examples: brown-red-brown-gold = 120 D, 5% yellow-violet-orange-gold = 47 kD, 5% 3/2006 - elektor electronics 53 HANDS-ON Erik Martens What turns a mC board into a real PLC? A PLC is a controller with a program stored in memory, where reliability, availability and safety are of the utmost importance. Only when a mC board can be operated as a PLC and it complies with industrial standards can it be called a real PLC. This project covers all aspects to turn a standard AT89S8252 jliC board into a real PLC, using a minimum of off-the- shelf components. To add the PLC functionality to an AT89S8252 board we require a small section of extra soft- ware (firmware) in the microcontroller. Your own jliC PLC program then works under supervision of this firmware. System overview To turn a standard AT89S8252 board into a PLC we make use of four I/O pins on the microcontroller (P1.0 to PI. 3). When the controller is reset it knows from the state of the flip-flop (IC2a and IC2b, read via P1.0) whether a hardware reset or an internal reset occurred. After a hardware reset the firmware sets the flip-flop using Pl.l. Port Pl.l also turns off all output sec- tions (a high level from Pl.l turns off T1 via IC3d and IC2d). The STOP/RUN/RESET switch (SI) is used by the firmware to start and stop the PLC program. This switch can also be used (via R3) to force a hardware reset of the jliC. P1.2 is used to read the state of the STOP/RUN/RESET switch. When the switch is in the STOP posi- tion, all outputs are automatically turned off. LEDs D7 and D8 show the current status of the PLC program. Should the level of the supply voltage to voltage regulator IC4 drop below about 8.2 V, it will be reported to the jliC via P1.3, after which all output modules are immediately turned off. Two input modules have been included in the circuit diagram, but you can add as many as you need to ports PO, P2 or P3. The inputs are elec- trically isolated, can take +24V DC sig- nals, are protected against voltage spikes and polarity reversal. The output sections are also electri- cally isolated. You can connect as many output modules as you need to ports PO, P2 or P3. However, the output sections can only be active when T1 conducts. This will only happen when all operating conditions are satisfied (Pl.l and PI. 2 high, STOP/RUN/RESET switch in the RUN position and a high enough supply voltage). To program the jliC you can use the SPI port (PI. 5, PI. 6 and PI. 7) on the jliC. The programming can only take place when the reset line is active. For this reason R8-R11 and IC3a have been added, so that a high RS232 input (for example DTR) will keep the jliC reset line permanently high. The programming functionality via the SPI port is not shown in the circuit diagram. Firmware The main PLC program works under supervision of the so-called firmware. An example of this firmware has been included in this article and you will find it to be relatively small (about 100 bytes). The jliC PLC firmware was writ- ten using the TASM shareware assem- bler. The use of this assembler has been covered in previous Elektor articles: ‘89S8252 Flash Microcontroller Board’ (Dec. 2001), ‘Microcontroller Basics Course’ parts 1 and 2 (Jan./Feb. 2002). These articles also describe the differ- ent ways in which the microcontroller software can be put into the microcon- trollers (external programmer, SPI). The firmware takes care of the follow- ing functions: Reset After a reset the jliC will immediately start running the firmware. If a hard- ware reset occurred, the PLC will start the first PLC cycle if all other conditions are satisfied (STOP/RUN/RESET switch in the RUN position and a good supply voltage). When an internal reset occurs (when the cycle time was exceeded), the STOP/RUN/RESET switch first needs to be set to the STOP position, and then to the RUN position, before the PLC cycle will start again Please note: this project is has not been tested or post-engineered by the Elektor Electronics laboratory. 54 elektor electronics - 3/2006 R3 RS232: reset pC IC3.A 0 R9 o 27k R8 JT 1 RIO ^ 1 8k2 D9 n 2 1 4V7 Js R11 IC3.B JT 1 I C5 10p 63V input module i-Qill— I +24V dc 0 ov 4V7 1 05K25 10k JT 1 1N4148 SFH610-2 input module H2k2 | — | SS ^ +24V dc 0 ov 4V7 1 05K25 10k JT 1 1N4148 SFH610-2 230V 63mA T 4x 1 N4001 IC3.D IC3.C JT 1 7T1 IC2.A JT & IC2.B JT & SPI 0 x green green IC4 Hahn EI4811172 ^6 MOOn 30_ 29 _ 10 _ _ 11 _ 12_ 13_ 14_ 15_ 16_ 17 40 © RESET EA/VP ALE/P PI .2 PSEN PI .3 P1.0 PO.O P1.1 P0.1 IC1 P0.2 P0.3 PI .4 P0.4 PI .5 P0.5 PI .6 P0.6 PI .7 P0.7 AT89S8252 P3.0 P2.0 P3.1 P2.1 P3.2 P2.2 P3.3 P2.3 P3.4 P2.4 P3.5 P2.5 P3.6 P2.6 P3.7 P2.7 -1- XI X2 20 19 X 1 H I- C7 33p 12MHz 31 IC3.F * 1TL 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27___ 28 | Uj W Ui oc Q- 1 SI IC2.C IC3.E 18 C8 33p IC2 = 74HCT132 IC3 = 74HCT14 1N4148 j? j§ 4 ^ C9 ' © C,o" (”) ¥ IS? ¥ !“ 63 V lOoiTf (7) 100n (7) (14) IC3 © JT & JT 1 Tr6 green IC2.D RUN R4 R7 red D8 r STOP R5 I TIPI 25 output module green -GO 1N4001 BC327 - | 270 o | — © 220k BD243C CNY17-3 SFH601 M output module tt >f green -GO 1 N4001 1N4001 BC327 1 1 270 Q | — I I © A 470k 220k BD243C CNY17-3 SFH601 H 1 N4001 +24V dc +24V dc I 030158-11 Figure 1. Circuit diagram of a real PLC using an AT89S8252. RUN-STOP function The most important task of the firmware is to make sure that all con- ditions are satisfied before starting a PLC cycle. A PLC cycle can be started if the following conditions are met: • the STOP/RUN/RESET switch is in the RUN position; • the supply voltage is high enough; • the STOP/RUN/RESET has been switched from RUN-STOP-RUN after the PLC cycle time has been exceeded. STOP/RUN/RESET switch This switch is used to control the run- ning of the PLC program. When the switch is turned to the STOP position the currently running cycle is still com- pleted, after which no new PLC cycle is started. When the PLC is in the STOP condition all output modules are turned off. Supply voltage monitoring Before the start of every PLC cycle the firmware checks that the supply voltage is (still) in order. Should the supply voltage at the input of voltage regulator IC4 drop below about 8.2 V, a new PLC cycle will not begin and the ERRPS routine will be called instead. This routine can be used to store variables into a non-volatile memory (the EEPROM in the jaC) before the supply voltage drops too far for the jliC to stop functioning. If there is only a temporary drop in volt- age (caused by interference, for example), which doesn’t reset the jliC, the PLC cycle will start again as soon as the supply voltage is restored. PLC cycle-time watchdog You may know that the AT89S8252 has an on-chip watchdog timer. This timer is used to keep an eye on the cycle time of the PLC program. At the start of every PLC cycle the watchdog timer is reset. Should a PLC cycle take too long, for example caused by an endless loop within the PLC program, the internal watchdog will generate an internal reset of the jliC . In the reset state of the jliC Pl.l will immedi- ately become ‘high’, which causes all output modules to be turned off. The firmware will then detect that an internal reset occurred (by the state of flip-flop IC2a/b) and will enter the STOP condition. Despite the fact that the STOP/RUN/RESET switch is in the RUN position, the PLC program will remain in the STOP condition. The program only exits from this condition when the STOP/RUN/RESET switch is turned to STOP. This behaviour pre- vents the PLC from starting again immediately after the PLC cycle time 3/2006 - elektor electronics 55 HANDS-ON was exceeded. The maximum PLC cycle time can be set to one of the fol- lowing values: 16, 32, 64, 128, 256, 512, 1024 or 2048 ms. Using the |iC PLC firmware Listing 1 ORL WMCON, 0000 100 OB set EEMEN, select uC EEPROM MOV DPL, #010H MOV DPH,#000H MOVX A,@DPTR store contents of address 16 into the accumulator The PLC firmware included with this article should be used as the basis for r m as ™ your own PLC application. You only 1 Listing 2 ■ need to add your code to the MAIN, ■ 1 MOV DPL,#010H INIUC, INIPLC, ERRPS and ERRCY rou- ■ 1 MOV DPH , #000H tines to provide the functionality you 1 ORL WMCON, #00010000B require. 1 M001 MOX A, WMCON I JNB ACC. 1,M001 MAIN: This routine is called every I MOV A, B cycle. This is where the inputs are 1 1 MOVX @DPTR, A read, the logical relationships are ■ 1 ANL WMCON, #11101111B set EEMWE , write-enable uC EEPROM wait until the uC EEPROM is ready reset EEMWE , write-disable uC EEPROM calculated and the outputs are set. The MAIN routine may not run longer than the set watchdog time, so take care with delay loops and ‘jumping back’. INIUC: When power is first applied to the jliC PLC this routine is called once. You could for example use this routine to restore variables from the EEPROM of the microcontroller. The example below shows how to get the contents of EEPROM address 16 and store it in the accumulator (see Listing 1). INIPLC: This routine is called once when the STOP/RUN/RESET switch is set to the RUN position (warm start). You could use it to initialise certain variables with a starting value. You could also initialise a communication link here. The cycle time is not moni- tored while this routine is running. Figure 2. Monitoring the supply voltage. ERRPS: The ERRPS routine is called once when the supply voltage is turned off or when it falls below a critical level. In this routine you could store permanent variables (these are variables that have to keep their value during a power failure) into the microcontroller EEPROM. The follow- ing example shows how the value of the B register is stored in the micro- controller EEPROM at address 16 (see Listing 2). ERRCY: This routine is called continu- ously when the cycle time has been exceeded and the STOP/RUN/RESET switch is in the RUN position. This rou- tine could be used to light an LED that indicates that a program error has occurred. This LED should be extin- guished again in the INIPLC routine. And finally... This project forms the basis of a real PLC, where you are free to add a large number of input and output modules according to your requirements. It also complies with industrial standards for signal interfacing, operation and control. The source code for the controller firmware has been made freely avail- able to Elektor Electronics readers by the author. This file can be down- loaded from our website under no. 030158-11. ( 030158 ) N Attention! ]\\ This project uses a transformer that is connected to the mains supply. This could have deadly consequences if you don't comply with all relevant safety standards. For this reason it's important that you follow all instructions shown on the safety guidelines page, regularly printed near the back of the magazine. When you use the transformer recommended in this article you can mount the circuit into a box that complies with the Class-ll standard. 56 elektor electronics - 3/2006 Listing 3. An example of the firmware in the 89S8252. ; FIRMWARE mC PLC WMCON .equ 096H P1.0 .equ 090H Pl.l .equ 091H PI. 2 .equ 092H PI. 3 .equ 093H ■org 0000H start address after a reset LJMP START ■org 0200H ; RESET mC START ANL WMCON, #11111110B disable watchdog JB PI. 0, SOFT jump, software reset ; HARDWARE RESET mC HARD CLR PI. 2 disable outputs using PI. 2, because Pl.l will be used to set the reset-flipflop CLR Pl.l set the reset-flipflop JNB P 1.0, HARD jump, wait until the reset-flipflop is set SETB PI. 2 enable outputs using PI. 2 ACALL INIUC mC initialisation following a reset SJMP NCYC ; SOFTWARE RESET mC SOFT ACALL ERRCY STOP/RUN/RESET switch in RUN position after the cycle-time was exceeded JB PI. 2, SOFT jump, wait for the STOP/RUN/RESET switch to be in the STOP position ACALL INIUC mC initialisation following a reset SJMP NCYC jump, STOP/RUN/RESET switch was set to STOP ;PLC CYCLE PLC JNB PI. 2, NCYC jump, STOP/RUN/RESET switch is set to STOP JB PI. 3, NCYC jump, faulty supply voltage SJMP WDTR jump, conditions are met to start a new PLC cycle NCYC ANL WMCON, #11111110B disable watchdog SETB Pl.l disable outputs using Pl.l JNB PI. 3, PSOK jump, supply voltage OK ACALL ERRPS faulty supply voltage PSNOK JB P1.3, PSNOK jump, wait until the supply voltage is OK PSOK MOV R2,#100 delay: #100 x #50 x 2ms = 10.000ms = 10ms DELO MOV Rl,#50 DELI DJNZ Rl.DELl DJNZ R2.DEL0 JNB PI. 2, NCYC jump, STOP/RUN/RESET switch is in STOP position JB PI. 3, NCYC jump, faulty supply voltage ACALL INIPLC PLC initialisation after the STOP/RUN/RESET switch is set to RUN, or when the supply oltage returns CLR Pl.l enable outputs using Pl.l, STOP/RUN/RESET switch is set to RUN and the supply voltage is OK ORL WMCON, #11100000B WMCON: ms WMCON: ms #000xxxxx 16 #100xxxxx256 #001xxxxx 32 #101xxxxx512 #010xxxxx 64 #110xxxxxl024 #011xxxxx 128 #lllxxxxx2048 ORL WMCON, #00000001B enable watchdog WDTR ORL WMCON, #00000010B watchdog-timer reset ;PLC PROGRAM MAIN LJMP PLC ; jump, next PLC cycle INITIALISE mC -called once after a hardware reset INIUC RET INITIALISE PLC (STOP/RUN/RESET switch set to RUN or return of the supply) INIPLC RET ;POWER SUPPLY ERROR -called once after the supply fails ERRPS RET ;CYCLE TIME ERROR (STOP/RUN/RESET switch set to RUN after the cycle-time is exceeded) ERRCY RET 3/2006 - elektor electronics 57 TECHNOLOGY E-BLOCKS Figure 1. Initial specification sketch. John Dobson E-blocks SPI Bus Board containing NVM and DAC Many of you may be familiar with using the A/D inputs of the PICmicro microcontroller but using D/As is less common. This short article examines how it is possible to use Flowcode and E-blocks to produce a simple sinewave oscillator for use in testing audio circuits. There is often a requirement for a simple sinewave oscil- lator you can use for testing audio circuits. The E-blocks system includes a D/A converter (DAC) so why not make a general-purpose waveform generator with it? To start with, you need to decide on the range of values you want to produce and do some calculations on the overall parameters to check the project is feasible. The D/A has an output range of 0 to 5 V in 255 equal steps. It does not make sense to go too near the supply rails in case some headroom is needed for a buffer device, so to keep things simple, go for a maximum of 4 V peak-to- peak output. This can be divided down in software to get Samples 63 127 191 255 Angle 7C/2(90°) 71(180°) 371/2(270°) 271 (360°) smaller signals. The frequency will need to be around 1 kHz - that's mid-range audio. A quick check of the specification of the MAX5385 D/A states that it has a settling time of 20 jis for an output accuracy of "half of the least significant bit". If we have 256 samples per waveform then this would give us a maximum output fre- quency of 200 Hz. In theory that's not high enough, but as we are using a sinewave, with small incremental steps between samples, the system has a fighting chance of coping and we can always resort to reducing the number of samples per waveform if it does not perform well. Get to grips with D/As Good news: D/As are relatively simple to use. You feed them a number and the analogue output level equals the full-scale voltage output multiplied by a ratio, N, of the number you feed in and the full-scale digital input. From the graph in Figure 1 you can see an initial sketch assuming 5-V full scale output and eight bits (2 8 = 256 or 0 to 255) input. Actually, the output of the DAC is only 0.9 V cc so there will be a 1 0% voltage level error in the real output, but we can live with that. The micro needs to generate a range of values corre- sponding to a sinewave output. With 256 steps that means 256 separate values. Fortunately, sinewaves are symmetrical as well as periodical so we can actually just 58 elektor electronics - 3/2006 generate numbers for a quarter of a waveform and then use simple programming to reflect the data horizontally and vertically. We want a 4-V peak-to-peak output — to make the numbers easy it's best to actually just use a range of 200 of the available 256 bits. This will give us close to 4 V out of the full (theoretical) 5-V range. The core waveform is shown in the bottom left of Figure 1 : it's 64 values in 'x' with a digital range of 0 to 1 00, or around 2 V. At this stage we need to use a spreadsheet to calculate the numerical output values for the core data. The formula for a sinewave is y - sin(x), where x varies from 0 to 360 degrees or 0 to 271 radians. Unable to fig- ure out how to get Excel to work in degrees here at Elek- tor labs we just used radians. We've only shown the first three and last three of the 64 core values. To get the val- ues you need to send to the DAC, just multiply sin(x) by the core range of 1 00. Okay, so that's the theory over. In practice First, let's look at the hardware. We're going to be using the E-blocks SPI bus Board shown in the introductory photograph. This goes onto the Multiprogrammer board which happens to have a PIC16F877 on it. You could use almost any PIC with a USART. The SPI board goes on port C and we have an LC display on port B and a key- pad on port D. The SPI board has a MAX5385 DAC as well as a 64- kByte SPI bus and non-volatile memory (NVM). You may first want to get the data into the NVM. As a future exten- sion of the project, consider building up a portfolio of dif- ferent waveforms inside the NVM and then call them up separately as needed using the keypad and LCD for selection. To populate the NVM, a program was written that stuffed the core 64 data values into the NVM. A counter from 0-63 was set up, followed by a routine that writes indi- vidual bytes of data to sequential NVM locations. In Flowcode this is quite easy, you just initialise the SPI bus and then write a program with 64 icons, each of which writes a byte of data, as shown in Figure 2. The next step will be to write a separate program to check that the core values produce the first quarter of the sine wave. This was fairly straightforward - again a counter is established, reading the value from NVM loca- tions 0 to 63 in turn, followed by a routine forwarding the data from the NVM to the DAC. The Flowcode that did it may be seen in action in Figure 3. The oscillogram in Figure 4 shows you the first output waveform for the first quarter cycle. It's a bit rough around the edges but looks like a quarter of a sinewave. Unfortunately the time period for a quarter cycle was 3 ms - giving a final frequency of under Figure 2. NVM stuffing program. Figure 3. Simple program to take NVM data and send it to the DAC. 3/2006 - elektor electronics 59 TECHNOLOGY E-BLOCKS Figure 4. First output waveform showing repeated core values being output. Table 1 - output values Sample no. X sin(x) 1 00sin(x) 0 0.024544 0.024541 2 1 0.049087 0.049068 5 2 0.073631 0.073565 7 • • • • • • • • • • • • 61 1.521711 0.998796 100 62 1.546255 0.999699 100 63 1.570798 1 100 , 1 00 Hz; too slow for our purposes. Oh well - we have a backup plan. Towards the goal Things are slowed down by the need to serially read the data from the external NVM. However, the '877 device we're using also has 256 internal bytes of EEPROM! What we can easily do is fill the PIC's internal EEPROM with our data, which hopefully will speed up the process a great deal. A new user macro called LOADEEPROM was added to Flowcode. It reads the external NVM and puts the 64 data bytes into internal EEPROM. Consequently the program was altered to read data forwards for the first quarter, and backwards for the second quarter of the waveform. Next, an offset of 127 is added and the data for the second half of the cycle was manipulated simi- larly. We then measured the results, which you can see in Figure 5. The final signal has a period of 2.5 ms or a frequency of 400 Hz, and a peak-to-peak voltage of around 3.5 V. The waveform does not look too distorted although at the zero-crossing points you can see a small discontinuity. This is presumably caused by program delays between each quarter cycle of data being read out. This may be solved by loading the internal EEPROM with the full 256 databytes and start the waveform at 90 degrees where distortion will have less effect. Let us and others know how you tweaked the project to perfection — post your findings with E-blocks in Elektor's online Forum. ( 065031 - 1 ) Earlier in this series Electronic Building Blocks, November 2005. E-blocks and Flowcode, December 2005. E-blocks in Cyberspace, January 2006. E-blocks — now you CAN, February 2006. Articles may be downloaded individually from our website. Figure 5.The final output. Programs available for download SPI memory stuffing.fcf First quarter.fcf Sine wave gen.fcf SPIscreen.FCF File number: 065031-1 l.zip Location: MAGAZINE — > March 2006 'E-blocks Making Waves'. 60 elektor electronics - 3/2006 In all mains-operated equipment certain important safety requirements must be met. The relevant standard for most sound equipment is Safety of Informa- tion Technology Equipment, including Electrical Business Equipment (Euro- pean Harmonized British Standard BS EN 60950:1992). Electrical safety under this standard relates to protection from • a hazardous voltage, that is, a volt- age greater than 42.4 V peak or 60 V d.c.; • a hazardous energy level, which is defined as a stored energy level of 20 Joules or more or an available continuous power level of 240 VA or more at a potential of 2 V or more; • a single insulation fault which would cause a conductive part to become hazardous; • the source of a hazardous voltage or energy level from primary power; • secondary power (derived from internal circuitry which is supplied and isolated from any power source, including d.c.) Protection against electric shock is achieved by two classes of equipment. Class I equipment uses basic insu- lation ; its conductive parts, which may become hazardous if this insulation fails, must be connected to the supply protective earth. Class II equipment uses double or reinforced insulation for use where there is no provision for supply protec- tive earth (rare in electronics - mainly applicable to power tools). The use of a a Class II insulated transformer is preferred, but note that when this is fitted in a Class I equip- ment, this does not, by itself, confer Class II status on the equipment. Electrically conductive enclosures that are used to isolate and protect a hazardous supply voltage or energy level from user access must be protec- tively earthed regardless of whether the mains transformer is Class I or Class II. Always keep the distance between mains-carrying parts and other parts as large as possible, but never less than required. If at all possible, use an approved mains entry with integrated fuse holder and on/off switch. If this is not avail- able, use a strain relief (Figure, note 2) on the mains cable at the point of entry. In this case, the mains fuse should be placed after the double-pole on/off switch unless it is a Touchproof® type or similar. Close to each and every fuse must be affixed a label stating the fuse rating and type. The separate on/off switch (Figure, note 4), which is really a ‘disconnect device’, should be an approved double- pole type (to switch the phase and neu- tral conductors of a single-phase mains supply). In case of a three-phase sup- ply, all phases and neutral (where used) must be switched simultaneously. A pluggable mains cable may be consid- ered as a disconnect device. In an ELECTRICAL SAFETY INFO & MARKET 1. Use a mains cable with moulded-on plug. 2. Use a strain relief on the mains cable. 3. Affix a label at the outside of the enclosure near the mains entry stating the eguipment type, the mains voltage or voltage range, the freguency or fre- guency range, and the current drain or curent drain range. 4. Use an approved double-pole on/off switch, which is effectively the ‘discon- nect device’. 5. Push wires through eyelets before soldering them in place. 6. Use insulating sleeves for extra protection. 7. The distance between transformer terminals and core and other parts must be >6 mm. 8. Use the correct type, size and current-carrying capacity of cables and wires - see shaded table below. 9. A printed-circuit board like all other parts should be well secured. All joints and connections should be well made and soldered neatly so that they are mechanically and electrically sound. Never solder mains-carrying wires directly to the board: use solder tags. The use of crimp-on tags is also good practice. 10. Even when a Class II transformer is used, it remains the on/off switch whose function it is to isolate a hazardous voltage (i.e., mains input) from the pri- mary circuit in the eguipment. The primary-to-secondary isolation of the transformer does not and can not perform this function. approved switch, the contact gap in the off position is not smaller than 3 mm. The on/off switch must be fitted by as short a cable as possible to the mains entry point. All components in the primary transformer circuit, includ- ing a separate mains fuse and separate mains filtering components, must be placed in the switched section of the primary circuit. Placing them before the on/off switch will leave them at a haz- ardous voltage level when the equip- ment is switched off. If the equipment uses an open-con- struction power supply which is not separately protected by an earthed metal screen or insulated enclosure or otherwise guarded, all the conductive parts of the enclosure must be protec- tively earthed using green/yellow wire (green with a narrow yellow stripe - do not use yellow wire with a green stripe). The earth wire must not be daisy- chained from one part of the enclosure to another. Each conductive part must be protectively earthed by direct and separate wiring to the primary earth point which should be as close as pos- sible to the mains connector or mains cable entry. This ensures that removal of the protective earth from a conduc- tive part does not also remove the pro- tective earth from other conductive parts. Pay particular attention to the metal spindles of switches and potentiome- ters: if touchable, these must be protec- tively earthed. Note, however, that such components fitted with metal spindles and/or levers constructed to the rele- vant British Standard fully meet all insu- lation requirements. The temperature of touchable parts must not be so high as to cause injury or to create a fire risk. Most risks can be eliminated by the use of correct fuses, a sufficiently firm construction, correct choice and use of insulating materials and adequate cool- ing through heat sinks and by extractor fans. The equipment must be sturdy: repeatedly dropping it on to a hard sur- face from a height of 50 mm must not cause damage. Greater impacts must not loosen the mains transformer, elec- trolytic capacitors and other important components. Do not use dubious or flammable materials that emit poisonous gases. Shorten screws that come too close to other components. Keep mains-carrying parts and wires well away from ventilation holes, so that an intruding screwdriver or inward falling metal object cannot touch such parts. As soon as you open an equipment, there are many potential dangers. Most of these can be eliminated by discon- necting the equipment from the mains before the unit is opened. But, since testing requires that it is plugged in again, it is good practice (and safe) to fit a residual current device (RCD)*, rated at not more than 30 mA to the mains system (sometimes it is possible to fit this inside the mains outlet box or multiple socket). * Sometimes called residual current breaker - RCB - or residual circuit cur- rent breaker -RCCB. These guidelines have been drawn up with great care by the editorial staff of this magazine. However, the publishers do not assume, and hereby disclaim, any liability for any loss or damage, direct or consequential, caused by errors or omissions in these guidelines, whether such errors or omissions result from negligence, accident or any other cause. 3-core mains cable to BS6500 1990 with three stranded conductors in thick PVC sheath Max current 3 A 6 A 13 A conductor size 16/0.2 mm 24/0.2 mm 40/0.2 mm Norn cond area 0.5 mm 2 0.75 mm 2 1.25 mm 2 overall cable dia. 5.6 mm 6.9 mm 7.5 mm Insulated hook-up wire to DEF61-12 Max current 1.4 A 3 A 6 A Max working voltage 1000 V rms 1000 V rms 1000 V rms PVC sheath thickness 0.3 mm 0.3 mm 0.45 mm conductor size 7/0.2 mm 16/0.2 mm 24/0.2 mm Norn cond area 0.22 mm 2 0.5 mm 2 0.95 mm 2 overall wire dia 1.2 mm 1.6 mm 2.05 mm 3-flat-pin mains plug to BS 1363A 3/2006 - elektor electronics 61 HANDS-ON EAVESDROPPING Galvanic isolation is a special feature of this telephone amplifier, which includes a line output connection for a hi-fi system. From an idea by Markus Muller Although in some countries, including the UK and Germany, analogue tele- phone connections are something of a dying breed, most residential cus- tomers use analogue apparatus, even in cases where the underlying connec- tion is over ISDN. There is little reason to change: first, ISDN telephones are rather expensive, and second, ISDN connection starter packs generally include an a/b adap- tor which allows the connection of old analogue telephones to the ISDN sys- tem. What a lot of analogue tele- phones lack, and which most modern ISDN devices provide, is a loud- speaker. The experienced Elektor Electronics reader will have no difficulty in adding a loudspeaker. Several designs for telephone amplifiers have appeared previously in Elektor Elec- tronics, but there has never been a circuit to which we cannot make some improvements or add new and interesting features. High Voltage The amplifier described here has the special feature, not shared by any of its predecessors, of a line output. This means that it can be connected to an ordinary hi-fi system. This requires, as a glance at the circuit diagram in Fig- ure 1 will show, complete galvanic iso- lation between the telephone network and the mains. Now we shall look at the parts of the circuit in turn. The amplifier has two RJ45 telephone- style sockets connected in parallel at its input, to simplify adding the circuit into an existing cabling arrangement. An analogue telephone connection works essentially as shown in Fig- ure 2. In the quiescent state the exchange provides a DC voltage of nominally 60 V between the a-wire and the b-wire. The actual voltage level varies significantly with the dis- tance from the exchange and can be as low as 40 V or as high as 80 V. To ring the telephone to signal an incoming call, the exchange superimposes an AC voltage of up to 75 V on the DC level. The peak value of the ringing voltage can thus be over 120 V. Despite the low current available, this is dan- gerous: not just to humans, but also, in particular, to connected electronic devices. When the receiver is lifted, a current of between 10 mA and 30 mA flows and the DC voltage falls to around 12 V. The analogue voice signal is superimposed on this voltage. Private telephone exchange systems and a/b adaptors can work at much lower DC voltages (often 24 V) because the distance to the telephone itself is much shorter. Amplification and filtering Of course, the telephone amplifier must be designed to work at any of these voltages. It is the noble duty of input capacitor C2 to isolate these DC levels from opamp IC1 (an LF356). A high-voltage type is essential, and the component recommended in the parts list can easily cope with 400 V. Next we must ensure that the AC component is also reduced to a level 62 elektor electronics - 3/2006 an advanced amplifier with line output safe for the input to IC1: this is achieved using two Schottky diodes, D1 and D2, which limit the incoming voltage to between -0.3 V and 15.3 V. The current which flows is limited to a safe value for the diodes (and for the exchange) by R3. The reduced AC voltage (whether it be a ring signal or a voice signal) is taken to the inverting input of inverting amplifier IC1 via R4. Since the useful signal can vary considerably in level, the gain of the amplifier can be adjusted between 0 and 2 (which is slightly lower than might be expected, on account of C2 and C4) using potentiometer PI. At the same time, a DC voltage of 6.8 V is applied to the non-inverting input of the amplifier by volt- age divider R1/R2. This voltage can be measured for test purposes at the output of the opamp. This voltage, which is a little less than half the supply voltage, is used at another point in the circuit where it is not allowed to exceed 7 V. The output swing of the opamp is such that this small asym- metry does not matter. Since the telephone voice signal is not exactly high-quality audio, we can take some liberties with it in the interests of reducing the effects of interference and noise. The input capacitor, along with R3 and R4, forms a high-pass filter with a cut- off frequency of 100 Hz, while C3 and R3 form a low-pass filter with a corner frequency of about 17 kHz. And last but not least, C4 also attenuates higher frequencies above about 10 kHz (or at least those which the opamp is capable of amplifying). Galvanic isolation To protect the output stages and any electronics that may be connected to them, two type 6N138 linear optocouplers are used to provide galvanic isolation up to 2.5 kV. Since the performance of the optocouplers is not very dependable (in that their characteristics vary considerably from one device to the next), we use the rather elegant combination of two 6N138s shown to achieve repeatable opera- Figure 1. The telephone and audio parts of the circuit are kept strictly separate. 3/2006 - elektor electronics 63 HANDS-ON EAVESDROPPING Figure 2. AC and DC voltages on an analogue telephone line. Measured characteristics Characteristic curve A shows the frequency response of the telephone amplifier. The measurement was made at the line output, and thus corresponds to the values for the loudspeaker output. The upper fre- quency range is shown for the two extreme settings of PI, and the effect of capacitor C4 is clearly visible. The -3 dB frequency of 9.9 kHz (at -20 dB) falls to 6.8 kHz when PI is set to maximum. At the low-frequency end the effect of the loudspeaker is significant. With the loudspeaker connected the corner frequency is 1 40 Hz, whereas without the loudspeaker it is 1 00 Hz. Since the output impedance of the TDA7052 amplifier effectively attenuates the out- put signal by about 1 dB, we have artificially superimposed the curves so that they may be compared more easily. Here are some of the characteristics as measured on the prototype: d B r +3 -0 -3 -6 -9 -12 -15 -18 -21 -24 -27 -30 -33 -36 -39 -42 Line output (LSI not connected) With LSI (8 Q) connected Sensitivity Maximum output level Maximum bandwidth Minimum bandwidth Minimum THD+N THD+N Signal-to-noise ratio Signal-to-noise ratio Full drive, 1 V line level 60 mV THD+N = 1 % 1.6 V 100 Hz to 9.9 kHz 140 Hz to 6.8 kHz B = 22 Hz to 22 kHz 0.26 % B = 22 Hz to 22 kHz, LSI = 8 a 1 % 250 mV in, 1 V out, B = 22 Hz to 22 kHz 55 dB 250 mV in, 1 V out 57 dBA P max (THD+N = 1 %) Voice signal 750 mW Minimum THD+N B = 22 Hz to 22 kHz 0.6 % Signal-to-noise ratio at 500 mW, B = 22 Hz to 22 kHz 55 dB Signal-to-noise ratio at 500 mW 57 dB Quiescent current consumption 72 mA Current consumption at P max 0.3 A Current consumption when overdriven maximum 0.4 A Minimum supply voltage 9 V 64 elektor electronics - 3/2006 tion. The optocouplers have a Darling- ton pair at the output and are con- nected so that the current flowing through the output of IC2 is coupled back via IC3 to the input of IC2. Although this arrangement is slightly noisy, the circuit has adequate band- width and the gains in terms of linear- ity and low distortion more than com- pensate. The current though IC2 is translated into a voltage for the following output amplifier by R8. C9 removes the DC component of the signal on R8, and also forms a second high-pass filter with a relatively low corner frequency of approximately 40 Hz. This makes the overall frequency response of the amplifier fairly flat. C8 also reduces interference from the power supply, a point which we shall return to later. As we stated earlier, the gain of the input stage of the circuit is approxi- mately 2. The attenuation in the opto- coupler is approximately 4.7, and so the overall gain up to the volume con- trol potentiometer P2 is around 0.4. This attenuation is not a problem since the gain of IC4 (in bridge mode) is 39 dB. The optimum voltage at the out- put of the optocouplers, in terms of minimising THD+N, is around 100 mV. At this voltage distortion (the second harmonic is below -53 dB) is compara- ble with the signal-to-noise ratio of -55 dB. At maximum volume (P2 at maximum), IC4 is overdriven. Output amplifier The familiar Philips TDA7052 is used as an output device in this telephone amplifier. This 1-watt bridge-mode amplifier has a low quiescent current and is thus suitable for battery opera- tion. It is powered from the same sup- ply as optocoupler IC2. Bridge-mode amplifiers have the advantage, when used with a single (asymmetrical) sup- ply, that they can be connected to the loudspeaker without coupling capaci- tors; here, however, we go so far as to fit two such capacitors — and for a good reason! The electrolytic capacitors form a high- pass filter with a corner frequency of slightly less than 100 Hz, thus remov- ing the lowest frequencies. In theory the corner frequency when using an 8 Q loudspeaker is 85 Hz, but this value depends, of course, on the impedance of the loudspeaker. In prin- ciple a single electrolytic would work Figure 3. The printed circuit board for the telephone amplifier has two ground planes with a minimum separation of 6 mm between them. [ COMPONENTS LIST Resistors: R1 ,R3 = lOkD R2 = QkQ2 R4 = 1 00 kD R5,R6,R1 1 = lkft R7 = 220Q R8,R1 2 = 3kQ3 R9 = 2Q2 R10 = 2kQ2 PI = 250kD preset H P2 = 10kf2 logarithmic potentiometer, mono Capacitors: Cl = 2|jF2 63 radial C2 = 1 5nF 400V C3 = 1 nF 400V C4 = 68pF C5,C1 6,C1 8 = 1 OfjF 63V radial C6,C1 0,C1 5,C1 7 = lOOnF C7 = 220pF 16V radial (max. diameter 8mm) C8 = 1 nF ceramic (5mm lead pitch) C9 = 330nF Cl 1,012,013 = 470|jF 1 6V radial (max. diameter 8mm) Cl 4 = 3nF3 (5mm lead pitch) Semiconductors: D1 ,D2 = BAT85 D3 = LED, low current D4 = 1 N4002 IC1 = LF356 IC2,IC3 = 6N138 (Farnell # 325-831) IC4 = TDA7052 IC5 = NMV0512SA, C&D Technologies/Newport Components (Farnell # 589-822) IC6 = 7806 Miscellaneous: K1,K2 = RJ45 socket LSI = 8D / 1 W miniature loudspeaker Solder pins PCB, order code 030379-1 (see Readers Services page) 3/2006 - elektor electronics 65 HANDS-ON EAVESDROPPING Optocoupler tolerances Optocouplers have wide tolerances. If possible, use a type 6N138 with a current transfer ratio (CTR) of between 250 % and 450 %, as otherwise IC2 and IC3 may attenuate the signal too much. If the volt- age across R8 is a few tenths of a volt too low (a tolerance of 1 0 % is allowable), its value can be increased to raise the voltage, and vice versa. The circuit is so simple that if necessary other standard opto- couplers with a Darlington output, such as the IL300, can be used with a suitable adjustment to the resistor value. The CTR of IC2 is easy to calculate: CTR = (U R8 /R8) / (Ur^/R 6). Changing R8 naturally affects the gain of the circuit, although for reasonable adjustments this should not cause any problems. just as well, but here the required capacitance is obtained using two capacitors in order to prevent a DC level appearing on the line output, which is taken from one of the ampli- fier’s outputs. Because of this, the gain at the line output is only 33 dB. RIO ensures that the two electrolytics remain charged so that there is no ‘click’ when an external amplifier is connected to the line output. Rll makes the output short-circuit-proof, and C14 provides additional filtering to remove high-frequency interference. To prevent undesirable coupling through the power supply connections, the optocouplers and the amplifier are sep- arately smoothed (by R7 and C7, and R9, CIO and Cll respectively). Power supply There is little point in galvanically iso- lating the telephone line from the audio electronics if their power supplies are not also kept separate. To this end we use a NMV05125SA DC-DC converter which converts an input voltage of 6 V to an output voltage of 15 V while pro- viding galvanic isolation up to 3 kV. The input voltage is a little higher than the maximum value of 5.5 V specified in the data sheet, but is clearly within the ‘absolute maximum rating’ of 7 V. In practice, it works well, and thanks to the low load, the output voltage is slightly higher than the 14.4 V that one would expect with an input voltage of 6 V. The converter presents a rather aggressive load to the fixed voltage regulator, resulting in an output ripple voltage of 0.1 V pp . According to the manufacturer’s data, the converter switches at a frequency of approxi- mately 120 kHz. However, in our labora- tory prototype the frequency appeared to be a little higher: we measured the ripple frequency to be approximately 300 kHz. This does not affect the per- formance of the telephone amplifier, but it does simplify the measures we need to take in the circuit to suppress interference. The fixed voltage regulator is the com- mon-or-garden 7806, with its input pro- tected from reverse polarity connection by a diode. The regulator has a drop- out voltage of 3 V, and so the input voltage obtained from a mains adaptor must be at least 9 V. Of course, the telephone amplifier can also be pow- ered from a battery, although the cur- rent consumption is quite high. We measured a quiescent current con- sumption of 72 mA on the prototype (even using a low current LED for power indicator D3), with peak current up to 0.4 A (using an 8 Q loudspeaker); battery operation is thus only appropri- ate if the device is to be used occasion- ally. In any case, a PP3-style battery will not last long, and it would be bet- ter to use four AA cells with IC6 replaced by a wire link and D4 ideally replaced by a Schottky diode such as the 1N5822 (40 V, 3 A). At 0.4 A this Schottky diode drops only 0.3 V, con- siderably less than the 0.8 V drop of a 1N4002. Keep your distance The steps we have taken to achieve galvanic isolation are clear in the printed circuit board layout of Figure 3. As can be seen, the ground planes for the telephone and audio parts of the circuit are separated. Populating the board should present no difficulties. Do not forget the wire links (the circuit will work without them, but will be more susceptible to interference). Sockets should be used for the ampli- fiers but not for the optocouplers, so that the isolation voltage is not com- promised. The connection points for the external components (potentiometer, line socket, loudspeaker and power supply socket) lie around the edge of the board and should be fitted with termi- nal pins. The circuit can be built into an ordi- nary plastic enclosure, but a metallic screen (a piece of tin or unetched printed circuit board) should be fitted directly under the printed circuit board, taking care not to cause a short circuit. The screen should be connected to the metal enclosure of potentiometer P2 and to ground. P2 should be fitted as close as possible to its connection points on the board, and its connection wires twisted. For best audio results a small, good- quality loudspeaker should be used inside a large enclosure rather than in the electronics box, with the loud- speaker being located a few metres away from the telephone to prevent feedback. Alternatively, the line output can be connected to a hi-fi system. The circuit discussed in this article is not approved for connection to the public switched telephone network (PSTN) in the United Kingdom. ( 030379 - 1 ) 66 elektor electronics - 3/2006 Elektor Electronics (Publishing) Regus Brentford • 1000 Great West Road Brentford TW8 9HH • United Kingdom Telephone +44 (0) 208 261 4509 Fax +44 (0) 208 261 4447 Order now using the Order Form Email: sales@elektor-electronics.co.uk in the Readers Services section in this issue. Step into the fascinating world of microcontrollers Microcontroller Basics Burkhard Kainka Microcontrollers have become an indispensable part of modern electronics. They make things possible that vastly exceed what could be done previously. Innumerable applications show that almost nothing is impossible. There’s thus every reason to learn more about them, but that raises the question of where to find a good introduction to this fascinating technology. The answer is easy: this Microcontroller Basics book, combined with the 89S8252 Flash Board project published by Elektor Electronics. This book clearly explains the technology using various microcontroller circuits and programs written in several different programming languages. In the course of the book, the reader gradually develops increased competence in converting his or her ideas into microcontroller circuitry. ISBN 0-905705-67-X Flash Microcontroller Starter Kit Elektor Hardware & Software Step into the fascinating world of microcontrollers with the Elektor Electronics Flash Microcontroller Starter Kit. Order now the ready-assembled PCB incl. software, cable, adapter & related articles. Contents of Starter Kit: • 89S8252 Flash Microcontroller board (ready-assembled and tested PCB) • 300-mA mains adapter • Serial cable for COM port • Software bundle on CD-ROM • Article compilation on CD-ROM 230 Pages £18.70 / US$ 33.70 £69.00 /US$112.50 More information on www.elektor-electronics.co.uk KNOW-HOW MOTORS and their modern applications Dr. Thomas Scherer A linear motor is simply one which produces motion in a straight line rather than in a cir- cle. We give an overview of the technology and its applications, including examples of genuine' linear motors and related devices. Although space does not permit a full introduction to electromagnetic theory in this article, we should men- tion that there are linear drive systems where electricity is turned into motion in a straight line which we never- theless do not count as genuine linear motors'. These are so-called dynamic actuators which operate on a very simple principle using a magnet and a coil, and which have long been used in various applications. A good example of this type of drive is the classical dynamic loudspeaker. Figure 1 is a diagram of its construction. Its operation is simple and well known: a coil in a magnetic field experiences a force propor- tional to the current flowing in it. Apart from applica- tions in sound production, this principle has been in use for almost 20 years in the positioning mechanisms for read/write heads in hard disk drives. Once capacities exceeded 40 Mbyte and track widths shrank, a more precise head drive mechanism was required than the rotary stepper motor design like that used in floppy disk drives. Under control of specially-designed position sen- sors, the 'voice coil' mechanism, as it is known, achieves previously unattainable tracking precision and, thanks to the high force available, fast seek times. In machine tools actuators are starting to be used for simple and short linear motions, replacing pneumatic systems. In these, the roles of coil and magnet are reversed: the coil is fixed and the magnet or piece of metal moves. In contrast to pseudo-linear actuators, where the linear motion is derived from the rotation of a conventional electric motor using a rack and pinion or a belt drive, these solutions have the advantage of being smaller and simpler. Further advantages include less wear and tear, high power and consequent ease of use and reliability. Since 68 elektor electronics - 3/2006 pseudo-linear motors are cheap to produce and can act over greater distances, they will still have their applica- tions in machine tools. Genuine linear motors A genuine linear motor differs from its rotary cousins sim- ply in that the stator (the outer cage within which the rotor turns) is flattened out. The rotor then becomes an object which moves along the stator rails or which encloses the one-dimensional stator. Since the translatory motion in a particular direction is produced without the use of rack and pinion mechanisms or the like, this kind of drive is often simply referred to as 'direct drive'. Therein lies the chief advantage: with many fewer mov- ing parts there is much less wear and tear and practically no play in the mechanism. This all leads to very high reli- ability. It is interesting to note that the principle has been known for over 150 years, although industrial use has only been widespread for the last 30 years or so. This is because the great position sensing precision required for machine tools, in the micrometre range, has only recently become achievable using specially-designed semiconduc- tor sensors and high-speed electronic motor controllers. The enormous power available (accelerations of 20 g and more can realistically be achieved in practice) make linear motors a good choice more generally, where rota- tional motion is not needed. In theory all the principles employed in rotary electric motors, including stepper motors and three-phase machines, can be applied to linear motors. And, depend- ing on the application, these motors can be bought off- the-shelf in a range of power output levels, maximum dis- placements and physical constructions. This includes vari- ants with stationary or moving windings, with permanent magnets or electromagnets, and exotic designs for spe- cial applications. Rail guns and catapults Few technological advances escape application to destructive ends, and linear electromagnetic drives are no exception. Figure 2 shows a schematic diagram of a gun-like device which, because of its construction, is known as a 'rail gun'. A conductive projectile slides between two copper rails and experiences acceleration when a current flows. During the second world war Ger- many tried (without success) to construct weapons using this very straightforward principle. Fortunately such weapons are not widely used even today, because of the extremely high currents (thousands or millions of Amps) involved and the great forces that the components of the weapon must withstand. Using a electromagnetically-propelled projectile as a large-scale catapult is an area of military research. In principle, a catapult would be an ideal way of launching a high-speed aircraft using a scramjet engine. Scramjet engines only start to operate when a relatively high mini- mum speed is exceeded, rather more than the speed of sound. Experiments to date using working prototypes use a supplementary rocket engine, or the prototype is piggy- backed on a conventional military aircraft and taken to a great height: it is then allowed to fall until it reaches the required speed for the engine to start. With scramjets capable of a speed of up to Mach 1 5, it is technically reasonable to use a catapult to accelerate them up to sev- eral times the speed of sound and start them. It is at least iiroci rnurjnel Figure 1. Principle of the dynamic loudspeaker. This type of drive is used in actuators in industrial applications. magnetic field curreni flow Ff[?jfiorile Ldf&fii lores magnei;c fi^Jd Figure 2. The 'drive' in a rail gun is very simple. Two current-carrying rails and a conducting projectile are all that is required. Figure 3. The linear motor in a catapult. Propulsion and guidance coils allow a metal saddle to be accelerated and keep it on its track. (Source: Schwandt Infographics) theoretically possible to achieve this using high-powered linear motors (Figure 3). NASA has already produced a number of small-scale working research models, spon- sored by the military. The system is still, however, science fiction, since the forces cannot be properly controlled, it is extremely expensive and humans are not capable of surviving the necessary accelerations unharmed if the cat- apult track is short (less than 10 km in length). Practical applications of linear motors to the transport of human beings are taking a different course. The Transrapid Relatively high speed trains can be constructed using con- ventional rotary motors and wheels on rails: the Japanese Shinkansen bullet trains, the German ICE and the French TGV can reach speeds of over 300 km/h. At higher speeds special track must be laid and wear and tear from friction become significant. An experimental version of the TGV in 1 990 reached an incredible 5 1 5.3 km/h, 3/2006 - elektor electronics 69 KNOW-HOW MOTORS Figure 4. Propulsion and guidance system of the Transrapid train in cut- away view. (Source: Siemens AG) although at these speeds the overhead wires and pan- tographs required maintenance after just this one journey. Magnetic levitation railways experience no wear and tear due to friction and it is natural to propel a magneti- cally-levitated train using a linear motor. Practical ver- sions of this idea are the Japanese JR-Maglev and the German Transrapid. Decades of research have gone into both systems. The Transrapid has been in regular opera- tion in Shanghai for almost two years and has already transported over a million passengers over its 30 km route at some 430 km/h. Both systems are designed for practical use at around 500 km/h and in principle could be run even faster. Consideration is being given to installing a stretch of Transrapid track in the Netherlands (see http://www.magneetzweefbaan.nl/ magneetzweef- baan/Default.asp?p=l 7); in Germany there is still only a prototype track at Emsland in Lower Saxony. Levitation technology In the Transrapid design levitation and propulsion are combined. Figure 4 shows a cross-section of the track and levitation/propulsion system of the train. On the left and right of the track there are metal plates upon which the guidance electromagnets act. The electromagnets Figure 5. Under the covers of the propulsion and guidance system of the Transrapid train. (Source: Siemens AG) responsible for lifting the train act on the laminations which form the flat stator built into the underside of the track on the left and on the right. The air-gap, electroni- cally controlled from within the train itself, is just 10 mm. The windings responsible for propulsion are incorporated into the laminations, made of an isolated aluminium cable with a cross-sectional area of some 300 mm 2 . The whole thing functions in the same way as a three-phase synchronous motor laid flat. A travelling magnetic field is induced in the windings in the track. If there is a current in the lifting magnets, they, and hence the train, are lifted up. Since the train envelops the track, it is practically impossible for it to become derailed. Figure 5 shows a view of the actual construction with the covers removed. Each train or carriage is independently levitated and pro- pelled by the track. There is thus no separate locomotive to pull or push the train. The speed of the train is directly related to the frequency of the alternating currents sup- plied to the windings, reaching 300 Hz for a speed of approximately 550 km/h in the case of the Transrapid. It is worth asking how the 1 0 mm air gap can be main- tained at these speeds. The gap is inductively measured thousands of times per second by each segment of the train and the currents in the guidance and levitation elec- tromagnets correspondingly regulated. Taking into account the mass of the carriage a practical control fre- quency is around 30 Hz. To levitate one segment of the train and guide it around a curve of track requires an electrical power of between 55 kW and 1 1 0 kW, depending on load. The necessary energy comes from a suitably-dimensioned battery which is capable of main- taining levitation for approximately one hour if power is lost. If the battery becomes discharged the train lowers itself onto runners. The battery is inductively charged from harmonics of the magnetic propulsion field when the train is travelling at over 100 km/h. A train composed of three segments requires a drive power of up to 45 MV A at a speed of 500 km/h. So that the whole track is not always powered, it is divided into many short sections selectively driven by inverters placed along the track. The inverters are constructed using power semiconductors such as GTO (gate turn-off) thyris- tors and IGBTs (insulated gate bipolar transistors) operat- ing at voltages of over 4000 kV and currents of over 1 kA each. The inverter stations control both frequency and voltage and receive commands from a central con- trol station for the track. The Transrapid therefore does not require a driver on the train. The modern traveller will naturally be concerned as to whether his laptop will operate correctly or whether the data on the magnetic stripe on his credit-card will survive in the neighbourhood of such high-energy magnetic fields. Since the air gap is relatively small at 1 0 mm the stray magnetic fields are kept to a minimum and the field inside the passenger compartments is comparable in magnitude to the natural magnetic field of the earth. Things are rather different in the case of the Japanese JR- Maglev system where the train rides on a repelling mag- netic field. This demands a greater air gap in the region of 1 0 cm, creating stray fields up to a thousand times greater than those of the Transrapid. Of course, we have not been able to cover all the details of the systems here. More in-depth information can be found by searching the Internet using keywords such as linear motor', 'rail gun', 'scramjet', 'transrapid' and 'maglev'. Wikipedia also has a considerable amount of useful information. ( 050374 - 1 ) 70 elektor electronics - 3/2006 B mfLtlli E-blocks Easy Internet Kit Connect your blocks to the internet E-blocks are small self-contained electronic E-blocks Easy CAN Kit A complex system made transparent The CAN bus is a resilient, high data rate bus for communicating between electronic devices in situations where high data reliability is required. One use of the CAN bus is in the automotive circuits and printed circuit boards that can * * . be combined to create functioning electronic /W _ L- . ~ jS applications and systems. With the E-blocks In- ternet board you can connect your own system to the Internet. This module is perfect to quickly addasimplewebpagetoyourembedded system. Thisthen permits (measu- rement) data to be inspected remotely. Applications include reading out a weather station, switching lighting systems and monitoring and controlling machines! The application area is truly spectacular! industry where it is being used as a substitute for copper wiring looms in cars. The E-blocks Easy CAN Kit allows you to employ this professional bus system in your own applications. Implementing CAN is a complex task in languages like C, but doing so with Flowcode and E-blocks is actually very simple. As a special offer to encourage you to investigate CAN we are making available an E-blocks Easy CAN kit at 30% discount. An offer you CAN’t resist! E-blocks Easy Internet Kit: Flowcode Professional £118.00 E-blocks LED board £ 14.65 E-blocks LCD board £ 19.30 E-blocks USB Multiprogrammer £ 77.30 E-blocks switch board £ 14.65 E-blocks internet board £ 71.95 PIC16F877 £ 10.50 Ethernet ‘crossover’ cable £ 5.30 Total value: £331.65 Special Offer: \ 30 % L / d\sco«°y> £ 232.50 E-blocks Easy CAN Kit: Flowcode Professional £118.00 E-blocks LED board £ 14.65 2 x E-blocks LCD board £ 38.60 2 x E-block USB Multiprogrammer £154.60 E-blocks Switch board £ 14.65 2 x E-blocks CAN board £ 67.00 2 x PIC16F877 £ 21.00 Total value: V £428.50 \ Special Offer: / \ 30 °/° L d\sc° u ”>> Ordering Use the order form at the back or go to www.elektor-electronics.co.uk E-blocks will be shipped after receipt of payment. Prices are exclusive of postage. Learn more about E-blocks? For more information, visit www.elektor-electronics.co.uk/eblocks HANDS-ON DESIGN TIPS Energy recovery +U B (±> RE1 D1 ED X S ? NAL Ri ✓TV 1 < 2 > 050310-11 Peter Lay Energy is becoming more and more expensive, and so we are always on the lookout for ways to save energy in circuits. The author has decided to look at how to recovery energy from a relay switching circuit. If a relay is driven by a transistor switching stage it is usual to con- nect a flywheel diode in parallel with the coil to short out the back EMF produced when the relay 2 +u B RE1 [±] ® 050310-12 +u B current is switched off (Fig- ure 1). If an LED is wired in series with the flywheel diode (Figure 2) it will flash every time there is an inductive spike with the transistor turns off. The dura- tion and brightness of the flash (and indeed, whether the spike is large enough to destroy the LED!) depend on the rate of change of the current in the relay coil and its inductance: Uj = -L di / dt So far we have not actually recov- ered any energy. Figure 3 shows a theoretical design where the energy stored in the relay coil is recovered so that it can be used to supply a (low-power) cir- cuit. The greater the inductance of the coil and the more fre- quently it is switched, the more energy is stored in capacitor C. The zener diode (in series with the flywheel diode) limits the max- imum voltage to which the capac- itor can be charged. Measured relative to ground the open-circuit voltage at point A is the sum of the capacitor voltage due to the recovered energy and the supply voltage. In particular, the voltage at point A is higher than the sup- ply voltage. The author would be interested in discussing these ideas further with readers. His e-mail address is info@peterlay.de. ( 050310 - 1 ) FBI siren with flashing light Arthur Schilp This ultra-simple circuit will pro- duce the familiar sound of sirens used by US police cars on emer- gency calls. A small lamp will also flash synchronously with the siren sound. The circuit is capa- ble of powering loads greater than 1 A for one or more lamps or a powerful loudspeaker, the kit producing quite a bit of noise and light. The circuit is built from two astable multivibrators, in this case the familiar 555 of which two are present in an NE556 case. Of course, you are free to use two 555s if that suits you better. Both timer ICs are configured to oper- ate as astable multivibrators. The first timer is configured with R 1 , R2 and C2 to supply a rec- tangular signal of about 2 Hz at pin 9. The lamp is switched on and off by way of power transis- tor T1 . The second 555 is configured using R4, R5 and C5, and supplies a square wave at pin 5 that drives the loudspeaker. The toggling voltage at the output of the first timer (pin 9) causes electrolytic capacitor C3 to be partly charged and dis- charged, periodi- cally, via resistor R3. C3 is connected to the control input of the second timer (pin 3), causing it to work as a VCO (voltage controlled amplifier). The upshot is that the fre- quency of the square wave applied to the loud- speaker rises and falls periodi- cally, rendering a good imitation of the wailing sound of the US police car siren (we hear too often in movies). The small number of dead-stan- dard components used enables this circuit to be built on Ver- oboard without problems. ( 050349 - 1 ) 72 elektor electronics - 3/2006 Energy saver for relays Klemens Viernickel When dealing with relays we dis- tinguish between the pull-in volt- age and the hold voltage. Depending on the type of device, the latter is from about 1 0 % to 50 % lower than the former. This means that once we have safely pulled in the relay armature we can drop the coil voltage to its hold value, thus reducing the power dissipated. The simple cir- cuit shown here does just that: it consists of a parallel combination of an LED, an electrolytic capaci- tor and a resistor, together placed in series with the relay coil. As well as saving energy by reduc- ing the operating current of the relay and increasing its operating life the circuit also has the advan- tage of providing a status indica- tor in the form of the LED. The author has used this circuit with practically all types of relay, with various rated currents and voltages. The recommended com- ponent values are as follows: • The electrolytic capacitor should have a value between 100 |jF and 1000 |jF with a working voltage of 6.3 V, depending on the rated current of the relay coil. • The resistor value should be between 1 0 Q and 1 k£2 so that in the active state a current of 20 mA flows through the LED. • A standard green or yellow LED with a rated forward current of 20 mA should be used. When using relays with a very low coil current low-current LEDs may be substituted. Add a zener diode in series for higher coil voltages such as 24 V or 48 V. ( 050201 - 1 ) Opamp with increased output current Klemens Viernickel Integrated opamps offer advan- tages such as ease of use, good price-performance ratio and small physical size. However, they seldom have an output cur- rent drive capability of greater than about 12 mA, and so they are not suitable for use in 20 mA current loop applications, for example. One solution is to add a driver stage with the necessary output power, comprising per- haps two to four transistors and a number of other components. This design takes up board space and is relatively expen- sive, tending to offset the advan- tages of the integrated device. An alternative possibility is to boost the output drive capability by connecting opamps in paral- lel. The output current will then be approximately proportional to the number of opamps. Instead of a single opamp a dual or quad device is used to achieve greater output power. The idea is shown in Figure 1 . The output of the first opamp is con- nected to the input of a further non- inverting opamp stage as well as being connected to the output of the circuit via a resistor. The first opamp thus drives the second non-inverting amplifier which provides all the out- put current of the circuit as long as that remains within its normal capa- bility. As the output current demand increases the second opamp will reach the limit of its drive capabil- ity. Its gain will then fall off and a voltage difference will develop across its inputs. The first opamp will then start to deliver more and more current to the output via the resistor, and the sum of the output currents of the two opamps thus flows through load resistor R[. By adding another resistor we can compare the current contributions from the two opamps (Figure 2). The complete circuit with two opamps is shown in Figure 3. The principle of the circuit can be extended to more opamps with their output currents being added together (see Figure 4). ( 050201 - 2 ) 3/2006 - elektor electronics 73 INFO & MARKET E-CAD DVD Larry Kossek CAD Software for electronics Schematics, PCB Design, Simulation We recently featured a readership survey on our website to invite feedback on the DVD which accompanied the November issue of Elektor Electronics. This free DVD was a new departure for us and we were very grateful for both the posi- tive and negative comments which landed on our (virtual) doormat... Enthalt Info- bzw. Lehrprogramme Elektor lektuur © 2005 Segment B.V. In November 2005 we included a free DVD with a collection of programs for circuit capture and PCB development/layout along with our magazine. We were keen to gauge your opinion so a readership survey appeared for a few weeks on our website at www.elektor-electronics.co.uk. On the positive side without additional expense. The relative merits of the different programs can be more easily judged to deter- mine which is more suitable". The selection of programs was also well received "The DVD provided me with a good selection of the software available without the need for lengthy downloads over the Internet (not much fun for a 15 MB program with any- thing less than broadband]" . Students on the whole gave an enthusiastic response and even some lecturers commented that "the DVD contained some tools which we could incorporate on some of our courses at College and University". The inclusion of KiCAD was appreciated; it has many fol- lowers and can run in either a Windows or Linux environ- ment. Apple users were also surprised to find something for them on the disk: " Excellent , there's even a Mac pro- gram on there!" Comments ranging from " Excellent initiative, many thanks" to "Thanks very much , I'm a new user , very inter- esting" indicated that many of you thought the DVD was a good idea. Appreciative readers also responded: "This compilation has saved me many hours of work" or "Now I have a complete collection of the programs on one disk" Although duly announced on our website and in the October 2005 issue, the DVD give-away came as a com- plete surprise to many readers. The disk was praised for containing "a good cross section of the tools available". Several readers commented that they had bought the November issue just for the DVD: "The DVD alone was worth the cost of the magazine. It has allowed me to make a practical comparison of the available software Whether the opportunity to compare many different pro- grams actually led to users switching to a different pro- gram package is uncertain. Many comments were along the lines of: "Interesting and informative but I will con- tinue to use the program that I am familiar with. Using other programs only causes a lot of confusion. I am sure that better software is available but I prefer to stick with what I know". One reader mentioned that he had tried out an idea for a front panel design using Frontdesigner from Abacom and liked the result so much that he went ahead and purchased the program immediately after using it for the first time. 74 elektor electronics - 3/2006 Eagle No Responses SPIan & SPrintLayout Target 3001! OrCAD Proteus KiCAD Layo PCB Design Suite Table 1 The Eagle has landed Of all the software on the DVD Eagle was, on average voted the most popular across all four language web- sites. The UK response shows an anomalous preference for KiCAD but this was probably due to enthusiastic KiCAD fans having teamed up to push the survey results in a certain direction. The overall results are collected together in Table 1 . What is not shown on the table is the interest expressed by our readers in so many different programs. Here we can ascertain that around 60 % of the UK read- ership indicated that their favourite program was for pri- vate use. It was also noted that the software used at home was not always the same software as that used at work. When choosing a program the software costs were con- sidered to be an important factor but not as influential as the opinions of colleagues and friends who were familiar with the software. The simplicity of the user interface is also an important factor; the faster you can begin getting results with a program the more you tend to like it. The majority of respondents were satisfied or more than satisfied with the programs they were using. Some 1 0 to 1 8 % thought that there was probably a better solution that they had not yet found. These readers were particu- larly grateful for the free DVD in the November issue. Suggestions and comments It was clear from the start that we wouldn't be able to pro- vide a copy of every available layout program on our DVD. Many of you suggested Altium - Protel, Auto- TRAX EDA, DipTrace, DouglasCAD, Express PCB, PADS, SupermaxEGAD, TINA simulator and Vir- tual Breadboard etc. As reported in Mailbox, a number of CAD software manufacturers simply declined our offer to have a demo or trial version of their product included in the DVD. One reader would have liked a copy of Scooter while another would have appreciated comments about the 100-euro version of BAE. Circuit simulation software was not included on the DVD but an overview of the topic may be the subject of a future DVD... Other respondents commented that they were not aware of the existence of some of the programs and were grate- ful for a chance to try them out. One parent suggested that it may have been useful to include some simple PCB layout tools that could be used by, say, a 1 2 year old. This excellent suggestion has niLj flnucnn n - jfl&c- U 5P.JU1 A r.P'm waul QTfl'Uffl KMr ■OtGAD nrwv.niK HHCAC □ L» yn TCB nrw-i.y. s.vtA Figure 1. Program popularity amongst the four European Elektor Electronics websites. 0% 50% 100 % □ Hobby ■ Pro □ Mo resp Figure 2. User profile 3/2006 - elektor electronics 75 INFO & MARKET E-CAD DVD been noted and will no doubt be considered when we next get the opportunity to make similar offers. A KiCAD enthusiast has suggested that we run a tutorial series on this software, good idea, any volunteers out there willing to take this on? Some programs received critical remarks, the latest offer- ing from Protel for example attracted a number of nega- tive comments while another reader observed that: "Boordmaker Win is far too expensive for private use!!” It came as no surprise that the most popular programs attracted praise (e.g. EASY PC), and especially SPlan and Sprint Layout were often mentioned. "SprintLoyout fulfils my requirements more precisely than any of the other programs ". One reader suggested that a future DVD might feature PC-based test equipment and circuit simulation software. Another reader thought a DVD containing programming tools and program development environments would be useful. These suggestions have been noted and may be incorporated in future DVDs. Some readers commented that most of the programs are demo versions so it is difficult to make a meaningful com- parison between the software especially if you are not aware of the price of the full software package: "it would not be fair to compare a 200 pound program with a 10,000 pound without taking into account the price of the software. " We would beg to disagree on this point and suggest that program comparisons are more likely to be 'objective' if the cost of the software is not considered. However we take on board that it may have been useful to include a table indicating price / demo / freeware information. You can't please everyone... Negative reactions were also registered, some readers complained that the DVD was missing from their issue and these have hopefully been supplied free of charge from the publishers by now. Some readers reported that they could not run the DVD. Many of the problems turned out to be "user induced" ranging from surprise when their CD-ROM drive was unable to run the DVD (I must admit I fell into this trap when I tried to run the DVD at home on my ancient lap- top) to "/ can't see anything on the TV when I plug the disk into my DVD player” a mistake which can probably be attributed to the effect on the brain of too much party- ing in the run up to Christmas. Disks damaged in transit were quite rare and have been replaced. Some of the more extreme reactions included comments that the DVD was "completely unnecessary " or "totally useless ". Other comments judged the disk contents to be "meagre”. One problem that we cannot be held responsible for is a symptom of the well known "Windows disease". It is pos- sibly one of the most frustrating features of some Win- dows programs that after trialling software and subse- quent de-installation, traces of the original program can still be found on the computer and are notoriously difficult to remove. This is however not the case for all programs, some are more well behaved than others. A number of you would have liked to see a more detailed article accompanying the disk: "It was disap- pointing that the comparisons were sketchy and inade- quate, but nevertheless it was a splendid effort regardless " Another commented: "many of the programs require a large investment of time and the limited nature of the demo software means that it was not worth the time and effort." Reading between the lines it seemed that many respondents were looking for advice on the best system to purchase, but such recommenda- tions were not what we intended and are anyway almost impossible to make for this type of software. Many had hoped for fuller versions of the software but we can only pass on the version which is supplied to us. It will only take one publisher to release a freeware ver- sion with more features for the others to follow suit to maintain market share. A tale of woe Quote: "/ have been using the program Capture and Layout for a number of years and from day one I have been looking forward to the next software release that would surely improve the program. Unfortunately it has not been such a simple proce- dure; Features that were good in the previous ver- sion of the software have been omitted in the latest version. Known bugs were fixed but it seemed like just as many new bugs were introduced! Multiple ' undo's' are implemented in Capture 10.0 but only work for a few, less important commands. In Lay- out, like previous versions there is only one or no step forward or back. This problem was identified in a review of the program in Elektor Electronics many years ago. This has been my experience with a CAD program made in the USA." Who would have thought that PCB layout could be such a headache? Taking into account the positive and negative comments it seems that on the whole the disk was received favourably. We have gained much from this experience and once again would like to thank all those who participated. ( 050323 - 1 ) 76 elektor electronics - 3/2006 RETRONICS INFOTAINMENT Elektor Plotters ( 1 988- 1991) Jan Buiting This story starts in May 1988 with the publication of an article with the delightfully simple and technically correct title 'Plotter (part 1 )". The design was based on a mechanical drawing and an accompanying letter sent to us by one J. Arkema from the Netherlands. This was at a time that plotters were noisy, slow and expensive PC adjuncts only seen in the cellars of professional engi- neering bureaus running Auto- CAD or similar programs. Of course, the electronics hobbyist had different things in mind to do with a plotter, if only he could get his hands on one: drawing schematics and 'printing' PCB artwork! Unfortunately, to this day a working high-end plotter, particularly one of Hewlett Packard, is a fairly rare find. The proposed plotter, then, was a simple X-Y type, with the Y move- ment carried out by a platen mov- ing the paper sheet (up to A2 size!), and the X motion handled by a pen carriage covering a span of about 50 cm along a guide bar. The May 1 988 article came with a set of mechanical drawings of the (mostly alu- minium) parts to cut, mill, drill and file before you could even start dreaming of assembling the plot- ter. These drawings were pro- duced manually on an ordinary drawing stand. It turned out a quite unusual job for our drawing staff, and it took several versions before a 'blueprint' was pro- duced that could be read by someone accustomed to working with a lathe. Mind you, no plotter was available, let alone a pro- gram or a PC. Unfortunately, despite the efforts that went into producing the drawings, a poor balance was struck between the mechanical construction (wrapped up in about two pages) and the elec- tronics we all understood so much better. Although a mechan- ical parts list was printed and an artist's impression of the assem- bled plotter, we were inundated with questions like 'how to assemble the thing' and where to obtain Skiffy parts, Binder mag- nets, Berger stepper motors and Rotring pen refills. Fortunately, one of our advertisers, Meek-it from The Hague, Holland, stepped in and offered a kit of parts to build the plotter. After al the hubbub around the mechanical construction, silence reigned when we published part 2 of the article in June 1 988. In it, we duly described the algo- rithms that (we assumed) would enable talented readers to write their own drivers to control the plotter from a PC. A wrong assumption, as virtually no response was received and for quite some time it seemed that no one had the fuzziest notion of what we meant by octants, step- per motor look-up tables and MC3479 control bytes, let alone Bresenham's algorithm. The silence was broken in March 1 990 when we were finally able to publish "Plotter Mark 2", dis- cussing a few mechanical improvement to the original design but more importantly a 'partly HPGL compatible' driver for PCs! The program from B. Lewetz was called Mondriaan after the Dutch artist (1877- 1944). Although it supported just six basic commands from the much larger HPGL set, the pro- gram effectively made the project come alive after a two year wait. Reader response was overwhelm- ing as the missing link between hardware and software had been catered for at long last. The famous 'Columbia' and 'nozzle' drawings were supplied with the program, along with a few pen calibration and plotter test files. Market leading programs like Autocad and Autosketch at the time employed only six HPGL commands so the Elektor plotter did just fine on the Centronics port. In the UK, Cliff Gregory optimised the mechanical design of the Elektor plotter and started to supply 'Plotter Mk3' kits com- prising ball bearings and stainless steel parts. Finally, in September 1991 we published another plotter driver, this time written in Turbo Pascal and supporting 17 HPGL com- mands. Supplied on a 360 kB 5.25 inch floppy disk (and later on 3.5 inch), it turned out to be huge sales success. ( 065015 - 1 ) Retronics is a monthly column covering vintage electronics including legendary Elektor designs. Contributions, suggestions and requests are welcomed; please send an email to editor@elektor-electronics.co.uk, subject: Retronics EE. 3/2006 - elektor electronics 77 SPI BOX Next Issue: the fast link to a microcontroller! Select your own annual subscription and receive a free 1 W Luxeon LED Torchlight* Available options: • Elektor Electronics annual subscription (standard) You receive 11 issues, including the July/August double issue. • Elektor Electronics annual subscription-PLUS You receive 11 issues, including the July/August double issue, plus a copy of the Elektor Electronics Volume 2006 CD-ROM (normal price £16.25). Your saving: approx. £10.00! lektor Please fill out the Order Form with this issue. Subscription rates and conditions may be found at the back of this issue. Ight from electronics aac This Issue: FREE BOOKLET Short Course C for Microcontrollers * Offer available to Subscribers who have not held a subscription to Elektor Electronics during the last 12 months. Offer subject to availability. PUZZLE INFOTAINMENT Hexadoku Puzzle with an electronic touch Here is the third Hexadoku puzzle, the brain teaser for electronics fans and their family members. Solve the puzzle and win one of the fantastic prizes! The instructions for the puzzle are straightforward. In the diagram composed of 1 6_1 6 boxes, enter numbers in such a way that all hexadecimal numbers 0 through F (that's 0- 9 and A-F) occur once in every row, once in every col- umn, and in every one of the 4_4 boxes (marked by the thicker black lines). A number of clues are given in the puz- zle and these determine the start situation. Your solution may win a prize and requires only the num- bers in the grey boxes to be sent to us (see below). The puzzle is also available as a free download from our website (Magazine — » 2006 — > March). ( 065043 - 1 ) Prize winners The solution of the January 2006 Hexadoku is: EA639. The E-blocks Starter Kit Professional goes to: Ian Mowatt (Chester). Entering the competition Please send the numbers in the grey boxes by email, fax or post to Elektor Electronics Hexadoku Regus Brentford 1 000 Great West Road Brentford TW8 9HH United Kingdom. Fax (+44) (0)208 2614447 Email: editor@elektor-electronics.co.uk Subject: hexadoku 03-2006. The closing date is 27 March 2006. Competition not open to employees of Segment b.v., its business partners and/or associated publishing houses. An Elektor SHOP Voucher worth £35.00 goes to: M. Devereux (Stock- ton on Tees); Paul Ackerman (Broughton Ashley); Colin Wilkinson (Wareham). D 1 A C 9 4 2 B 8 F 7 5 3 8 0 7 6 2 4 7 6 C A 0 3 2 4 9 D 6 0 2 2 8 F 4 9 D E 7 A 6 3 7 B F A D 2 6 9 4 1 4 2 7 8 0 F A 5 D 7 1 4 D C B 0 9 0 B 5 F 1 4 B 2 5 E 1 6 8 9 C 4 2 8 E 5 B A 9 4 0 2 1 7 D A F 6 5 8 7 8 6 9 A 0 F B E A 0 5 9 6 C Solve Hexadoku and win! Correct solutions qualify for an E-blocks Starter Kit Professional worth £248.55 and three Elektor Electronics Shop Vouchers worth £35 each. We believe these prizes should encourage all our readers to participate! 3/2006 - elektor electronics 79 ELEKTOR SHOWCASE To book your showcase space contact Huson International Media Tel. (0) 1 932 564999 Fax 0044 (0) 1 932 564998 ALLGOOD TECHNOLOGY www.allgoodtechnology.com Low-medium volume sub-contract assembly. SMT specialist since 1990. Customers include military, aerospace etc. 0402 to BGA capabilities, automatic assembly and hand built prototypes. ATC SEMITEC LTD www.atcsemitec.co.uk Thermal and current-sensitive components for temperature control and circuit protection; • NTC Thermistors • Current Diodes • Thermostats • Re-settable Fuses • Thermal Fuses • Temperature Sensors Call today for free samples and pricing Tel: 0870 901 0777 Fax: 0870 901 0888 DESIGN GATEWAY www.design-gateway.com PalmLogic II .... US$ 399.00 • Compact Logic Analyzer (L1 1 6mm x W73.3mm x T3mm) • High sampling rate (400 MHz/ 8ch, 200 MHz/1 6ch, 100 MHz/32ch) • USB 2.0 high speed mode • 8MB memory storage L * • Bus Analyzer function • Multiple waveform windows • Waveform save/restore DESIGN GATEWAY www.design-gateway.com True PCI Starter Kit .... US$135.00 • PCI Development Kit • Based on 200,000 gates FPGA • Extension connectors for 72 pin I/O • Configuration support for JTAG and slave serial • Free PCI Core for Target Mode TRUE pet DESIGN GATEWAY www.design-gateway.com Ethernet 10 .... US$115.00 • 8 bits embedded network microcontroller • 6 channels available for 10 bits ADC • Ethernet 1 0 BASE T 1 0 Mb &tt • UART port RS232/RS485, Max Speed atl 1 5200bps • 35 bits general purpose I/O • 500 bytes user area flash memory DESIGN GATEWAY www.design-gateway.com VariClock... US$163.00 • Adjustable clock signal synthesizer • 3 rotary switches for frequency setting • Standard DIP pin arrangement • Support both 3V/5V by on-board regulator VC250M14P Frequency range : 25-400 MHz Frequency setting : 1 MHz step VC100M14P Frequency range : 25-100 MHz Frequency setting : 1 00 kHz step for 25- 50 MHz : 200 kHz step for more than 50 MHz £ = AVIT RESEARCH www.avitresearch.co.uk USB has never been so simple... with our USB to Microcontroller Interface cable. Appears just like a serial port to both PC and Microcontroller, for really easy USB connection to your projects, or replacement of existing RS232 interfaces. See our webpage for more details. Only £29.99 inc vat. BETA LAYOUT www.pcb-pool.com Beta layout Ltd Award- winning site in both English and German offers prototype PCBs at a fraction of the cost of the usual manufacturer’s prices. BURN TECHNOLOGY LTD http ://www. b u rntec . co m Test & Measurement Equipment Distributors • Anemometers • Clamp Meters • Light Meters • LCR Meters • Sound Meters • Multimeters • Device Programmers Burn Technology Limited, Winfrith Technology Centre, Dorchester, Dorset, DT2 8DH Tel: (01305) 852090 Fax: (01929) 463214 COMPUCUT http://www.compucutters.com Computer Numerical Control from your home PC. Great for tricky jobs, and accurate repetitive work. We supply: - Software - Interface - Manual - Support Price £250 plus postage. COMPULOGIC LTD www.compulogic.co.uk Internet Remote Control Starter Kit £139.99 Create a simple web based remote c interface for many applications • Miniature Web Server Module • Analogue/Digital Module •PSU • Manuals, software, example HTML CONFORD ELECTRONICS http://www.confordelec.co.uk Lightweight portable battery/mains audio units offering the highest technical performance. Microphone, Phantom Power and Headphone Amplifiers. Balanced/unbalanced signal lines with extensive RFI protection. DANBURY ELECTRONICS http://www.DanburyElectronics.co.uk Transformer manufacturers since 1 983. Visit our new site! Also link directly to Mike Holme’s Valve/- Tube DIY amplifier site, featuring our standard Audio Transformers (Mains, Output, Chokes, PP, SE, etc). EAGLEPICS http://www.eaglepics.co.uk Embedded Internet Solutions • Stand alone TCP/IP module • Platform independent • Simple "AT-like" command • GPRS or modem connection • E-Mail, FTP, HTTP, UDP • Development board available • Free development utilities • Free UDP-only stack EASYSYNC http://www.easysync.co.uk EasySync Ltd sells a wide range of single and multi- port USB to RS232/RS422 and RS485 converters at competitive prices. ELNEC www.elnec.com • device programmer manufacturer • selling through contracted distributors all over the world • universal and dedicated device programmers • excellent support and after sale support • free SW updates • reliable HW • once a months new SW release • three years warranty for most programmers FUTURE TECHNOLOGY DEVICES http://www.ftdichip.com FTDI designs and sells USB-UART and USB-FIFO interface i.c.’s. Complete with PC drivers, these devices simplify the task of designing or upgrading peripherals to USB FUTURLEC http://www.futurlec.com Save up to 60% on • Electronic Components • Microcontrollers, PIC, Atmel • Development Boards, Programmers Huge range of products available on-line for immediate delivery, at very competitive prices. IPEVA LIMITED http://www.ipeva.com IPEVA sell low cost USB FPGA development boards. IPEVA provide Design Consultancy for Embedded Systems, OpenCores-IP, FPGA, ASIC, HDL translation and migration. Tel. 0870 080 2340. 80 elektor electronics - 3/2006 products and services directory JLB ELECTRONICS www.jlbelectronics.com Suppliers of electrical / electronic parts and consumables. Including: • Cable ties / bases • Tools / hardware • Bootlace ferrules • Connectors • Solvent sprays & cleaners • PVC Tape • Heat Sink compound KMK TECHNOLOGIES Ltd. http://www.kmk.com.hk Low Cost DIY Robotic Kits and Computer Controller Boards. LONDON ELECTRONICS COLLEGE http://www.lec.org.uk Vocational training and education for national qualifications in Electronics Engineering and Information Technology (BTEC First National, Higher National NVQs, GCSEs and Advanced Qualifications). Also Technical Management and Languages. MQP ELECTRONICS http://www.mqpelectronics.co.uk Leaders in Device Programming Solutions. • Online shop • Low Cost Adapters for all Programmers • Single Site and Gang Programmers • Support for virtually any Programmable Device NEW WAVE CONCEPTS www.new-wave-concepts.com Software for hobbyists: • Livewire circuit simulation software, only £34.99 • PCB Wizard circuit design software, only £34.99 Available from all Maplin Electronics stores and www.maplin.co.uk. OLD COLONY SOUND LAB www.audioXpress.com Premier source for DIY audio for 35 years! New catalog features: • Books •CDs •Test & Measurement • Kits Full range of products and magazines for the DIY audio enthusiast! PCB WORLD http://www.pcbworld.org.uk World-class site: Your magazine project or prototype PCB from the artwork of your choice for less. Call Lee on 07946 846159 for details. Prompt service. ULTRALEDS iUJ traJ eefe*** http://www.ultraleds.co.u!^^^ tel: 0871 7110413 Large range of low cost Ultra bright leds and Led related lighting products. Major credit cards taken online with same day depatch. 1 SHOWCASE YOUR COMPANY HERE Elektor Electronics has a feature to help customers promote their business, Showcase - a permanent feature of the magazine where you will be able to showcase your products and services. • For just £220 + VAT (£20 per issue for eleven issues) Elektor will publish your company name, website adress and a 30-word description • For £330 + VAT for the year (£30 per issue for eleven issues) we will publish the above plus run a 3cm deep full colour image - e.g. a product shot, a screen shot from your site, a company logo - your choice Places are limited and spaces will go on a strictly first come, first served basis. So please fax back your order today! I wish to promote my company, please book my space: • Text insertion only for £220 + VAT • Text and photo for £330 + VAT NAME: ORGANISATION: JOB TITLE: ADDRESS: .TEL: PLEASE COMPLETE COUPON BELOW AND FAX BACK TO 00-44-(0)1932 564998 COMPANY NAME WEB ADDRESS 30- WORD DESCRIPTION QUASAR ELECTRONICS www.QuasarElectronics.com Over 300 electronic kits, projects and ready built units for hobby, education and industrial applications including PIC/ATMEL programming solutions. Online ordering facilities. Tel: +44 (0) 870 246 1826 Fax: +44 (0) 870 460 1 045 Email: sales@QuasarElectronics.com QUASAR ttlaelrtiftici ROBOT ELECTRONICS http://www.robot-electronics.c o.uk • Ultrasonic rangefinders • Motor H-Bridge controllers • Magnetic Compasses • RC servos and controllers • PIC programmers and components • Electronic Design/Development and Manufacturer to industry SK PANG ELECTRONICS http://www.skpang.co.uk • ELM OBDII 1C • VAG-COM Interface • OBDII connector and cable • Modtronix Micro X board • Embedded Ethernet Controller • PIC Microcontroller, CAN Bus driver Major credit cards taken online. SYTRONIC TECHNOLOGY LTD www.m2mtelemetry.com Supplier of wireless modules and accessories for remote monitoring M2M applications. •GSM/GPRS TCP/IP modules • Embedded GSM/GPRS modem • Development Kits • GPS modules ± . • GSM/GPS antennas 1 • Adapter cables Online ordering facilities. Tel (01 394) 210911 USB INSTRUMENTS http://www.usb-instruments.com USB Instruments specialises in PC based instrumentation products and software such as Oscilloscopes, Data Loggers, Logic Analaysers which interface to your PC via USB. VIRTINS TECHNOLOGY www.virtins.com PC and Pocket PC based virtual instrument for electronics enthusiasts, students, professionals and scientists, including sound card real time oscilloscope, spectrum analyzer, and signal generator. Free to download and try. ELECTRONIC ENTHUSIASTS Only one magazine tests its projects and circuits in its own lab before publication ELEKTOR ELECTRONICS THE ELECTRONICS & COMPUTER MAGAZINE Contact: Worldwide Subscription Service Ltd, Unit 4 Gibbs Reed Farm, Pashley Road, Ticehurst TIMS 7HE Telephone: 01580 200657 Fax: 01580 200616 www.elektor-electronics.co.uk 3/2006 - elektor electronics 81 lektor Order o www.elektor-el Order now using the Order Form in the Readers Services section in this issue. CD-ROM ECD Edition 3 Elektor’s Components Database gives you easy access to design data for over 5,000 ICs, more than 35,000 transistors, FETs, thyristors and triacs, just under 25,000 diodes and 1 ,800 optocouplers. All databank applications are fully interactive, allowing the user to add, edit and complete component data. £14.95 (US$ 26.50) Audio Collection 2 A unique CD-ROM for the true audio lover, containing no fewer than 75 audio designs from the past five year volumes of Elektor Electronics magazine. The articles on the CD-ROM cover test & measurement equipment, amplifiers, digital audio and loudspeaker technology. Highlights include the Crescendo Millennium Edition, Audio-DAC 2000, Audio-ADC 2000 and the I R-S/PDIF Transmitter and Receiver. Using the included Acrobat Reader you are able to browse the articles on your computer, as well as print texts, circuit diagrams and PCB layouts. £12.05 (US$ 21.25) Robotics A large collection of data- sheets, software tools, tips, tricks and Internet links to assorted robot constructions and general technical infor- mation. All aspects of modern robotics are covered, from sensors to motors, mechanical parts to microcontrollers, not forgetting matching programming tools and libraries for signal processing. £12.05 (US$ 21.25) More information on www.elektor-electronics.co.uk Faultfinding in Computers and Digital Circuits This book covers faultfinding not just in micro- processor systems, microcontrollers and indus- trial PCs, but also in consumer items such as personal computers, multimedia devices, digital television and so on. The knowledge and techni- cal skills needed to put such equipment into service, and to maintain it in good working order, go beyond the level of simple self-help tips and basic measurements. The object of this book is to help the reader to acquire this knowledge and understanding. Dictionary of Monitor Technology The Dictionary of Monitor Technology is a pioneering book of unsurpassed range which clearly documents all aspects of the develop- ment of computer monitors. The subjects covered extend from the first 12-inch IBM monitor to today’s high-tech units. This book is a mine of practical information and is required reading for all computer users with an interest in technology, successful hardware sales staff and repair engineers. fbiflffijfdfria rri Compurert and ■ ift U I f E \ Signal ISBN 0-905705-60-2 625 pages £31.15 (US$ 63.00) iliT' > rMPf 9 w * Tto+EJifiPS* a ISBN 0-905705-64-5 265 pages £25.95 (US$ 52.00) BESTSELLING BOOKS Top-5 Microcontroller Basics ISBN 0-905705-67-X £18.70 (US$ 33.70) PC-1 nterf aces under Windows ISBN 0-905705-65-3 £25.95 (US$ 22.90) Modern High-end Valve Amplifiers ISBN 0-905705-63-7 £25.95 (US$ 52.00) 308 Circuits ISBN 0-905705-66-1 £18.20 (US$ 37.00) Dictionary of Monitor Technolgy ISBN 0-905705-64-5 £25.95 (US$ 52.00) More information on www.elektor-electronics.co.uk nline at ectronics.co.uk Due to practical constraints, final illustrations and specifications may differ from published designs. Prices subject to change. See www.elektor-electronics.co.uk for up to date information. R8C/1 3 Application Board for (March 2006) Extends R8C/13 micro module with 2 x serial I/O. USB, LCD, LEDs, analogue I/P, PSU and, reset and MODE control. Ready built PCB 050179-92 £ 48.27 / $ 90.94 LCD with backlight 030451-72 £7.25/$ 13.65 Poly-LED display 030451-73 £ 25.50 / $ 48.05 Elektor Electronics (Publishing) Regus Brentford 1000 Great West Road Brentford TW8 9HH United Kingdom Tel.: +44 (0) 208 261 4509 Fax: +44 (0) 208 261 4447 Email: sales@elektor-electronics.co.uk Kits & Modules Versatile FPGA Module (March 2006) Ready-assembled FPGA module with Altera Cyclone FPGA; including programming interface, programming cables and connectors. 040477-91 Subscribers: Non-subscribers: £ 1 71 .80 / $ 323.50 £ 206.30 / $ 388.50 (incl. all 8 Elektor course issues) A 16-bit Tom Thumb (February 2006) R8C Starter Kit com- prising CD-ROM and R8C/13 microcon- troller board with SIL mm pinheaders supplied separately. 050179-91 £8.30/$ 15.60 OBD-2 Analyser (July/August 2005) Kit of parts including PCB, programmed controller, compo- nents (including IC7 ; IC3 = PCA82C250, 12 V), enclosure and RS232 cable. OBD cable not included. 050092-71 £52 .50/ $96.95 OBD cable 050092-72 £27.55/ $51 .95 Further products from Elektor Electronics: READY-BUILT PROJECTS £ $ ClariTy 300-W Class-T Amplifier 030217-91 Amplifier board with SMDs pre-fitted; cores for LI & L2 34-50 55.70 Flash Microcontroller Starter Kit 010208-91 ready-assembled PCB incl. software, cable, adapter & related articles 69-00 112.50 Gameboy Digital Sampling Oscilloscope (GBDSO) 990082-91 ready-assembled board, incl. the PC software and related articles 103-00 183.00 Micro Webserver with MSC1210 Board 030060-91 Microprocessor Board, ready-assembled 044026-91 Network Extension Board, ready-assembled 044026-92 Combined package (030060-91 & 044026-91 & related articles) LPC210x ARMee Development System 040444-91 Processor board, ready-made and tested 75-90 44-50 117-50 25-50 142.95 83.95 220.95 48.05 NO. 352 MARCH 2006 Application Board for R8C/13 050179-92 Ready-assembled board 48-27 90.94 050179-1 PCB 13-77 25.94 030451-72 LCD with backlight 7.25 13.65 030451-73 Poly-LED display 25.50 48.05 FPGA-Protoyping board 050370-91 Ready aseembled board Telephone Eavesdropper 030379-1 PCB 9.05 17.05 NO. 350 JANUARY 2006 95-watt Laptop PSU Adaptor 050029-1 PCB 4-80 9.05 Automatic Attic Window Controller 0501 39-1 1 Disk, PIC source & hex code 5-20 9.75 050139-41 PIC16F84A-20I/P, programmed 13-10 24.65 030451-72 LCD Modue 2x16 characters 7-25 13.65 030451-73 PLED Module 2x16 characters 25-50 48.05 SMD Reflow Soldering Oven 05031 9-1 1 Disk, source and hex code 5-20 9.75 050319-41 AT89C52/24JI, programmed 7-60 14.25 030451-72 LCD Modue 2x16 characters 7-25 13.65 030451-73 PLED Module 2x16 characters 25-50 48.05 Timer Switch for Washing Machine 050058-1 PCB 8-90 16.70 050058-1 1 Disk, PIC source & hex code 5-20 9.75 050058-41 PIC16F84, programmed 13-10 24.65 NO. 349 DECEMBER 2005 From A to D via USB 050222-1 PCB 7-95 14.95 050222-41 IOW24-P, programmed 9-40 17.75 Telephone Supervisor 050039-41 PIC1 6F628-20/P, programmed 8-20 15.55 050039-81 CD-ROM, PIC hex & source codes, LCM First Server 6-90 12.95 NO. 348 NOVEMBER 2005 Versatile FPGA Module 040477-91 Ready aseembled plug-on module For subscribers 171.80 323.50 Remote Control by Mobile Phone 040415-1 PCB 04041 5-1 1 Disk, PIC source & hex files 6-20 5-20 11.65 9.75 INFO & MARKET SNEAK PREVIEW SPI Box Many of today's microcontrollers and associated peripheral ICs sport a Ser- ial Peripheral Interface (SPI) connection for programming and control pur- poses. The SPI is a relatively simple add-on and requires little hardware to drive from a PC. Usually, an RS232 port is 'misused' for the purpose but admittedly that's fraught with a few disadvantages. The programmer we've in mind goes round these problems while also ensuring short pro- gramming times even if a USB/serial adapter is being used for lack of an RS232 port on the PC or laptop. Theme Plan for 2006 January Recycling / Reverse Engineering February Motors / Propulsion March Development/ Microcontrollers April Power Supplies / Safety May Soldering / Etching June Satellites July/ August . . . .Summer Circuits September Esoterics / Test & Measurement October e-Simulation November Chipcards / Protection December Electromechanical / Enclosures The Electronic Laundry Microcontrollers are applied in massive numbers in all sorts of consumer-market electrical equipment. Large manufacturers spend lots of timer and money on hardware and software development for a specific product. Eventually, units have to be mass-pro- duced by the millions so design errors and bugs are out of the question. We paid a visit to of washing machine giant Miele for a peek in their hard- and software development department. Mains Adapters Undressed Switch-mode versions of the trusty mains adapter (or 'battery eliminator') are increasingly seen with mobile equipment like PDAs, phones and MP3 players. The Also... newer versions no longer have bulky, energy wasting mains transformers and lin- Electric Fence; AA Cell Characteriser; ear regulators. We took a few of these newcomers apart to examine their construc- FPGA Applications (1 ); E-blocks; tion and operation. The experience so gained is put into practice by the home con- Hexadoku Puzzle. struction of a DC-DC converter. RESERVE YOUR COPY NOW! The April 2006 issue goes on sale on Thursday 16 March 2006 (UK distribution only). UK subscribers will receive tbe magazine a few days before this date. Article titles and magazine contents subject to change. NEWSAGENTS ORDER FORM SHOP SAVE / HOME DELIVERY Please save / deliver one copy of Elektor Electronics magazine for me each month Name: Address: Post code: Telephone: Date: Signature: lektor lectronics lea-ding the w a y Please cut out or photocopy this form, com- plete details and hand to your newsagent. Elektor Electronics is published on the third Friday of each month, except in July. Distribution S.O.R. by Seymour (NS). www.elektor-electronics.co.uk www.elektor-electronics.co.uk www.elektor-electronics Elektor Electronics aa the web All magazine articles back to volume 2000 are available online in pdf format. The article summary and parts list (if applicable) can be instantly viewed to help you positively identify an article. Article related items are also shown, including software downloads, cir- cuit boards, programmed ICs and corrections and updates if applicable. Complete magazine issues may also be downloaded. In the Elektor Electronics Shop you'll find all other products sold by the pub- lishers, like CD-ROMs, kits and books. A powerful search function allows you to search for items and references across the entire website. Also on the Elektor Electronics website: • Electronics news and Elektor announcements • Readers Forum, • PCB, software and e-magazine downloads • Surveys and polls • FAQ, Author Guidelines and Contact ijmrnt -h K+- — »— n JUIMB fe ■ hkltrn H 5 84 elektor electronics - 3/2006 Please supply the following. For PCBs, front panel foils, EPROMs, PALs, GALs, microcontrollers and diskettes, state the part number and description; for books, state the full title; for photocopies of articles, state full name of article and month and year of publication. PLEASE USE BLOCK CAPITALS. Description Price each Qty. Total Order Code CD-ROM CD-ROM Elektor 2005 i [TJ323 [ £ 16.25 CD-ROM Home Automation 1 [333 [ £ 12.95 CD-ROM ECD Edition 3 Microcontroller Basics Flash Microcontroller Starter Kit E-blocks Starter Kit basic E-blocks Starter Kit professional E-blocks Easy Internet Kit E-blocks Easy CAN Kit £ 14.95 £ 18.70 £ 69.00 £ 96.00 £ 166.00 £ 232.50 £ 299.00 METHOD OF PAYMENT (see reverse before ticking as appropriate) □ □ □ □ Bank transfer Cheque (UK-resident customers ONLY) Giro transfer Expiry date: Verification code: SWITCH ONLY: Start date: Prices and item descriptions subject to change. The publishers reserve the right to change prices without prior notification. Prices and item descriptions shown here supersede those in previous issues. E. & O.E. Sub-total P&P Total paid Name Address + Post code Issue number: Please send this order form to * (see reverse for conditions) Elektor Electronics (Publishing) Regus Brentford 1000 Great West Road Brentford TW8 9HH United Kingdom Tel.: (+44) (0) 208 261 4509 Fax: (+44) (0) 208 261 4447 Internet: www.elektor-electronics.co.uk sales@elektor-electronics.co.uk Tel. Email Date - - 2006 Signature EL03 Yes, I am taking out an annual subscription to elektor electronics and receive a free 1 W Luxeon LED Torchlight. I would like: Standard Subscription (11 issues) Subscription-Plus (11 issues plus the Elektor Volume 2006 CD-ROM) * Offer available to Subscribers who have not held a subscription to Elektor Electronics during the last 12 months. Offer subject to availability. See reverse for rates and conditions. Name Address + Post code Tel. Email -Q CO Date * cross out what is not applicable EL03 - 2006 Signature *USA and Canada residents may (but are not obliged to) use $ prices, and send the order form to: Old Colony Sound Lab P.O. Box 876, Peterborough NH 03458-0876. Tel. (603) 924-6371, 924-6526, Fax: (603) 924-9467 Email: custserv@audioXpress.com METHOD OF PAYMENT (see reverse before ticking as appropriate) Bank transfer Cheque (UK-resident customers ONLY) Giro transfer Expiry date: Verification code: SWITCH ONLY: Start date: Issue number: .... Please send this order form to Elektor Electronics (Publishing) Regus Brentford 1000 Great West Road Brentford TW8 9HH United Kingdom Tel.: (+44) (0) 208 261 4509 Fax: (+44) (0) 208 261 4447 Internet: www.elektor-electronics.co.uk subscriptions@elektor-electronics.co.uk ORDERING INSTRUCTIONS, P&P CHARGES Except in the USA and Canada, all orders, except for subscriptions (for which see below), must be sent BY POST or FAX to our Brentford address using the Order Form overleaf. On-line ordering: http://www.elektor-electronics.co.uk Readers in the USA and Canada may (but are not obliged to) send orders, except for subscriptions (for which see below), to the USA address given on the order form. Please apply to Old Colony Sound for applicable P&P charges. Please allow 4-6 weeks for delivery. Orders placed on our Brentford office must include P&P charges (Priority or Standard) as follows: UK: £4.00 Europe: £5.00 (Standard) or £7.00 (Priority) Outside Europe: £8.00 (Standard) or £12.00 (Priority) HOWTO PAY All orders must be accompanied by the full payment, including postage and packing charges as stated above or advised by Customer Services staff. Bank transfer into account no. 40209520 held by Elektor Electronics (Publishing) / Segment b.v. with ABN-AMRO Bank, London. IBAN: GB35 ABNA 4050 3040 2095 20. BIC: ABNAGB2L. Currency: sterling (UKP). Please ensure your full name and address gets communicated to us. Cheque sent by post, made payable to Elektor Electronics (Publishing) / Segment b.v.. We can only accept sterling cheques and bank drafts from UK-resident customers or subscribers. We regret that no cheques can be accepted from customers or subscribers in any other country. Giro transfer into account no. 34-152-3801, held by Elektor Electronics (Publishing) / Segment b.v. Please do not send giro transfer/deposit forms directly to us, but instead use the National Giro postage paid envelope and send it to your National Giro Centre. Credit card VISA, Access, MasterCard, JCBCard and Switch cards can be processed by mail, email, web, fax and telephone. Online ordering through our website is SSL-protected for your security. COMPONENTS Components for projects appearing in Elektor Electronics are usually available from certain advertisers in this magazine. If difficulties in the supply of components are envisaged, a source will normally be advised in the article. Note, however, that the source(s) given is (are) not exclusive. TERMS OF BUSINESS Delivery Although every effort will be made to dispatch your order within 2-3 weeks from receipt of your instructions, we can not guarantee this time scale for all orders. Returns Faulty goods or goods sent in error may be returned for replacement or refund, but not before obtaining our consent. All goods returned should be packed securely in a padded bag or box, enclosing a covering letter stating the dispatch note number. If the goods are returned because of a mistake on our part, we will refund the return postage. Damaged goods Claims for damaged goods must be received at our Brentford office within 10-days (UK); 14-days (Europe) or 21 -days (all other countries). Cancelled orders All cancelled orders will be subject to a 10% handling charge with a minimum charge of £5-00. Patents Patent protection may exist in respect of circuits, devices, components, and so on, described in our books and magazines. Elektor Electronics (Publishing) does not accept responsibility or liability for failing to identify such patent or other protection. Copyright All drawings, photographs, articles, printed circuit boards, programmed integrated circuits, diskettes and software carriers published in our books and magazines (other than in third-party advertisements) are copyright and may not be reproduced or transmitted in any form or by any means, including photocopying and recording, in whole or in part, without the prior permission of Elektor Electronics (Publishing) in writing. Such written permission must also be obtained before any part of these publications is stored in a retrieval system of any nature. Notwithstanding the above, printed-circuit boards may be produced for private and personal use without prior permission. Limitation of liability Elektor Electronics (Publishing) shall not be liable in contract, tort, or otherwise, for any loss or damage suffered by the purchaser whatsoever or howsoever arising out of, or in connexion with, the supply of goods or services by Elektor Electronics (Publishing) other than to supply goods as described or, at the option of Elektor Electronics (Publishing), to refund the purchaser any money paid in respect of the goods. Law Any question relating to the supply of goods and services by Elektor Electronics (Publishing) shall be determined in all respects by the laws Of England. January 2006 SUBSCRIPTION RATES FOR ANNUAL SUBSCRIPTION Standard Plus United Kingdom £41 .90 £48.80 Surface Mail Rest of the World £54.50 £61.40 USA & Canada US$ 95.50 US$106.50 Airmail Rest of the World £68.90 £75.80 USA & Canada US$120.00 US$131.00 HOWTO PAY Bank transfer into account no. 40209520 held by Elektor Electronics (Publishing) / Segment b.v. with ABN-AMRO Bank, London. IBAN: GB35 ABNA 4050 3040 2095 20. BIC: ABNAGB2L. Currency: sterling (UKP). Please ensure your full name and address gets communicated to us. Cheque sent by post, made payable to Elektor Electronics (Publishing) / Segment b.v.. We can only accept sterling cheques and bank drafts from UK-resident customers or subscribers. We regret that no cheques can be accepted from customers or subscribers in any other country. Giro transfer into account no. 34-152-3801, held by Elektor Electronics (Publishing) / Segment b.v. Please do not send giro transfer/ deposit forms directly to us, but instead use the National Giro postage paid envelope and send it to your National Giro Centre. Credit card VISA, Access, MasterCard, JCBCard and Switch cards can be processed by mail, email, web, fax and telephone. Online ordering through our website is SSL-protected for your security. SUBSCRIPTION CONDITIONS The standard subscription order period is twelve months. If a perma- nent change of address during the subscription period means that copies have to be despatched by a more expensive service, no extra charge will be made. Conversely, no refund will be made, nor expiry date extended, if a change of address allows the use of a cheaper service. Student applications, which qualify for a 20% (twenty per cent) reduc- tion in current rates, must be supported by evidence of studentship signed by the head of the college, school or university faculty. A standard Student Subscription costs £33.50, a Student Subscription- Plus costs £40.40 (UK only). Please note that new subscriptions take about four weeks from receipt of order to become effective. Cancelled subscriptions will be subject to a charge of 25% (twenty- five per cent) of the full subscription price or £7.50, whichever is the higher, plus the cost of any issues already dispatched. Subsciptions cannot be cancelled after they have run for six months or more. January 2006 Of &&&{”&&$*} □ s ^ ( " nop " } j ae*( "flop") f Mmpnop") j ocd2 = Of preG “ Of pd 1 — OeOF j t-Dgglo_ladB( ) { while ( 1 } t pl a QeGO? r-T r eel ran ics /* Protect /■ tin Sou /* ICIH- / * if in d /■ Kaia cl /* OU6 ilHdi /* Hrtlti / * AEBSMCblO /" Ka io clock /* Proto cl on * /* Sat Port 1, ISBN 90-5381-159-1 £1 4.95 (US$ 26.50) Elektor’s Components Database gives you easy access to design data for over 5,000 ICs, more than 35,000 transistors, FETs, thyristors and triacs, just under 25,000 diodes and Elektor Electronics (Publishing) Regus Brentford 1 ,800 optocouplers. All databank applications are fully interactive, allowing 1000 Great West Road Brentford TW8 9HH United Kingdom the user to add, edit and Tel. +44 (0) 208 261 4509 complete component data. Fax +44 (0) 208 261 4447 More information on www.elektor-electronics.co.uk Contents Foreword Why C? 4 C Basics The structure of a C program 6 The main function 6 Comments in C 6 The #include directive 7 Keywords in C 7 Constants and Variables Number systems 8 Data types 8 Constants 9 Variables 9 Operators in C Arithmetic operators 1 1 Relational operators 11 Logical operators 1 1 Shortcuts 12 Functions in C The function concept 13 Declaring a function 13 Calling a function 14 Program Control If 16 if... else 16 switch 17 for 18 while 19 do. ..while 20 Appendix Header file sfr_r81 3. h 21 Header file math.h 23 elektor electronics 3 Foreword Why C? Many electronics hobbyists have used microcontrollers successfully, and they have also written wonderful programs in assembly language. As the size and complexity of an assembly-language program increase, the desire for a more effective programming environment also increases. Anyone who has tried to implement a mathematical function in assembly language, such as 1/x, sin(x) or the like, knows the problems. Here a high-level language such as C, which is the industry standard in the microcontroller and microprocessor world, offers decisive advantages. C programs are portable, which means the program structure can be transferred to other types of microcontrollers after it has been written. The only things that have to be modified are the port assignments and the settings for the special function registers. Professional programmers claim that an assembly-language program that would take 14 days to generate can be generated in 2 to 3 days in C. What’s more, an increasing number of semiconductor manufacturers are making highly effective development environments available at no charge. That’s another good reason to start using C. But there’s a hitch. As we all know, the gods have ordained that success doesn’t come without hard work. An introductory course in the C language and sample programs from technical magazines can help you overcome the initial hurdles, but will take a while before you can write you own programs. You will also have to master a certain amount of specialist vocabulary. As can be seen from contributions to microcontroller forums and questions asked in these forums, that forms a significant problem for many electronics hobbyists. This booklet is limited to the basic elements of the C language. We have intentionally omitted complex C structures such as pointers, arrays, strings, structures, unions and the like. This booklet is intended to serve as a reference for beginners. It cannot replace a basic course in C, nor is it intended to do so. 4 elektor electronics C Basics The structure of a C program All C programs consist of several parts, such as comments, preprocessor instructions, declarations, definitions, expressions, assignments and functions. The following listing shows a simple example. /* FILE :my1c.c */ /* DATE :Wed, Nov 23 2005 /* DESCRIPTION Program toggles leds on port_1 /* CPU TYPE :R8C 7 include "sfr r813.h" compiler directive long t; setup_r8c() { prcO = 1 ; cm13 = 1; cm15 = 1; cm05 = 0; cm16 = 0; cm17 = 0; cm06 = 0; asm("nop"); asm("nop"); asm("nop"); asm("nop"); ocd2 = 0; variable declaration function 1 /* Protect ox'C * / /* Xin Xout 7 /* XCIN-XCOUT drive capacity: HIGH 7 /* Xin on 7 /* Main clock = No Division mode 7 /* CM 16 and CM17 enable 7 /* Waiting for stable oscillation 7 /* Assembly-language code , . . assembly-language code pi = 0x0F; for (t=0; t<1 50000; t++); value asskmment void main main function { } setup_r8c(); toggle_leds(); elektor electronics 5 The main function Every C program must include at least one function, which is called the main function. This is the primary function in a C program, and it is always the first function to be called when the program is run. It’s considered good programming style to have the main routine consist primarily or entirely of function calls, instead of containing the entire code of the program. That makes the program a lot easier to understand and maintain, and it allows the programming effort to be divided among several programmers for large projects. The main function is declared in the same manner as any other function. void main(void) { /* Your program block j'' main() /* Your program markers 1 code goes here 7 l code goes here 7 } All instructions and functions belonging to main are enclosed in curly brackets {...}. This is called ‘block building’. In the above example, void means ‘empty’ and indicates that the main function does not require any input parameters and does not return any result after the instructions are executed. The two instances of the void keyword can also be omitted if desired. Comments in C All text strings and phrases that don’t form part of the actual program are called ‘comments’. Comments are ignored by the compiler, which means they do not occupy any space in memory. However, they are quite valuable for explaining the program (or important parts of the program) to other people. And of course, they’re very useful for the author of the program as well. In many cases, you may not remember why you wrote the code in a particular manner when you look at your program several days later. And no matter how appropriate the saying ‘lean is keen’ may be in other contexts, it certainly doesn’t apply to computer programs. /* // This is a single-line comment. Comments are enclosed between diagonal slashes and asterisks. 7 Single-line comments begin with two diagonal slashes and end automatically at the end of the line. A semicolon ( ; ) is usually used to designate a comment in assembly-language programming, but in the C language it marks the end of an instruction. 6 elektor electronics #include There are many declarations and functions that are not included in the ANSI standard for the C language, even though they may be necessary or very useful. They are commonly ‘hidden’ in libraries. You have to tell the compiler to include these library files, which are called ‘header files’, so it can use these declarations and functions when it compiles your C source code. You can recognise header files by the .h file extension. Examples: #include "stdio.h" Used in C programs intended to be run on a PC. [Standard input/output; includes the print function printf() .] include "sfr_r813.h" The Renesas library. The names and bits of the registers of the R8C microcontroller, such as pi , pdl , p1_7 etc., are defined here. Keywords in C A total of 32 terms known as ‘keywords’ are defined in the ANSI standard for the C language. These keywords are reserved for the compiler. All keywords must be written in lower-case characters, and they are not allowed to be used for other purposes (such as naming variables). auto double break else case enum char extern const float continue for default goto do if int struct long switch register typedef return union short unsigned signed void sizeof volatile static while Many C compilers add supplementary keywords to those defined in the ANSI specification in order to make best use of the features of the compiler or microcontroller. The terms listed below are also designated as keywords for the R8C family of microcontrollers. asm asm near far _Bool restrict near far inline elektor electronics 7 Constants and Variables Number systems The C language can work with several different number systems (number bases): decimal, octal, and hexadecimal. Numbers stated without any special identification (notation) are interpreted as decimal numbers by default. Numbers in all other number systems must be specially identified. Octal numbers begin with 0, hexadecimal numbers with Ox, and binary numbers with Ob. Base Notation Available characters Example Decimal(IO) - 0123456789 5 Octal(8) 0 ... 01234567 05 Hexadecimal(16) Ox... 01 23456789ABCDEF 0x5 Binary (2) Ob 0 1 Obi 11 10000 The English (US) convention is always used for numerical notation. That means a full stop (‘period’) is used as the decimal marker for floating-point numbers. In C, the comma is used in as a separator in lists of numbers or variables. A colon marks a range of numbers. Examples: 3 N 14159 3,4 3 and 4 0:3 0->3, thus 0, 1, 2, and 3 Data types In C, the type of a variable must be declared before it can be used. Otherwise the compiler will not know how much memory to allocate for the variable. Basically, you should always select a type that is adequate for the intended purpose and requires the least amount of memory space. The most important data types are listed below. Type Memory space Value range _Bool 8 0 , 1 char 8 0 -> +255 signed char 8 -128 -> +127 int, short 16 -32768 -> +32767 unsigned int 16 0 -> +65535 long 32 -2147483648 -> +2147483647 float 32 -1.17..e-38F-> +3.4..e-38F 8 elektor electronics Examples: _Bool stop_button // button has only two states: on & off unsigned int _year // 0 -> 65535 sufficient for year numbers float _volume // floating-point number for calculations Constants Constants are numbers that cannot be changed in the program. That also includes all ‘normal’ numbers. Whole numbers (integers, or int ) are written without a decimal marker (decimal point). Floating-point numbers (float ) have a decimal point followed by additional digits. Characters (char ) are enclosed between single quotation marks ( ' ). Constants are declared using the #define keyword. #define