You spin me right round

Spot product shortages have sparked speculation about discontinued products, new products, etc. Given the human propensity to look for and find patterns, it’s no wonder that conspiracy theories take hold!

The on-line inventory picture is mixed. Some retailers show Yamaha Montage/MODX, for example, in stock, some show them out of stock pending September availability and, in one case, discontinued.

Random “discontinued” tags seem to come and go. A month ago, the Yamaha Canada site marked the MX as discontinued. Now the marker is gone. Better indicators are blow-out pricing to move stock or a Yamaha spiff incentive to move old stock. So far, I haven’t seen any clearance pricing or promotions.

Yamaha’s mid- to upper-end keyboard products have a vulnerable supply dependency on Asahi Kasei Microdevices (AKM) DACs and ADCs. The AKM factory fire was worse than originally thought and production is still not back on-line. Renesas has offered to manufacture AKM devices. The Yamaha UK site has the disclaimer, “Due to the difficulty in procuring semiconductors and procuring parts worldwide, some of our product area deliveries may be delayed. Thank you for your understanding.”

AKM aren’t very public about their recovery and certainly haven’t released a public roadmap. A recent press release for VELVET SOUND DACs and ADCs mentions sampling (no pun intended) in January 2022 with “mass production scheduled for the third quarter of 2022.” Given that Toyota is a top AKM customer, who wins, Toyota or Yamaha? 😉

The AKM shortage inspires other conspiracy theories, too. Theory #1: Yamaha are using non-AKM DACs and ADCs in Montage — the analog/jack (AJK) board was redesigned or manufactured with inferior non-AKM devices. Theory #2: MODX is suspended in order to give preference to and ship the wider-margin Montage. Someone went so far as to ask about replacement DACs in Montage and got the usual non-response from Yamaha. (What did they expect?)

Some of the Yamaha boards use Yamaha proprietary ICs, e.g., SWL, SWX, or SSP2 processors, creating a different supply dependency. When production inventory is exhausted, Yamaha need to re-spin end product to use a newer part. The July 2016 MX refresh is one interesting example. I believe that was the case with the MX refresh.

I haven’t seen a new version of the heavy weight SWP70 tone generator. However, Yamaha have updated both the SWX and SSP lines:

  • The SWX08 is replaced by the SWX09.
  • The SSP3 — now appearing in Steinberg and Yamaha pro audio products — will likely replace the SSP2.

The SWX update would affect mid-range keyboards, notably the Yamaha Reface CP and YC. The SSP update would affect Montage, MODX, and Reface CS and DX.

Are new product spins in the works? Something is coming (eventually) given the CK61™/CK88™ and AN-X™ trademarks. Once again, only Yamaha really knows. 🙂

Copyright © 2022 Paul J. Drongowski

PSR-EW410: Tour of its electronics

Last August, I took an in-depth look at the internal design of Yamaha’s entry-level, low-cost keyboards.

Up until the last few years, Yamaha’s low-end keyboards were based around its proprietary SWL01 processor. The SWL01 is a high volume LSI part which combines a microprocessor, tone generation and DSP resources into a single integrated circuit. The embedded software program and sound waveform data (AKA “the samples”) are stored together in a single flash memory device. Polyphony is limited to 32 voices due to the relatively low memory transfer bandwidth between the SWL01 and flash memory.

Newer entry-level keyboards, such as the Piaggero NP-32 and the PSR-EW410, have received a boost in polyphony (and DSP effects) over their respective predecessors. This boost in spec is due to a new central processor, the SWX03:

  • SH RISC instruction set architecture (ISA)
  • Internal clock: 135.4752MHz (external 16.9344MHz crystal)
  • System/CPU bus interface
    • Bus clock: 67.7MHz
    • 24-bit address bus
    • 16-bit data bus
  • Parallel digital inputs and outputs
  • USB to Host interface (USB1.1 full speed)
  • USB to Device interface
  • Low resolution analog-to-digital conversion (ADC)
  • Serial I2S interface for incoming and outgoing digital audio

The digital I/O pins sense the key and front panel switches and encoders. They also send data to the LCD panel via an LCD driver. Yamaha designs typically sense the presence of AUX IN and PHONE connections, too. The ADC pins sense the front panel knobs, pitch bend wheel, master volume and battery condition. The SWX03 microarchitecture is shown in the block diagram below. [Click image to enlarge.]

The internal clock and bus clock are derived from an external 16.9344MHz crystal. 16.9344MHz is a multiple (384) of the sample word clock (44,100Hz). Digital audio is transfered serially in I2S format (24-bits per sample word). Thus, the CPU operates in lock step with the serial audio input and output interfaces.

The earlier generation SWL01U typically has a 33.8688MHz internal clock. Thus, the SWX03 is quite a bit faster. Yamaha must be taking advantage of fabrication process improvements that allow a higher clock speed while keeping power low enough for battery operation. The higher clock speed of the SWX03 supports greater voice polyphony and the addition of new features such as Quick Sampling and audio playback/record over USB (See the Yamaha PSR-EW410 site for details).

