A conceptual diagram of the fifth prototype is pictured below.
The new design has been broken into two boards. They are the Audio board and the Control board. The Audio board contains the Power Supply and the Amplifier. The Control board contains the Communications and the Central Processing. The idea here is to break the dependence between Audio and Control. By separating the two functions, Audio and Control boards can be developed independently from one another. With a little bit of forethought, it should be possible to develop an interface between the two that can support several generations of boards.
This should open up a large set of options for DigiSpeaker. For instance, Prototype V will have an MPC5200B based Control board that uses powerline modems for its communications. This board will work well in certain installations (ones with newer powerline wiring) and could be mated with several different Audio boards that deliver different degrees of performance. However, in the cases where powerline modems are not workable (large apartment buildings, old wiring, ..etc), then another Control board based on wireless technology might be used. That board would still have the same set of Audio boards available to allow the delivery of different levels of audio performance (more power, better THD, ...etc). In the future, installations might use a mixture of Control and Audio boards to solve various communication problems and deliver different levels of audio performance.
Note that Prototype V can still be used as a mono-channel amplifier. The same goals of Prototype IV are still in force for this design. That is, a pair of Prototype V DigiSpeakers should be able to play Left and Right stereo signals in a single zone and that each DigiSpeaker will bi-amp or tri-amp its speakers.
Prototype V is the first implementation of this new design concept. It will contain a Control board based on the MPC5200B and use powerline modems from Intellon and Insteon for its communications. The Audio board will have a 65W audio power supply and Class D amplifier. The details follow:
- Audio Board
- Logic Supply. A logic supply will be added to the Audio board to power the Control board (and any logic on the Audio board). We are targeting a 15W power supply that delivers 1A at 15V. The design will be something simple. Something along the lines of a Flyback converter based on the NCP1055.
- Audio Supply. The Audio board will contain an Audio quality power supply. Size and Heat are important to DigiSpeaker so a switch mode power supply design is purposed. This design will targe 65W of audio power. The power supply will conform to energy savings, power factor and EMI regulations. Something along the lines of a Flyback converter based on the UCC28600 is being considered.
- Amplifier. The Audio board will contain a Class D power amplifier in the 65W range. We are considering the TAS5706 because it is a closed-loop architecture with improved THD performance. This chip is a little underpowered for DigiSpeaker (on 40W for tweeter and woofer). So, we might also include the TAS5601 as a subwoofer driver. This chip also uses a closed loop architecture for improved THD performance.
- Control Board
The Control board is pretty much the same as the previous prototype. One thing to notice is that AC power is actually being routed to the Control board. Jon and I have discussed this at length and finally concluded that we want all the communication and central processing on the Control board. One big concern is safety. It is not typical that AC power is actually routed to a logic board. Typically, power for a logic board is produce separately and sent to the logic board. This is the case with Digispeaker. However, since the Prototype V Control board uses powerline modems, then the AC must be routed to the Control board for decode/encode. This will make a certain area of the Control board 'hot' and will have to be specially marked and shielded so novices can still work with the board.
This alternative was to place the Intellon and Insteon chips on the Audio board and only ship over the MII and Serial signals. However, in the end, we decided this would 're-couple' the communications with the Audio sections and defeat the purpose of the new two board design. In addition, future wireless based Control board will not require Intellon and Insteon so Audio boards developed with those components will be have unused sections. This just didn't make sense so we moved the powerline communications to the Control board. We just agreed that the AC signal will have to be isolated, shielded and well marked so nobody gets hurt.
Well... friend of the project Neil Davis has pointed out some flaws in the design of Prototype IV that require the entire schematic to be 're-jiggered' (see this thread over at diyAudio). The crux of the argument is that the amplifier should not be on same board as the logic board. Beside some electrical problems, from a product standpoint it ties the amplifier design to the logic design a little too closely. And there appears to be no good reason for it.
Neil's argument (something Jon has been pointing out as well) is the amplifier and the power supply should be plugin modules to the system. By pairing the power supply and the amplifier on a single board, DigiSpeaker can be designed with upgradeable paths for both logic and amplifier. This would lead to a lot product variants because each could be upgraded on their own path. Powerline modem is not working for you? Then get the logic board with integrated WiFi. Is the amplifier too low power for you? If so, then buy the next version up that has more power. And so on...
With this new insight, Jon and I have decided to split the design into two modules. They are power supply/amplifier and logic. Since the schematic and layout for Prototype IV is just one big blob, I have decided to stop work on Prototype IV and declare a new prototype. Prototype V will have much of the same work. It is just that it will come in two modules (two schematics and two layouts) that more closely follow the new modular approach.
And of course... there are a couple of changes in the works. When the power supply was separated from the amplifier, I had decided to concentrate on the logic/amp board and work on the power supply second. Now that the amp and the power supply are integrated, it doesn't make sense to just work on the Amp. In other words, the Prototype IV schematics will be broken apart and a power supply design will be added to the Amplifier design.
There are other changes coming to Prototype V like integrated temperature sensors and room correction processing. However, I will leave that discussion for when I post the Prototype V system design.
The bill of materials for Prototype IV has been complete. Here it is as an OpenOffice spreadsheet.
This BOM needs some work. Right now, the parts come out to be about $103 assuming we get some additional discount from a distributor for doing most of our buying through them. The $103 price is a 12% discount (too much?) from the 1000 part pricing. Mostly from DigiKey.
Also, every resistor and capacitor has been overspec'ed. Across the board, I put in 1/4 watt, 1% resistors and 25V capacitors (unless something greater was required). Also, I didn't go below a 1206 package because I don't think I can hand-solder anything smaller than that.
In addition, there are some expensive chips such as the voltage regulators and some of the line drivers that could easily be replaced once we have some more experience on the design. For now, I am overspec'ing to get a working board before I try to dial back the design.
Notice that the Powerline Modem is about 20% of the cost. This seems a little expensive but when you consider what it is doing for us it might be cheap. Jon has looked into replacing it with some algorithms on the MPC5200 but the OFDM stuff requires several inverse FFT's that start to tax the processor. He thinks the $20 is worth it right now. Notice that if we when with WiFi modules the cheapest we could add the feature is around $30. At that price, it would be an 'iffy' module at best (like a USB dongle). At $20, we believe we are going to get solid networkings. Time and testing will tell.
The Insteon people are now saying that they want $4 for their IN2680A chip. We were originally quoted something around $1.75 so that is quite a jump. For now, we are sticking with their chip. However, Jon is close to cloning the chip with some algorithms that run on the MPC5200. If that happens, we can reduce the Insteon feature the signal xmit and receive paths and a few other parts. That might knock $8 from the design.
The complete schematic for Prototype IV can be found here. This is the electrical expression of the ideas outlined in my previous post. For the most part, nothing has changed. Use the first page of the schematic (Block Diagram) to get an overview of how the features have been included in the design.
- Block Diagram. Notice that ATA is about the only pin group not used in the design.
- Boot Configuration. We are using the default boot configuration. Could be changed via jumpers.
- Core Logic. Memory and I/O signals of the MPC5200. Here is a list of the pin group assignments:
- PSC1: Configured as a Codec in Cell Phone mode. The clock pulse from the MAX9585 is input on the BitClock of this port. This port acts as the Cell Phone master for PSC2.
- PSC2: Configured as a Codec in Cell Phone mode. This PSC is a Cell Phone slave to PSC1. It is the source of the I2S stream to the TAS5504.
- PSC3: Configured as USB. The USB pin group was configured as two UARTs so the USB function was moved to this pin group.
- USB: Configured as UART4 & 5. The design needs a serial port for Boot (UART4) and Insteon (UART5). The USB pin group is the only pin group that can have two UARTs. So USB was moved to the PSC3 pin group.
- Ethernet: Configured as Ethernet. This pin group connects to the Power Line modem.
- PSC6: Configured as SPI. This pin group connects to the SD Card connector. SD Cards are going to be used for our mass storage.
- Timers: Configured as GPIO. This pin group connects to the various control lines for the peripherals. There is a note on the schematic with the assigned functions.
- IRQs: The CPU can be interrupted by PCI or the amplifier power stages (on over heat or shutdown).
- I2Cs: I2C1 is connected to the TAS5504. I2C2 is connected to the MAS9485. Jon says the TAS5504 requires a lot of configuration information so he wants to run the I2C lines at full speed. So I2C1 will be high speed and I2C2 will be left for slow speed devices.
- Dedicated GPIO: The CPU can be woke-up on IR signal or by the PCI bus. I think we still need to find a way to wake-up the CPU on Insteon and Power Line events. Hmm...
- LocalBus: Contains two 16MB Flashes. One is on CS0 and the other is on CS1. There are jumpers so they can be swapped.
- MemoryBus: Configured for DDR. There is 64MBs of 133MHz RAM.
- Core Clocks & Debug. The MPC5200 JTAG interface has been brought out. We plan on purchasing a JTAG probe for boundary scan and programming the Flash. Notice that we are using two voltage monitors (MAX6717 - open collectors) to hold the CPU in reset until all the power rails are stable.
- Core Power. Bunch of capacitors to provide immediate power to the CPU.
- Flash Memory. We have included 32MBs of memory in two Flash chips. They are on separate chip selects that can be swapped. The idea here is that one can be used as backup during development.
- Insteon Interface. DigiSpeaker can be commanded with Insteon devices through this interface. It connects to the CPU via UART5. It detects/transmits 131.65KHz signals on the powerline.
- Ethernet via PCI. The Ethernet interface on the MPC5200 is used by the Power Line modem so regular ethernet has been added via PCI.
- Power Line Modem Controller. This is the Power Line modem controller and Analog Frontend from Intellon.
- Power Line Modem Driver. More Power Line modem stuff. This is the actual interface to the powerline. It transmits packets simultaneously on several channels between 4MHz and 22MHz (transmit path). It can receive them as well (receive path).
- Pulse Width Modulator. All four outputs of the PWM have been connected to output stages. This schematic also has the clock chip that drive the Cell Phone mode PSCs.
- Primary Output Power Stage. Channels 1 & 2 of the TAS5504 are connected to this power stage. The two channels are configured as BTL.
- Secondary Output Power Stage. Optional second power stage. Channels 3 & 4 of the TAS5504 are connected to this power stage. There are jumpers to configure the power stage as PBTL. In which case, channel 4 of the TAS5504 is used. Otherwise, it can be configured as two BTL channels.
- Memory Bus Terminators. Inline current limiters for the SDRAM memory lines.
- SDRAM. 64MBs of 133MHz SDRAM.
- Serial Port, SDIO & IR Remote. Boot serial port that can be used to monitor the system. SD Card connector that is used as mass storage. IR receiver so DigiSpeaker can be commanded with an IR remote.
- USB. USB connector for whatever device we think we need. Ideas are Z-wave or Wifi.
- Power Regulation. This prototype is designed to work with a three rail power supply (24V, 12V & 5V). The remaining power rails are created with LDOs.
A conceptual diagram of DigiSpeaker Prototype IV is pictured below. Unlike previous versions, this design does not include analog/digital I/O and is capable of driving stereo speakers or bi/tri-amping a single speaker.
- Simple Stereo Mode. In this mode, a single DigiSpeaker is used to drive two speakers in stereo. The speakers will have crossover circuitry to handle the separation of tweeter and woofer frequencies. In this configuration, only two of the TAS5504 processing pipelines will be used (PWM 1 & 2) for left and right channels of a stereo signal. The bi-quad filters are used for music shaping (country, rock, rap, jazz, ...etc). The treble, bass, loudness and dynamic range control are used in the traditional manor.
- Full Stereo Mode. In this mode, a single DigiSpeaker is used to drive two speakers in stereo. In addition, a subwoofer channel is driven from a second TAS5342 built into the DigiSpeaker. In this configuration, two TAS5504 processing pipelines are used for stereo processing (PWM 1 & 2) and a third is used for subwoofer processing (PWM 4). The bi-quad filters are used for music shaping. Treble, bass, loudness and dynamic range are set as the user prefers.
- Bi-Amp Mode. In this mode, a single DigiSpeaker is used to drive the tweeter and woofer of a single stereo channel (either left or right). Two DigiSpeakers are expected to be used in a zone to complete the delivery of both left and right stereo signals. Two TAS5504 processing pipelines are used (PWM 1 & 2) but they both are given the same input signal (either the left or right stereo channel). The bi-quad filters are used to implement the speaker crossover as well as music shaping. Treble, bass, loudness and dynamic range control are used as the user prefers. Notice that using two DigiSpeakers in a single zone doubles the power delivered to that zone. In fact, it is possible to add any even number of DigiSpeakers (2, 4, 6, ...etc) to increase the power delivered to a zone.
- Tri-Amp Mode. In this mode, a single DigiSpeaker is used to drive the tweeter, mid-range and woofer of a single stereo channel (either left or right). Two DigiSpeakers are expected to be used in a zone to complete the delivery of both the left and right stereo signals. Three TAS5504 processing pipelines are used (PWM 1, 2 & 4) but they all are given the same input signale. The bi-quad filters are used to implement the speaker crossover as well as music shaping. Treble, bass, loudness and dynamic range control are used as the users prefers. Like the Bi-Amp mode, this mode can be used to increase the power delivered to a zone simply by installing more DigiSpeakers.
- Power Supply
Like previous versions of DigiSpeaker, Prototype IV has the MPC5200B from FreeScale at its core. Even though this processor is a little expensive ($18ea. in 1000s) we still like it. It is well supported in the Linux kernel. It has a wide range of peripherals. It consumes little power yet has a lot of punch (contains an FPU also). This might change in the future, however. NXP has developed the LPC32xx family of processors. These processors are enhancements of their LPC3000 series. We previously considered these processors but rejected them because they lacked I2S interfaces. However, the new family of processors has a couple I2S interfaces. They are comparable to the MPC5200 in power yet they cost half the price (that is just a rumor at this point). For now, we are sticking with the MPC5200 until the LP32xx processors are in production.
We have dropped WiFi support in favor of a powerline modem chip set from Intellon (INT5500CS). WiFi modules are expensive and can be 'tricky' depending on the installation. We noticed in the Sonos forums that the major complaint about their unit is WiFi reliability (or lack there of). Sonos has recently elected to step up the 802.11n to try and fix the problem. This plan has a chance but is yet again, more expensive and the vendors that sell the chips are even harder to work with. So, we have decided to use the powerline modem approach. Notice that we still have USB in our system so it would be possible to slip in a USB WiFi module if it is required.
We still plan on using Insteon as our wall control. The idea here is that users will outfit their homes with Insteon compatible switches that can command the DigiSpeakers for things like volume control and playlist selection. We are also keeping our IR control link (not pictured) so that any 38KHz remote control can be used to control the unit. Also, we are keeping our browser interface to an installation for full control. Finally, Jon has been playing with the iPhone and iTouch devices from Apple. He likes them a lot and will probably build an interface into these devices (browser based?) as well.
The major difference between this prototype and previous versions is the amplifier. We are still using the TAS5504 as our PWM processor and the TAS5142 (or TAS5342 if available) as our power stage. Both are from Texas Instruments. However, we now configure the output stage as Bridge-Tied-Load (BTL) and drive the speakers differently via software depending on the product (more on the products in a minute).
At 96KHz and below, the TAS5504 has 4 independent processing channels that can be configured to accept either channel (left or right) from any of the I2S interfaces. Above 96KHz, the TAS5504 runs out of processing power and can only process 3 channels (see page 11 in this document). The processing pipeline for each channel is impressive. Each channel has seven bi-quad filters, base, treble, volume, loudness and dynamic range control. Also, each channel has an output mixer with gain control to mix any of the processing channels at output. With this flexibility, it is possible, via software, to create several products from the proposed design.
The MPC5200 requires an external clock chip to reach speeds above 96KHz. So, there are potentially two grades of each of these products depending on whether the clock chip is included or not. In addition, the addition of the second TAS5342 could also be a product differentiator.
The power supply for DigiSpeaker is still an important component. Power supplies tend to get more expensive above 100W where high efficiencies are required to keep the heat produced to acceptable levels for installation in a wall or ceiling. However, power supplies in the 60W to 70W range are pretty cheap because they are commonly used for TVs and Laptops and they produce less heat. The new DigiSpeaker design could potentially use a cheaper power supply when configured in Bi-Amp or Tri-Amp modes because they are powering less speaker. Deploying two DigiSpeakers in a zone could add up to the same power as a single DigiSpeaker in Stereo mode.
For now, the power supply remains the same as previous version. We will try to deploy a 130W power supply that can be used to power the logic and deliver 100W of power to the speakers. This is probably overkill for he Bi-Amp mode (and possibly the Tri-amp mode), but will just be comfortable for either of the Stereo modes.