Projects

From JopWiki

Jump to: navigation, search

JOP is used in academic and industrial projects. Feel free to add a short description of your project and a link.

Contents

[edit] Academic

[edit] JopSpeech SDK

The JopSpeech SDK is a speech recognition Software Development Kit (SDK) developed for the Java Optimized Processor (JOP).

The SDKs consist of a set of software components, interfaces and hardware for audio in and out – the purpose of JopSpeech is to allow developers and researchers to take advantage of speech technology in the embedded Java infra-structure of JOP. JopSpeech SDK contains a set of components to build speech models, algorithms like the Fast Fourier Transformation (FFT), the Mel Frequency Cepstral Coefficients (MFCC), Linear Predictive Coding (LPC), Dynamic Time Warping (DTW) and K-near are implemented. A hardware extension to the BaseIO board is also included, enabling JOP to interface with microphones and loudspeakers. JopSpeech also proposes an architectural model built on the ”Pattern Recognition Approach” proposed by L. Rabiner and B.H. Juang as a part of its architecture for developing and testing speech recognition systems.

The SDK has been used to build models tested on both a speaker-dependent and a semi-speaker-independent system with a prediction error of 96,7%

JopSpeech SDK has been developed by Jens Kristian Rasmussen and Mikael Lundsgaard in collaboration with Martin Schoeberl and Rasmus Pedersen.

[edit] Bluetooth API

JOP is now able to communicate with Bluetooth devices, such as mobile phones etc. The blueonjop.sourceforge.net project is an implementation of the Java Specification Request 82, which standidize a set of Java APIs to allow Java-enabled devices to integrate into a Bluetooth environment.

To Bluetooth enable JOP, you need the API that can be downloaded from the project website, and a Bluetooth Intelligent Serial Module that connects to JOP through the RS-232 port. The project website, and the available thesis describes the component and the intermedidiate API implementation.

To view a quick example on how to push a file to a mobile phone throught the OBEX Push Profile browse to the example section at the website.

[edit] Lego PCB (LRBJOP)

On base of the Line Follower, a Lego PCB named LRBJOP, has been built by two students to interface JOP with motors and sensors of the Lego MindStorms series.

[edit] JopVga

The JopVga project presents a hard real-time system consisting of the time predictable Java Optimized Processor (JOP) and a video graphics array (VGA) controller. Both the CPU and the VGA unit share the main memory of the system with the help of a memory arbiter.

[edit] Time Predictable Chip Multiprocessor (TPCM)

This project proposes a multiprocessor architecture consisting of JOP (Java Optimized Processor) cores and a shared global memory. The design of a communication and synchronization facility for controlling the CPUs and the access to the shared memory is one of the scientific goals. Furthermore the definition of a scheduling system that is capable to distribute the threads of a real-time application among the processors describes another technical challenge. The solution is designed to be time predictable with a known, tight upper bound of the WCET (worst-case execution time) of each individual task. The major goal is the implementation in a low-cost field-programmable gate array (FPGA). Further information will be added very soon!

[edit] At CBS

  • Support vector machine on JOP
  • Eclipse Plugin
  • WCET analyser (see WCET paper)

[edit] WCET Analysis

Clepsydra is a static WCET analysis tool for Java programs. Written in pure Java and 100% open-source, it is designed to work with JOP by default. You can find the source code, a manual, and the API documentation for Clepsydra by visiting the Volta project home page.

[edit] Java Debug Wire Protocol

See Java Debug Wire Protocol

[edit] SPI SD card interface

Connection of an SD card via an SPI interface. see SD Card

[edit] Bytecode Optimization

Java bytecode is absolute unoptimized - even the -O optiontion did not help on older Java compilers and is not listed anymore. All optimization is left to the JIT. Unoptimized Java bytecode hurts implementation of the JVM either as interpreter or as Java processor.

  • Standard compiler optimizations on the bytecode level
  • Short method inlining (getter and setter)
  • Use BCEL or ASM
  • Further research: WCET driven optimization (a JTRES paper)

[edit] LEGO Candy Sorting Machine

The LEGO PCB, LRBJOP, fitted with a JOP processor is used to control a LEGO candy sorting machine. A video of the machine is available on Youtube.

This machine was developed in conjunction with a survey report on real-time development in Java. The project report can be found here.

The application used to control the machine is also used as a test application in the development of a schedulability analyzer, which translates applications written for JOP into a UPPAAL model, and uses UPPAAL to perform schedulability analysis. The project is in development, and the project report will be posted when completed.

The project web site contains links to the video and the final report.

[edit] Industrial Applications

[edit] Kippfahrleitung

Balfour Beatty Austria has developed a Kippfahrleitung to speed up loading and unloading of goods wagons. JOP is used to control up to 15 asynchron motors. This project was the first real system built with JOP and was a great test-case during the developent of the processor. The application (Kfl) is now part of the embedded Java benchmark.

[edit] Telealarm (TAL)

TAL is a remote tele control and data logging system. Communicating via modem or ethernet with a SCADA system or via SMS with a mobile phone. It is in used by EVN. An adapted version of the TAL is in use as a lift controler in a factory.

[edit] Lift

The TAL device is also in industrial usage as a lift controller.

[edit] Railway Communication Device

Another application of JOP is in a communication device with soft real-time properties - Austrian Railways' new security system for single-track lines. Each locomotive is equipped with a GPS receiver, a GPRS modem, and a communication device. JOP is the heart of the communication device in the locomotive.

[edit] Toy Applications

[edit] Webserver

Just for fun I implemented a little Web server on JOP. JOP is attached via an ethernet chip with a Linux box and from there to the Internet. The server is now up since March 2003.

[edit] Line Follower

A first start for an FPAG - LEGO Mindstorms interface and the simplest roboter one can think of. An exercise that kids solve in an hour. I needed a little bit longer because I had to solder some components, drill holes, write VHDL code and a few lines of Java ;-)

A small movie: linefollow.mov

[edit] Hobby

[edit] Port JOP to Spartan 3E starter Kit

Xilinx offers an evaluation board called the Spartan 3E starter kit. As of 2008-03-20, this board costs $150.00 USD. The board is considerably more capable than the older "Spartan 3 starter kit," which still costs the same. The only disadvantage of the newer board is The complexity of the RAM interface. Dan Clemmensen is attempting to port JOP to this board as a hobby project. You can track his progress at User:DanClemmensen/Current. The current goal is to Get the DDR memory interface running. Later goals are to get the Ethernet and other peripherals running. Progress is relatively slow since Dan only works on the project evenings and weekends. It appears that a full JOP with DDR will occupy less than 20% of the XCS500E FPGA before any attempt at optimization.

Personal tools