The USB interfaces are clocked by an external 48MHz crystal resonator. The USB interfaces operate at full USB 1.1 speed. The SWL01 required an external USB interface component. The SWX03 integrates the USB interfaces on chip and eliminates the external USB component. This change reduces cost, board real estate and wiring.

The I2S digital audio converters are external. Entry-level products typically use the Asahi Kasei AK4430ET 24-bit DAC followed by an RC filter.

The NP-32 and PSR-EW410 implement audio conversion and amplification differently. The NP-32 sends serial audio data to an AK4430 DAC. The analog signal is then sent to a TDA7266 analog power amplifier (2 x 6Watt). The PSR-EW410 sends serial audio data to a Yamaha YDA176 digital power amplifier, which handles conversion as well as amplification. The EW410’s AK4430 produces an analog signal for both the PHONES output and the stereo line out (OUT L/L+R, OUT R).

While on the subject of audio, the PSR-EW410 has, in addition, a PCD1803A 24-bit stereo ADC which converts the buffered, analog AUX IN signal.

Both the NP-32 and PSR-EW410 store the embedded software and waveform data in a single flash ROM device. The flash ROM device communicates with the SWX03 CPU on the system bus provided by the SWX03. Physical storage devices are quite small by today’s mega standard:

  • NP-32: 8M x 16-bit words (64Mbits)
  • PSR-EW410: 16M x 16-bit words (256Mbits)

The CPU runs code and fetches waveform sample data from the same flash storage device. Thus, code and samples share the available transfer bandwidth. The EW410’s PROG/WAVE memory is twice as large as the earlier PSR-E443 (128Mbits). Hopefully, Yamaha are using the extra space for better instrument samples.

The NP-32 is dirt simple. The only memory attached to its SWX03 is the PROG/WAVE ROM. The EW410 is more sophisticated having an 8MByte SDRAM and a 16MByte flash ROM.

I’d love to take a look inside the SWX03 and see how it ticks. The internal design of the Yamaha NSX-1 may have some clues and I need to revisit the NSX-1 documentation.

Copyright © 2019 Paul J. Drongowski

The PSR-EW410 block diagram — in all its glory — appears below. Click the image to enlarge it.

All is swell (SWL)

Yamaha develop a wide range of keyboard products from low-cost entry-level ‘boards to high-end synthesizers and digital workstations (AKA “arrangers”).

Within a market segment, the engineering challenge is to develop, manufacture and test a product with the desired feature set at the target selling price. I won’t discuss profit margin here since no one really knows, but Yamaha. We do know, however, that amortized non-recurring and recurring costs must be low enough to produce a significant return. Cost sensitivity is simply a day-to-day reality.

The entry-level segment is the most cost-sensitive segment because most customers in this segment are looking for an inexpensive keyboard with basic functionality. Think “Parents buying a first keyboard for a kid who may walk away from the whole thing in a week or two.” The entry-level segment outsells the mid- and high-end portable keyboard segment by nearly 2 to 1:

    Category                       Units            Retail value
    -----------------------------  ---------------  -------------
    Acoustic guitars               1,499,000 units  $678,000,000
    Electric guitars               1,132,000 units  $506,000,000
    Digital pianos                   135,000 units  $165,000,000
    Keyboard synthesizers             81,000 units  $104,000,000
    Controller keyboards             160,000 units  $ 32,000,000
    Portable keyboards under $199    656,000 units  $ 64,000,000
    Portable keyboards over $199     350,000 units  $123,000,000
    Total portable keyboards       1,006,000 units  $187,000,000

    Sales Statistics for 2014, USA market

Synth fanatics should note that although the average selling price (ASP) is higher for synths, the portable keyboard segment moves a much higher number of units. Fortunately, for manufacturers playing in the entry-level portable keyboard space, volume is relatively high and non-recurring cost can be laid off across a larger number of units than synths.

The entry-level segment has one other important driver — the desire for portable, battery operation. This design consideration limits the amount of electrical power available for computation and thus, limits the amount of computational capacity itself. Some dynamic power can be bought back through lower CPU clock speeds. Folks accustomed to giga-Hertz CPUs may be shocked to see such low clock speeds! Lower clock speeds simplify cooling and reduce overall weight by eliminating heat sinks and cooling fans.

LSI vs. commodity

Yamaha perceive their proprietary expertise in large scale integration (LSI) as a competitive advantage. Although Yamaha exploit commodity components where possible, tone generation and digital signal processing (DSP) are performed in proprietary hardware.

User interface and control (e.g., USB communications, MIDI, LCD, etc.) are a good fit with commodity CPU technology. Yamaha — and Roland — have a long history with H8 and SH architecture CPUs from Hitachi, now Renesas. Early products employed H8 microcontrollers for host CPU functions. Yamaha eventually migrated to the “Super H” reduced instruction set computer (RISC) family. (In 2011, Renesas announced the end of the H8 line.)

Yamaha have a considerable investment in software built and tuned for the SH family. Thus, migration to a new commodity architecture (ARM) is a pretty big deal with a high internal cost. Yamaha have adopted ARM for panel scanning/control in Reface and are using ARM processors for host computation in Montage and Genos. Time and experience will show if ARM is adopted in the entry- and mid-range segments, too.

