|SHDesigns: Embedded Systems Design, Consulting and Developer Resources||Page hits:|
The client wanted to integrate transcription with their dictation system into a PC environment. Remote transcription was expensive to use on long distance lines. They wanted a solution to download work at night when rates were low and then work locally during he day. Also wanted demographic information included in the job to be automatically integrated into their word processor.
As a former full-time employee, I had started this project. The hardware design was done by another engineer, but was architected by me and I provided sample schematics of my previous designs to use as a reference. The board is shown below:
This board contains an 80C188 processor and a Motorola DSP56000 processor. A dual-ported memory provided the interface to the PC.
My part of the development initially was to design the on-board software. I ended up writing some of the PC applications.
Because this board encompassed the functions of several other boards together, a lot of the software design was incorporated from previous boards. There was about 25% new software design and 25% had to be rewritten for the new hardware.
The board dials into the voice recorder and downloads the voice files. This is done via a proprietary modem algorithm that allows fast switching between voice and data modes (originally my design). The data (modem) mode is used to handshake with the remote system, download job information (demographics) and request voice playback. Once playback is started, the modem switches to voice mode and the audio is recorded locally. Later, these voice files are played back and the demographic information is exported to the users word processor.
The local processor handles messages from the PC and remote reorder. It also routed the voice data tot he PC for disk storage. Its software was written mostly in 'C', some assembly required for low-level or time-critical functions. The 80C188 ran a proprietary real-time executive that allowed preemptive-multitasking.
The DSP processor had many functions. It operated the software-implemented modem, detected and generated DTMF, compressed the audio using ADPCM or other formats, performed local playback. The DSP software was written entirely in assembler. It used a simple, multi-tasking algorithm to allow the two voice channels to operate simultaneously (local play/record and remote audio/modem.)
I also wrote a hidden Visual C++ PC application that operated as a file manager. This program basically allowed the card to read and write local files for voice playback and record.
The device driver was written by a third party. I provided him with a sample application that initialised the card and downloaded the code. He implemented the code as part of the driver.
I also wrote PC applications for debugging the card and setting up the telephone line parameters. These were written using Visual C++/MFC.
Total time for the project was about 10 months. I was active on the project about 40% of the time over that period. I worked on other projects while PCB's were build and other developers worked on the application software.
Note: I was awarded a patent for the design of an earlier version of this board, #5,519,808.