QScreen Controller Users Guide
Powerful single board computer with GUI
Welcome, and thanks for purchasing the QScreen Controller™. This manual provides instructions for using your new embedded computer. The QScreen Controller combines a C-programmable single-board computer with a liquid crystal display (LCD) touch panel to implement a complete graphical user interface (GUI) for your instrument. Designed as a fully-functional, compact industrial PC powered by a Freescale 68HC11 microcontroller, the QScreen is ideal for OEM applications where installation space is critical, such as embedded control systems, scientific instruments, robotics, and portable data acquisition. The QScreen can be commanded remotely from a PC or used stand-alone providing real-time control of dozens of analog and digital I/O lines.
The QScreen Controller sports a touchscreen-operated graphical user interface on a high-contrast 128x240 pixel display with a 5x4 touchscreen overlay. It comes complete with object-oriented menu software that makes it easy to control your application using buttons, menus, graphs, and bitmapped pictures.
Display your own custom graphics on a bright white-on-blue cold-cathode fluorescent (CCFL) backlit screen. You can create hundreds of sophisticated screens including your company logo, system diagrams, and icon-based control panels using most Windows paint programs, such as PC Paintbrush. Startup screens and your application program execute automatically on power-up.
Choose among many options: from 512K Flash and 128K RAM for a standard configuration up to 1M Flash and 512K RAM with the expanded memory option. For those really extensive applications that require lots of memory or removable data storage, add the Compact Flash Wildcard to provide additional 64MB or 128MB of mass memory.
The QScreen Controller includes a powerful microcontroller you can program either in Control C™ or QED-Forth™. It comes loaded with a real-time multitasking operating system and hundreds of precoded device drivers. Programming is a snap using the interactive debugger and multitasking executive. Libraries of hardware control routines including drawing functions for the display are preprogrammed for you. Program in ANSI C by compiling your application on your PC and downloading the code to the QScreen Controller where it is automatically executed. The real-time operating system in onboard FLASH memory manages all required initializations and autostarts your application code.
Control dozens of analog and digital I/O lines in real time. The QScreen Controller commands eight 8-bit A/D lines, 8 digital I/O lines including timer-controlled and PWM channels, and two RS232/485 ports. Pre-coded I/O drivers are provided for all I/O, and make it easy to do data acquisition, pulse width modulation, motor control, frequency measurement, data analysis, analog control, PID control, and communications.
Need even more I/O? The QScreen Controller hosts Mosaic’s WildcardsTM, small stackable I/O modules for sophisticated and dedicated I/O. Stack up to seven Wildcards for: 16- or 24-bit resolution programmable gain A/D; 12-bit D/A; compact flash mass memory; opto-isolated AC or DC solid state relays; configurable digital I/O; additional RS232, RS422 or RS485; or high-voltage, high-current DC inputs and outputs.
The QScreen Controller is intended for use by experienced programmers or any technically minded person up to the challenge of real-time programming. We assume that if you’re designing a product requiring an embedded computer, you have experience in the design of the hardware and software needed to customize the QScreen Controller to your product, and an understanding of the basics of writing, compiling and debugging software programs. You should be comfortable programming in either the C or Forth programming languages; you can program the QScreen Controller in either. This manual is geared to the C programmer. If you would rather program in Forth, give us a call and we’ll send you the Forth programmers manual. We recommend the following references for novice programmers:
- The C Programming Language, by Kernighan and Ritchie
- C: A Reference Manual, by Harbison and Steel
Motorola’s M68HC11 Reference Manual and MC68HC11F1 Technical Data Manual are included with this documentation package as Adobe Acrobat Portable Document Format (.pdf) files.
How to use this documentation
This manual is laid out in several parts, in an order we hope you find most useful. We have invested a lot of effort to make this documentation instructive and helpful. The available software and hardware functions are all described in detail, and many coded examples are presented. For those who are designing "turnkeyed" instruments, we have included a complete turnkeyed application program. This well documented program illustrates how to use dozens of features, including the graphical user interface, interrupts, floating point math, formatted display of calculated results, multitasking, and automatic program startup. The source code is included on your CD-ROM. This sample program can serve as a useful template for a wide variety of applications. This manual contains the following parts:
Part 1,Getting Started: A Quick Tour of the QScreen Controller, will familiarize you with the QScreen Controller (Chapter 1) and its programming environment, and get you writing your first program (Chapter 2). These first chapters guide you through the QScreen Controller’s hardware, explain how to establish communications with it, tell you how to install your compiler, and show you how to compile and run your first program.
After working through the examples of Chapter 2 you will have exercised some of the key hardware and software features of your controller. You might then leaf through the categorized list at the beginning of the C Function Glossary to get a feel for the wealth of precoded library functions available for you to use.
Part 2, Programming the QScreen Controller, provides everything you need to know to master real-time programming on the QScreen Controller.
Part 3, Communications, Measurement and Control, focuses on the QScreen’s hardware resources – A/D, serial communications, timer-controlled I/O, real-time clock and others – and provides examples for using each.
Part 4, Putting It All Together, introduces a real-time interactive application, and provides code you can use as a template for your application. It also discusses the nuts and bolts of product integration, mounting, noise considerations and power requirements.
Part 5, Reference Data, contains detailed specifications, pin-outs, and schematics.
There are several other important documents regarding the QScreen:
The Control-C Function Reference – contains glossary entries for all precoded kernel library functions.
The QScreen GUI Toolkit Glossary – contains glossary entries for all precoded GUI Toolkit library functions.
The QScreen GUI Toolkit Manual – describes in detail how to use the GUI Toolkit to create an intuitive user interface for your instrument.
The following conventions are use throughout this manual:
|A/D||Analog to Digital Converter|
|CCFL||Cold Cathode Fluorescent, a display backlight that uses a small fluorescent light bulb|
|COP||Computer Operating Properly timer|
|D/A or DAC||Digital to Analog Converter|
|EEPROM||Electronically Erasable Programmable Read-Only Memory, nonvolatile|
|FLASH||Flash Programmable Read-Only Memory, nonvolatile and on-the-fly reprogrammable|
|GUI||Graphical User Interface, also called an MMI (Man Machine Interface) or OI (Operator Interface)|
|I/O||Inputs and Outputs|
|LCD||Liquid Crystal Display|
|PIA||Peripheral Interface Adapter (a chip that provides 24 digital I/O signals)|
|PROM||Programmable Read-Only Memory, nonvolatile one-time programmable|
|QED||Quod Erat Demonstrandum, or Quick Easy Design, whichever you prefer|
|QED-Forth||The name of the QScreen Controller’s onboard operating system and interactive resident language.|
|RAM||Random Access Memory, volatile|
|RTOS||Real Time Operating System|
|SPI||Serial Peripheral Interface, a fast bidirectional synchronous serial interface|
|SRAM||Static Random Access Memory, volatile|
|UART||Universal Asynchronous Receiver Transmitter|
Obtaining code examples and example applications
Please check our website periodically at www.mosaic-industries.com, where we’ll be posting code examples and example applications, and providing software updates and enhancements.
Contact us for technical help (or just to chat)
We have tested and verified the sample code in this user’s guide to the best of our ability, but you may find that some features have changed, or even that we have made a mistake or two. If you find an error, please call us and we’ll fix it pronto.
If you are facing a challenging software hurdle, or a hardware problem in interfacing to our products, please don’t hesitate to email or call us. We can often help you over the hurdle and save you a lot of time.
Contact us by phone or email:
We provide free technical help to all registered, licensed users.
Complex software often contains bugs, and electronic components fail. Where a failure may cause serious consequences, it is essential that the product designer protect life and property against such consequences by incorporating redundant backup systems or safety devices appropriate to the level of risk. The buyer agrees that protection against consequences resulting from system failure, of either hardware or software origin, is solely the buyer’s responsibility.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trade-marks. Where those designations appear in this document, and Mosaic Industries, Inc. was aware of a trade-mark claim, the designations have been printed in caps or initial caps. For example, Microsoft, Microsoft Windows, and Visual Basic are registered trademarks of Microsoft Corporation.
While every precaution has been taken in the preparation of this manual, Mosaic assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
Mosaic Industries, Inc.
Copyright © 2005 Mosaic Industries, Inc. All rights reserved.