Creation of a digital core module for the SP12, with the audio conversion system:
mercredi 28 septembre 2022
Attempt to clone an SP12.
lundi 19 septembre 2022
MIDI SWITCH
The basic functions of the MIDI switch prototype work well. I'm still developing the system but at the same time, I'm redesigning the printed circuit board.
The prototype was developed from an Intel OEM FPGA module placed on a motherboard that I created myself. On this motherboard, four connectors connect four small printed circuits each supporting four RJ45 sockets, for a total of sixteen ports.
This way of doing things was perfect for a prototype but not at all suitable for a finished product.
What I particularly appreciate is making it as simple as possible. And since the study from the prototype I experimented with a new type of FPGA more practical to use than Intel circuits, I took the opportunity to redesign the entire switch on a single printed circuit :
The circuit used will allow me to route the MIDI ports but also to perform some processing on the MIDI data. Everything will be programmable using, I hope, a small software running on PC and potentially on MAC.
mercredi 14 septembre 2022
MIDI SWITCH
It's been two months since I posted anything. After the holidays, I strongly put myself in the development of two projects. One of them consists of a 16-ports MIDI rack designed to facilitate the management of the MIDI network within a small music studio.
Although I'm still at the prototype stage, the hardware design is finalized and stable. I am now in the development of the software system. I am progressing step by step in order to create a system offering the essential functions. Subsequently, I will expand the operation by various functions that can be implemented depending on the computing resource that will remain available to me.
This is what the rack looks like:
The challenge is a little bit complicated. A reliable and practical device must be produced at an acceptable cost. And with the current problems of component shortages and rising prices, it really isn't easy!
jeudi 14 juillet 2022
GoWin FPGA & the Wichit Sirichote's µPF--1 clone : subject closed
This time, it's said. I close the topic 'µPF--1 clone'
Why? Because it works.
A few years ago, when I set out to attempt to replicate Wichit Sirichote's work in FPGAs, I developed a minimal system based on the sources of Wichit Sirichote. It had already taken me quite a bit of time to translate all the hardware onto a commercial FPGA board, then develop a personal board to accommodate an FPGA module. I found that it would have taken me too long to re-write a complete system based on poor quality of the source provided.
And then, I wanted to test the GoWin FPGAs. When I say testing, I mean creating an FPGA board and then programming a complete system. That is to say also test the GoWin development tools.
Free advertising ;-) |
After seeing that the small computer created 'seems' to work fine. I decided to attack what is the center of interest of such a small computer, namely the operation in step by step.
Until then, I had contented myself with re-writing the source of Wichit Sirichote to allow the manipulation of addresses and data as well as the loading of programs by serial link. So I missed the step by step. In terms of real learning of processor operation, step by step is extremely interesting!
It's quite interesting to be able to modify a program value almost on the fly, then to check the result by immediately restarting the program. That's the whole point of such a computer.
It's a personal opinion, but I find it much more relevant than working on Arduino modules as a discovery of computing.
The system set up for step by step operation is based on an interrupt triggered after a certain number of pulses of the signal M1. Interesting and very functional system. On this point, Wichit Sirichote's source served me well.
So there you go, I have everything set up except the 'REL' key. I couldn't figure out its usefulness, even studying the provided source well. Regardless, it is now possible to write an entire program by directly entering the processor codes, or more simply by loading the program via the serial link and modifying the code directly on the keyboard, starting then stopping the program to check the content of processor registers etc etc...
Small example of a program loaded via the serial link:
The system is therefore validated. The GoWin FPGA used works perfectly. It is a success. I forgot, the serial link works perfectly, here at 115200 Bauds, and not faulty at 1200 Bauds as on Wichit Sirichote's system ;-)
In terms of FPGA resource usage, this is what it looks like:
Barely more than half of the resources in logic gates. I haven't implemented expansion port management, but it only takes a few dozen logical units. Not bad at all!This machine may have come out too soon...
Free advertising ;-) |
I am really impressed with the quality of his work...
It seems to work. Why do I say 'seems'? Because I don't own thermal paper. So I can not check if the message is printed correctly. All I can say is that the printer responds correctly to requests made through routines present in the ROM integrated onto the printer board.
mardi 12 juillet 2022
Any other subject : Small automotive remarks.
As an indication, I have never worked in mechanics. So I have no practice on the subject.
Times being what they are, in France, we are now confronted with exorbitant vehicle maintenance costs and a lack of professional skills in conventional mechanics.
And yes, you have to go electric. Hmm, for a whole bunch of reasons, I don't think going electric is the solution to the planet's problems, any more than to energy independence.
I even think that the switch to electric is a big mistake. I am much more in favor of a reasoned use of energy, and of adapting to a low-consumption lifestyle.
I own a Renault vehicle, but I should say Matra, since 1998. It now has 250,000 km. It's a 3L V6 engine. I don't use it much, as little as possible in town. I really appreciate this vehicle for its comfort and the simplicity of its operation.
This site is now a large green space, surrounded by new housing construction, as well as a large rest center for old people. Sad end... for such a great company
Well, actually, my car is almost a collector's car.
As it works very well, I want to keep it in working order. So, for that, I realized my first mistake!
Indeed, we must regularly pass our vehicles to the technical control. Last time it said there were engine leaks. This does not surprise me since there is no one left to carry out the maintenance work. So, as I don't use it much, I haven't done any maintenance for a long time.
In order to go back to the technical control, after having changed a part on the front axle anyway, I decided to clean the engine with a water jet.
In principle this is not a problem. Before performing this operation I had researched information on this subject without finding anything embarrassing. So I cleaned the engine. Everything worked very well. A few minutes later, the engine still started to misfire.
Of course, I suspected what had happened.
And this is where the real problems begin. I had to remove the coil ramp to access the spark plug wells but I didn't have the tools, of course... I had to wait a while to finally find a TORX T30 wrench.
I expected to find carnage when I removed those coils. I was not disappointed:
Inevitably, in this state, it was not likely to work properly. I even wonder how the engine managed to start in these conditions. Anyway, pistons were 'missing' and you could hear it. There was only one thing left for me to do. Clean all this dirt as best as possible and also remove as much visible rust as possible on the central well:
Concussion: do not pass an engine to pressurized water when it has spark plug wells. The coil ramp is not waterproof and lets water through to the spark plugs!
I just have to get the new parts, as well as a spark plug wrench, diameter 16mm!
GoWin FPGA & the Wichit Sirichote's µPF--1 clone.
I've been testing the Wichit Sirichote's µPF--1 compatible development board for a few years now.
- 2017 - Achievement of the kit with the basic system available in 2017.
- 2018 - Attempted modification with the system update: large number of malfunctions including the serial link.
- 2019 - Study of the system on a commercial FPGA board. Modification of the code for a functional serial link.
- 2020 - Realization of a personal board based on Intel FPGA and installation of the system with the operation of the serial link corrected.
- 2022 - Porting VHDL code to GoWin FPGA. The goal is to test the operation of these new FPGAs.
mardi 5 juillet 2022
GoWin FPGA & µPF--1
To finalize my uPF--1 compatible board, I decided to implement the Wichit Sirichote's project :
I have already done this work a few years ago, but based on an Intel FPGA. Since then, I have improved in the VHDL language.
So I take advantage of this to code the whole machine again in this GoWin FPGA, also taking advantage of the improvements made by the new versions of certain components and the SDCC compiler, as well as the modifications that I have made myself.
This little development machine is very interesting. It allows you to become familiar with the operating principles of microprocessors.
Modern processors like ARM for example, still work the same way. Understanding how a Z80 works is a very good learning exercise. Much better I think than Arduinos, which, if they have a whole bunch of 'fun' advantages, mask a large part of the real functioning of the processors.
And now with the startup messages:
At the time, I called my work uPF--2. I will continue to name this little machine that way.
This is not a priority project. I will advance it as I can, over time...