Der FKG-Roboter


Forschendes Lernen im Physik-UR

Quantenphysik für die Schule

Grundfakten der Quantenphysik

Materialien Physik-UR


Kommentare und Wünsche

© H. Hübel Würzburg 2005


'Avise'  =   AVR Virtual Stack Engine

W. Schemmert, Fa. Cinetix , Frankfurt/Main

(gekürzt von H.H)

(Version 2.4 - updated 22 Apr 2002: new functions and some bugfixes)

is a very compact virtual stack engine (modified Forth language) designed for the AVR RISC microcontroller family. In contrast to similar approaches, the 'Avise' CPU does contain its own programmer's frontend, compiler and interactive mini operating system (Minimum 4 kBytes/ maximum 6 kBytes of flash required).

  • Version 2.4 operates with 16 bit stack data, now even with the 4k Flash model AT90S4433 and external serial EEPROM.


Seven different versions are presented here and are available for download:

  • Avise 2.48 for AT90S8535 -- 8MHz clock and 24C64 external EEPROM (with appropriate PCB design as shown above)

  • Avise 2.4F for AT90S8535 -- 8MHz clock and 24C256 external EEPROM (with appropriate PCB design as shown above)

  • Avise 2.47 for AT90S8535 -- 8MHz clock, CPU internal EEPROM only

  • Avise 2.44 for AT90S8515 - 4 MHz clock and 24C64 external EEPROM

  • Avise 2.43 for AT90S8515 - 4 MHz clock, CPU internal EEPROM only

  • Avise2.42 for AT90S4433 -- 4MHz clock and 24C64 external EEPROM (with appropriate PCB design)

  • Avise 2.41 for AT90S4433 -- 4MHz clock, CPU internal EEPROM only

From known solutions with similar hardware outfit ''Avise'' does differ in some way:

  • The 4 MHz versions (with AT90LS.... type CPU) are capable of "dual voltage operation" from 2.7 to 5.5 volt dc. So, it may economically be powered from 3 battery cells without any loss of energy in voltage regulators. Of course, it can be powered with standard regulated 3 or 5 volt supply. (As it is difficult to run simple MIDI interfaces made of commonly available parts with voltages less than 4.5 volt, the AT90S8535 version is specified for operation 4.5 to 5.5 volt only.)

  • It is a virtual stack engine for user programming in some slang of the Forth programming language instead of Basic.

  • The programmer's ASCII interface, the "tokenizer", a compact ASCII style symbol table and a mini operating system is fully contained in the program memory of the controller. No frontend PC "tokenizer" program is necessary. Programming is possible from a PC, a Macintosh or from any standard terminal program, too. For optimum handling, we have provided 'ATOOL.EXE' a specialized terminal program for Windows.

  • This way, it offers an 'open' operating and programming interface.

  • This programming paradigm makes it handy for free running programs (like robot control, e.g.) as well as for interactive operations in connection with PC-running programs like Macromedia Director, Opcode MAX or Visual Basic. Using an USB-to-Serial adaptor Avise can be easily controlled from a iMac or iBook (link to german text).

  • Any user defined function can be made automatically starting at power on. Return to interactive control is always possible.

  • Word length of the virtual stack engine has been chosen as 16 bit, which results in good speed and good accuracy for most control operations. When using the AT90S4433 with only 4 kByte of flash memory however, some features didn't fit into the program memory and had to be cut off.

  • All internal resources (except program memory and interrupt handlers) of the microcontroller are acessible by the user. Most common I/O operations are conveniently precooked in highlevel commands. More exotic access to the controller resources can be programmed by the user.

  • The ASCII interface does filter all "non printable" characters plus printable 0xFC to 0xFF. Consequently command sequences packed into MIDI "private" SysEx messages can be used for interactive control.

  • A multi-channel A/D converter (depending on CPU-type), one to three PWM based pulse outputs and a full duplex UART is built into the microcontroller and accessible with high-level commands.

  • A new single step debugger has been added (AT90S8515 and AT90S8535 versions only).

  • In addition to the external serial EEPROM a limited amount of user code can be programmed into the internal EEPROM of the controller. This provides some user programmable functions with high speed.

  • Internally, 'Avise' is completely "hand" programmed in compact but high speed assembler code.

'Avise' Hardware Options:

In this context, two simple proposals for hardware construction are shown. Raw design of printed circuit boards has been chosen due to the fact that most people who are interested to check out the possibilities of microcontrollers dont have the tools to produce sophisticated PCBs. Nevertheless, the software packages are designed to work together with many individual variations of hardware setup.

Another easy start with 'Avise' can be made with the special software package for the STK200/STK500. For optional support of an external serial EEPROM, the I2C bus is supported by the firmware: port PB0 is the SCL line and port PB1 is the SDA line. The user has to expand the STK board correspondingly.

Feedback, error messages und hints for refinement are welcome.

* Trademarks and product names cited in this text and corresponding ones are property of their respective owners.

[ PreviousList Sites | Next | Random Site]
[ Previous 5 Sites | Next 5 Sites | Join ]

This Forth Programming Webring site owned by Cinetix GmbH, Frankfurt.
[ Previous 5 Sites | Previous | Next | Next 5 Sites | Random Site | List Sites ]