Affichage des articles dont le libellé est D-µPF--2. Afficher tous les articles
Affichage des articles dont le libellé est D-µPF--2. Afficher tous les articles

mercredi 6 octobre 2021

The Wichit Sirichote Z80 MICROPROCESSOR KIT and the µPF--2

After thinking about what could become of my improved version of the Z80 µPF - 1 compatible kit from Wichit Sirichote, I thought that the first thing to do was to take full advantage of the Z80 hardware emulation in the FPGA.

In fact, the Z80 encoded inside the FPGA can operate at the native frequency of the QMTECH board, which is 50MHz. It would be possible I think to go up to 100MHz using a PLL but in the context of a learning board, I did not consider it necessary to exceed 50MHz.

Obviously, it is not enough to change the frequency of the processor to make the system working correctly. Indeed, apart from the internal resources of the FPGA, the external resources operate at much lower frequencies. This is the case off the I2C bus, the LCD display etc etc ...

By properly managing the internal processor frequencie, I have succeeded in achieving a fully functional system. 

So all RAM ROM access and internal FPGA peripherals are now running at 50MHz. This represents a speed approximately 14 times greater than the original 3.579MHz of the Wichit Sirichote Z80 kit. 

This can make it possible to consider applications a little more 'serious' now!

Wichit Sirichote µPF--1@3.579MHz VS µPF--2 @ 50MHz

As can be seen in the image above, the µPF - 2 kit has a separate mechanical keyboard which is very pleasant to use, unlike the keys used on the original kit.

Communication with a PC is now carried out at 38400 baud and no longer 1200 baud. Or a file download speed multiplied by 32!

Obviously, now the file download is proceeding correctly. There is no more corrupted informations. This is mainly due to the fact that I used a real UART and not a slow emulation performed by the Z80, like on the original kit.

The majority of the code now runs at a speed of 50MHz and no longer at around 3.5MHz.

The µPF - 2 kit also offers other resources such as the native LCD display as well as a real-time management circuit.

Z80 @ 50MHz!

To make this all possible, I also rewrote a lot of the code of the monitor. I haven't completely finished this job yet. I also still have a few details to finalize on the VHDL code for the hardware emulation. I expect to carry out these operations in the next few days.

So, I now hear in France, that it is becoming difficult to find people with basic skills in digital electronics and that the National Education no longer trains this type of person.

This is true, and false. False, because a few excellent branches still exist, but very few highly qualified personnel are trained. True because there is no longer any training allowing a larger number of talented people to be trained in this type of technology.

This is nothing new. Reason why I personally learned digital electronics and more particularly processor systems on this type of material, in the 80s.

We may not realize it, but even today, a very large number of applications are built around the Z80 or other processor like the 6502. Modern technology makes it possible to use this processor in an FPGA and thus to obtain inexpensive but nevertheless very powerful hardware. And imagine that it is possible to implement an FPGA with 8 or 16 Z80 cores at 50MHz or 100MHz without problem. What flexibility!

mercredi 14 juillet 2021

Thoughts on the µPF--2 Z80 kit dev board.

 


In fact, when I look at the system I built, even though I did it based on compatibility with the original µPF--1 kit at the time, I realize that my version looks more like a microcomputer than a development board.

https://collection.onceuponabyte.org/ident/COMP-0156


At the time, when I studied with this machine, in 1987 I think, the PC was not yet very widespread. There was no adequate development software and furthermore the µPF - 1 did not even allow program loading through a communication port.

It was therefore necessary to provide all the hardware and software functions to allow the entry of mnemonics in assemblers, live editing and correction, memory modification, program launch etc etc ...

As my kit works, in fact I realize that I am exclusively using the C language, a PC text editor, and the SDCC compiler. Then, once the program is completed, I download it directly into the µPF - 2 and start the execution. I absolutely do not use the basic functions of the system.

So I made the decision to convert this set into a modern Arduino style development system but still keep the 'retro' side thanks to the Z80 hardware emulation. The entire development process will take place through the serial port via the standard tools available for PC.

The objective is to be able to train easily and in a fun way, not only in programming, but also in interaction with the outside world and finally that real applications can be managed by this system.

Multitech IOM board

I am therefore going to develop a first interface board like the IOM original board which will allow the µPF - 2 to be autonomous, capable of loading its application program itself, launching it and of interacting with the outside world in the manner of an automat. 

Do not hesitate to send me your comments.

Best to you.


mercredi 30 juin 2021

Time for the µPF--2

 The µPF--2 



When I developed this µPF - 1 / B compatible board, I wanted from the start to add a specialized time management circuit. So I installed a DS3231. This circuit is interesting because it is very precise. It also offers RESET management that I used as a master reset of the board. 



This DS3231 operates using the I2C bus. Obviously, this bus must be implemented in the FPGA. That shouldn't be a problem. I thought I would find a usable 'piece of code' on the web. In fact it was not a good idea. The codes found are often complex and above all undocumented.

Therefore, the best solution was to implement the I2C protocol myself. That's what I did. It is not very complicated, but not necessarily straightforward.




After a short period of development, I got the bus to work perfectly and was able to configure and read this real time clock circuit:



At this point, I have tested all the hardware functionality of this project. I also rewrote a lot of the system. It only remains for me to integrate all these developments in a 'clean' way.

I am beginning to see the end of this subject ...



mardi 18 mai 2021

Retro computing µPF--2, the first real start.

The implementation of the peripherals being different on this board, I had to modify the VHDL code of the system that was working on the generic FPGA board. It took me much less time than I expected to achieve a functional result:


For the moment I have only tested the displays. The next step will consist of checking the operation of the USB serial com port as well as the communication with the keyboard. But for now, the new µPF--2 board will be able to replace the generic FPGA board on my desk and it feels good because it's been a few months now since I started porting µPF--1 to an FPGA board:




jeudi 29 avril 2021

µPF--2 : Final Beta Version

By reworking the layout of the components, I finally had enough room to implement all of the extension connector signals. All I have to do now is to create the printed circuit board:


The final circuit is quite large in the end, given all the elements that are implemented.

Eventually, I hope to be able to operate these various original expansion boards knowing that they are intended for a µPF1P and not a µPF1 or 1B :

Printer & I/O boards.

Interesting informations on this subject are available on this site: https://fjkraan.home.xs4all.nl/comp/mpf1/