{{ ┌──────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Autor: Reinhard Zielinski -> Original-Code: Ingo Kripahle │ │ Copyright (c) 2013 Ingo Kripahle │ │ See end of file for terms of use. │ │ Die Nutzungsbedingungen befinden sich am Ende der Datei │ └──────────────────────────────────────────────────────────────────────────────────────────────────────┘ Informationen : hive-project.de Kontakt : zille9@googlemail.com System : Hive Name : Bus-Erweiterung für Hive-Computer Chip : Venatrix Typ : Treiber Version : 01 Subversion : 00 Funktion : Bus-System für Erweiterungsmodule Der integrierte Loader kann Venatrix mit einem beliebigen Code versorgen 20-11-2013 -I2C-Slave Funktion hinzugefügt, damit die Bus-Karte vom Hive (Plexus) erkannt werden kann (Adresse 5) COG's : MANAGMENT 1 COG ------------------- 1 COG }} CON _CLKMODE = XTAL1 + PLL16X _XINFREQ = 5_000_000 Treiberversion= 1 ' /cs --------+ ' clk -------+| ' /wr ------+|| ' /hs -----+||| +------------------------- /cs ->bei Venatrix P24 statt P23 ' |||| | -------- d0..d7 DB_IN = %00001000_00000000_00000000_00000000 'maske: dbus-eingabe DB_OUT = %00001000_00000000_00000000_11111111 'maske: dbus-ausgabe M1 = %00000010_00000000_00000000_00000000 'busclk=1? & /cs=0? M2 = %00000011_00000000_00000000_00000000 'maske: busclk & /cs (/prop4) M3 = %00000000_00000000_00000000_00000000 'busclk=0? M4 = %00000010_00000000_00000000_00000000 'maske busclk #0, D0,D1,D2,D3,D4,D5,D6,D7 'datenbus (Port A) #8, B0,B1,B2,B3,B4,B5,B6,B7 'Port B #16, C0,C1,C2,C3,C4,C5,C6,C7 'Port C #24, BUS_CS 'Chip-Select BUSCLK 'bustakt BUS_WR '/wr - schreibsignal BUS_HS ' '/hs - quittungssignal SDA_PIN = 29 SCL_PIN = 28 obj bus :"Venatrix-Bus" 'allgemeine Bus-Funktionen i2c_slave: "AiChip_I2cSlave_Slave_003" Var byte proghdr[16] 'puffer für objektkopf long plen 'länge datenblock loader PUB main | zeichen,i 'chip: kommandointerpreter ''funktionsgruppe : chip ''funktion : kommandointerpreter ''eingabe : - ''ausgabe : - bus.bus_init i2c_Slave.Start( SCL_PIN, SDA_PIN, $5, 0, 0, 0 ) repeat zeichen := bus.bus_getchar 'kommandocode empfangen case zeichen ' ---------------------------------------------- CHIP-MANAGMENT 96: bus.mgr_getcogs 'freie cogs abfragen 97: bus.mgr_load 'neuen venatrix-code laden 98: bus.bus_putchar(Treiberversion) 'Rückgabe Testwert (Version des Venatrix-Treibers) 99: reboot 'Venatrix neu starten