In today's applications, software is omnipresent. We find it in personal
computers, but also in many other applications such as industrial controllers,
cars, video recorders, smoke detectors, etc.
Sysacom R&D plus inc. has expertise in software, from assembler for
microcontroller to C++. We acquired this expertise programming embedded
systems, DSP systems and PC under DOS and Windows. C language is mostly used
for microcontroller software development, assembler is used only when needed to
optimize performance, speed and code space. For DSP, we also use C as much as
possible, but all DSP filter kernels are coded in assembler to maximize
performance.
C++ is used to program applications under Windows using VISUAL C++ (with MFC).
We also use object methodology for custom class design to simplify software
maintenance and to improve portability. We also developed Windows driver under
for various peripherals, including USB.
Many software modules have been developed over time:
Flash card drivers
LCD drivers
Serial port drivers
Communication protocols (TCP/IP, HDLC, DNP, etc.)
Analog to digital conversion modules
Many digital filters used in DSP applications.
FLASH Files system.
Here is a list of some software tools we use:
Code composer IDE used to develop projects with TI DSP
ADSP-21XX, which includes a C compiler, an assembler, a linker and a simulator
GNU C compiler for the ColdFire family
Code Warrior for Freescale MCU.
Hitachi C compiler for the H8S family
Tasking C compiler for the 8051 family
Tasking C compiler for the DSP563XX family
Microsoft Visual C++ and Microsoft.NET used to develop Windows applications
Microsoft DDK for PC card driver under various Windows operation systems.
MATLAB and many other tools.
Internet Appliances
Small Embedded Internet Box (SEIB)
SEIB is a TCP/IP protocol stack developed by Sysacom R&D plus inc.,
dedicated to low-cost embedded applications. This software module aims to
provide co-compiled embedded applications with the capability to communicate
with other devices via Internet service. It is highly scaleable, compact, of
high quality, and highly portable as required for embedded Internet
applications.
Specifically, SEIB software is ideal for applications that do not require high
data throughput over the Internet connection such as air conditioning systems,
home appliances, vending machines and various sensors.
Features
Provides functions for embedded applications to exchange data via
TCP and UDP
Bi-directional dialing: not only the SEIB can dial an ISP to build
a connection and present itself on the Internet, but also it can accept the
dial from an ISP. So a host on the Internet can visit a SEIB at any time via
ISP dial the SEIB
Provides interfaces for network parameters setting
Supports Web page configuration
Operates without OS
Provides the migration to other CPU/MPU with changing only of the
hardware-related codes (timer and serial port control)
Adjustable throughput depending on the RAM and performance budget;
SEIB can meet the bit rate requirement of various embedded systems, from fully
streamed packets to single buffered packet handling
Conditional compiled configuration to migrate to 8bits, 16bits and
32bits MPUs
Optimized inter-protocol data copy to speed up the forwarding
Very small ROM and RAM footprint, depending on the performance and
capability
The resource this software module uses includes an asynchronous
serial port, a timer and a modem (can be external).
Current Demonstration (SEIB's URL)
H8/3446 MPU, with 32K flash memory and 2K RAM in chip. A modem is connected
with the serial port of the MPU, and some associate devices, such as
temperature sensor and LEDs, are connected to the IO pins of the MPU
In case of configuration with 2 TCP connections and one UDP port
simultaneously, RAM usage is 1.5K and ROM is 20K
After connecting, the commands include set/reset two LEDs, read the value of
the temperature sensor, two potential inputs, and software version information
TCP ECHO (port 7), TCP WWW (port 80) and UDP port 4660 are supported
A simple home page for demonstration can also be loaded by a browser (like IE)
on any computer through the Internet
The MSS for TCP is 88 bytes and MRU for UDP is 100 bytes
In case of ISP dial, it takes about 25 seconds to build a connection. If there
is no activity in one minute, the connection will be dropped by the ISP.
We are constantly trying to get better...
Consignment work available upon request; such as Ethernet interface support, or
additional protocols and MPU.