`
`Plantation, Fla.
`
`:
`
`EAA
`United States Patent
`[11] Patent Number:
`5,268,928
`Herhetal.
`[45] Date of Patent:
`Dec. 7, 1993
`—
`OO
`[54] DATA MODEN WITH REMOTE FIRMWARE
`5,131,025
`7/1992 Hamasaki ..........ccssssesssssee 375/8 X
`UPDATE
`OTHER PUBLICATIONS
`[75]
`Inventors: Ting Herh; Lungshan She, both of
`«nat
`Week, “Mod
`”
`:
`Milpitas, Calif; Adolfo J. Hidalgo,
`rovmunteationsI 31991 Moves”, by Judith
`,
`,
`.
`Primary Examiner—Curtis Kuntz
`[73] Assignee: Racal-Datacom,Inc., Sunrise, Fla.
`Assistant Examiner—Bryan E. Webster
`[21] Appl. No.: 776,969
`Attorney, Agent, or Firm—Jerry A. Miller; William A.
`[22] Filed:
`Oct. 15, 1991
`= ABSTRACT
`[S51] Unt, CS cceccscsseccseeees HO4L 5/16; H04B 1/33
`7]
`;
`j
`[52] U.S. Ch. eccceecccssstsssssesesssceesesssseeesens 375/8; 379/39
`A data modem is provided with a boot ROM having a
`[58] Field of Search .0.....0...cscssss. 375/8, 9, 7; 379/93,
`set of instructions for a programmable processor to
`364/134, 136, 13
`perform its basic functions within the modem. Enhance-
`ments and firmware updates are downloaded over a
`[56]
`References Cited
`telephoneline through the modem’s inherent communi-
`cations abilities and stored in a battery backed RAM.
`U.S. PATENT DOCUMENTS
`3,842,405 10/1974 Key et ale cscs 375/¢
`This permits firmware updates and enhancements to be
`4,841,561
`6/1989 Hill
`implemented remotely without need for replacementof
`375/8 X
`
`4,918,623 4/1990 Lockitt etal. 364/514|ROM oropening of the modem housing.
`
`4,956,852
`9/1990 HOdge ou...ccssecsssssccssscesetesesesece 375/8
`.
`.
`5,070,500 12/1991 Horinouchietal. oo... 375/8 X
`5 Claims, 2 Drawing Sheets
`
`
`
`Page | of 7
`
`:
`
`SAMSUNG EXHIBIT1016
`
`Page 1 of 7
`
`SAMSUNG EXHIBIT 1016
`
`
`
`U.S. Patent
`
`Dec. 7, 1993
`
`Sheet 1 of 2
`
`5,268,928
`
`42
`
`CONTROL
`DISPLAY
`PANEL
`
`BACK
`
`2
`
`EEPROM
`
`EMULATION
`
`MICROPROCESSOR
`
`TABare
`
`
`
`[j
`
`TELEFTONE
`IneeCE
`
`DTE
`INTERFACE
`
`FIG.1
`
`Page 2 of 7
`
`Page 2 of 7
`
`
`
`U.S. Patent
`
`Dec. 7, 1993
`
`Sheet 2 of 2
`
`5,268,928
`
`START 100
`
`FIG.2
`
`lee
`
`TIMER a,
`
`EXPIRED? mT
`
`DISCONNECT
`
`114
`128
`
`LINE
`DISCONNECT ?
`Y
`
` 140
`
`fi
`
`
`
`
` FBORT
`
`ERRORMessraceV!*4
`
`Page 3 of 7
`
`Page 3 of 7
`
`
`
`1
`
`5,268,928
`
`_ 5
`
`20
`
`DATA MODEN WITH REMOTE FIRMWARE
`UPDATE
`
`BACKGROUND
`
`1, Field of the Invention
`This invention relates generally to the field of data
`communications. More particularly, this invention re-
`lates to an improved data modem having the capability
`of receiving firmware updates whichalter the operation
`of the modemitself from a remote location.
`2. Background of the Invention
`Data modems have becomeiricreasingly more com-
`plex devices over the last several years. Such devices
`now frequently incorporate internal diagnostics, error
`correction, compression, remote network management
`functions and other advanced features. These features
`are most frequently implemented using a programmed
`computer internal to the modem. A good example of
`such a feature is data compression. As time goes on,
`better and better data compression algorithms are de-
`veloped which permit higher effective throughput over
`conventional telephonelines.
`In order to take advantage of advances in this tech-
`nology, theuser typically has to either purchase a new
`modem or have the hardware of his modem upgraded.
`The latter, normally requires that a program ROM
`(Read Only Memory) be replaced with an updated
`ROMbya service technician. This is obviously incon-
`venient and possibly expensive in a large network.
`It is known to utilize modems to communicate, for
`example, software upgrades and patches for software
`used on computers such as personal computers. The use
`of a modem to download code whichused internally to
`the modem to defineoralter the function of the modem
`is heretofore unknown.
`The present invention simplifies the process of up-
`grading the modem’s firmware by providing a mecha-
`nism to use the modem’s inherent communications ca-
`pabilities to transfer upgraded firmware.
`
`SUMMARYOF THE INVENTION
`It is an object of the present invention to provide an
`improve data modem.
`It is a feature that the present invention to provide the
`capability of upgrading a modem’s firmware remotely
`without disassembly of the modem.
`It is an advantage that the present invention permits
`firmware upgrades to be implemented faster and with
`less labor than required to manually replace the mo-
`dem’s ROM.
`These and other objects, advantages and features of
`the invention will become apparent to those skilled in
`the art upon consideration of the following description
`of the invention.
`In one embodiment of the present invention a data
`modem for transmitting and receiving data overa tele-
`phoneline, includes a programmable processorfor per-
`forming a modem function under control of a stored
`program. A boot memorystores a first set of instruc-
`tions for use by the processor,thefirst set of instructions
`being adequate to permit the modem to transmit and
`receive data over a telephoneline. The modem receives
`a second setof instructions over the telephone line from
`a remote location. An alterable memorystores the sec-
`ond set of instructions for use by the processor. The
`second set of instructions substitutes for at least a por-
`tion of the first set of instructions so that information
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 4 of 7
`
`2
`received by the modem over the telephonelinesis used
`to alter the manner in which the modem communicates
`over the telephonelines.
`In another aspect, a data modem for transmitting and
`receiving data overa telephoneline includes a program-
`mable processor for performing a modem function
`under control of a stored program. A boot memory
`Storesa first set of instructions for use by the processor,
`the first set of instructions being adequate to permit the
`modem to transmit and receive data over a telephone
`line as a CCITT V.32 compliant modem. The modem
`receives a second set of instructions over the telephone
`line from a remote location. The processor verifies that
`the second set of instructions are originating from an
`authorized source. An alterable memory stores the sec-
`ond set of instructions for use by the processor, the
`secondsetofinstructions substituting for at least a por-
`tion of the first set of instructions. A write control pre-
`vents corruption of the second set of instructions. A
`battery backup coupled to the alterable memory main-
`tains the information within the alterable memory when
`poweris removed from the modem.
`A method according to the invention for updating
`firmware in a data modem, includes the steps of: boot-
`ing up the modem’s internal processor from a ROM,the
`ROM having adequate information stored therein to
`permit the modem to perform at least basic modem
`communications functions; inspecting a download flag
`to determine whether or not the firmware is to be up-
`dated; if the firmware is not to be updated, entering a
`modeof normal modem operation;if the firmwareis to
`be updated, placing the data modem in autoanswer
`mode;receiving a call from a source modem; receiving
`a set of updated firmwareinstructions from the source
`modem;storing the set of updated firmwareinstructions
`in an alterable memory; performing an error check on
`the updated firmware instructions stored in the alterable
`memory; if the error check indicates that the instruc-
`tionsare valid, resetting the download flag; and booting
`the modem’s internal processor.
`A data modem is provided with a boot ROM having
`a set of instructions for a programmable processorto
`perform its basic functions within the modem. Enhance-
`ments and firmware updates are downloaded over a
`telephone line through the modem’s inherent communi-
`cationsabilities and stored in a battery backed RAM.
`This permits firmware updates and enhancements to be
`implemented remotely without need for replacement of
`ROM oropening of the modem housing.
`The features of the invention believed to be novel are
`set forth with particularity in the appended claims. The
`invention itself however, both as to organization and
`method ofoperation, together with further objects and
`advantages thereof, may be best understood by refer-
`enceto the following description taken in conjunction
`with the accompanying drawing.
`BRIEF DESCRIPTION OF THE DRAWING
`FIG.1 is a block diagram of a modem according to
`the present invention.
`.
`FIG.2 is a flow chart of the operation ofthe present
`invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Turning now to FIG. 1, a block diagram of a modem
`10 according to the present invention is shown. The
`
`Page 4 of 7
`
`
`
`3,268,928
`
`3
`details of much of the conventional modem hardware
`are omitted for clarity of the present invention. Most
`modern modemssuch as 10 include a microprocessor 14
`which may be used for any numberoffunctions within
`the modem. For example, the microprocessor 14 may
`perform digital filtering and signal processing, encod-
`ing, decoding,slicing, scrambling, error checking, error
`correction, data formatting, etc. Microprocessor 14
`mayalso be used to oversee and control the operation of
`various hardware such as the modem chip sets which
`are currently popular for implementation of standard
`modem operations.
`there may be multiple micro-
`In many modems,
`processors handling various aspects of the modem oper-
`ation. For example, one microprocessor may be used
`exclusively for signal processing, while another can
`Oversee and control operation of the modem along with
`implementation of data compression. Manysuchconfig-
`urationsare possible, the details of which are not impor-
`tant to the fundamentalinvention. For purposes ofthis
`description, microprocessor 14 is intended to represent
`one or many such microprocessors.
`Microprocessor 14 is coupled to memory 20 which is
`made up of ROM 22, working RAM (Random Access
`Memory) 24, and what will be referred to as emulation
`RAM 26. Emulation RAMis preferably backed up by a
`battery backup circuit 34 so that when the modem is
`disconnected from powerdue to powerfailure, storage
`or moving, its content is not lost. Battery backup cir-
`cuitry such as 34 preferably includesa lithium battery
`interfaced in a known manner to the emulation RAM
`26.
`As will become clearlater, the ability to write infor-
`mation to emulation RAM 26is controlled by the mi-
`croprocessor 14 via write control logic 38 which con-
`trols the write lines of the emulation RAM 26. The
`modemis operated via a control/display panel 42 which
`displays, prompts, menus, messages, etc. on a display
`and has switches required to respond to such prompts,
`menus, messages, etc. in a conventional manner.
`The modem 10 includes a data pump 44 which is
`conventionally connected to a telephoneline via a tele-
`phoneline interface 46 and to a DTE (Data Terminal
`Equipment)interface 48 for connection to a DTE such
`as a computer terminal.
`The modem 10 includesa set of instructionsstored in
`Boot ROM 22 whichare sufficient to Boot up the mi-
`croprocessor 14 and implement basic modem functions.
`In the preferred embodiment, Boot ROM 22is imple-
`mented as two banks of bank switched 64 K byte ROM,
`64 K of which can be used for Boot ROM program
`code. Boot ROM includes all of the firmware code
`necessary for basic hardwareinitialization and to imple-
`ment a complete CCITT V.32 compliant modem. In
`addition, Boot ROM 22 contains the code needed to
`perform basic diagnostics on Emulation RAM 26 (e.g.
`checksum) in order to assure the integrity of the code
`stored in Emulation RAM 26. Boot ROM 22 also stores
`the routines needed to download firmware upgrades to
`the modem 10 to be stored in Emulation RAM 26.
`Emulation RAM 26is used to store a set of operating
`programs for microprocessor 14 and mayacteither to
`augment the programs stored in Boot ROM 22 orto
`replace it. In the preferred embodiment, Emulation
`RAM 26 stores a complete replacement of the code
`stored in Boot ROM 22 andin addition stores any de-
`sired enhancementsto the basic V.32 operation along
`with diagnostics and the facilities to recognize that a
`
`65
`
`Page 5 of 7
`
`10
`
`20
`
`25
`
`30
`
`45
`
`4
`download of new firmwareis to be implemented.In the
`preferred embodiment, Emulation RAM 26 includes
`192 K bytes of paged random access memory.
`Turning now to FIG.2, a flow chart ofthe overall
`operation of the modem 10 is shown. The program
`starts at 100 and a hard reset of the microprocessor 14
`takes place at 102. The hard reset causes the micro-
`processor 14 to boot up from Boot ROM 22. A down-
`load flag, whichis stored in an EPROM 23 (X2404p) in
`the preferred embodiment,
`indicates to the modem
`whetheror not to expect a download of new firmware.
`If this flag is set at 106, a download timerisinitiated at
`110. The downloadtimeris used as a protection mecha-
`nism to assure that
`the download operation begins
`within a predetermined period oftime. In the preferred
`embodiment, the timer is 30 minutes.
`The routine then waits for a ring at 114 while moni-
`toring the timer at 118. If the timer expires at 118 before
`a ring at 114, the download flag is cleared at 122 and
`control returns to 102. If a ring is received at 114 prior
`to the timer expiring,a verification routine is entered at
`128. In this routine, several items are checked to assure
`the integrity of the download. The ID ofthe caller is
`verified and the date of the download codeis compared
`with that of the code already stored in Emulation RAM
`26. If the ID is incorrect or the date is the same as stored
`in Emulation RAM 26,the verification fails and the line
`is disconnected at 130. Control then returns to Step 118
`so that the loop which waits for a ring continues.
`If the verification passes at 128, the download process
`beginsat 134. In the download process, a complete new
`set of code to be stored in Emulation RAM 26is trans-
`mitted from a remote modem tothe present modem 10.
`Write control logic 38 permits the new code to replace
`that which was previously stored in Emulation RAM
`26.
`The download process is monitored by an inactivity
`timer, whichis started at the beginning of the download
`process, and a line-disconnect detection process. In the
`preferred embodiment, the inactivity timer is 120 sec-
`onds.In steps 136, 138 and 140, the status of the down-
`load is monitored andif the inactivity timer expires or
`the line is disconnected prior to completion of the
`download, the downloadis presumed to be invalid. At
`this point, an error message is generated at 144 and
`control passes to step 130.
`If the downloadis completed at step 136, the check-
`sum is tested at step 150. If the checksum of the new
`codeis invalid at 150, an error message is generated at
`144 and controlreturns to 130. If the checksum is valid
`at 150, the download flag is cleared at 122 and the
`modem resets at 102.
`After a hard reset at 102, if the download flag is not
`set at 106, the validity of the Emulation RAM’s internal
`. checksum is verified at 152 to assure that the codein the
`Emulation RAM 126 is valid. If the checksum is not
`valid at 156, the modem 10 continues to operate as a
`basic V.32 modem according to the program stored in
`the Boot ROM 22 at 158 and proceeds to normal
`modem operation at 162. If a download is ordered at
`166, normal modem operation is interrupted and the
`downloadflag is step at 170. A hard reset is then initi-
`ated at 102 to begin the previously described download
`process.
`If the test of the Emulation RAM checksum at 152
`indicates that the checksum is valid, the modem con-
`verts to operation under control of the Emulation RAM
`26 at 172. The modem then operates as a normal modem
`
`Page 5 of 7
`
`
`
`5
`at 176 under control of the Emulation RAM firmware
`until such point as poweris lost or download is ordered
`at 180. If a download is ordered, the downloadflag is
`set at 182 and control returns to 102.
`In the preferred embodiment, the modem 10 actually
`uses three microprocessors. The first two processors
`share the remaining duties of the modem and shares
`access to memory 20 via a bidirectional latch. The two
`processors work together and often share duties to im-
`plement the bulk of the modem operation. In general,
`the first microprocessor is an Intel 8031 processor
`which is primarily responsible for sending commands
`and receiving status from the second processor,general
`control
`tasks,
`task scheduling, control/display panel
`Operations, control of the data pump, transmitting dial-
`ing functionsto the data pump, requesting downloading
`from remote location, handling download flag, ring
`processing, disconnecting and converting to RAM
`mode upon receipt of a token from the second micro-
`processor.
`The second microprocessor is an Intel 8032 whose
`functions are to initialize the modem’s serial communi-
`cations controller, pass data to and from the data pump
`and DCEport, load Emulation RAM with newcode,
`perform data compression (e.g. MNP), processing of
`the AT command set, download timers, verification
`(step 128 of FIG. 2), checksum, error processing, pro-
`cess DTE data, dialing stream, speed matching, and
`RTS-DCDsimulation.
`Instruments
`a Texas
`The third microprocessor,
`TMS320C25 signal processing microprocessor, is used
`to implement the modem’s data pump functions and
`does not directly access the memory 20.
`In the preferred embodiment, the Emulation RAM is
`write protected by using a directional buffer on its data
`bus to prevent the first microprocessor from corrupting
`it. Thus, the first microprocessor considers the Emula-
`tion RAM to be Read Only. The second microproces-
`sor depends uponthe write line being pulled high on the
`Emulation RAM for write protection.
`Thosesilled in the art will recognize many variations
`of the present
`invention which can be implemented
`without departing from the invention. For example, the
`code downloaded to the Emulation RAM canbe used
`merely to supplement the code stored in Boot ROM.
`Manyvariations of the sequence of program steps can
`be made and other techniques can be used for verifica-
`tion of the download.
`Thus it is apparent that in accordance with the pres-
`ent invention, an apparatusthat fully satisfies the objec-
`tives, aims and advantagesis set forth above. While the
`invention has been described in conjunction with spe-
`cific embodiments, it is evident that many alternatives,
`modifications, permutations and variations will become
`apparent to thoseskilled in the art in light of the forego-
`ing description. Accordingly,
`it is intended that the
`present invention embrace all such alternatives, modifi-
`cations and variations as fall within the scope of the
`appended claims.
`Whatis claimedis:
`1. A data modem for transmitting and receiving data
`over a telephone line, comprising in combination:
`a programmable processor for performing a modem
`function under control of a stored program;
`boot memory meansfor storing a first set of comput-
`er-executableinstructions for use by said processor,
`said first set of computable-executable instructions
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`30
`
`55
`
`65
`
`5,268,928
`
`6
`being adequate to permit said modem to transmit
`and receive data over-a telephoneline;
`means for receiving a second set of computable-
`executable instructions over said telephone line
`from a remote location;
`alterable memory meansfor storing said secondset of
`computer-executable instructions for use by said
`processor, said second set of computer-executable
`instructions substituting for at least a portion of
`said first set of computable-executable instructions;
`battery backup means coupled to said alterable mem-
`ory means for maintaining the information within
`said alterable memory means when poweris re-
`moved from said modem; and
`write control meansfor preventing corruptionofsaid
`second set of computer-executable instructions,
`whereby,
`information received by said modem over
`said telephonelines is used to alter the manner in which
`said modem communicates over said telephonelines.
`2. A method for updating computer-executable firm-
`ware in a data modem, comprising the steps of:
`booting up said modem’s internal processor from a
`ROM,said ROM having adequate information
`stored therein to permit said modem to perform at
`least basic modem data communications functions;
`inspecting a download flag to determine whether or
`not said computer-executable firmware is to be
`updated;
`if said computer-executable firmware is not to be
`updated, entering a mode of normal modem opera-
`tion;
`if said computer-executable firmware is to be up-
`dated, placing said data modem in autoanswer
`mode;
`receiving a call from a source modem;
`receiving a set of updated computer-executable firm-
`wareinstructions from said source modem;
`storing said set of updated computer-executable firm-
`ware instructions in an alterable memory;
`performing an error check on said updated computer-
`executable firmware instructions stored in said
`alterable memory;
`if said error check indicates that said updated com-
`puter-executable firmware instructions are valid,
`resetting said download flag; and
`booting said modem’s internal processor.
`3. A data modem for transmitting and receiving data
`over a telephoneline, comprising in combination:
`a programmable processor for performing a modem
`function under controlof a stored program;
`boot memory meansfor storinga first set of comput-
`er-executable instructions for use by said processor,
`said first set of computable-executable instructions
`being adequate to permit said modem to transmit
`and receive data over a telephoneline;
`means for receiving a second set of computable-
`executable instructions over said telephone line
`from a remote location;
`alterable memory meansfor storing said second set of
`computer-executable instructions for use by said
`processor, said second set of computer-executable
`instructions substituting for at least a portion of
`said first set of computable-executable instructions;
`battery backup means coupledto said alterable mem-
`ory means for maintaining the information within
`said alterable memory means when poweris re-
`moved from said modem; and
`
`Page 6 of 7
`
`Page 6 of 7
`
`
`
`5,268,928
`
`7
`meansfor verifying that said second set of computer-
`executable.
`instructions are originating from an
`authorized source,
`whereby,
`information received by said modem over
`said telephonelinesis used to later the manner in which
`said modem communicates over said telephonelines.
`4. A data modem for transmitting and receiving data
`overa telephone line, comprising in combination:
`a programmable processor for performing a modem
`function under control of a stored program;
`boot memory meansfor storing a first set of comput-
`er-executable instructionsfor use by said processor,
`said first set of computable-executable instructions
`being adequate to permit said modem to transmit
`and receive data over a telephoneline;
`means for receiving a second set of computable-
`executable instructions over said telephone line
`from a remote location;
`alterable memory meansfor storing said second set of
`computer-executable instructions for use by said
`processor, said second set of computer-executable
`instructions substituting for at
`least a portion of
`said first set of computable-executable instructions;
`battery backup meanscoupledto said alterable mem-
`ory means for maintaining the information within
`said alterable memory means when poweris re-
`moved from said modem;
`timing means for timing the amountof time required
`to receive said second set of computer-executable
`instructions; and
`means for comparing said time with a predetermined
`maximum to determine if said second set of com-
`puter-executable instructions is valid,
`
`8
`information received by said modem over
`whereby,
`said telephonelinesis used to alter the manner in which
`said modem communicates over said telephone lines.
`5. A data modemfor transmitting and receiving data
`over a telephone line, comprising in combination:
`a programmable processor for performing a modem
`function under control of a stored program;
`boot memory meansforstoring a first set of comput-
`er-executable instructionsfor use by said processor,
`said first set of computable-executable instructions
`being adequate to permit said modem to transmit
`and receive data over a telephoneline;
`means for receiving a second set of computable-
`executable instructions over said telephone line
`from a remote location;
`alterable memory meansfor storing said secondset of
`computer-executable instructions for use by said
`processor, said second set of computer-executable
`instructions substituting for at least a portion of
`said first set of computable-executable instructions;
`battery backup means coupled to said alterable mem-
`ory means for maintaining the information within
`said alterable memory means when poweris re-
`moved from said modem;
`said boot memory meansincludes a set of computer-
`executable instructions which perform a checksum
`comparison on said second set of computer-execu-
`table instructions; and
`means for disregarding said second set of computer-
`executable instructions if said checksum compari-
`son indicates that said secondset of instructionsis
`invalid,
`whereby,
`information received by said modem over
`said telephonelinesis used to alter the manner in which
`said modem communicates oversaid telephonelines.
`*
`*
`*
`*
`*
`
`10
`
`20
`
`25
`
`30
`
`35
`
`45
`
`30
`
`35
`
`65
`
`Page 7 of 7
`
`Page 7 of 7
`
`