mCAT Real Time Kernel

mCAT

mCAT is a real time kernel that has been developed to ideally support preemptive multitasking in a BITBUS node without the limitations of the iDCX51 used in the 8044 BITBUS processor. BITBUS since its inception has been a distributed control bus, which means it tries to keep decisions as far as possible in the local node and to communicate only abstract, concentrated data.

mCAT supports this approach with its message passing architecture aimed at isolating methods in tasks which don't have to know more about each other than the structure of the messages they can deal with. Both the BITBUS as well as the Ethernet driver tasks organically handle these messages and relay them to their respective transport lines.

 

 

  • Download manager for programs.
  • Monitor program for debugging
  • “Ticker” messages for time control of tasks
  • Real time clock management for scheduled events
  • Message switching between tasks or interrupt drivers
  • EEPROM management for configuration parameters
  • Ethernet socket communication and email
  • SerDrv for communication via serial interface
  • BITBUS driver for client and server function at the fieldbus
  • Express-I/O for easy use of digital and analog I/O. Express background functions e.g. for:
  • Event counters, frequency counters, pulse catchers
  • Time delayed outputs (monoflop, ...)
  • Pulse generation, PWM
  • Sensor conditioning (linearization tables)
  • Flash programming and page deletion
  • BgMem file system for data storage in ring buffers, FIFO, LIFO kept in backed-up RAM

 

  • Prices
  • Details
  • Introduction
  • Manual
  • Tutorial

on request *

SFT-MCAT2.2 ARM

Development support package for the mCAT real time kernel. With GCC for ARM and ANSI-C for the TLCS 900. 400 page manual, sample programs, MAKE tool and various utilities. 6 months limited support by email.

on request *

SFT-MCAT2SUP

Support extension for one year (limited programming support and updates).

No royalties

on request *

HDB-MCAT2

mCAT2 printed manual

* all prices in EUR ex works (+VAT/MwSt inside Germany)
** For use with ELZET 80 products.

A real time kernel allows separating a programming problem into encapsulated parts for sequential control, regulation, communication etc. and uses the natural waiting times of each process to let other tasks run in a quasi-parallel way.

Your PC communication task for example uses the serial driver SerDrv: if it is programmed for CR as message end, SerDrv sends the message to your task if a complete command line has been received from your PC. Your task will be woken up by the message and proceeds (depending on its priority and that of other tasks) to reply status information for example. While the reply is being sent by a background interrupt from SerDrv, another task of your application will already be processed.

In a similar way your task would wait for (for instance) an Ethernet message from the TCP/IP socket.

 mCAT´s “Express-I/O” not only provides easy access to all process i/o, it also counts at all digital inputs - input levels are checked every 10ms, if they have changed, the counters will be incremented. 

 

mCAT - An Introduction

Here´s a list of the benefits:

Multiple Tasks

Independent programs can concurrently serve different tasks like communication with a PC, pressure regulation, or local keyboard handling.

Modularity

If it´s easy to split programs into different tasks, the programmer tends to isolate certain functions to a dedicated task. It can be debugged and tested on its own. Very probably some of these tasks are not confined to one automation problem but may be re-used next time.

Interrupt drivers

Events can be handled by user written (C-) code in an orderly and consistent manner. They can be re-used if the task changes.

Function libraries

mCATs modular library system "ShLib" starts small with the marginal kernel functions. Libs can be added as needed and system as well as user libs use the same calling mechanism (SWI).

Support programs

A monitor displays memory and task/int status. It serves as the receiving end for program downloads into RAM or Flash- EPROM. A ticker times the operation of tasks while BITBUS support opens the target to the fieldbus- network. User-I/O makes hardware- I/O easily accessible.

There's a lot more of this overview on the German page, but we invite our international customers to consult the mCAT manual for more information. 

Manual for mCAT2.2 (PDF-file, 8,6MB)

"Hello World" - Tutorial