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.