Презентация за open source hardware проекта OpenFlops и open source firmware FlashFloppy, чрез които се заменя флопи дисково устройство и дискети с емулатор и USB флаш памети. OpenFlops е проектиран на KiCad и има същите размери на печатната платка като GoTek.
Free and Open Source Software Tools for Making Open Source Hardware
Как да убием и последната дискета с Open Source технологии?
1. Как да убием и последната дискета с
Open Source технологии?
Леон Анави
leon.anavi@konsulko.com
leon@anavi.org
BurgasConf 2023
2. BurgasConf 2023, Леон Анави
Дискети
Гъвгав диск покрит с
магнитен слой в пластмасова
защитна опаковка с типични
размери:
диаметър 8“ (~200 mm),
капацитет от 80 KB до 1,2 MB
диаметър 5,25“ (~130 mm)
капацитет от 110 KB до 1,2 MB
диаметър 3,5“ (~90 mm)
капацитет от 720 KB до 2,88
MB
4. BurgasConf 2023, Леон Анави
Флопи-дисково устройство (ФДУ) или просто флопи
Устройство за четене и запис на
информация на дискети
Информацията се записва на
пътеки
Всяка пътека е разделена на
сектори
Чрез флопи дискетите могат да
се форматират, т.е. да се
извърши процесът на създаване
на пътеки и сектори
5. BurgasConf 2023, Леон Анави
Къде са се ползвали дискети?
Компютри
Синтезатори
Роботи
Индустриални машини
10. BurgasConf 2023, Леон Анави
Commodore 64
CPU: MOS Technology 6510/8500
@ 1.023 MHz (NTSC) @ 0.985 MHz (PAL)
RAM: 64KB
ROM: 20KB
Графика: VIC-II 320×200px и 16 цвята
Звук: SID 6581/8580
Първоначална цена $595
В производство от 1982 до 1994г.
11. BurgasConf 2023, Леон Анави
Commodore Amiga 500
1985 започва серията компютри Amiga
1987 Излиза Amiga 500
CPU: Motorola 68000 @ 7MHz
RAM: 512 или 1024 KB
Софтуер: AmigaOS (kickstart firmware и
Workbench софтуер)
12. BurgasConf 2023, Леон Анави
Митичният GoTek
USB флопи емулатор
Произвеждан в Китай
Няколко разновидности с
различни екрани с или без
енкодер
Проектът е на над 10 години
Първоначално с
микроконтролер Cortex-m3
STM32F105RBT6
https://www.gotekemulator.com/
14. BurgasConf 2023, Леон Анави
Глобалният недостиг на чипове и STMicroelectronics (ST)
Mултинационална европейска корпорация
Най-големият Европейски полупроводников производител
Основа през 1987г при сливането на френската Thomson Semiconducteurs
и италианската компания SGS Microelettronica, с корени свързани с Адриано
Оливети
Проектират и произвеждат линията 32-битови RISC ARM микроконтролери
STM32
Глобалният недостиг на чипове тежко засегна ST и лията STM32, което
доведе увеличение на сроковете за доставки и повишение на цените
15. BurgasConf 2023, Леон Анави
STM32 алтернативи
GigaDevice GD32 микроконтролери, които са пин към пин съвместими със
STM32
В GoTek STM32F105RBT6 e заменен с Artery AT32F415CBT7
16. BurgasConf 2023, Леон Анави
Програмиране на STM32 микроконтролери
STM32CubeIDE
Интегрирана програмна среда за STM32 и програмните езици C и C++,
базирана на Eclipse/CDT с GNU ARM компилатор GDB дебъгер. Поддържа ST-
Link и J-Link. Съвместима с MS Windows, MacOS и GNU/Linux дистрибуции.
Atollic TrueSTUDIO (спряна разработка на нови функционалности
.... или просто makefile с ARM компилатор
Други варианти: Arduino sketches, Assembly, Rust, MicroPython, CircuitPython...
17. BurgasConf 2023, Леон Анави
OpenFlops
Open source hardware алтернатива на GoTek за USB флопи емулация
Двуслойна платка проектирана на open source софтуера KiCad
Използва STM32F105RBT6 (като първоначалните версии на GoTek)
Платката има същата форма и размери като тази в GoTek, така че е
съвсемстима с всички съществуващи кутии
Лиценз: CERN OHL v. 1.2
Проектирана от Giorgioggì (SukkoPera)
https://github.com/SukkoPera/OpenFlops
18. BurgasConf 2023, Леон Анави
OpenFlops
STM32F105RBT6
USB тип А
Възможност за добавяне на
I2C дислей и на енкодер
Бутони за навигация
Зумер
UART пинове за
програмиране
Пинове за конфигурация
21. BurgasConf 2023, Леон Анави
KiCad
Open source софтуер за проектиране на печатни платки написан на C++ и
достъпен под GPLv3+ лиценз
Предоставя инструменти за редактиране на схема и дизайн на печатна
платка до 32 слоя
Възможности за експортиране на BoM, Gerber файлове и 3D модели
3D viewer за визуализиране на платката по време на чертането й
Съвместимост с MS Windows, MacOS и GNU/Linux дистрибуции
http://kicad.org
26. BurgasConf 2023, Леон Анави
Модификации на OpenFlops
https://www.pcbway.com/project/shareproject/Floppy_Disk_Drive_emulator_OpenFlops_smaller_version_4f72f1eb.html
27. BurgasConf 2023, Леон Анави
FlashFloppy
Open source firmware за емулация на флопи дисково устройство и замяната
на дискетите с USB памети или SD/microSD карти
Съвместим с GoTek и OpenFlops емулатори
Съвместим с микроконтролери Artery и STM32
Проектът е стартиран от Keir Fraser през 2014г.
Код под MIT/BSD лиценз в GitHub: https://github.com/keirf/flashfloppy
28. BurgasConf 2023, Леон Анави
FlashFloppy
Написан на C
Помощни скриптове на Python
Makefile за крос-компилиране
Използва ARM GNU GCC
Docker имидж, който създава FlashFloppy zip архив от командния ред:
docker run -v $(pwd):/output --rm -ti planeturban/docker-flashfloppy
29. BurgasConf 2023, Леон Анави
FlashFloppy съвместими компютри
Acorn Archimedes
Acorn BBC Micro
Amstrad CPC
Amstrad PCW
Amstrad PPC
Atari ST
Commodore Amiga
DEC
DEC
Dragon
IBM 3174
IBM PC
IBM PS/2
Kaypro
Memotech
Microware
MSX
NEC PC-98
Sharp
Sinclair QL
Spectrum
Tandy Color Computer
TI-99/4A
TSC Flex
UKNC, DVK
30. BurgasConf 2023, Леон Анави
FlashFloppy съвместими машини
Синтезатори
Akai
E-mu ESI-32
Ensoniq
General Music (GEM)
Korg
Kurzweil
Roland
Roland
Sequential Circuits
Prophet 3000
Yamaha
Роботи
KUKA KRC1
31. BurgasConf 2023, Леон Анави
Запис на FlashFloppy на STM32
През USB
Серийно програмиране
32. BurgasConf 2023, Леон Анави
Universal Asynchronous Receiver-Transmitter (UART)
Серийна комуникация, при която скоростта и формата на данните могат да
бъдат конфигурирани
Поддържа 3 модела на комуникация: simplex, full duplex, half duplex
Устройство 1 Устройство 2
RX
TX
GND
RX
TX
GND
34. BurgasConf 2023, Леон Анави
Запис на FlashFloppy през UART към USB
stm32flash e open source приложение, което се изпълнява през командния
ред и записва firmware на STM32 ARM микроконтролери използвайки ST
серийния bootloader
Поддържа UART и I2C
За OpenFlops и FlashFloppy stm32flash се използва през UART:
sudo stm32flash -k /dev/ttyUSB0
sudo stm32flash -vw hex/flashfloppy-at415-st105-3.39.hex /dev/ttyUSB0
https://sourceforge.net/projects/stm32flash/
35. BurgasConf 2023, Леон Анави
Заключения
Времето на дискетите е безвъзвратно отминало
Чрез USB емулатори може да се заменят флопитата на стари машини и да
се използват USB флашки вместо дискети
OpenFlops е open source hardware за USB емулатор на флопи със STM32
микроконтролер
KiCad е open source програма за проектиране на печатни платки
FlashFloppy е open source firmware, съвместим с GoTek и OpenFlops