Silicon ChipAudio DSP - March 2020 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Publisher's Letter
  5. Feature: The Fox Report
  6. Feature: Techno Talk by Mark Nelson
  7. Feature: Net Work by Alan Winstanley
  8. Project: Diode Curve Plotter by Tim Blythman
  9. Project: Audio DSP by Design by Phil Prosser, Words Nicholas Vinen
  10. Project: Steam Train Whistle ... or Diesel Horn by JOHN CLARKE
  11. Project: Galvanic Skin Response by Jim Rowe
  12. Feature: PIC n’ Mix by Mike Hibbett
  13. Feature: Circuit Surgery by Ian Bell
  14. Feature: AUDIO OUT
  15. Feature: Make it with Micromite by Phil Boyce
  16. Feature: Visual programming with XOD by Julian Edgar
  17. Feature: Max’s Cool Beans by Max the Magnificent
  18. Feature: Electronic Building Blocks by Julian Edgar
  19. PCB Order Form
  20. Advertising Index

This is only a preview of the March 2020 issue of Practical Electronics.

You can view 0 of the 80 pages in the full issue.

Articles in this series:
  • Techno Talk (February 2020)
  • Techno Talk (February 2020)
  • Techno Talk (March 2020)
  • Techno Talk (March 2020)
  • (April 2020)
  • (April 2020)
  • Techno Talk (May 2020)
  • Techno Talk (May 2020)
  • Techno Talk (June 2020)
  • Techno Talk (June 2020)
  • Techno Talk (July 2020)
  • Techno Talk (July 2020)
  • Techno Talk (August 2020)
  • Techno Talk (August 2020)
  • Techno Talk (September 2020)
  • Techno Talk (September 2020)
  • Techno Talk (October 2020)
  • Techno Talk (October 2020)
  • (November 2020)
  • (November 2020)
  • Techno Talk (December 2020)
  • Techno Talk (December 2020)
  • Techno Talk (January 2021)
  • Techno Talk (January 2021)
  • Techno Talk (February 2021)
  • Techno Talk (February 2021)
  • Techno Talk (March 2021)
  • Techno Talk (March 2021)
  • Techno Talk (April 2021)
  • Techno Talk (April 2021)
  • Techno Talk (May 2021)
  • Techno Talk (May 2021)
  • Techno Talk (June 2021)
  • Techno Talk (June 2021)
  • Techno Talk (July 2021)
  • Techno Talk (July 2021)
  • Techno Talk (August 2021)
  • Techno Talk (August 2021)
  • Techno Talk (September 2021)
  • Techno Talk (September 2021)
  • Techno Talk (October 2021)
  • Techno Talk (October 2021)
  • Techno Talk (November 2021)
  • Techno Talk (November 2021)
  • Techno Talk (December 2021)
  • Techno Talk (December 2021)
  • Communing with nature (January 2022)
  • Communing with nature (January 2022)
  • Should we be worried? (February 2022)
  • Should we be worried? (February 2022)
  • How resilient is your lifeline? (March 2022)
  • How resilient is your lifeline? (March 2022)
  • Go eco, get ethical! (April 2022)
  • Go eco, get ethical! (April 2022)
  • From nano to bio (May 2022)
  • From nano to bio (May 2022)
  • Positivity follows the gloom (June 2022)
  • Positivity follows the gloom (June 2022)
  • Mixed menu (July 2022)
  • Mixed menu (July 2022)
  • Time for a total rethink? (August 2022)
  • Time for a total rethink? (August 2022)
  • What’s in a name? (September 2022)
  • What’s in a name? (September 2022)
  • Forget leaves on the line! (October 2022)
  • Forget leaves on the line! (October 2022)
  • Giant Boost for Batteries (December 2022)
  • Giant Boost for Batteries (December 2022)
  • Raudive Voices Revisited (January 2023)
  • Raudive Voices Revisited (January 2023)
  • A thousand words (February 2023)
  • A thousand words (February 2023)
  • It’s handover time (March 2023)
  • It’s handover time (March 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • Prophecy can be perplexing (May 2023)
  • Prophecy can be perplexing (May 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • How long until we’re all out of work? (August 2023)
  • How long until we’re all out of work? (August 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • Holy Spheres, Batman! (October 2023)
  • Holy Spheres, Batman! (October 2023)
  • Where’s my pneumatic car? (November 2023)
  • Where’s my pneumatic car? (November 2023)
  • Good grief! (December 2023)
  • Good grief! (December 2023)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (February 2024)
  • Cheeky chiplets (February 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk (July 2024)
  • Techno Talk (July 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk (November 2024)
  • Techno Talk (November 2024)
  • Techno Talk (December 2024)
  • Techno Talk (December 2024)
  • Techno Talk (January 2025)
  • Techno Talk (January 2025)
  • Techno Talk (February 2025)
  • Techno Talk (February 2025)
  • Techno Talk (March 2025)
  • Techno Talk (March 2025)
  • Techno Talk (April 2025)
  • Techno Talk (April 2025)
  • Techno Talk (May 2025)
  • Techno Talk (May 2025)
  • Techno Talk (June 2025)
  • Techno Talk (June 2025)
  • Techno Talk (July 2025)
  • Techno Talk (July 2025)
Audio DSP Part 3 Design Phil Prosser Words Nicholas Vinen W This is an exciting project, but what exactly is it? A digital signal processor? – a two-way active crossover? – or perhaps an 8-channel parametric equaliser? In fact, it is all of these... and more. In this third article, we test the DSP Crossover modules, then finally connect them together and power the whole unit up. Once it has been tested and assembled in its case, you can set it up before hooking it up between your preamplifier and power amplifier(s), so that it can process the sound. e explained in the two previous articles that this DSP Active Crossover is built from six different modules: a power supply/ signal routing module, a CPU board, an analogue-to-digital converter (ADC) board, two identical digital-to-analogue converter (DAC) boards, a front panel control board and a graphical LCD with a small adaptor so that it can connect directly to the CPU board. Those previous articles described how the circuits of each module worked and how they join together. We also gave the assembly instructions for all the aforementioned modules. So, if you’ve been reading along and working as you go, at this stage you should have a complete set of modules – but, you won’t have connected any of them together or applied power yet. Now we get to the fun part: powering everything up, plugging the modules together, and seeing if it works (fingers crossed!). Once we’ve verified that everything is working, we can mount all the modules in a case and then we’ll explain how to use the resulting device and what sort of performance you can expect from it. Testing The first thing to check is that the power supply board is working properly. Regardless of whether you are planning to power the final unit using a plugpack or mains transformer, the easiest way to test it is by wiring a 12V AC plugpack to CON13 on the power supply board, either between pins 1 and 2, or pins 3 and 4. 22 Don’t plug anything else into this board for now. If you don’t have such a plugpack, mount the mains transformer, mains input socket and fuseholder in a metal case (it’s usually easiest to place these all in one corner). Complete and insulate all mains wiring before powering it up, and ensure that the metal case is earthed directly back to the mains input socket or cord. If using a captive mains power cord, ensure it is adequately clamped to the case using a cord grip grommet or P-clamp, so that pulling on the cord won’t allow any internal conductors to come loose. Fit a fuse with a rating as recommended for the transformer you are using. This may be around 1A, or possibly slightly more if using a toroidal transformer, because these can have a higher inrush current when power is first applied. During the following testing steps, if you are using a mains power supply, ensure that you can’t come into contact with any of the mains conductors while probing the board. Set your multimeter to a low DC volts range (eg, 20V). Before applying power, check the markings on the board to see where you will be probing. The right-hand end of the 0Ω resistor/wire link below D26 is a convenient place to connect your black ground probe. You will be checking the voltages at the +9V, −9V, +5V, +3.3V, and VA (5V) pads, as indicated in Fig.11 on page 21 last month, and the PCB itself. These voltages can vary slightly from those indicated. The acceptable ranges are: 9.2-10.4V (±9V), 4.7-5.4V (+5V, VA) and 3.153.6V (+3.3V). There is no visible indication when the power supply board is powered up. As soon as you have applied power, check the DC voltages at each of the above points. If any of these are wildly off, check the AC voltage(s) being applied to CON13 and ensure that they are not too far from the nominal 12V. Since the transformer is lightly loaded at this time, readings of 13-14V would not be surprising. Note that because of the resistor values used to set the regulator output voltages, and because there is no current being drawn from the power supply yet, it is possible that the regulated rails may be even higher than the ranges above suggest. That’s because the worst-case minimum load requirements of the regulators are not catered for with the other boards unplugged. So if any of the expected readings are below the ranges specified, or well above them, then you should switch off and check for faults. But if they are slightly too high, you can try connecting a 100Ω resistor from the test point to ground to see if that brings the reading back down into the expected range. If it does, then you can proceed. Otherwise, start looking for soldering or component faults. Programming the micro Once you’re confident that the power supply is working, if your micro is not already programmed, now is a good Practical Electronics | March | 2020 CON9 CO N9 SPI2/I2S 1 BACK OF PICKIT 4 time to do that. If you have a PICkit 3 or PICkit 4 (or similar), you don’t necessarily need to power the board up to do this; the programmer can supply power to program the chip, and indeed, it is safer to do it this way. As mentioned last month, the programming header (CON23) does not have the same pinout as the PICkit 3/4, so you need to make up an adaptor to connect it. This could be as simple as five male/female jumper leads plugged into CON23 at one end, and the appropriate PICkit pin at the other end. Or, you could crimp a 10-pin IDC line socket onto a spare section of 10way ribbon cable, then separate the wires at the other end, cut some off short and solder the others to a 5-pin header. You can then plug the PICkit into that header. To program the chip in our prototype, we soldered a 5×2-pin box header onto a small piece of veroboard, along with a 5-pin right-angle header, and then made the five required connections using short lengths of Kynar (wire-wrap wire) soldered between the pads. Regardless of the method you choose, the required cable configuration is shown in Fig.16(a) and Fig.16(b). Remove jumper JP5 during programming and re-insert it when finished. If using a PICkit, you can load the HEX file into the PIC32MZ chip using the free Microchip MPLAB IPE software, which is installed along with the MPLAB IDE (also a free download). Grab this from the following link: microchip.com/mplab/mplab-x-ide Having installed the IPE (if you don’t have it already), launch it Programming with a PICkit 4 is much faster than with a PICkit 3, which is especially helpful in this project, as the HEX file is rather large – 2MB. Practical Electronics | March | 2020 and change the Device field to ‘PIC32MZ2048EFH064’ (see Fig.17). If you can’t find that device in the list, you need to update to the latest version of the software. Plug in your programming tool, then select it from the list and click ‘Apply’, then ‘Connect’. If your tool does not support this chip, you will get a message saying so. You may get an error message saying that no power was detected and the connection has failed. This is fine, as we want to ensure that the PICkit is set up correctly before applying power to the chip. Now, to the right of ‘Hex File’: below, click ‘Browse’ and select the HEX file which you have unzipped from the download package for this project, obtained from the March 2020 page of the PE website. Next, click on the ‘Power’ tab on the left side of the screen. You may need to switch the software to ‘Advanced Mode’ to access this tab. Ensure that the ‘Power Target circuit from Tool’ option is ticked (Fig.18). Switch back to the ‘Operate’ tab, check that your programmer is connected to the CPU board correctly (if JP5 JP 5 100nFF 100n 1 00nF 1 CON23 IC ICSP SP 100nFF 100n PORT PO RTB B 10k D15 D1 5 REG3 RE G3 1 390 1.2k 100nFF 100n Fig.16(a): how to connect a CON5 CON CON1 CO N10 0 PICkit to program the CPU using hook-up wire or patch cables. Note that the PICkit is upsidedown so that pin 1 is at the bottom. Keep the wires short, or programming may fail. Fig.16(b): alternatively, you can use an IDC header on a short 10-way ribbon BACK cable soldered to a pin OF 8 PICKIT 4 header for programming. 7 GND GN D An alternative to mounting the unit in the plastic case, as seen opposite, is to use a 19-inch rack mounting case – here seen with a brushed aluminium front panel for a really professional appearance. 8 7 6 (PGE (P GEC) C) 5 (PG (P G ED) 4 (GND (G ND)) 3 (VDD) (V DD) 2 (MCLR) 1 1k 6 (PGEC) (PGE C) 5 (PG (P G ED) 4 (GND (G ND)) 3 (VDD) (V DD) 2 (MCLR) 1 not, click the ‘Connect’ button again) and press the ‘Program’ button. You will get a series of messages at the bottom of the screen indicating the progress (Fig.19). If programming failed or you get a message that the software is unable to detect or connect to the target device, check your wiring. If that’s good, then you may have a problem with the soldering of IC11 or some associated components, or you may have one or more solder bridges on the board. Examine it carefully for faults. Fig.17: the first step to set up MPLAB X IPE is to select the correct PIC chip, as shown here, and check that it has detected your programmer. 23 Fig.18: to make things easier, rather than power the board externally, the PICkit can supply power to IC11 during programming, as long as you have checked this box. Our first attempt to program the chip in the prototype failed. We examined all the pins of IC11 under magnification, but couldn’t see any obvious problems like bridges or unsoldered pins. We solved this by adding flux paste to all the pins of IC11 and then re-flowing the solder using a hot-air rework station. So that is worth trying if you can’t figure out why it isn’t working. We suspect that the solder on one of the pins on our chip hadn’t flowed down onto the pad below, but it’s hard to say for sure. Whatever the problem was, it’s gone now. Assuming IC11 is soldered correctly, and your programmer is wired up as shown, the chip should be successfully programmed and verified. You can then move on to the next stage of testing. Further testing The next step is to test the control circuitry. You will now need the three 10wire ribbon cables you made up earlier (described at the end of last month’s article). In each case, make sure that the pin 1 triangle/red wire goes to pin 1 on the connector that you’re plugging Reproduced by arrangement with SILICON CHIP magazine 2020. www.siliconchip.com.au Fig.19: now we can load our HEX file, connect to the PIC and program it. If successful, you should get the same messages in the bottom pane as we did here. 24 it into, and note that it’s possible to plug in the IDC headers offset, so that some of the pins are not connected – you must avoid doing that. The two shorter cables connect from CON7 on the power supply board to CON17 on the CPU board, and from CON18 on the power supply board to CON11 on the CPU board. On the power supply board, pin 1 of each connector is at bottom right. On the CPU board, pin 1 of CON7 is near D16, while pin 1 of CON11 is near the 10µF capacitor. The third, longer cable connects from CON19 on the power supply board to CON20 on the back of the front panel interface board. Again, make sure that the pin 1s are wired correctly. Pin 1 of CON20 is near to rotary encoder RE1. You will also need to wire up the LCD screen. This is done using the 20-way ribbon cable. Plug one end into CON8 on the CPU board (pin 1 is next to the mounting hole in the lower-right corner of the PCB) and connect the other end to the small LCD adaptor, which you will have already soldered to the back of the screen. Pin 1 is marked on that PCB. If you don’t have that adaptor, you can separate the wires in the ribbon cable and solder them to the 20 pins on the LCD screen module, with the red wire to pin 1 and so on. That’s how the original prototype was built, but it’s a tedious process, hence the adaptor board. You can now apply power and check that the LCD screen lights up and you get a sensible display on the screen. You will need to adjust contrast trimpot VR1 before you see anything on the screen. Also check that LK2 is in the VEE position. Turn the rotary encoder and check that you can scroll through the menus, and that pressing the front panel buttons gives the expected results. A lack of display on the screen could be due to several problems. If you programmed the microcontroller yourself, you know that it is at least running, but there could be a soldering fault on one of the pins connecting to the LCD, or there could be a wiring problem with the cable. LED2 on the CPU board should flicker when the display is updated, and you can force this to happen by turning the rotary encoder knob. As the CPU board has two onboard regulators and generates its own 3.3V rail, if it doesn’t work straight away, then it’s a good idea to check that first. The left-hand pin of CON5, labelled GND on the PCB, makes a good reference point. There is a via between Practical Electronics | March | 2020 Fig.20: a PC-based spectrum analyser plot showing the output of the DSP Active Crossover when fed with a (near) pure sinewave. THD readings are shown at bottom; note that these were not done with a full-scale signal (which likely would give better results) but also, they do not incorporate noise (ie, they are not THD+N readings). CON5 (near the GND terminal) and CON10 which connects to the +5V rail from the power supply, so check this voltage first. Next, check the voltage on the other terminal of CON5. You should get a slightly lower reading, of around 4.74.8V, due to the forward voltage drop of D15. Next, to check the 3.3V rail, probe either of the vias immediately to the left of the PIC, IC11. The easiest one to reach is the one just to the right of the capacitors to the right of JP5. Expect a reading of 3.17-3.58V. Anything outside this range suggests a problem with regulator REG2 or one of its associated components. Switch off and check the board carefully. If the power supply rails check out, it’s a good idea to verify that the primary oscillator is running. You will need a frequency meter which goes up C C 9.5 A B 24.5 35 15 35 A 24.5 5 99.5 C HOLES A: 13.0mm HOLE B: 7mm HOLES C: 3mm CC 7 4 1 74 74 82 C to at least 8MHz; some DMMs have this function. Using the same ground point as a reference, probe the left-hand end of the 470Ω resistor near the bottom right-hand corner of IC11. You should get a reading close to 8MHz. If you don’t, then either IC11’s oscillator amplifier is not operating (suggesting a problem with the chip, its soldering or its programming) or there is a problem with crystal X2. If you are seeing the 8MHz signal but still not getting anything on the LCD, that suggests a connection problem between the chip and the LCD, so check all the headers and cables. If LED2 is not flickering, IC11 may not be programmed correctly or there is a bad connection somewhere, probably on the CPU board. ALL DIMENSIONS IN MILLIMETRES CC 4 13 72 66 7 Above left (Fig.21) are the three holes required in the front panel controls, which are all mounted on the front panel PCB – the two pushbutton switches (S1; ‘Exit’ and S2; ‘Select’) and the Rotary Encoder. Exact positioning on the panel is unimportant as the front panel PCB determines the position. At bottom left (Fig.22) is the cutout for the liquid crystal display, while below (Fig.23) are the four holes required for two pairs of RCA sockets (the third set would be identical, but the separation may vary). 40 52 AT LEAST 60 9 9 A A 7 7 B SC 7 SC  2020 1 91 9 4 13 74 74 CC Practical Electronics | March | 2020 CC 4 B 7 7 A 7 SC HOLES A: 10.0mm  A HOLE B: 3mm 20 1 9 ALL DIMENSIONS IN MILLIMETRES 25 Screen01: the initial splash screen, which is quickly followed by… Screen02: a second splash screen, giving the software version and build date, which is then followed by… Screen03: the default screen, which gives volume control and starts at 0dB. Rotate the encoder knob to... Screen04: adjust the volume. It can go up as high as +12dB or down as low as… Screen05: −104dB. Pressing either pushbutton (or the knob) on this screen takes you to… Screen06: the main menu, which has four options. Use the rotary encoder to change the current selection and press S2 or the knob to go into that sub-menu. Screen07: in the crossover sub-menu, first you select which band you want to adjust using the rotary encoder (you can still adjust other bands after making the initial selection). Screen08: here we’ve selected Band 2. Only two bands are initially available. You need to change other settings to activate Bands 3 and 4. Selecting a band takes you to… 26 It’s also possible that LED2 has been installed backwards. If you’ve verified its orientation and the chip programming, and it still isn’t lighting up, check your soldering carefully. Plugging the rest of the boards in Assuming you have had success with the LCD and controls, you can now connect the other three boards. As shown in Fig.6 on page 23 of the January 2020 issue, CON16 connects to CON2 on the ADC board, while CON14 goes to CON3 on the first DAC board (woofer output) and CON15 goes to CON3 on the second DAC board (tweeter output). As with the other cables, be careful to make sure that the pin 1 side of each plug goes to the pin 1 marked for each header, and that you don’t plug them in offset by one row of pins. All the ADC and DAC boards have pin 1 on the side of the header closest to the nearest edge of the board, and similarly, on the power supply/routing board, pin 1 of each header is towards the bottom edge. We specified three different cable lengths last month, since these three boards will be different distances from the power supply module. In our prototypes, the ADC board is closest, so it uses the shortest cable; however, there’s nothing to stop you from using a different arrangement. Once those are all plugged in, check that JP1-JP4 are inserted and that LK1 is set to SDO4. The only way to really test it is to connect a signal source to the ADC inputs, power the unit up and check that you’re getting appropriate signals from the four outputs, using either a scope or a power amplifier and speakers. If you are using an amplifier, turn the volume down initially, in case there’s something wrong; otherwise, your ears may get blasted! If you don’t get the expected result, check that all the jumpers are in the correct positions (see last month). Preparing the rear panel The steps for final assembly are: drill and cut holes in the front and rear of the case, determine the ideal location for each module and mount them to the case, attach the LCD and control board to the front panel and then complete the wiring. On the rear panel, you will need to drill six holes of 9-10mm diameter for the RCA sockets. Ideally, you should also drill a 3mm hole for each pair of RCA sockets, to mount the connector to the rear panel so that it isn’t damaged when pushing the plugs in. The hole pattern required is shown in Fig.23. Each group of holes will need to be at least 60mm apart, to give room for the boards to fit side-by-side. You may wish to increase the space between the ADC module and the two DAC modules (assuming your case is large enough), to make the distinction more obvious. On the rear panel, you will also need to mount either a concentric socket for a plugpack or a mains cord or socket (ie, an IEC input socket). While it’s a good idea to also fit a fuseholder to the rear panel for the plugpack-powered version, it isn’t strictly necessary. However, you definitely need a fuse if using a mains power supply. Our second prototype, shown in the photos here, is plugpack-powered. Mains wiring For a mains supply, if you’re fitting an IEC socket for convenience (wired-in or ‘captive’ mains cords can be a bit of a pain), you can use one with an integral fuse and Practical Electronics | March | 2020 then you won’t need to mount a separate fuseholder. But note that IEC sockets with fuse holders often have exposed, live conductors on the inside, so it’s a good idea to apply neutral-cure silicone sealant in these areas so that they are not a shock hazard if you operate the device with the case open, during testing. It is somewhat easier to drill a hole to suit a wired-in mains cable, and that is a valid approach; just make sure you fit a proper ‘safety’ fuseholder wired in series with the live lead, and that you provide adequate clamping to ensure the mains cord can’t be accidentally pulled out, even if the unit is dropped. The best way to do this is either using a cord grip grommet (although this does require a properly profiled hole to be made) or an appropriately sized cable gland. If using a cable gland, it’s best to fit the part which tightens up around the cable on the inside of the case, so it can’t be loosened from the outside. Alternatively, apply superglue (cyanoacrylate) to the threads before tightening it up. Another thing that’s necessary if you are using a mains power supply in a metal case is to properly earth the case. Run a short green/yellow striped earth wire (stripped from a section of 13A-rated mains cable) directly from the mains input socket to a chassismounting eyelet or spade lug. If the case is painted, scrape the paint away around the lug mounting point. Use the largest diameter screw possible to attach this lug, along with shakeproof washers and two nuts. If using a captive mains cord, simply separate its earth wire and run it to this chassis earth lug. You do not need to make an earth connection anywhere else in the device. You also need to ensure that there is good electrical continuity between the various case panels when the case is assembled. This may require removing some paint where the panels are screwed together, or otherwise attached. Verify that you have a low resistance between any exposed metal on the case and the mains earth pin before powering the unit up. Mounting the modules Once you have made the holes in the rear panel and attached and wired up any required power supply components, you can mark out the mounting hole positions for the power supply board, CPU board, ADC board and DAC boards. Drill these to 3mm, deburr, then attach the modules using machine screws and tapped spacers. You can then wire them back up, as you did during the testing. That just leaves the LCD and front panel control module to mount. You need to make a rectangular cutout 82mm wide and 52mm tall in the front panel for the LCD screen to fit through. (See Fig.22). Make sure it’s centred vertically on the panel, and at least 5mm from any protrusions on either side, as the LCD board is slightly larger than the screen (92mm × 70mm). You can draw the required outline on the panel and then cut it out using a rotary cutting tool like a Dremel. Or you could drill a hole and then use a nibbling tool. Either way, file the edges smooth and make sure that the panel fits, then mark out and drill the four 3mm corner mounting holes. You can then attach the panel using 16mm M3 machine screws, nuts and washers. Extra nuts and/or washers can be used to space the LCD board out from the panel (see the photo on the first page of this article). Practical Electronics | March | 2020 ... Screen09: the first adjustment, which allows you to adjust the lower −3dB point using the rotary encoder, to as low as 15Hz. Pressing S1 will take you back to the volume screen, or press S2 to go to... Screen10: the second crossover adjustment, the upper −3dB point, which goes as high as 15kHz. Here it is set to 199Hz. Pressing S2 takes you to… Screen11: the lower slope adjustment. You can select None, 6dB/octave or 12dB/ octave Butterworth, or 24dB/octave LinkwitzRiley filters. Then press S2 to go to… Screen12: the upper slope adjustment, where you have the same options. Press S2 again to go to… Screen13: the delay adjustment, allowing timecompensation of drivers in a speaker cabinet. The setting (up to 6239mm) is converted to a delay based on the speed of sound. Press S2 again to go to… Screen14: the attenuation adjustment, which can be set from 0dB down to −20dB. It can be used to compensate for different driver efficiencies etc. Pressing S2 again takes you to… Screen15: the option to invert the signals for this output, which may be useful if you have drivers wired out-of-phase. Rotating the knob… Screen16: selects inverted mode, while rotating it further returns to normal (non-inverted) mode. One more press of S2 takes you to… 27 ... Screen17: the crossover mode screen. By default, it’s ‘Stereo’, as shown here, but you can change it to… Screen18: Bridge mode, where the second output is an inverted version of the first output, for using two mono amps (or one stereo amp) to drive a speaker in bridge mode. Pressing S2 again… Screen19: cycles through the same set of options for the next band, starting with the lower −3dB point adjustment and then all the different settings and bands until it loops back to Band 1. Screen20: here’s the main menu again, and this time we have selected the Parametric settings. Pressing S2 takes us to… Screen21: this screen lets you choose which parametric equaliser band to adjust. There are four bands which apply to both channels, plus two that only apply to each of the two individual channels.... Screen22: The rotary encoder lets you select any of these eight equaliser bands. Here we have selected the first band, which applies only to Channel 1, and here… Screen23: we have selected the second band, which applies only to Channel 2. Pressing S2 on any of these options takes you to… Screen24: this screen, which lets you switch on or off each equaliser band. Pressing S2 again takes you to... 28 Finally, drill the holes for the rotary encoder, pushbuttons and mounting screws, as shown in Fig.21(a). This can be used as a template, but make sure it’s far enough away from the mounting location of the LCD screen that the two boards will not foul each other. We attached our control board to the rear of the front panel using 9mm M3 tapped nylon spacers, with black machine screws holding it on at the front and nickelplated machine screws at the rear. Ensure that the holes are large enough to prevent the switches from binding. You can then attach the rotary encoder knob and connect the LCD panel and control board back to the CPU board and power supply board respectively, as per your earlier tests. Performance Fig.20 shows the output of a spectrum analyser connected to one pair of outputs on the DSP Active Crossover. A pure 1kHz sinewave is being fed into the inputs. This shows up in the spectral analysis as a large spike just to the left of centre. The readout below shows that this fundamental signal measures −9.72dBFS for the left channel and 1.62dBFS for the right channel. ‘dBFS’ stands for ‘decibels full scale’. In this case, the full-scale output is around 2.2V RMS, so those signals are at around 0.72V RMS and 1.8V RMS, respectively. The smaller spikes you can see to the right of the fundamentals, at 2kHz, 3kHz... are the harmonics, ie, the distortion products resulting from the signal passing through the unit. The most significant are at 3kHz and 5kHz, ie, the third and fifth harmonics. The software measures the relative levels of each harmonic and the fundamental (first harmonic) and feeds them into a formula to calculate the total harmonic distortion (THD) ratio for each channel, which it’s showing as 0.0004% for the left channel (remember, that’s the one with the reduced signal level!) and 0.0001% for the right channel. Note that if you incorporated the noise measurement (seen in the wiggly bases of the plots), these figures wouldn’t be quite as good, but they’re vanishingly low either way, and you certainly won’t complain about the sound quality coming out of this device. Using it The DSP Active Crossover is set up and controlled using a menu system. Menu entries are shown on the graphical LCD, while the rotary encoder and two pushbuttons are used to scroll through entries, select them and go back to the start. The various menu screens are shown in the panels overleaf and on these pages, along with a description of each one. After showing two splash-screens in quick succession, the unit defaults to the volume control screen. This allows you to use it as a preamp, varying the volume with the rotary encoder knob, from −104db up to +12dB (the default is 0dB). Pressing either button (or the knob, if your rotary encoder has an integral button) takes you to the main menu, which has four options. The rotary encoder selects between those options, while button S2 or the integral rotary encoder pushbutton selects the current option. This button is used as an ‘Enter’ key while button S1, at right, acts as ‘Escape’, to go back to the main screen without making any further changes. Once you’ve selected one of the options, you use S2 to cycle through the available sub-options and the rotary encoder to make changes to those options. Practical Electronics | March | 2020 ... Screen25: the centre frequency adjustment screen. Select a frequency from 15Hz to 15kHz using the rotary encoder, then press S2 to… Screen26: adjust the gain or cut for this equaliser band, from −10dB to +10dB. Pressing S2 again… JTAG Connector Plugs Directly into PCB!! No Header! No Brainer! Screen27: lets you set the Q of the filter, to a value between 0.1 and 10, which affects how wide a range of frequencies it affects. Screen28: back at the main menu, this time we’ve selected the Save option. Pressing S2 brings us to… Our patented range of Plug-of-Nails™ spring-pin cables plug directly into a tiny footprint of pads and locating holes in your PCB, eliminating the need for a mating header. Save Cost & Space on Every PCB!! Solutions for: PIC . dsPIC . ARM . MSP430 . Atmel . Generic JTAG . Altera Xilinx . BDM . C2000 . SPY-BI-WIRE . SPI / IIC . Altium Mini-HDMI . & More www.PlugOfNails.com Tag-Connector footprints as small as 0.02 sq. inch (0.13 sq cm) Screen29: a screen where you can choose one of three settings banks to save to. Use the rotary encoder to select one, or press S1 to abort. Press S2 or the knob… Screen30: to save the settings to EEPROM. This screen is displayed for a short time, then the display returns to the default screen, ie, volume control mode (Screen03). Screen31: the final main menu option loads the settings you’ve saved. Bank 0 loads by default at start-up. To load a different configuration, select this option and press S2… Screen32: then select a bank to load using the rotary encoder, and either press S2 to load it, or S1 to abort and go back to the volume control screen. Practical Electronics | March | 2020 ESR Electronic Components Ltd All of our stock is RoHS compliant and CE approved. Visit our well stocked shop for all of your requirements or order on-line. We can help and advise with your enquiry, from design to construction. 3D Printing • Cable • CCTV • Connectors • Components • Enclosures • Fans • Fuses • Hardware • Lamps • LED’s • Leads • Loudspeakers • Panel Meters • PCB Production • Power Supplies • Relays • Resistors • Semiconductors • Soldering Irons • Switches • Test Equipment • Transformers and so much more… Monday to Friday 08:30 - 17.00, Saturday 08:30 - 15:30 Station Road Cullercoats North Shields Tyne & Wear NE30 4PQ Tel: 0191 2514363 sales<at>esr.co.uk www.esr.co.uk 29