|
PRODUCTS
Design Services
VM-1 Controller
Starter Kit
Application Boards
Interface Hardware
Networking
Programming
Venom IDE
IN ACTION
Applications
Design Gallery
Online Demo
INFORMATION
VM-1 capabilities
Technical Support
Hardware data
Software Information
Software Downloads
FAQ
SALES
Price List
RoHS
Ordering
Terms & Conditions
Software License
|
VM-1 Capability
Here are some of the capabilities of the
VM-1 Embedded Controller,
indexed alphabetically.
Index1-Wire Bus
The VM-1
supports the Dallas 1-Wire bus
protocols allowing
communication with iButtons and other 1-Wire devices.
All 1-Wire devices have a unique ID number which can be
useful in identification, validation and security
applications. Many 1-Wire devices may co-exist on a
single 1-Wire bus without conflict.
All that is needed to implement the basic 1-Wire bus on a VM-1 is a single resistor. Analogue I/OThe VM-1 controller has 8 channels of 10-bit, 0-5V analogue input on board. Two of these channels may also be 8-bit, 0-5V analogue outputs.Full support is provided in Venom-SC for the on-board analogue I/O and for devices linked to VM-1 via the buses. Typical code would be
External Analogue DevicesAdditional Analogue inputs and outputs may be added to the VM-1 using the I2C Buses, the SPI Bus, etc.Analogue ICs currently supported are
Battery PowerThe VM-1 is ideal for battery-powered applications. It consumes far less current than PC-based controllers and there are automatic power saving features built into the Venom-SC language. Whenever your code is waiting for an event or for a period of time, the CPU is put to sleep, waking up the instant it is required again.Typical Power consumptionWhen it is not doing heavy processing the VM-1 will typically take 20mA. Even lower current consumption may be achieved by using a slower clock speed. At 4MHz (1/4 speed) the controller will idle at 6mA.For many applications, these are the actual average power figures. Lower clock-speed VM-1 are currently only available to special order. Zero Power SleepFor still lower power consumption the Real Time Clock IC (a plug-in extra) may be used to control your application's power rail. Thus the controller (and other parts of your application) may be powered down (<1µA) until a timed alarm or other external event wakes them up again.A zero-power sleep circuit schematic is available. BusesSystem BusThe VM-1’s raw processor bus (8 or 16 data bits, 14 address bits, 3 area decodes, 16 MHz) is brought out to a connector. This is not often used directly as most connectivity to the VM-1 is via the I2C, SPI and Expansion buses.Expansion BusMore useful than the raw processor bus, this software-controlled I/O port is used as a slower, 8-bit bus. It allows Graphic or Character LCDs to be attached to the VM-1. Because it runs at a much lower speed and duty cycle than the system bus it has very low EMI emmissions.CAN BusCAN (Controller Area Network) is a communication protocol used widely in vehicles, process control and other areas of industry. It is fault tolerant and deterministic which is why it is used widely for safety-critical systems.The VM-1 can connect to a CAN Bus using Microchip's MCP2515 CAN controller IC. A CAN driver object CANBus is included in Venom-SC. The CANBus object simplifies and speeds up the initialisation of the CAN controller and the reading and writing of CAN frames. A VM-1 CAN Bus circuit schematic is available. If you don't want to make up your own MCP2515 circuit just to test out CAN Bus on the VM-1 there are third party development boards around that are easily adapted to connect to the VM-1. Data Logging
The VM-1
is ideal for Data Logging applications: filing systems using internal non-volatile RAM
or removable memory cards are built into the Venom-SC language, there is
high-level control over many Analogue and Digital I/O, and VM-1 has very low (down
to zero) power consumption
figures.
The VM-1 is available in two RAM sizes: 128K and 512K. Almost the entire RAM is available to your application for data storage. Dates and TimesVenom-SC provides very sophisticated tools for using real dates and times in your applications. Firstly, there is high-level access to the PCF8583 Real Time Clock Calendar IC. This device plugs directly into a socket on the VM-1 and is backed up by the VM-1's battery when there is no power.Secondly the DateTime object is a powerful date/time calculator that can process dates nearly 100 years into the future. For example it can tell you what day of the week it is on 15 January 2057:
See the Venom-SC Manuals for more details. Development ToolsMicro-Robotics sell full-feature starter kits for the VM-1 and Venom-SC. For £250 you get all you need to start developing your application.There is also an Integrated Development Environment - VenomIDE - which is available as a free download. We provide full documentation in the form of
Free, lifetime technical support is available direct from the engineers, for all our products. Digital I/OThe VM-1 controller has 42 channels of digital I/O on board (12 of these channels are input only). To make system design easier, almost all of them are pulled to the supply rail by a 100K resistor.Additional Digital inputs and outputs may be added to the basic VM-1 using the versatile PCF8574 IC on the I2C Buses. You can fit up to 16 of these ICs to each bus, yielding nearly 300 Digital I/O in total. Full support is provided in Venom-SC for all these Digital I/O, for example
See the Venom-SC
Manuals
for more details.
Additionally the PCF8574 is used as the basis for our industrial input, output and relay cards, and digital I/O ports . EEPROMsEEPROMs are useful for storing variable but non-volatile information in your application, for example calibration data or identification codes.There is high-level support for storing data in EEPROM devices such as the 24C02 and others: the SafeData object in Venom-SC allows you to store both integer and floating-point values in an EEPROM, and to form a checksum of the data for validation. See the Venom-SC Manuals for more details. Index Filing SystemVenom-SC provides memory card (SD and MMC), and RAM DISK Filing Systems. The RAM DISK is in on-board non-volatile RAM; the memory cards require the Memory Card Interface.Both data and text files are supported with many useful options. Memory cards are more robust and have a higher capacity than the RAM. The memory card filing system is Windows compatible so files may be transferred easily.
Memory Card
Interface hardware for SD/MMC Cards
Flash
The Venom-SC language
is supplied in a flash memory IC, which
you plug into the VM-1
controller. The flash memory also doubles as the application
storage area.
Your application code is developed in non-volatile RAM - but when you have finalised your code, it is burned into the flash so it is secure from alteration. Of course you can re-program the flash, either to change your application, or to update your version of Venom-SC from our website, free of charge. You can also buy quantities of blank flash chips from us, or from distributors, that you can copy your final application into when you go into production. Floating PointVenom-SC supports the IEEE single precision floating point variables and calculations. This gives around seven digits of precision. Most of the commonly used functions are provided:
GPRSGPRS is the new mobile communication standard protocol. It will allow you to gain access to the Internet via a mobile phone network. GPRS modems are available from various manufacturers and we support Internet protocols through them.GPSGlobal Positioning SystemSeveral of our customers have built mobile applications using the VM-1 and the excellent GPS receivers now available. VM-1 can communicate with GPS devices via its serial ports. GSM
GSM (the old mobile phone standard) modems are easy to
interface to - just connect a serial port to the serial connector on
the modem.
GSM Text (SMS) messaging is also supported. The VM-1 can send and receive text and binary short messages over the GSM mobile network. High-Level ProgrammingThe VM-1 controller is programmed using Venom-SC: the full-featured, high-level programming language designed for writing control applications. We have many testimonials that Venom-SC is very easy to learn, as well as reports of fast, painless development from our customers.'Licence-Free'Venom-SC is free for you to download and make as many copies as you like so long as you only use it in our controller products. See our software license terms.Micro-Robotics Ltd retains full ownership and copyright over Venom-SC. Free upgradesVenom-SC is being continually developed. New features are being added all the time. If you buy just one of our controllers you are entitled to free upgrades to Venom-SC forever. You can email us to ask for the very latest version of Venom-SC, or download the version posted on our website.If you would like to license Venom-SC for use on
other platforms please contact sales.
I2C BusThe I2C bus is a two-wire network which can control many devices. On the VM-1, there are two master-only I2C buses, each of which can link to the following functions.
These are not part of the basic VM-1 hardware but available as expansion options and supported by the software. The Venom language also provides simple access directly to the I2C bus so any I2C device may be controlled. Schematics for various I2C circuits are available. Real Time Clock/Calendar on I2C: PCF8583This is an IC that may be plugged into a socket on the VM-1. It is connected to one of the on-board I2C buses. The Venom language supports sophisticated date manipulation for dates over the next 100 years or so. The VM-1’s on-board battery keeps the clock’s date and time correct even when the unit is not powered.I/O Ports on I2CIndustrial signals may be interfaced to the VM-1 using our range of industrial I/O cards.For interfacing to 0-5V signals inside an equipment housing use our Digital and Analogue I/O Ports. All of these cards are connected to the VM-1 via one of its I2C buses. The VM-1 provides full software support. KeypadVenom-SC has high-level support for matrix keypads using the excellent PCF8574 IC on the I2C bus. Keypads are configurable as 4 x 4, 8 x 8 and 4 x 12 matrices. Software support extends to reading individual key states as well as keyboard-style buffering of key presses.Complementing the Keypad driver is an object called NumberReader. This uses the keypad for calculator-style number entry. See the Venom-SC
Manuals
for more details.
LCDs
Graphic LCDsVenom-SC has full software support for a variety of graphic LCDs. Its GraphicsLCD object provides high level access to
LCD controllers supported include
Connecting Graphic LCDsTo connect a 'controller-free' QVGA panel to the VM-1 you may use the QVGA Driver Module (5809) based on the Epson S1D13705, or copy our S1D13705 circuit.To connect a HD61830-, LC7981-, T6963C- or SED1565-based graphic LCD all you need is a latch such as the 74HC273. You may also need a bias-voltage generator if the LCD panel doesn't have one on board. These circuits are included in some of our application boards, allowing you to plug a graphics LCD straight in. Circuit schematics for some Graphic LCD interfaces are available on this site. Contact us if you cannot find what you need here. Character LCDsVenom-SC has full support for any character LCD based on the Hitachi HD44780 or equivalent.High-level features allow you to print directly to the display without having to write any low-level code at all. For example, this is some typical code to initialise an LCD and put some text on it:
See the Venom-SC
Manuals
for more details.
Character LCDs will connect directly to the VM-1. A suitable connector is provided on some of our application boards allowing you to plug a character LCD straight in. You can also connect multiple (up to 32) character LCDs to the VM-1 via PCF8574 ICs on the I2C Buses. Circuit schematics for most Character LCD interfaces are available on this site. Contact us if you cannot find what you need here. Memory Cards
MMC (Multimedia Card) and SD (Secure Data) cards can be used
to store data in files in industry standard file system
formats.
See Memory Card Interface and FAT File System. MODBUSMODBUS ASCII programming is straightforward in the Venom Language, using a serial port, the built-in protocol analyser object and PRINT statements for output.MODBUS/TCP uses the built in TCP/IP support and turning a VM-1 into a MODBUS/TCP device is further simplified with a Venom skeleton program available under "Application Notes and Code Examples" on our Software Information page. All you have to do is edit configuration settings and add your application specific functions to map MODBUS inputs and outputs to the VM-1's ports and devices. ModemsIt's easy to connect a MODEM to the VM-1. VM-1 has two serial ports, either one of which may be used for this purpose. You may need to provide RS232 level shifter circuits if you are not using an application board.MotorsVenom-SC can control both DC motors and stepper motors via one of its objects: PulseWidthOut. PulseWidthOut can generate pulse trains of varying mark/space ratio and frequency. It can also generate pulse trains of a pre-determined number of pulses.To drive DC motors, feed the pulse train into a bridge amplifier, or just a transistor (bipolar or MOSFET) to produce a variable power drive. To drive stepper motors, feed the pulse train into a stepper motor drive module. This energises each phase of the motor in turn for each pulse received. PulseWidthOut is available on 6 of the VM-1's channels. See the Venom-SC Manuals for more details. Multi-TaskingVenom-SC has multi-tasking built into the language, not added on as an afterthought. Thus a new task may be created with just one keyword:
Resource locking is also built in. In many
applications all the locking will be handled by the
default mechanisms.
Task swaps take place automatically at least once every 2mS. This is fast enough for most applications. Events that need handling faster than this are generally taken care of by interrupts. The task-swap mechanism is a preemptive round robin at the application programmer's level, though it is implemented as a cooperative system at the low level. Consequently the application programmer need not pay much attention to the task manager: it just works. See the Venom-SC Tutorial Manual for more details. Networking
The Venom-SC language has a suite of
TCP/IP networking
protocols built in. These connect via Ethernet, GPRS, GSM or
a dial-up modem link.
Software drivers for other, industrial, networks are also built in:
USB (Universal Serial Bus) can be supported with
additional hardware.
Simple, proprietry networks using RS485,
packet radio, GSM, etc.
have also been implemented using our controllers.
The VM-1 has support for XMODEM file transfer over a
serial link.
Non-Volatile MemoryThe VM-1's RAM is powered by a lithium battery when the main power is off. Thus it is possible to store information in RAM files and other data structures. Non-volatile storage is also available in memory cards, EEPROMs and other devices that you can attach to the VM-1.Portable and Handheld ApplicationsThe VM-1 is an ideal controller for handheld applications because of its small size, low power consumption and excellent user-interface capabilities (LCDs, keypads).Pulse & Frequency I/OVenom-SC has several objects dedicated to pulse I/O on the VM-1. These are
Serial CommunicationsThe VM-1 has two channels of asynchronous serial communications that can operate at standard rates up to 38,400 baud. These two channels are under high-level control of the Venom-SC language.Features include optional hardware and software handshaking, input and output buffers, selection of data format. Additionally there is a third serial channel synthesised from counter-timers that can operate at standard rates up to 9600 baud. This channel has no handshaking and has only one data format. The serial outputs and inputs are at TTL levels at the VM-1 and require level shifters to interface to RS232 or RS485 networks. Level shifters are included in our application boards. Circuit schematics are also available. Future: synchronous serial comms. Single Board Computer or Industrial PC?The VM-1 is an Embedded Controller, also known as a Single Board Computer, and similar to an Industrial PC.Micro-Robotics' Embedded Controllers have several advantages over Industrial PCs in many applications:
SMBusSMBus is essentially the same as the I2C bus and products designed for SMBus are compatible with the VM-1's implementation of I2C.There are resources on the Internet that document the differences between the two busses, for example this app note from Maxim/Dallas. SPI BusThe VM-1 supports the industry standard SPI bus, which can be used to control a wide range of devices including
Temperature Measurement
You can measure temperature on the VM-1
in several ways, including the following:
TimingVenom-SC has timing primitives built into the language. Keywords such as WAIT will cause processing to halt for a given number of milliseconds. The EVERY keyword will repeat some code at a constant rate.
Also there are objects such as Stopwatch and Timer that
allow even more versatile millisecond timing.
Venom-SC also has full support for real-time date and time calculations. See the Manuals for more details. Touch screenA touch screen is a flat panel that fits over the front of a graphics display and is used to detect the position of a finger or stylus.Venom-SC's TouchScreen object drives a resistive touch screen via a TSC2003 IC on the I2C Bus. As well as detecting where a touch to the screen occurs (calibrated to LCD coordinates) it allows you to define virtual keys to create any style of keypad on your user interface. A TSC2003 is fitted to the QVGA Driver Module (5809). USB
VM-1 applications can be connected to the USB (Universal Serial
Bus) by using a USB-to-serial converter module such as the
DLP-USB232M-G by FDTI.
Many VM-1 applications will consume little enough power that they may be powered by the USB connection alone. It is also possible for the VM-1 to be a USB host using FTDI's Vinculum IC, or Vinculum-based modules, so that USB memory sticks and other devices may be connected to the VM-1. WatchdogThe VM-1 has a watchdog and power supervisor IC built in. The watchdog will restart the controller if the application crashes. The power supervisor monitors the controller's 5V rail and will reset the controller if this dips below a threshold level. |
||||
Top
Top
Top