search.noResults

search.searching

saml.title
dataCollection.invalidEmail
note.createNoteMessage

search.noResults

search.searching

orderForm.title

orderForm.productCode
orderForm.description
orderForm.quantity
orderForm.itemPrice
orderForm.price
orderForm.totalPrice
orderForm.deliveryDetails.billingAddress
orderForm.deliveryDetails.deliveryAddress
orderForm.noItems
Feature: Embedded


Figure 4: Agon light’s board


(133MHz serial pSRAM), a USB2 port with respective USB bridge (used for both powering the device and programming the fi rmware of the ESP32), VGA port (640 x 480 pixels and 64 simultaneous colours), PS/2 keyboard port, and an audio jack. Like the terminals of old, Agon’s built-in terminal generates the video and audio signals and reads out the keyboard. CPU and built-in terminal communicate with one another via


a standard, full-duplex, 384kbps serial line featuring RTS/CTS fl ow control. Slow as this may sound given modern standards, the throughput is more than adequate for our purposes: the ESP32 is largely autonomous in performing all graphics and audio operations, requiring only fairly high-level, coarse-grained primitives, or “display lists” as they used to be called, from the CPU.


ESP32 SiP We originally intended to use a traditional graphics controller in Agon. However, the high price and recent lack of availability of those parts forced us to consider alternatives. Upon learning of FabGL – a graphics library made to run on an ESP32 development module – and seeing its graphics performance, we realised that the ESP32 was the way to go; see Figure 5. It is cheap and abundant, and allowed us to both circumvent the chip shortage and reduce our bill of materials. Agon is thus made to be fully compatible with FabGL.


T e ESP32 is a system-in-a-package with an internal 32-bit data-


path, three diff erent processing cores, an in-package oscillator driving the 240MHz clock, plus some peripherals. As such, it may be tempting to consider using the ESP32 alone in a system like Agon, dispensing with the eZ80 CPU. T is, however, would be somewhat naive. T e ESP32 has no external parallel buses, being a fundamentally


serial system when it comes to I/O. As such, much of that extra clock speed is lost in serial transfers to and from external memory. Moreover, the ESP32’s sole external memory port (meant for a serial pSRAM) is a bottleneck at the system level, chocking its performance even when one of the three cores inside the device is not fully loaded. Because we use the ESP32 to produce the video stream, the real-time constraints of such a task – such as issuing the sync pulses at very precise intervals – make it impractical for the device to play the role of a BASIC- programmed general-purpose CPU, which is supposed to fetch user code and data from external memory. On the other hand, the somewhat serial nature of a scanning,


rasterised video signal renders the ESP32 an adequate option for video generation, which it does with unparalleled fl exibility (since it can be easily programmed in high-level C from the Arduino IDE) at an unparalleled price point. Unlike classic Arduino boards, Agon’s control port uses a male


header. We chose it because male headers are more mechanically robust and resistant to wear: Wouldn’t you prefer to simply replace your female jumper cables when they wear out, as opposed to your entire microcontroller board? But, they are also more vulnerable to ESD, which is why Agon uses TVS diodes on every single pin of its control port, as an extra layer of ESD protection.


A truly useful platform Agon’s board is roughly the same size as an Arduino Uno PCB; see Figure 6. Its stack contains four layers, which are, top to bottom: (a) signals plus Vcc


copper fi ll; (b) ground plane; (c) Vcc plus ground copper fi ll. Alternating Vcc


Figure 5: An X-ray of the ESP32 system-in-package on Agon light’s board (left), showing the discrete components (including built-in oscillator) hidden under the ESP32’s epoxy package (right)


plane; (d) signals with ground vertically across


the stack aims at creating a distributed capacitive eff ect that helps with decoupling and bypassing. Every signal via is associated with a return-path ground via in its


immediate vicinity, to prevent return currents from spreading across the board, compromising signal integrity. T ose vias also serve an additional purpose: since the reference plane changes from ground


22 December/January 2023 www.electronicsworld.co.uk


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52