SMART VOICE CARD SYSTEM
The present invention relates generally to memory-based systems for recording and playing voice messages and, particularly, to voice storage and playback devices that make use of portable modules.
BACKGROUND OF THE INVENTION
Short voice messages can be stored in a read only memory (ROM) in a variety of ways. Traditionally, the bits of a voice message are burned into a ROM at production time. Such systems enable multiple copies of the message to be created in a short period of time but are not conducive to the recording of a personalized message on the ROM. The stored message can only be played back by mounting the ROM within an output circuit that provides power and control signals to the ROM and converts the digital signals from the ROM to analog signals that can be output to a speaker or other output device.
The availability of inexpensive electronically programmable read only memories (EPROMs) made possible voice recording systems that could accept a personalized message. It is well known that an EPROM can be programmed after it has been packaged by the application of specific programming voltages to terminals of its cells. In an EPROM, the programming voltages are substantially different from operational voltages such that, when programming voltages are applied to a particular cell, that cell's threshold is permanently altered. For example, a very high positive
voltage VPP (typically 12 volts or higher) is coupled to the gate of a memory cell to be programmed. The high gate voltage, in combination with appropriate source and drain voltages (set to ground and VCC levels, respectively), cause negative charges to be stored on the cell's insulated, floating gate. Programming prevents a cell from turning on in response to a normal cell input voltage. The failure of the EPROM to turn on is detected as a particular stored value by the EPROM's output circuitry. Once programmed, an EPROM cannot be electronically erased.
Many systems have been devised that use EPROMS to store a personalized greeting. These systems fall into one of two categories exemplified by the Greeting Card with Electronic Sound Recording (U.S. Patent No. 5,063,698) and the Digital Recording and Playback Module System (U.S. Patent No. 5,043,327). These systems lack proper modularity for mass distribution of voice messages and/or fail to provide easy, non-expert programming of voice messages for point of purchase applications.
SUMMARY OF THE INVENTION
The present invention is a smart card system that includes a card with a voice ROM for storing voice messages or other data and a slot for holding and powering the card, recording the messages on the card ROM and/or playing back the stored messages. The card is portable and includes a connector that enables the voice ROM inputs and outputs to be coupled to compatible slots. The voice ROM can incorporate any type of EPROM (a memory that can be programmed after wafer fabrication, one or many times) or, when appropriate, a mask ROM (a memory that is programmed in the wafer fabrication process).
A preferred embodiment of the card has the form factor of a credit card and includes a cavity in which the voice ROM is inserted. A thin connector flush
with the surface of the card corresponds to contacts provided by the slot that enable the slot to control the card.
In a preferred embodiment of the smart card system, the slot controls both the storage and playback of voice messages. This particular embodiment is well- suited to point-of-purchase applications, such as at a greeting card store, where, for example, a customer can record a message on a card using the store's slot/recorder and then verify the stored message using the slot's playback feature. The programmed card can then be inserted into a greeting card, wrapping paper, or a letter for subsequent playback.
The subsequent playback can be performed by another preferred embodiment of a slot, which only plays back messages previously stored on the card. This embodiment is useful in trading or greeting card applications. For example, a simple playback slot can be provided in the greeting card that receives the previously recorded card and plays back the message at an appropriate time; e.g., when the card is opened. This slot embodiment is also well-suited to playing messages from or reading out data for an athlete or celebrity who is pictured on the card, which doubles in this example as a trading card.
In a final system embodiment, the slot is simply a connector between the card and a personal computer (PC) that controls all card operations. This embodiment enables the card to be programmed using all of the computing power of the PC. For example, the PC might digitize and filter the message to be recorded, append a digital signature to identify the speaker and then issue the appropriate signals to the connector to direct the card to store the resulting message.
BRIEF DESCRIPTION OF THE DRAWINGS
Additional features of the invention will be more readily apparent from the following detailed description and appended claims when taken in conjunction with the drawings, in which:
Figure 1 pictorially depicts the relationship between a smart voice card and a compatible slot implemented as a reader/playback unit for the smart voice card;
Figure 2 depicts the construction of a preferred embodiment of the smart voice card;
Figure 3A is a block diagram of a smart voice card system wherein the slot is simply a connector between a personal computer and the card;
Figure 3B is a block diagram of a smart voice card system wherein the slot controls recording on and playback from the smart voice card;
Figure 3C is a block diagram of a smart voice card system wherein the slot only reads messages stored on the smart voice card;
Figure 4 is a block diagram showing details of a preferred embodiment of the system of Figure 3B when the card 202 is in a programming mode; and
Figure 5 is a block diagram showing signal connections for the system of Figure 4 when the card 202 is in a normal operational mode.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to Figure 1, there is shown a pictorial view of a representative embodiment of the present invention. This embodiment consists of a smart voice card 102 designed to mate with a slot 104 that reads a voice message stored on the voice card 102. In other embodiments, described in reference to Figure 3, the voice card can also be programmed by the slot 104. The voice card 102 includes a voice ROM (FIG.2) and contacts 106 that enable the slot 104 to supply power and control signals to the voice ROM. Through the contacts 106, the slot 104 controls at least a subset of voice card 102 Input (i.e., record/copy) and output (play/read) functions. For example, given a voice card 102 with a previously recorded message, the slot 104 can initiate playback of the message and amplify the voice message signal so that it can drive a speaker. If the slot 104 has recording capabilities, the slot 104 can digitize a voice message and store the digitized message on the voice ROM via the contacts 106.
In the embodiment of Figure 1, the smart voice card 102 resembles a credit card that is inserted into a conforming slot 104. However, the present invention is more generally applicable to any portable voice module system wherein a voice message can be stored on a voice ROM mounted on a portable module that provides a standard arrangement of contacts that enable compatible interface devices to access and or control the voice ROM. Because the voice card 102 does not need to provide input and output functions (these are provided by the slot 104), its form factor can be reduced for greatly enhanced portability, the only limit being the size and thickness of the voice ROM. This is not the case with prior art systems that package a speaker, battery and memory module in a playback module. Moreover, the integration of the card 102 and the contacts 106 mean that it is extremely simple to removably mount the card 102 within a compatible slot 104 for playback and/or recording. This is in marked contrast to prior art systems where a message is stored directly on a naked ROM or EPROM in a
recording station and then permanently or semi-permanently mounted using a multi-step procedure in separate playback circuitry.
Referring to Figure 2, there is shown a diagram illustrating the construction of a preferred embodiment of a smart voice card 102 that includes a substrate 112, a voice ROM 118 and a printed circuit board 116 on the opposite of which are the gold-plated contacts 106 (FIG. 1). In this embodiment, the smart voice card substrate 112 has the form factor of a credit card (approximately 85.7mm x 54mm) and includes a pocket space 114 suitable to receive the printed circuit board 116 on which the voice ROM 118 is mounted. At least a subset of the contacts 106 are coupled to the input and output terminals of the voice ROM 118, enabling the slot 104 (FIG. 1) to control the voice ROM 118.
Referring to Figures 3A-3C, there are shown schematic diagrams of three preferred embodiments of the present invention. In the embodiment of Figure 3A, the slot 204 simply couples the smart voice card 202 to a personal computer (PC) that, among other things is coupled to audio output devices and audio sources 208. The PC can issue commands and data 207 to the slot 204 that the slot uses to program the card 202. The data 207 can include a voice message sampled from the audio source 208 or any other kind of data that can be stored on the card 202. When one of the commands 207 is a playback (or read command), the slot 204 causes the card 202 to output its stored information, which the slot relays back to the PC 206 as the output data 205. The personal computer 206 can simply output the returned data 205 via the audio output 208 or process it in a variety of ways.
The embodiment of Figure 3B represents a stand-alone recorder/player station that might be used for point of sale applications. In this embodiment, an audio source 222 (for example a person speaking into a microphone) provides a message 223, which the slot 220 digitizes and stores onto the card 202. The slot 220 can trigger the card 202 to output the stored message,
which the slot 220 transforms to an amplified, analog signal 221 that can drive an audio output device 224, such as a speaker.
Figure 3C represents an embodiment wherein a message is stored on the card 202 by a separate recording station and the slot 240 is used solely to playback the message. As in the embodiment of Figure 3B, the slot 240 retrieves the stored message from the card 202 and transforms it to an amplified, analog signal 241 that is used to drive the audio output device 224. Because the slot 240 need only have playback capabilities, it can be implemented simply and at low cost. For the same reason, the memory on the card 202 can be a mask ROM as well as any type of EPROM. Several applications can be envisioned for this embodiment. For example, the card 202 can be a trading card printed on one or both sides with images of and/or information about a celebrity or team. A message about or from the celebrity or team can be stored on the card 202. One can envision this embodiment being used for sports cards, where the message stored on a card is from the star pictured thereon. This embodiment would also be well-suited for depicting pop music stars along with snippets of their hits.
Referring to Figure 4, there is shown a block diagram of a preferred embodiment of the system of Figure 3B. The system shown in Figure 4 includes a voice card 202 and a slot 220 that controls the card. The card 202 and the slot 220 communicate by exchanging signals 313, 333 over compatible connectors 312, 332 when the card is mounted within the slot. The card 202 is capable of operating in a normal mode or a programming mode. When in the programming mode, the card 202 can store a voice message copied to it by the slot 220 and can read the stored message back to the slot 220 for verification and/or playback. When in the normal mode, the card 202 uses its own integrated audio decoding and output circuitry to generate output signals able to drive external, digital or analog output devices. In either mode, all power to the card 202 is supplied by the slot 220 via the connectors 312, 332.
ln typical operation, a single card 202 is exercised in its various modes by different respective slots. For example, if the card 202 is being programmed at the point of purchase for insertion into a greeting card, the slot at the point of purchase will typically be configured to operate the card only in its programming mode (i.e., to store a message on the card and to verify the stored message). The programmed card 202 is then inserted into a playback slot (FIG. 3C) within the greeting card. Typically, the playback slot is a simplified version of the programming slot that is only able to operate the card 202 in its normal mode. Then, as required, the playback slot simply triggers the card 202 to play its stored message through the card's own output circuitry and a speaker typically provided by the slot. In the preferred embodiment, the slot 220 incorporates an ISSI IS22VP002 stand alone programmer board and the card 220 incorporates an ISSI IS22C011 voice ROM chip.
The slot 220 includes an analog to digital converter (A/D) 304 that is coupled to an analog sound source 290 (i.e., a microphone). The A/D 304 is connected to a microcontroller 306 and an on-board random access memory (RAM) 310. The microcontroller 306 is coupled to the on-board memory 310, a connector 312, a control panel 314 and a digital to analog converter (D/A) 308 that drives a speaker 320. The user operates the slot 220 by indicating a mode 315 on the control panel 314. The modes 315 include record (REC), play (PLAY), COPY and READ. The microcontroller 306, in response to modes 315, coordinates the operations of the other blocks of the slot 220 and the card 202 (via the connectors 312, 332).
The user selects the REC mode when they wish to record a message from the sound source 290 onto the on-board RAM 310. After the READ mode is selected, the microcontroller 306 causes the A/D 304 to digitize the analog signal 291 from the sound source 290 and the on-board memory 310 to store the digital samples. The user replays the message stored in the RAM 310 by selecting the PLAY mode, upon which the microcontroller 306 reads out digital sound signals 311 from RAM 310 and provides an appropriately timed output
data stream 313 to the D/A 308. The D/A 308 converts the digital signals 313 to amplified, analog signals 309 that are played by the speaker 320. The PLAY mode therefore enables a user to verify their message.
When the COPY mode is selected, the microcontroller 306 places the card 202 in programming mode and issues signals 313 to the card 202 through the connectors 312, 332 that cause the message stored on the RAM 310 to be stored on the card 202. When the READ mode is selected, the microcontroller 306 again places the card 202 in programming mode and issues signals 313 to the card 202 through the connectors 312, 332 that cause the message to be read out from the card and transferred to the microcontroller 306 as signals 333 via the same connectors 312, 332. The microcontroller 306 then outputs the message via the D/A 308 and the speaker 320 as in the PLAY mode, which enables the correctness of the message stored on the card 202 to be verified.
The signals 333, 313 exchanged between the slot 220 and the card 202 include VPP, VCC, GND, SBT, IRP, OSC, LED2 and STP/BSY signals. How these signals are used by the card 202 and the slot 220 depends on whether the microcontroller 306 via the connectors 312, 332 has placed the card 202 in the programming mode or in the normal mode. The operation of the card's components are now described in reference to Figure 4 for the programming mode (i.e., where the slot 220 is executing a COPY or a READ operation on the card 202). The operation of the card's components in normal output mode are described in reference to Figure 5.
The card 202 includes connectors 332 and 332', a control logic/clock generator 334 (ROM controller), a LED Driver 336, an electronically programmable ROM (EPROM) 338, an address sequencer 340, a noise reduction filter 342, an ADPCM decoder 344, a digital to analog converter (D/A) 346 and a buzzer buffer 348. In the preferred embodiment, the connectors 332, 332' are integrated, as in the connector 106 shown in FIG. 1. The other components 334-348 compose the voice ROM 118 (FIG. 2), on
which the message is stored. The preferred voice ROM 118 (i.e., the ISSI IS22C011) is capable of storing an 8 to 12 second message.
The connector 332' couples output audio signals from the card 202 to external output devices, such as a speaker 340 and a buzzer 342. These output devices, the ROM controller 334 and the card's output circuitry (blocks 342- 348) are only used when the card 202 is operating in normal mode. Discussion of these elements is described below in reference to Figure 5.
The connector 332 routes signals 313, 333 between the microcontroller 306 and various components of the card 202. Rather than showing all of the connections between the connector 312 and the card components, Figure 4 shows only those connections that are active when the card 202 is in the programming mode (i.e., enabled for a COPY or a READ). The only blocks of the card 202 that come into play in the programming mode are the ROM controller 334, the EPROM 338 and the address sequencer 340.
The connector 332 couples the VCC, GND, VPP, SBT, IRP and STP signals to the EPROM 338. These signals are used by the microcontroller 306 to control the COPY and READ operations. Also coupled to the EPROM 338 is the LED2 signal, which is a bidirectional signal that serves as a single-bit input output (I/O) between the EPROM 338 and the microcontroller 306. The OSC signal, which serves as an address clock for programming operations, is coupled by the connector 313 to the ROM controller 334, which routes the OSC signal to the address sequencer 340. In response to the OSC signal, the address sequencer 340 generates sequential memory addresses 341 for the COPY and READ operations.
The microcontroller 306 initiates a COPY operation by driving the VPP signal to a positive, high voltage level (approximately 12 volts), which enables the card programming mode, and asserting the STP signal, which places the EPROM 338 in write mode. Throughout the COPY operation, the microcontroller 306 supplies VCC and GND power signals at levels (e.g., VCC
= 5V and GND = ground) necessary to enable proper operation of the slot's components. When it is ready to start sending data to the EPROM 338 the microcontroller 306 provides an address clock to the address sequencer 340 through the ROM controller 334 using the OSC signal. Upon receiving the first pulse of the OSC signal, the address sequencer 340 resets the memory address 341 to 0000 (binary). For each subsequent pulse of the OSC signal, the address sequencer 340 increments the address 341 by one. In this way, EPROM memory locations (each of which consists of 8 bits of data) are accessed in order, one by one. At the beginning of a copy operation the microcontroller 306 also asserts the SBT signal, which tells the EPROM 338 that data is ready. The SBT signal is kept high as long as the COPY operation is in progress.
During a COPY or READ operation the microcontroller 306 and the EPROM 338 exchange data using only the single-bit LED2 signal. Data operations are synchronized by the IRP signal generated by the microcontroller 306, which is employed as data clock that makes one period in conjunction with each new bit of voice data placed on the LED2 line. Because each location in the EPROM 338 stores eight bits of data, the IRP signal pulses occur at eight times the rate of the OSC signal pulses. I.e., for each address generated by the sequencer 340, the eight bits of data stored at the addressed location are individually accessed by the EPROM 338. In particular, for a COPY operation, the microcontroller 306 provides one bit of voice data using the LED2 signal and then issues an IRP pulse, upon which the EPROM latches that data bit into the appropriate memory bit location. The COPY operation continues as long as the SBT and STP signals remain high and the VPP signal remains at the positive, high voltage level.
The microcontroller 306 initiates a READ operation by driving the VPP signal to the positive, high voltage level, which places the EPROM 338 in programming mode and holding the STP signal low, which places the EPROM in read mode. When it is ready to receive data, the microcontroller 306 asserts the SBT signal and, as in the COPY operation, issues the OSC and
IRP clock signals. Following each IRP pulse, the EPROM 338 outputs the next un-read bit from the memory location indicated by the current address 341 from the address sequencer 340.
Descriptions of the signals 313, 333 as used in the COPY and READ operations are provided in Table 1. The names of these signals correspond to respective pin names of the ISSI IS22C011 voice ROM, which, in the preferred embodiment, is the semiconductor memory 118 (FIG. 2) to which these signals are ultimately coupled.
TABLE 1
Referring to Figure 5, there is shown a depiction of the embodiment Figure 4 that highlights active signal connections between the connector 332 and the card components when the card 202 is in its normal operational mode. The slot 220 is also depicted with an OUTPUT switch 316 that enables a user to trigger the card 202 to play its stored message via the external speaker 340 or buzzer 342, a light emitting diode (LED) 318 and a resistor 320. As described
above, the slot used to play the stored message in the normal mode is typically not the same slot that recorded the stored message. Consequently, the OUTPUT switch 316 can be provided on any slot that is used for normal playback.
The same signals used in the programming mode (VCC, GND, VPP, SBT, IRP, OSC..LED2, STP/BUSY) are coupled between the connectors 312, 332 in the normal mode. However, these signals are used differently in the normal mode. In particular, the SBT, IRP and OSC signals are now coupled to the ROM controller 334, which controls the normal operations of the card 202 in response to these signals. Control signals employed by the ROM controller 334 are shown in Figure 5 using dashed lines. The LED2 and STP signals become output-only signals that are optionally provided by the LED driver 336. The VCC, GND and VPP signals are still coupled to the EPROM 338 and to other card circuitry to provide the necessary power levels.
In normal playback mode, it is assumed that the slot 220 does not have the capabilities to support the card 202 as in the programming mode. This is because the card message could be played by a very simple, playback-only slot described in reference to Figure 3C. Consequently, most of the normal playback functions are provided by the voice ROM circuitry within the card 202. The slot 220 need only provide a playback start pulse, rudimentary control signals and power signals (recall that the card 220 does not have a power supply).
Following activation of the OUTPUT switch 316, the microcontroller 306 initiates a normal playback operation by holding the VPP signal low (i.e., to the VCC level or lower), which places the card 202 circuitry in normal mode, and asserting the SBT signal. Subsequently, the microcontroller 306 couples the OSC pin of the connector 332 to the slot resistor 320 that determines the frequency of an EPROM address clock signal (CLK) generated by the ROM controller 334. The size of the resistor 320 can be varied to achieve different CLK signal frequencies. The CLK signal is coupled to the address sequencer
340, which increments the EPROM address 341 for every CLK signal pulse. As in the programming mode, upon receiving the first CLK pulse the address sequencer 340 sets the address 341 to 0000. The OUTPUT operation continues until all of the stored data in the EPROM have been output, at which time the LED driver 336 outputs a STP (stop) signal pulse to the microcontroller 306.
Unlike in the programming mode, where the slot 220 and card 202 exchange data via the single-bit I/O signal LED2, in normal OUTPUT mode data 339 is read out of the EPROM 338 one word at a time. Therefore, there is no need to provide a data clock for clocking the individual bits stored at one EPROM location.
Under control of the ROM controller 334, each 8-bit word read 339 read out of the EPROM is processed by the card output circuitry (components 344, 342, 346, 348) into an audio output signal that can be played by a speaker 340 or a buzzer 342. In the preferred embodiment, the vocal data stored in the RAM 310 and copied to the EPROM 338 is compressed, ADPCM data. ADPCM data is generated by an ADPCM compression process that converts 8-bit, uncompressed audio data to 4-bit ADPCM data. Consequently, each 8-bit word 339 read out of the EPROM 338 represents two compressed audio samples. Each audio sample 339 is coupled to the ADPCM decoder 344, which decompresses the ADPCM data and outputs the decompressed data 345 to the noise reduction filter 342. After noise reduction, the resulting digital audio data 343 is converted to an analog signal COUT suitable for driving a speaker 340 by the D/A 346. Alternatively, the digital audio data 343 is collected in the buzzer buffer 348 and output as voltage signals V1 and V2 that can be used directly to drive the buzzer 342. The COUT, V1 and V2 signals are provided to their respective output devices via the connector 332'.
Note that, when a particular card 202 is not intended to be end-user programmable, the LED2 signal can be connected to the LED driver 336. Then, as normal playback proceeds, the LED driver 336 activates the LED2
signal at a predetermined frequency to indicate that the EPROM 338 is active. The LED2 signal can be coupled via the connectors 312, 332 to the LED 318, which flashes in response to LED2 signal pulses. When the card 202 needs to be programmable, the LED2 signal must be disconnected from the LED driver to enable the LED2 signal to be employed as the single-bit I/O between the EPROM 338 and the microcontroller 306.
When normal playback is complete, the LED driver 336 issues a STP (stop) signal pulse to the slot 220. At any time, the microcontroller 306 can stop playback by sending an IRP signal pulse.
Summary descriptions of the signals for NORMAL card operation are provided in Table 2.
TABLE 2
While the present invention has been described with reference to a few specific embodiments, the description is illustrative of the invention and is not
to be construed as limiting the invention. Various modifications may occur to those skilled in the art without departing from the true spirit and scope of the invention as defined by the appended claims. For example, the voice ROM depicted in the preferred embodiments can incorporate any type of EPROM or, where appropriate, a mask ROM. Also, the voice ROM can incorporate varying amounts of support circuitry for the memory integrated therein.