|
'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.
[
Previous
|
List
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 ]
|
|