Old faithful

Yamaha’s entry-level models rely on “old faithful,” the SWL family of proprietary Yamaha processors. The SWL is used in all entry-level models — a good way to drive volume manufacturing of a custom part. The SWL family has undergone several revisions over the years. I don’t intend to recount that history here.

The SWL01U was used in many products including the PSR-E443. The external clock crystal oscillates at 16.9344MHz yielding an internal clock speed of 33.8688MHz by scaling. The relatively low clock speed reduces heat and power consumption. The following diagram shows the typical “compute complex” in an entry-level keyboard. [Click to enlarge.]

The structure in the diagram is generic across Yamaha entry-level products. If you dive into the service manual for a specific entry-level keyboard, you’re likely to find a “compute complex” like this generic one although memory capacities and such are model specific.

The SWL01U provides a CPU bus to which a USB controller (optional), program/wave ROM, flash ROM and SDRAM are attached. The SWL01 has many on-board interfaces: keyboard scanning, LED/LCD interface, bit-serial audio (ADC, DAC), control knob sensing, etc. The SWL01U has an integrated USB controller which can be deployed in ultra low-cost, minimum component count designs.

The SDRAM is, of course, read/write working memory. The flash ROM retains user data when power is turned off.

The program and waveform data are stored in the same physical memory component. In the case of the PSR-E443, the prog/wave memory is a 16MByte parallel NOR flash memory. The factory sound set, therefore, is smaller than 16MBytes. Panel voices, the XGlite sound set, and drum kits are crammed into this small memory along with the E443’s software.

The SWL01U integrates 32 tone generation channels and relatively “lite” DSP effects (reverb, chorus and flanger). I have not had the chance to browse the service manual for the PSR-E453 (or E463). E453 polyphony increased to 48 voices and the DSP effect types got a modest bump. I expect to find a new, updated member of the SWL family in these newer keyboards.

Anyone modestly familiar with microcomputer systems will look at the diagram above and say, “It’s just a computer system,” and they would be right. The simplicity of the system — and its low cost — severely limit tone generation and effect processing, however. The bottleneck is the shared system bus. All traffic must cross this bus whether it is instructions for scanning the keyboard matrix, waveform samples for tone generation, or working data for DSP effects. There is only so much bus (memory) bandwidth and it must be split several ways.

We often think of tone generation as compute-limited. Tone generation may be memory (or bus) bandwidth limited, too. Each mono channel of tone generation must read 88,200 bytes per second:

    44,100Hz * 2bytes = 88,200 bytes per second

For 32 tone generation channels, total required bandwidth is :

    88,200 bytes per second * 32 channels = 2,822,400 bytes per second

This rate must be guaranteed in order to avoid audible artifacts. (Tone generation reads are probably given highest priority by the hardware.)

The system bus does not operate at the same speed as the CPU clock. Assuming 2 clocks per bus operation (conservative estimate), 2.8MBytes/second is a significant fraction of available system bus bandwidth (17 percent). The number of channels cannot be increased without affecting the latency of host operations such as key scanning and real-time player control (e.g., front panel knobs).

Who’s counting?

Entry-level products have a low component count thanks to all of the functionality integrated into the SWL. Low component count has many benefits including smaller printed circuit boards (PCB), lower power, fewer solder connections to go wrong during manufacturing, smaller chassis, etc.

The SWP01U has 176 pins around a modest-sized, quad flat surface mount package. By putting all memory traffic on the CPU bus, i.e., not using a dedicated memory channel for waveform samples, Yamaha have achieved a relatively low pin count. [I never thought I would ever refer to 176 pins as “relatively low.”] Other Yamaha solutions have a much greater pin count due to separate dedicated memory channels. Those solutions, however, deliver a much higher level of performance and polyphony. More about this in future posts.

What’s up, clock?

What’s up with those clock speeds? Why not something “even,” like 16MHz?

Turns out, 16.9344MHz is a multiple of the sample playback frequency:

    16,934,400Hz = 44,100Hz * 24bits * 16 

The SWL generates the sample clock for the ADC and the DAC.

The PSR-E443’s ADC is a Texas Instruments PCM1803ADBR 24-bit analog to digital converter. A note in the schematic states “MCLK=768fs, fs=44.1kHz, 24-bit left justified, HPF on, Slave Mode.” 768*fs is 33.8688MHz which is exactly the CPU clock frequency.

The PSR-E443’s DAC is a Cirrus Logic (Wolfson) WM8524CGEDT/R 24-bit digital to analog converter. A note in the schematic states “SYSCLK=33.8688MHz (768fs), BCLK=2.8224Mhz (64fs), WCLK=44.1kHz (1fs), 24-bit left justified.”

You can find the datasheets for the ADC and DAC by searching the Web.

The PCM803A and WM8524 support three audio formats: left justified, right justified and I2S. The formats and clock scheme are rather common and standard, and are supported by most commodity audio ADC and DAC components. The SWL processor, ADC and DAC remain in synch because the CPU clock and the sample clock are one and the same.

So long!

I hope this blog post has given some insight into the design of entry-level musical instrument keyboards.

Copyright © 2018 Paul J. Drongowski