Zephyrnet-logo

Reverse-engineering van een weergaveprotocol om een ​​Roland-synthesizer te repareren

Datum:

beeld

Het repareren van elektronische apparaten is niet zo moeilijk als vroeger. Dankzij internet is het gemakkelijk om datasheets en toepassingsnotities te vinden voor elk standaardonderdeel in uw gadget, en als u eenmaal het defecte onderdeel hebt gevonden, koopt u gewoon een vervangend exemplaar bij een van de miljoen webshops - ervan uitgaande dat u niet eindigt met een nep, natuurlijk. Als het om niet-standaard onderdelen gaat, wordt het echter moeilijker, zoals [dpeddi] ontdekte toen een vriend hem om hulp vroeg bij reparatie van een Roland Juno-G synthesizer met een kapot beeldscherm.

Het belangrijkste probleem hier was het feit dat het scherm in kwestie een op maat gemaakt ontwerp was, zonder vervanging of documentatie. Het enige dat [dpeddi] uit de servicehandleiding kon halen, was de basispinout, die een parallelle interface liet zien met twee regels met het label "chip select" - een indicatie dat het display twee afzonderlijke controllers bevatte. Maar het exacte protocol en dataformaat waren niet gedocumenteerd, dus haalde [dpeddi] zijn logische analysator tevoorschijn om te proberen de door de synthesizer gegenereerde signalen te decoderen.

Na een beetje vallen en opstaan, kon hij het protocol achterhalen: het leek erop dat het scherm twee KS0713-type LCD-controllers bevatte, die elk de helft van het scherm bestuurden. Het vinden van een compatibele vervanging bleek nog steeds moeilijk, dus besloot [dpeddi] in plaats daarvan de originele signalen te decoderen met behulp van een microcontroller en het beeld weer te geven op een modern LCD-scherm dat wordt aangestuurd door SPI. Na wat eerste experimenten met een ESP32, bleek dat de taak om twee redelijk snelle parallelle bussen te lezen en een nog snellere seriële te besturen een beetje te veel was voor de ESP, dus [dpeddi] opgewaardeerd naar een Raspberry Pi Pico. Dit werkte als een traktatie, en dankzij een 3D-geprinte montagebeugel past het nieuwe scherm ook precies in de behuizing van Roland.

De code van de Pico is beschikbaar op de GitHub-pagina van [dpeddi], dus als je ook een onbetrouwbaar beeldscherm in je Juno-G hebt, kun je deze eenvoudig downloaden en gebruiken om een ​​gloednieuw beeldscherm aan te sluiten. De methode van het reverse-engineeren van een bestaand weergaveprotocol en het vertalen naar dat van een nieuw protocol is echter vrij universeel en zou handig moeten zijn bij het werken met elk type elektronisch apparaat: bijvoorbeeld een ouderwetse rekenmachine or multimeter, of zelfs een andere synthesizer.

spot_img

Laatste intelligentie

spot_img