HM 2007
HM 2007
General Description:
HM2007 is a single chip CMOS voice recognition LSI circuit with the on-chip analog front end,
voice analysis, recognition process and system control functions. A 40 isolated word voice
recognition system can be composed of external microphone, keyboard, 64K SRAM and some
other components. An intelligent recognition system can be built when it is combined with the
microprocessor.
Features:
a) Power on
When the power is on, HM2007 will start its initialization process. If WAIT pin is “L”,
HM2007 will do the memory check to see whether the external 8K byte SRAM is perfect or
not.
If WAIT pin is “H”, HM2007 will skip the memory check process. After the initial process is
done, HM2007 will then move into recognition mode.
b) Recognition mode
i) WAIT pin “H”
In this mode, the RDY is set to low and HM2007 is ready to accept the voice input to be
recognized. When the voice input is detected, the RDY will return to high and HM2007
begins its recognition process. It is recommended that user train the word pattern before the
beginning of the recognition operation, otherwise the result will be unpredictable. After the
recognition process is completed, the result will appear on the D-bus with the pin DEN
active.
The below table shows the list of the output content. The data on the data bus is a decimal
code in binary format.
Note 1: A is the binary code in the range 0-4 and B is the binary code in the range 0 to 9.
Note 2: If WLEN is high, the maximum word length is 1.92 sec.
To clear or train the voice pattern, one must select the word number to process first. The
number of word is composed of two digits. The two digits are entered into HM2007 through
keypad one digit at a time. If more than two digits are entered, only the last two digits are
valid. When number key is pressed, the number of key will be echoed to the D-bus.
When the word key is entered, press the function key to choose the operation function. If
function key CLR is pressed, the corresponding word pattern will be cleared and then
HM2007 will return its recognition mode. If the function key TRN is pressed, HM2007 will
begin its training process. At the beginning of training process, if WAIT pin is “H”, HM2007
will send a low level signal to RDY to indicate that HM2007 is ready to accept the voice
input.
If WAIT pin is “L”, no voice input will be detected until WAIT pin back to “H”. After
available voice input to HM2007, HM2007 will return to its recognition mode and send a low
level signal to RDY to indicate that HM2007 is ready for voice input to do the recognition
process.
For example
2 4 TRN -> training the 24th pattern
0 1 CLR -> clearing the first pattern
1 3 2 6 TRN -> training the 26th pattern
d) Clear all pattern
If the number key 99 is entered and the CLR is pressed, all the patterns in the memory will be
cleared by HM2007.
The table given below is the summary of the CPU command. The command contains two
parts
1) The command code and
2) The number of the word to be processed if needed.
There are three registers in HM2007, one input buffer register, one status register and one
output buffer register. The first is a write-only register and the last two are read-only
registers. If S1 pin is high, the data read from the K-bus will come from the output buffer
register. If S1 pin is low, the data read from the K-bus will come from the status register. S2
and S2 are R/W control signals. If S2 is high, it is in a read cycle and the external controller
can read data from the K-bus. If S3 is high, it is in a write cycle and external controller can
write data into the input buffer. It should be noted that S2 and S3 cannot be high
simultaneously and the state of S1 will be ignored during a write cycle.
The status register reflect the current status of HM2007 for the CPU control mode.
a)Power on
When power is on, the chip will perform its initialization process, the same as manual mode and
then make the status register to be (10) to wait the external command.
b) Recognition
When HM2007 receives the command RECOG, the chip will begin its recognition process. The
external device can be polling the status flag to monitor the operation state of HM2007. When
the operation state is changed to (01) and WAIT pin is “L”, HM2007 will back to the operation
state (10) and then ready to receive another command. When the operation state is changed to
(01) and WAIT pin is “H”, it is ready to get voice input and then do the recognition process.
When the operation state is changed back to (10) again, then the recognition process is
completed and HM2007 is ready to get another command
c) Resulting
After recognition, the recognition result is ready in the buffer. The external device can send the
RESULT command to obtain the recognition result. When the data in the buffer has been read,
the operation state will be turned back (10) and waiting for another command.
When the RESULT command is sent, four continuous read actions must be done by the external
device to get the result sent by HM2007. The result contains two parts, each part needs two read
actions. The first part is the word number (B5-B0) and the second part is the matching score (V7-
V0).
The table below shows the output format of the result and the programming control flow chart.
d)Training pattern
When HM2007 receives the command code TRAIN, the chip needs two more words to specify
the number of pattern to be trained. The first word is the low 4 bit of the word number and the
second word is the high 2bits of the word number.
If the number of the pattern is valid and WAIT pin is “H”, HM2007 will begin its training
process for the corresponding word. If WAIT is “L”, HM2007 will skip the training process.
After the training process, the operation state will change back to (10) and wait for next
command.
e)Upload pattern
When HM2007 receives the command code UPLOAD, the chip needs two more words to
specify the number of pattern to be uploaded. The first word is the low 4 bits of the word number
and the second word is the high 2 bits of the word number.
In the uploading process, HM2007 will send the pattern length first in two words (low 4 bits
first, then high 4 bits) and then the data of the pattern frame by frame and each frame is consisted
of eight words (4 bits). It should be noted that when the external device get the data which is sent
by HM2007, it is the user responsibility to designate a memory space to save them, otherwise the
data will be lost and no use of this command.
f)Download pattern
The download pattern process is same as the upload pattern process except that the direction of
the data flow is reversed. After receiving the DOWNLOAD command and the word number,
HM2007 begin to read date from external device. The first two words of the data will be treated
as the pattern length and the following data will be stored as pattern frame by frame.
g)Reset
When Reset command is received by HM2007, the chip will clear all the patterns in the memory.