A BASIC mikroszámítógépek fejlődése
Mielőtt bemutatjuk a PIC32 mikrokontrollerekre készült MMBasic szoftverkörnyezetet [1] és az erre épülő Micromite modulokat, tekintsünk vissza a Basic számítógépek kialakulására! A hetvenes évek végétől kezdve sok személyi számítógép került piacra, amelyek akkor még nyolcbites mikroprocesszorokkal készültek, és mind „operációs rendszerük”, mind programozási nyelvük BASIC volt. Közülük az egyik legsikeresebb az 1982-ben az „Év számítógépe” címet elnyert Commodore 64 volt (C64), melynek processzora 64 KiB RAM és 20 KiB ROM memóriájával 1 MHz körüli órajel sebességgel serénykedett [2].
Tíz évvel később a Parallax BASIC Stamp mikrokontroller-modulja vált népszerűvé a beágyazott rendszerek felhasználói között [3]. Eredeti BASIC Stamp mikroszámítógépét a következő 20 évben a Parallax ugyan néhány alkalommal továbbfejlesztette, de a szoftverkompatibilitás megőrzése céljából mindegyiket meghagyta nyolcbites platformon.
A személyi számítógépek a kilencvenes évek óta már kizárólag 32 vagy 64 bites processzorokkal készülnek, szoftvereikben a BASIC Interpreter helyére WINDOWS/LINUX/OSX/ANDROID operációs rendszerek léptek, az alkalmazások pedig C, C++, JAVA/Visual Basic nyelven íródnak. A beágyazott rendszerekben használt mikrokontrollerek piaca szintén óriási fejlődésen ment keresztül, és ma már nagyon sok alkalmazás épül 16/32 bites mikrokontrollerekre. A továbbfejlesztett BASIC Stamp modulok mikrokontrollerei nem követték a mikrokontroller-piac változásait, magyarán: elszaladt mellettük az ipar. Nagy népszerűségre tettek szert közben a nyílt forrásprogram-kódon alapuló, C/C++ nyelven programozható Arduino, illetve chipKIT platformok, melyekbe bekerültek a korszerű 32 bites mikrokontrollerek is [8]. A beágyazott rendszerekben használható BASIC Interpreter programok helyét fokozatosan átvették a BASIC fordítóprogramok, melyek megtartották a BASIC programozási nyelv könnyedségét, de kihasználták a fejlettebb mikrokontroller-architektúrákban rejlő lehetőséget.
Az MMBasic nevű BASIC Interpreter modern, 32 bites mikrokontrollerekben történő felhasználása napjainkban ismét népszerűvé válik, amit Geoffrey R. Graham ausztrál szoftverfejlesztő munkásságának köszönhetünk. A 28/44 lábú Micromite PIC32MX1, a 64/100 lábú Micromite Plus PIC32MX4 mikrokontrollerekre épül [4]. Ezek a hajdani C64 memóriájának 5-10-szeresét tartalmazzák, a PIC32 sebessége 2-3 nagyságrenddel nagyobb a C64 ősénél. A mérete maradt csak azonos a Basic Stamp modulokéval, de azok szerény perifériajellemzőivel szemben, a PIC32 modern felépítését kihasználva, gazdag kommunikációs, digitális és analóg kapcsolatot biztosít a külvilág felé, rugalmas megszakítási struktúrával. A BASIC nyelv programozói könnyedségét megtartó, de azt modern programozási struktúrákkal kiegészítő Interpreterét a szerző ingyenesen biztosítja számunkra!
Az MMBasic kifejlesztése [5]
Geoffrey R. Graham az elektronikai iparban kezdett dolgozni a BASIC személyi számítógépek megjelenése időszakában, majd évtizedeken át az informatikai iparban tevékenykedett, néhány évvel ezelőtti nyugdíjazásáig. Nyugdíjasként rácsodálkozott, hogy az elektronikai iparban milyen nagy változásokat hozott a félvezetőipar fejlődése, és elhatározta, hogy a korai személyi számítógépek használatához hasonlító, de modern mikrokontrollerekkel olcsón létrehozható számítógépet készít. Több gyártó mikrokontroller-családjának kipróbálása után a Microchip PIC32 mikrokontrollereinél kötött ki. Kipróbálta a nyílt C forráskódon alapuló bwBASIC Interpreter programot, ami több évtizede ingyenesen elérhető. Néhány heti próbálkozás után feladta a PIC32 architektúrára való portolást, és az alapoktól kezdve elkészítette a saját MMBasic Interpreter szoftverét 2011-ben. Az ANSI C nyelven megírt MMBasic szándékoltan a Microsoft MBasic fordítóprogram funkcionalitásának biztosítását célozta meg. Az első változat a MaxiMite, majd a ColorMaxiMite személyi számítógépek förmvere lett 2011-ben, illetve 2012-ben. Ezek a korai változatok hamar népszerűvé váltak, így a beépített VGA interfésszel sikerült teljesíteni a tervezői szándékot, s korszerű és mégis egyszerű felépítésű személyi számítógépeket lehetett olcsó PIC32 mikrokontrollerekkel előállítani. Bár a MaxiMite számítógép híre hamar eljutott hozzám, igazában mégsem tudott felvillanyozni az olcsón előállítható, de mégiscsak a nyolcvanas évek személyi számítógépeire emlékeztető megoldás. Számomra áttörést 2015 januárjában az ausztrál Silicon Chip magazinban publikált Micromite MkII cikke hozott [7], amelyben ismertette a PIC32MX1 mikrokontrollereken futtatható Micromite MkII 4.6 förmverváltozatot.
Micromite 4.7-jellemzők
A szeptemberben kiadott, továbbfejlesztett Micromite MkII 4.7 förmver ingyenesen letölthető a szerző honlapjáról [4], szemben a korábbi BASIC Interpreter programokat tartalmazó modulokkal, amelyek ára 50–100$ nagyságrendű volt. A Micromite szoftverrel való ismerkedéshez a ChipCAD Kft. MM28/MM44/MM64 modulokat készít, melyek a Micromite förmverrel felprogramozott mikrokontrollereken felül tartalmazzák az UART-USB interfészt és a 3,3 V feszültségű LDO áramköröket. A kísérletezéshez és a BASIC nyelvű szoftverfejlesztéshez „breadboard” kísérleti paneleket ajánlunk [6]. A Mikroelektronika 150-nél is több Click Board panelje gyors programfejlesztést tesz lehetővé a Micromite modulokat használók számára is. A Click Board panelekhez mintaprogramokat is ad a gyártó BASIC, C és Pascal programnyelveken. Akik most Micromite modulokkal kezdik az ismerkedést vagy fejlesztést, később könnyen léphetnek tovább bármely Basic vagy C nyelvű mikrokontroller-platformra.
[1] mmbasic.com/
[2] hu.wikipedia.org/wiki/Commodore_64
[3] hu.wikipedia.org/wiki/BASIC_Stamp
[4] geoffg.net/micromite.html
[5] geoffg.net/Maximite_Story.html
[6] www.chipcad.hu/micromite
[7] Silicon Chip, 2015. január: The Micromite Mk2, Geoff Graham
[8] RT 2015 Évkönyve: chipKIT az Arduino kompatibilis platform, dr. Holman Tamás
A ChipCAD Elektronikai Disztribúció Kft. honlapja