US20050132245A1 - Data modem - Google Patents
Data modem Download PDFInfo
- Publication number
- US20050132245A1 US20050132245A1 US11/010,449 US1044904A US2005132245A1 US 20050132245 A1 US20050132245 A1 US 20050132245A1 US 1044904 A US1044904 A US 1044904A US 2005132245 A1 US2005132245 A1 US 2005132245A1
- Authority
- US
- United States
- Prior art keywords
- cpm
- reset
- idm
- dsp
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
- H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
- H04M11/066—Telephone sets adapted for data transmision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Definitions
- the present invention relates to a communication system in general, and more particularly a system and method for a data modem capable of passing data between dissimilar communication platforms.
- a SEAD mission may include creating penetration corridors through enemy air defenses using a combination of electronic and physical attack of enemy radars and missiles sites.
- a CAS mission may include air action against hostile targets which are in close proximity to friendly forces and which require detailed integration of each air mission with the fire and movement of those forces, or action against targets or objectives sufficiently near the supported force as to require detailed integration or coordination of the supporting unit.
- a FAC mission may include providing timely target data to fighters, preventing fratricide and assisting commanders to see the battlefield from anywhere on the battlefield.
- the data modem presents a multi-path approach to situational awareness in a tactical environment.
- Such multi-path approach takes into consideration interfacing and integrating communication apparatuses that use 10/100 Base-T Ethernet (e.g. Tactical Internet), MIL-STD-1553B communication port, Universal Serial Bus (USB), Synchronous Data Link Control (SDLC), serial ports (e.g. RS-232, RS-422, and RS-423), combat Net Radios (CNR), Enhanced Position Location Reporting System (EPLRS), and HF communication equipment.
- the CNR is a suite of lightweight HF, VHF, and UHF radios that provide ground and air/ground/air communications and can be deployed as manpacks or in vehicles or aircrafts.
- the EPLRS provides secure, jam-resistant, near real-time data communications support.
- the Tactical Internet (TI) is a communication infrastructure comprising an integration of tactical radios, computers, routers, and supporting communications equipment providing voice and data transport at various security classifications.
- the data modem In addition to the task of interfacing and integrating various voice and data systems, the data modem also needs to be housed in a single ruggedized compact field unit that is flight-ready and can withstand harsh environment and operating conditions.
- IDM data modem
- CCM1 first communication processor module
- CCM2 optional second communication processor module
- MSM Mass Storage Module
- DSP Digital Signal Processing
- PCM Power Converter Module
- serial ports such as RS-232C, RS-422, RS-423
- USB Universal Serial Bus
- SDLC Synchronous Data Link Control
- MIL-STD-1553B MIL-STD-1553B.
- CPU Central Processing Unit
- BIOS for x86-based Personal Computer
- PC Personal Computer
- IDE Interface IDE Interface
- IEEE-1394 Compact Test Action Group
- EPLD Erasable Programmable Logic Devices
- a first EPLD is customized for operation as a Programmable Interrupt Controller (PIC) to provide interrupt control functions such as those found in, for example, as an 8259 PIC chip made by Intel® or NEC®, an Industry-Standard Architecture (ISA) bus decoder and controller, a multi-mode watchdog timer with reset control, a MIL-STD-1553B controller and decoder, discrete Input/Outputs (I/O's), flash page register, and hardware version register.
- PIC Programmable Interrupt Controller
- the second EPLD is programmed to provide glue-logic for an IEEE-1394 Backplane Transceiver Logic (BTL) buffer control, various controls for serial communication controller chips, and both general purpose and programmable inverters for control of radio discrete logic such as Push to Talk (PTT), wherein the programmable inverters for the PTT signals creates flexibility for the interfacing external radios.
- BTL Backplane Transceiver Logic
- PTT Push to Talk
- JCIT Joint Combat Information Terminal
- the serial communication interfaces are designed to interface to military and other radios, including the EPLRS, High Frequency (HF) radios operating at 3-30 MHz frequencies, Single Channel Ground to Air Radio System (SINCGARS), ARC-164, ARC-182, ARC-186, and ARC-210, and PSC-5.
- SEM-E Standard Electronic Module
- Form Factor IEEE1101.4 Form Factor IEEE1101.4
- AWS Advance Target Handover System
- DMD's Data Message Devices
- TCIM Tactical Communications Interface Module
- ICE In-Circuit Emulator
- MAC Media Access Control
- IP Internet Protocol
- FIG. 1A schematically illustrates a high-level diagram of the IDM of the present invention.
- FIG. 1B schematically illustrates the external electrical interfaces of the IDM of the present invention.
- FIG. 2 schematically illustrates an exemplary hardware configuration of the IDM.
- FIG. 3 illustrates a high-level diagram of a CPM interfaced with an ICE for the purpose of programming flash memory and Serial EEPROM (SEEPROM).
- SEEPROM Serial EEPROM
- FIG. 4 illustrates a high-level logical block diagram of the CPM.
- FIG. 5 illustrates a mid-level diagram of the CPM.
- FIG. 6 illustrates an exemplary functional block diagram of a MSM.
- FIG. 7 illustrates a state diagram of a watchdog timer of the present invention.
- FIG. 8A illustrates an exemplary flow diagram of a boot-strapping process under the watch of a multi-mode watchdog timer of the CPM.
- FIG. 8B illustrates another exemplary flow diagram of the boot-strapping process of the CPM.
- FIG. 9 illustrates an exemplary hardware synchronous communication port fix.
- FIG. 10A illustrates a readable/writable flash page register.
- FIG. 10B illustrates a detailed block diagram of an 8-bit interrupt controller in an embodiment of the IDM.
- FIG. 11 illustrates an alternative embodiment design for interfacing flash memory to a south bridge (PIIX4®) chipset via EPLD1.
- PIIX4® south bridge
- FIG. 12 schematically illustrates an IEEE-1394 Backplane Transceiver Logic buffer control.
- FIG. 13A illustrates a method for recognizing the presence of an optional CPM and chassis location.
- FIG. 13B illustrates control signals for recognizing one or more CPM inserted in an IDM and a CPM inserted in a JCIT backplane.
- FIG. 14 illustrates a high-level diagram of another embodiment of the present invention.
- FIG. 15 illustrates the external electrical interfaces of another embodiment of the present invention.
- FIG. 16 illustrates a block diagram of a clock multiplexer in another embodiment of the present invention.
- FIG. 17 illustrates a detailed block diagram of an interrupt controller in another embodiment of the present invention.
- FIG. 18 illustrates a low level block diagram of a voltage regulator fault latch.
- FIG. 19 schematically illustrates a diagram of the local bus reset controller circuit.
- FIG. 20 illustrates a high-level block diagram of a MSM Module in another embodiment of the present invention.
- FIG. 21 schematically illustrates a detailed diagram of a power control circuit of the present invention.
- FIG. 22 illustrates a high-level block diagram of the IOM module.
- FIG. 23 illustrates a block diagram of a watchdog timer circuit.
- FIG. 24 illustrates a high level diagram of a power control circuit.
- FIG. 25 illustrates a high level diagram of a circuit to pre-initialize a low side driver device.
- This present invention is a data modem device that exchanges data between various military data/voice communication systems and that performs tactical Internet routing, Embedded Battle Command (EBC), message generation, protocol conversion and supports a variety of legacy protocols through the collaborative functions of a CPM, at least one DSP Module, MSM, PCM, a backplane, and a ruggedized, compact modem housing with interfacing connectors.
- EBC Embedded Battle Command
- FIG. 1A An embodiment of the present invention is schematically illustrated in FIG. 1A which illustrates an IDM 1 with major components therein.
- the IDM 1 includes a first CPM 100 , a MSM 200 , which includes two solid-state memory storage devices 210 and 220 , PCM 300 , two DSP modules 400 and 500 , and an optional second CPM 600 .
- the IDM 1 includes external interfaces, e.g. communication, electrical and mechanical interfaces (not shown), between the IDM enclosure and the platform in which it is installed.
- the IDM external communication and electrical interfaces are shown in Table 1 below and in FIG. 1B .
- the IDM provides 22 external data communication interfaces and a 28 Volts direct current electrical power interface.
- These communication interfaces include three independent RS-232C interfaces, two mixed RS-423/RS-422 interfaces, one RS-422 interface, one Ethernet interface, one USB interface, and one MIL-STD-1553B interface.
- the remaining 12 interfaces are divided among four half-duplexed radio channels.
- Each half-duplex radio channel is capable of being configured into one of three different communication interfaces: analog or duo-binary frequency shift keying, digital, or synchronous digital.
- Each of the four half-duplexed radio channels has one communication interface, data rate, and link format operational at any given time.
- the IDM of the present invention includes major modules, such as the PCM 300 , the DSP modules 500 and 400 , and the CPM 100 , and the MSM 200 , the IDM also includes a chassis/backplane assembly into which all these modules are plugged.
- a chassis/backplane assembly into which all these modules are plugged.
- the heart of the IDM 1 of the present invention is the CPM 100 module, which is illustrated in a high-level logical block diagram in FIG. 4 and in a lower-level detailed diagram in FIG. 5 .
- the CPM 100 is a microprocessor-based module having an architecture that resembles today's x86-based personal computers and that includes many commercial off-the-shelf components.
- the CPM 100 includes a microprocessor 20 , such as a Pentium® processor with MMXTM extensions made by Intel® or a similar processor capable of running in real mode or protected mode, which provides computing power for the CPM 100 .
- Processor 20 is connected to a north bridge 24 , which is a PCI chipset system controller, via a host bus 22 .
- the north bridge 24 is, in this preferred embodiment, an Intel® 430TX® chipset.
- the north bridge 24 provides, among other things, memory access to system memory 28 via memory bus 26 .
- the system memory 28 is preferably a Synchronous Dynamic Random Access Memory (SDRAM) with a memory capacity of 128K Mbyte or greater.
- SDRAM Synchronous Dynamic Random Access Memory
- the north bridge 24 provides a PCI bus 30 to which a south bridge 32 is connected.
- the south bridge 32 is a PCI-to-ISA/IDE accelerator which provides, among other things, an IDE (Integrated Drive Electronics) 235 and USB interface 236 , and an ISA (Industry Standard Architecture) bus 44 .
- the south bridge 32 is preferably an Intel® PIIX4® device or the like.
- the CPM 100 includes an Ethernet controller with a Fast Ethernet interface 34 , which is a 10/100 base-T Ethernet, that is interfaced with the PCI bus 30 .
- Ethernet interface 34 provides a local area network link to other external devices that are a part of the Tactical Internet.
- IEEE-1394 backplane interface 46 Attached to the PCI bus 30 are IEEE-1394 backplane interface 46 and two serial communications controllers 60 and 70 , which will be described in detail later.
- EPLD1 EPLD 1
- EPLD2 EPLD 2
- the flash memory 42 preferably provides storage space for BIOS, a boot kernel or a backup operating system (OS).
- the flash memory 42 preferably further stores IDM-specific application codes that can be executed to operate the IDM in a degraded mode.
- the degraded mode provides the IDM with limited functions with at least a functional MIL-STD-1553B bus, as will be explained later.
- the BIOS is a commercial off-the-shelf standard BIOS, such as an Award® BIOS or AMI® BIOS, that is found in today's x86-based PC-compatible systems.
- the BIOS including patches or modifications for adapting the BIOS to the IDM functional needs, is of a standard size of 128KB and is preferably stored in page 0 of flash memory 42 .
- the backup OS and application codes are stored in remaining pages of the flash memory. In the case where the flash memory is 2 Mbytes, with sixteen 128KB pages, which are numbered from 0 to 15 , the backup OS and application software are stored in pages 1 - 15 , as the BIOS is stored in page 0 of the flash memory.
- the backup OS kernel necessary to boot strap the IDM 1 and to place it in a degraded operational mode is preferably a real-time operating system, such as LynxOS® by LynuxWorksTM or VX-Work® by WindRiver System Inc.
- the backup OS kernel is preferably stored in a compressed format in the flash memory 42 , and is uncompressed as needed.
- the Ethernet controller 34 links the CPM 100 to a Ethernet hub 230 located in the MSM 200 , as shown in FIG. 6 , and communicates with other network devices (not shown) external to the IDM.
- the other external network devices are integral to the Tactical Internet.
- a majority of specialized circuitries and functions of the CPM are implemented using electrically programmable logic devices 40 and 80 , which are EPLD1 and EPLD 2, respectively, as shown in FIG. 4 .
- the EPLD1 is advantageously used to provide an ISA bus decoder and controller 84 , a programmable interrupt controller (not shown), a watchdog timer 120 , IDM/JCIT system status, including Ready Discrete, Fail, IDE reset inverter, and a hardware version register.
- the EPLD2 is advantageously used for providing a synchronous port fix for the serial communication controllers 60 and 70 , a PTT control, general purpose inverters, and IEEE-1394 buffer control, which are represented by block 110 .
- the EPLDs can be an Altera Max 7000® series with part number EPM7160STI100-10.
- the hardware circuitry programmed therein are developed in Very High Speed Integrated Circuit Hardware Description Language (VHDL) source code using, for example, the Altera Max+Plus II® programmable logic development system.
- VHDL Very High Speed Integrated Circuit Hardware Description Language
- the EPLDs are chosen for providing the specified circuitries and logic because the EPLDs can be customized to specific applications rapidly and economically while meeting the space constraints of the CPM module and the IDM.
- ASICs Application Specific Integrated Circuits
- EPLDs are less preferred over EPLD for providing customized circuitry and logic to meet the needs of the IDM.
- ASICs are comparatively costlier to design and produce, while EPLDs are quicker and more cost-effective to implement customized circuitry and logic.
- serial communication controllers 60 and 70 are provided in the CPM module.
- the two serial communication controllers 60 and 70 provide three asynchronous serial communication interfaces.
- Two of these asynchronous serial communication interfaces 162 and 164 are used for configuration and status of SINCGARS System Improvement Program (SIP) radios.
- a third asynchronous serial communication interface 146 is used for configuration and status of the HF radio.
- the three asynchronous serial communication interfaces are RS-232C compliant.
- Asynchronous ports 1 is provided by an RS-232 transceiver 96
- the second and third asynchronous ports are provided by an RS-232C transceiver 104 , as shown in FIG. 5 .
- the two serial communication controllers 60 and 70 provide the CPM with five synchronous serial communication interfaces.
- These serial communication interfaces include a first synchronous port 148 for communication with the DSP1 module 500 , a second synchronous port 150 for communicating with EPLRS, a third synchronous port, having a mix of input 152 and output 154 , for use as a spare, such as for maintenance, a fourth synchronous port 166 for communicating with DSP2 module 400 , and a fifth synchronous port, having a mix of input 168 and output 170 , for communicating with an HF radio.
- the first and second synchronous communication ports are provided by an RS-422 transceiver 98
- the third port is provided by a mixed RS-422 transceiver 98 and RS-423 transceiver 102
- the fourth synchronous communication port is provided by RS-422 transceiver 106
- the fifth synchronous communication port is provided by a mixed RS-422 transceiver 106 and RS-423 transceiver 108 .
- each of the serial communications controllers 60 and 70 is capable of providing four serial communication channels.
- the 4-channel serial communication controller 60 and 70 preferably is operable in a clockless mode.
- Such communication controller can be an Infineon® DSCC4 serial communication controller.
- Other DSCC4 controllers, such as those of Siemens® may also-be used.
- the 4-channel serial communication controllers 60 and 70 and the DSCC4 are herein used interchangeably.
- a mechanism i.e. a synchronous port fix, is implemented to allow the configuration of the synchronous communication ports to effect synchronous communication.
- This synchronous port fix is shown in FIG. 9 and is composed of a clock multiplexer 780 , an internal clock source 784 , and a receive data delay (not shown).
- the synchronous port fix is provided in the EPLD2 shown in block 110 in FIG. 5 .
- the clock multiplexer 780 selects between two clocks, an external radio clock 782 or a free running internal clock 784 (INT_CLK), via a control signal 786 (SEL_INTCLK_CLK).
- an external radio clock 782 or a free running internal clock 784 (INT_CLK)
- SEL_INTCLK_CLK a control signal 786
- the free running internal clock signal 784 is selected and connected to a DSCC4 clock input of the serial communication controllers 60 and 70 via 788 .
- the radio clock signal 782 is connected to the DSCC4 clock input of the serial communication controllers 60 and 70 via 788 .
- the synchronous port fix includes a receive data delay (not shown), which is required to realign the phase of the radio clock with it's received data. Since the multiplexer 780 introduces a known delay from input to output, the received data will also be delayed by the same time. Any gate type mechanism, such as inverter, flip-flop, or the like, can be used for the delay path. In this present embodiment, a total of seven delay circuits are required.
- serial communication controllers having clockless mode and any number of channels may be used in place of the 4-channel DSCC4 to provide more or less serial communication channels as needed.
- the application of the synchronous port fix can be provided in the same manner to effect synchronous serial communication.
- the free running internal clock signal 784 provided to multiplexer in 780 can be derived from an externally supplied ISA clock.
- the internal clock can be provided by, e.g., dividing an 8 MHz ISA clock down to approximately 96 KHz having a 50% duty cycle.
- the EPLD2 80 is also used for implementing Ground Single Channel Ground and Airborne Radio System System Improvement Program or Ground SINCGARS SIP (GSIP) radio Push-to-Talk (PTT) control, which includes four programmable inverters, and IEEE-1394 BTL buffer control 800 , as illustrated in FIG. 5 .
- GSIP Ground Single Channel Ground and Airborne Radio System System Improvement Program or Ground SINCGARS SIP
- PTT radio Push-to-Talk
- FIG. 5 Such implementation of GSIP PTT control is shown in FIG. 5 , block 110 , 112 and 160 as a high level diagram.
- the EPLD2 80 is also used for implementing four general-purpose inverters. These inverters are used to invert the logic levels of the request-to-send (RTS) outputs of the DSCC4 serial communications controller which controls a quad low-side switch 122 used to assert additional radio PTT lines, which are lines 134 , 136 , 138 and 140 illustrated in FIG. 5 .
- RTS request-to-send
- the EPLD 2 80 is further used to provide hardware to control Backplane Transceiver Logic (BTL) buffers used for the IEEE-1394 interface 46 , 74 , 76 , and 77 shown in FIG. 5 .
- BTL Backplane Transceiver Logic
- Components 74 , 76 , and 77 as well as the EPLD2 110 glue logic for IEEE-1394 BTL buffer control in FIG. 5 are shown in greater details in FIG. 12 .
- the EPLD2 110 provides glue logic to control the direction of the IEEE-1394 BTL Buffer.
- the IDM_JCIT# inputs 157 is used to control the JCIT specific signals on the IEEE-1394 BTL XCVR 76 . If the CPM 100 is inserted into a JCIT chassis, the JCIT specific signals must be allowed to enter the CPM 100 as inputs. In an IDM chassis the CPM 100 needs to drive the BTL XCVR 76 signals because floating inputs would be undesirable.
- the IEEE-1394 BTL XCVR 76 1394_DATA signal 910 and 1394_STB signal 912 must be under the flow control of the IEEE-1394 Physical Layer IC 74 .
- the JCIT chassis provides an active IEEE-1394 backplane interface requiring CPM support.
- the presence of a second optional CPM 600 dictates the flow control mechanism of the IEEE-1394 BTL XCVR 76 .
- an IEEE-1394 backplane interface is completed and thus the IEEE-1394 Physical Layer IC 74 on each CPM must have flow control of the IEEE-1394 BTL XCVRs 76 allowing bi-directional communications.
- the IEEE-1394 BTL XCVR 76 is forced to output only to prevent a floating input condition on the IEEE-1394 DATA and STB signals.
- the additional control is provided by combining a logical AND of the IDM_JCIT# 157 and OTHER_CPM_PRESENT# inputs 156 to the EPLD2 110 .
- Table 2 below is a truth table for the IEEE-1394 BTL buffer control. TABLE 2 Truth Table for IEEE-1394 BTL Buffer Control INPUTS OTHER OUTPUTS IDM JCIT# CPM PRESENT# PHY XCVR OE# XCVR OEB2# 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0
- FIG. 13B shows which control signals become asserted in an IDM chassis versus a JCIT chassis.
- the CPM provides two signals that help to determine the location and certain functionality of the CPM.
- the IDM_JCIT# signal 157 is used to identify the backplane type. This is accomplished by either grounding or floating the signal in the backplane.
- the OTHER_CPM_PRESENT# signal 156 identifies if an optional additional CPM is present in an IDM backplane.
- a CPM 100 provides a trace loop for connectivity to provide presence indication to the other CPM 600 .
- the indication is reciprocal since both CPMs are identical.
- One end of each of the loops is grounded in the IDM chassis, as shown in ground connection 920 and 922 .
- the insertion of a CPM connects this ground to the sense signal of the other CPM through the trace loop, thus signifying its presence. This is an innovative method of detecting the presence of an additional CPM and chassis location.
- the CPM 100 of the IDM 1 shares many similarities with a common x86-based PC, such as using a x86-based CPU, standard BIOS, a PIIX4® chipset and a 430TX® chipset, the CPM 100 is different in many respects.
- the CPM by design has no super I/O controller chip with capabilities such as a parallel port and serial port, keyboard, monitor, floppy drive or VGA.
- all asynchronous communications are performed through the asynchronous ports provided by the serial communication controllers 60 and 70 .
- the CPM 100 further includes the following hardware: ISA bus decoder/controller, a flash page register for accessing information stored in flash pages, such as BIOS, backup OS kernel, and application codes, of flash memory 42 , a MIL-STD-1553B interface controller, a programmable interrupt controller (PIC), a watchdog (WDOG) timer, an IDM status, system status, IDE reset inverter, and a hardware version register.
- PIC programmable interrupt controller
- WDOG watchdog
- IDM status IDM status
- system status register IDE reset inverter
- the CPM is also provided with an interrupt mask register, an interrupt status register, a watchdog keep alive register, a watchdog status register, a system status register, and a system mode register.
- the flash page register embedded in the EPLD1 extends the standard BIOS addressing from 128 Kbytes to 8 MBytes, preferably to 2M bytes.
- FIG. 11 for a detailed diagram showing the flash page interface, which allows the access of the BIOS in a first flash memory page and the backup OS kernel in subsequent flash memory pages.
- FIG. 5 An exemplary embodiment of an ISA decoder is illustrated in FIG. 5 , block 84 .
- the ISA decoder 84 implemented using the EPLD1 40 ( FIG. 4 ) provides the interface and control logic for the flash page register, MIL-STD-1553B interface, programmable interrupt controller, watchdog timer, ready discrete, fail status, and hardware version register, all of which except the MIL-STD-1553B interface are embedded in the EPLD1.
- the MIL-STD-1553B interface is provided by a commercial off-the-shelf component such as a UTMC 5962-9858701 QZC device made by United Technologies Microelectronic Systems (UTMC), Inc.
- the architecture for the flash page register is shown in FIG. 10A and consists of a seven-bit read/write programmable register.
- the programmable interrupt controller has an architecture that includes the following: 7 interrupt inputs with 1 interrupt output, a 7-bit write/read interrupt mask register, and a 7-bit write/read interrupt pending or status register.
- the number of bits in the programmable interrupt controller can be of any number as needed, preferably between 7 and 16 bits.
- FIG. 10B illustrates a detailed block diagram of a 7-bit interrupt controller of the present invention.
- the interrupt controller has the following characteristics: the 7 interrupt inputs are asynchronous and are negative edge triggered, the 1 interrupt output is asynchronous and has positive level output, and interrupt input is masked if a logic 1 is written to the corresponding bit in the interrupt mask register, the interrupt register is I/O mapped and is word writeable/readable, a bit in the pending interrupt register is set to a logic 1 if the corresponding interrupt input occurred, the interrupt pending is I/O mapped and is word readable/writable, and a pending interrupt is cleared by writing a logic 0 to the corresponding bit in the pending interrupt register.
- the interrupt pending register is preferably decoded at address 342HEX, and the mask register is preferably decoded at I/O address 340HEX.
- the interrupt output occurs from a pending, unmasked interrupt.
- the interrupt output can be a logic OR combination of all bits in the pending interrupt register which are ANDed with the invert of bits in the interrupt mask register. If one or more pending interrupts are asserted (logic 1) then the interrupt output remains asserted (logic 1) if the associated interrupt is not masked.
- the interrupt controller is reset by the watchdog system reset logic in EPLD1 via line 118 , watchdog timer reset. On reset, the mask register is set so that all interrupts are masked and the interrupt pending register is cleared indicating no pending interrupts.
- a watchdog timer is commonly known as a mechanism used to determine whether another mechanism is functioning properly.
- a watchdog timer typically is a safety feature that prevents runaway software. When a watchdog times out, it stops a CPU from executing meaningless code, a situation that arises from an electrical or programming error. More specifically, if the software is not being executed properly, it fails to clear, or to tickle, the watchdog timer, or if the watchdog timer is not cleared, or tickled, for a specified interval, the watchdog timer causes the CPU to reboot and execute software from a known place.
- the watchdog timer 120 is a timer responsible for generating a board reset in the event the watchdog timer is not reset by software. Additionally, should the timer expire, a watchdog reset status bit is set indicating that a watchdog reset occurred.
- the state diagram of the watchdog timer 120 illustrated in FIG. 7 is explained as follows. On power-up or cold boot-strapping the IDM from a powered down state, a watchdog reset status bit is cleared to a logic 0 in state 702 . In state 704 , on power-up or following a watchdog reset condition, the reset assertion event is debounced for about 140 ms before transitioning to state 708 . The reset deassertion event is debounced for an approximate 140 ms when transitioning from state 708 to 712 .
- state 712 if a software watchdog reset command is not issued within 90 seconds, during which time the processor initialization should take place, the watchdog timer reset status bit is set and the CPM 100 is reset, by transitioning from state 712 into state 724 .
- a software watchdog reset command is issued, which resets the watchdog timer and the watchdog timer automatically reduces its time out period to 5 seconds, as shown in state 718 . Any subsequent software WDOG reset commands issued less than 5-seconds will keep the WDOG time alive in state 718 . If any subsequent software watchdog reset command is not issued within 5 seconds under this condition, the watchdog reset status bit is set and the CPM is reset as shown in transition state 724 .
- the duration of the CPM reset caused from a watchdog time is controlled by state 724 and is about 140 ms. After the reset cycle is complete the state machine re-enters the initial 704 state and cycles through state 712 where the WDOG timeout is reset to 90-seconds.
- the multi-mode watch dog timer described above is unique in that it changes timeout periods to accommodate the current operational mode of the CPM firmware and software while ensuring that the software is executing properly.
- the power-up reset for the CPM 100 is derived from the PCM 300 through a Power Good signal 132 in FIG. 5 .
- This Power Good signal is generated by a Power Good circuitry (not shown) in the PCM 300 and remains at logic 0 for a minimum of about 105 ms until the +5 Volt or other supplies, such as the +3.3V, and +2.5V supplies, are up and stable. Once the supplies are up and stable, the Power Good signal is changed to a logic 1 and remains in that state until the converter is shut down.
- the watchdog reset circuitry in the EPLD1 also provides debounce capability for a clean reset generated from an unstable Power Good input.
- the watchdog status bit is I/O mapped, word readable, and preferably resides at I/O address 362HEX (data bit-0 on ISA bus). If the watchdog status bit is set, it is cleared automatically (1 ISA bus cycle clock later) after and only after it has been successfully read.
- the software watchdog reset command is preferably I/O mapped, word readable/writable and preferably resides at I/O address 360HEX. Any data written to this address causes the watchdog timer to reset.
- the watchdog timer can be designed to require a specific data to be written to this address for resetting. Such requirement minimizes false resetting.
- the software watchdog reset write command has additionally a set logic (logic 1), a self reset bit (SRB) indicating that a software watchdog reset has occurred. Reading from I/O address 360HEX returns the value of the SRB (data bit-0 on ISA data bus) on power-up, or following a watchdog reset condition, the SRB is cleared to a logic 0. If the SRB is set, it automatically will be cleared (IDS bus clock cycle later) after and only after it has been successfully read.
- logic 1 a self reset bit
- the EPLD1 also provides a circuit that provides a level input signal IDM_JCIT# to the CPM 100 to identify which system the CPM is inserted into, whether it is an IDM or a JCIT terminal.
- the CPM is inserted into a JCIT chassis, and a logic 1 indicates that the CPM 100 is inserted into an IDM chassis.
- the ISA bus can read the status of this IDM status bit in real time. That is, the IDM status bit is not latched and is I/O mapped, word readable, and preferably resides preferably at I/O address 366HEX (data bit-0 on ISA bus).
- the watchdog timer 120 has a watchdog signal input with its polarity or logic state controlled by the IDM_JCIT# input signal 157 .
- the EPLD1 also provides the Ready Discrete bit.
- the Ready Discrete bit is used to indicate that the MIL-STD-1553B bus, represented by element 86 in FIG. 5 , is active.
- the Ready Discrete includes a Failed bit that indicates that if the IDM has successfully booted and is operational.
- the Ready Discrete is shown as element 124 and 194 in FIG. 5 .
- a Ready Discrete register is I/O mapped, word readable/writable, and preferably resides at I/O address 364HEX.
- On power-up or following a watchdog reset condition a Ready Discrete bit is cleared to a logic 0 indicating that the MIL-STD-1553B bus is inactive.
- the Fail bit in this case is set to a logic 1 indicating that the IDM is not operational.
- the EPLD1 provides an IDE reset inverter which inverts an ISA bus reset drive output to generate an additional reset signal needed by an external IDE disk drive.
- the EPLD1 also provides a hardware version register (not shown) that is word readable and containing the version number of the EPLD1. This register is I/O mapped and is preferably located at I/O address 368HEX.
- the EPLD1 provides interface and logic for MIL-STD-1553B interface controller, which provides a glueless interface to the ISA bus and a MIL-STD-1553B controller.
- CPM 100 of the IDM 1 is an x86-based computer that utilizes many of the commercial of-the-shelf components used in a conventional PC.
- the CPM 100 is designed for the IDM and therefore is highly customized for its intended use.
- the CPM 100 utilizes a standard off-the-shelf BIOS, e.g. Award or AMI BIOS, for the usual PC hardware initialization and execution of a operating system loaded from disk.
- BIOS of the CPM 100 located in flash memory 42 , contains patches or modifications to accommodate the CPM and the IDM hardware configuration.
- the CPM 100 has no battery for maintaining the contents of the south bridge's real-time clock CMOS memory.
- the BIOS relies on this memory for its knowledge of IDE disk geometry, PCI interrupt request assignments and other matters. Therefore, the CPM 100 BIOS is patched to copy into CMOS memory a group of default good settings early in the boot process. Among these settings are the desired SDRAM timing figures for the north bridge memory controller and the command to the BIOS to go directly to an IDE disk boot, bypassing any nonexistent floppy, SCSI, or CDROM disk access.
- the CPM 100 has no keyboard controller, all keyboard port reads in the off-the-shelf BIOS have been removed, bypassed, or satisfied with dummy characters at any point in the BIOS requiring keyboard input.
- an off-the-shelf BIOS also accesses the keyboard controller I/O port in order to enable or disable the processor's A 20 address line to memory.
- the CPM 100 BIOS writes instead to an I/O port in the south bridge to enable A 20 .
- BIOS In a common PC the BIOS displays its output by writing to VGA memory.
- IDM of the present invention does not have a display. Therefore all character writes to VGA memory are preferably echoed to I/O port 2F8H for debugging purposes.
- a JTAG in-circuit emulator (ICE) can be used to trap on access to this port to see the VGA output from the BIOS.
- the CPM 100 BIOS resides in the first 128 Kbyte page of CPM flash memory 42 .
- the remaining pages of flash memory 42 also contain a backup operating system (or flash kernel), e.g. a copy of the LynxOS® or vxWorks® real-time operating system, including drivers and application codes in remaining flash memory pages.
- a backup operating system or flash kernel
- the BIOS has the ability to boot into the flash kernel that resides in the flash memory 42 as well as to the disk operating system stored on master IDE disk 210 .
- FIGS. 8A and 8B each show an exemplary flow diagram of this ability to boot-strap from either a flash boot or a disk boot.
- This flash kernel is potentially the same as the disk operating system kernel.
- the BIOS enters the flash kernel either after failure to perform the normal disk boot, through specific IDM configuration bit settings, or through detection of certain CPM watchdog resets.
- IDM configuration input bits are available at the south bridge general purpose I/O (GPIO) port for a total of 8 possible settings.
- the CPM BIOS reads this port before attempting a disk boot, and on certain configurations the BIOS goes directly to the interrupt 18H handler for a flash kernel boot.
- the IDM operator can force the IDM not to execute the disk operating system on the MSM.
- the CPM boot process exemplified in a flow diagram in FIG. 8A , is described as follows.
- processor 20 begins execution of the BIOS in block 750 .
- Page 0 of flash memory 42 has been selected at the EPLD flash page register at reset, making the BIOS visible to the CPM processor at the usual addresses.
- the startup portion of the BIOS running out of flash, decompresses the runtime portion from flash into shadow RAM, and jumps to the code in shadow RAM. (This is a portion of the SDRAM which the processor accesses via the north bridge).
- the BIOS may read from another flash page by writing to the EPLD1 flash page register.
- EPLD1 makes the appropriate flash page visible to the processor by responding to processor memory accesses in the range decoded by the south bridge as intended for the flash copy of the off-the-shelf BIOS. EPLD1 provides additional address decoding such that the CPM flash memory device 42 sees a read/write request of a word in the appropriate flash page.
- BIOS attempts to disk boot by reading into memory the first sector of the active partition of the primary, master IDE disk 210 on the MSM 200 . Before the CPM BIOS attempts to disk boot however, it reads the EPLD1 watchdog status bit. Furthermore, before attempting a disk boot, the BIOS reads real-time clock CMOS RAM address 80H, which is physically located in the south bridge. In this location the BIOS and the disk operating system kernel maintain a flash boot flag which survives through watchdog resets. If the watchdog status bit indicates that a watchdog reset occurred to cause the last reboot, and if the CMOS flash boot flag equals 62H (‘b’) ( FIG. 8A , block 752 ), the BIOS executes the flash kernel via interrupt 18H ( FIG.
- BIOS detects IDM configuration bits set for flash kernel boot ( FIG. 8A , block 754 ), it invokes interrupt 18H to execute the flash kernel ( FIG. 8A , block 756 ). Otherwise, if the BIOS fails to read the disk's partition table and the sector from the active partition ( FIG. 8A , block 760 ), it invokes interrupt 18H for PC/AT compatibility. (Note that normally the interrupt handler executes ROM BASIC in a conventional PC/AT or it displays an error message such as “failure to disk boot.”) The interrupt handler of the present invention's modified CPM BIOS instead executes the flash kernel ( FIG. 8A , block 756 ).
- the CPM BIOS When the CPM BIOS is about to jump to code read from disk as part of its normal disk boot, it first sets the flash boot flag to 62H (‘b’) ( FIG. 8A , block 762 ). Note that this value of 62H may be a selected value that decreases the probability of false flagging.
- this value of 62H may be a selected value that decreases the probability of false flagging.
- 764 if a valid operating system is present on disk and executes correctly within 90 seconds of CPM reset/powerup, it clears the ‘b’ flash boot flag before the IDM application has a chance to execute.
- the operating system also begins resetting or tickling the EPLD1 watchdog timer 120 until the IDM application takes responsibility for it by accessing the watchdog timer 120 itself.
- the watchdog 120 issues a system reset signal 121 that is shown in FIG. 5 .
- a CPM watchdog reset forces a reboot.
- the BIOS begins execution out of flash again.
- the BIOS detects the watchdog reset via the EPLD and reads the ‘b’ in the CMOS flash boot flag.
- the BIOS executes the flash kernel.
- a boot of the flash kernel proceeds as follows. Once the BIOS interrupt 18H handler executes for booting the flash kernel, the BIOS code copies page 1 of flash memory 42 into SDRAM at address 8000H and jumps to it. This bootstrap code, for LynxOS®, switches the processor 20 of the CPM 100 into protected mode and copies the remaining flash pages into the top of system memory (SDRAM) 28 . Flash data is copied one page at a time with the aid of the flash page register in the EPLD1. The page 1 code then decompresses the boot kernel in this flash data, copies it to its runtime addresses in system memory, and jumps to it.
- This bootstrap code for LynxOS®, switches the processor 20 of the CPM 100 into protected mode and copies the remaining flash pages into the top of system memory (SDRAM) 28 . Flash data is copied one page at a time with the aid of the flash page register in the EPLD1. The page 1 code then decompresses the boot kernel in this flash data, copies it to its runtime addresses in system memory, and jumps to
- IDM application clears the watchdog timer 120 every five seconds via a software reset command. This clearing or tickling of the watchdog timer 120 can be seen in the state 718 , in FIG. 7 .
- the watchdog timer 120 issues a system reset signal 121 as shown in FIG. 5 , and state 724 in FIG. 7 .
- the system reset is shown in block 770 , and in block 750 the processor is reset and the execution of the BIOS begin again.
- a watchdog timer reset that results from and IDM application failing to reset the watchdog timer 120 will result in an attempt to execute the IDM application once the IDM is rebooted.
- FIG. 8B illustrates, in a slightly different level of details than FIG. 8A , an examplary boot-strapping process of the CPM 100 which begins in block 960 , for boot-strapping from a backup OS stored in flash memory 42 , or in block 978 , for boot-strapping from an IDE disk 210 .
- block 962 the BIOS copies flash page 1 of memory 42 , wherein a preboot program is stored, to addresses 8000H-A0000H, and jumps to address 8000H.
- the preboot program called rkjump, which is a small program that copies a larger kernel from flash into system's memory 28 at address 8000H, is executed and switches the processor 20 to protected mode and copies flash pages 2 - 15 to system SDRAM 28 .
- the preboot then decompresses the copied pages in the SDRAM 28 to obtain the backup OS in block 966 .
- the preboot rkjump copies itself to another, preferably higher, memory address and copies the decompressed backup OS to preferably address 1000H.
- the backup OS preferably the LynxOS® kernel, begins execution, creates a ramdisk containing root file system, load drivers, and runs a first LynxOS application in IDM.
- the backup OS contains also application codes, including drivers and related files.
- the first IDM application executes startup scripts.
- the first application that runs under LynxOS® in the IDM executes startup scripts that can place the IDM in a degraded operating mode or can run a program such as the EBC program, as determined in block 974 and block 976 .
- the boot-strapping process continues in block 980 , wherein the BIOS reads boot sector to system memory 28 and jumps to the memory.
- a preboot stored on the flash IDE drive 210 is loaded. The preboot then switches the processor 20 to protected mode, loads a backup OS from disk to system memory at address 1000H in block 984 .
- the boot-strapping process then continues in block 970 as described above.
- flash memory provides a non-volatile storage solution for system critical firmware such as the system BIOS and fail-safe boot kernel or backup operating system, which is used interchangeably with backup operating system kernel.
- the CPM 100 also utilizes a SEEPROM 38 to store configuration words for Ethernet MAC/PHY. Included in the configuration word data is the MAC (Media Access Controller) address and default IP (Internet Protocol) address.
- MAC Media Access Controller
- IP Internet Protocol
- the IDM is preferably put into a degraded operational mode which provides at least a MIL-STD-1553B communication bus for use.
- the MIL-STD-1553B interface is connected to a mission computer residing in the same platform on which the IDM is mounted.
- the mission computer polls all Remote Terminal, including the IDM, on the MIL-STD-1553B bus for system status information.
- the status information is decoded and displayed on the pilots Heads Up Display (HUD).
- HUD Heads Up Display
- a processor JTAG port 126 is provided to the processor 20 , as shown in FIG. 5 .
- JTAG ports are used for interfacing of testing equipment with a system under test, such as an IDM.
- the JTAG port 126 of the processor 20 is also used for programming the flash memory 42 with a BIOS, backup OS and an application software, and the SEEPROM 38 with configuration data for Ethernet MAC and IP addresses.
- FIG. 3 An exemplary means for programming flash memory 42 and SEEPROM 38 is schematically illustrated in FIG. 3 .
- the flash memory 42 and the SEEPROM 38 initially are unprogrammed on a brand new CPM. That is, a new CPM 100 in an IDM cannot be booted because there is no BIOS present in the flash memory 42 . Further, the Ethernet controller 34 is initially inoperable because the SEEPROM 38 is not yet programmed with MAC/PHY configuration data.
- the flash memory 42 and the SEEPROM 38 can be preprogrammed before they are assembled onto the CPM module. However, preprogramming the flash memory 42 and SEEPROM 38 is undesirable. Therefore, they are preferably programmed during an IDM system test or a CPM test.
- an ICE is used for programming the flash memory 42 and SEEPROM 38 of the CPM 100 .
- the ICE shown includes an American Arium® (PCM-55 ITP) 900 connected to the JTAG port of the processor 20 via an ITP (In Target Probe) cable 906 and a PC 902 running American Arium's® WinDBTM debug software which control the PCM-55 hardware pod.
- PCM-55 ITP American Arium®
- ITP In Target Probe
- the flash memory 42 provides a non-volatile storage solution for system critical firmware such as the BIOS and a fail-safe boot kernel, which includes a backup operating system and an IDM application program.
- the Ethernet SEEPROM 38 contains configuration words for the Ethernet MAC/PHY. Included in the configuration data is the MAC address and default IP (Internet Protocol) address. The BIOS and SEEPROM must be programmed before the CPM becomes a useable module capable of running an operating system.
- the CPM 100 is placed into a test apparatus which breaks out the processor's 20 JTAG signals to a connector header connected to the PCM-55 ITP hardware 700 .
- the CPM 100 and the PCM-55 ITP hardware 700 are then powered up.
- the PCM-55 stops the processor 20 for debug access.
- FIG. 11 shows the electrical interface for the FLASH paging.
- the ICE resets the CPM 100 and places all on board components into a known state. Then the ICE executes a custom script that first configures the north bridge 24 and the south bridge 32 chipset.
- the system memory SDRAM 28 is then configured.
- the ICE loads a BIOS binary image into SDRAM 28 .
- the WinDBTM load feature reads a specific local file and “locates” it into the CPM's SDRAM 28 at a specified memory address.
- the ICE then loads a custom flash burning loading program into the SDRAM 28 .
- the ICE sets a break point at I/O address at preferably 0x9H and sets an IP (Instruction Pointer) preferably to 8000:0 which is the first instruction location of the flash burning program.
- the ICE then releases the processor, and the processor executes the flash burning program instructions until it reaches the break point.
- the flash memory 42 Upon reaching the break point, the flash memory 42 will contain a BIOS in its first memory page.
- the Ethernet SEEPROM 38 is then programmed by the ICE.
- the ICE loads a SEEPROM binary image containing a unique MAC address and default IP address for the CPM 100 .
- the SEEPROM binary image is located to the same location and memory as was the BIOS binary image.
- the ICE then loads a custom SEEPROM writing program into SDRAM 28 starting at memory location at preferably 8000:0, and sets a break point at I/O address 0x92H and sets the IP address to 8000:0.
- the ICE then allows the processor 20 to run until it reaches the break point.
- the SEEPROM 38 will contain the unique MAC address, the default IP address, and other configuration words.
- the CPM 100 Upon successful completion of the burning of flash memory 42 and SEEPROM 38 , the CPM 100 is then configured for a disk boot and then reset. The CPM 100 will configure itself by executing the newly burned BIOS and then jump to an operating system stored on a local master IDE drive in preparation for burning the backup OS and application software into the flash memory device 42 .
- the MSM 200 has electrical interfaces to a host platform and other modules via the back plane 10 in FIG. 2 .
- the MSM 200 has a dimension that is compliant with the Standard Electronic Module format (SEM-E), including IEEE 1101.4 format.
- SEM-E Standard Electronic Module format
- the MSM 200 houses a solid state disk 1 , which is a master IDE drive 210 , a solid state disk 2 , which is a slave drive 220 , and an Ethernet hub 230 .
- the Ethernet 230 is a 4-port 10/100 base-T Ethernet hub.
- the Ethernet hub 230 connects to the CPM1 100 and optionally CPM2 via network connection 238 and to other external systems via a connector interface J 7 in the backplane 10 , as shown in FIG. 6 .
- the MSM 200 also includes an IDE/ATA interface 236 which interfaces to the CPM module 100 through the backplane 10 .
- the IDE/ATA interface is also used for system maintenance.
- the IDM 1 accommodates two DSP modules 400 and 500 .
- the DSP modules 400 and 500 interface with external communication equipment, such as CNRs (Combat Net Radios).
- the DSP1 module 500 communicates with the CPM 100 via a synchronous port 148 provided by the RS-422A transceiver 98
- the DSP2 module 400 communicates with the CPM 100 via synchronous port 166 provided by the RS-422A transceiver 106 .
- the synchronous ports 148 and 166 are controlled by the 4-channel serial communications controller 70 and 60 as shown in FIG. 5 .
- the usage of open architecture and Commercial Off the Shelf (COTS) software and hardware components of the IDM are of significant economic advantage.
- the IDM and its modules are able to be designed to meet ruggedness requirement and light weight and dimensional constraints imposed by SEM-E form factor.
- two EPLDs are employed to provide multiple circuitry and logic.
- the number of EPLD used can be of any number necessary to implement desired circuitry and logic, and desired specialized data modem functions can be readily customized one or more time by simply programming the EPLD.
- the EPLDs, which are non-volatile devices are preferable over volatile devices, such as SRAM-based Field Programmable Gate Arrays.
- non-volatile memory 42 is more preferably a flash memory than a PROM.
- flash memory is faster, in-circuit programmable, contains sophisticated locking/unlocking protection algorithms, operates at lower voltages, has higher memory density, smaller physical package. Thus, flash memory is more preferable.
- the open architecture and standard interfaces including IEEE-1394 and an IDE bus, enables the IDM to readily accept additional devices.
- FIG. 14 another embodiment of the IDM is shown in FIG. 14 and includes the PCM 300 , a Mass Storage Module (MSM) 2000 , a Communication Processor Module (CPM) 1400 , an Input-Output Module (IOM) 2200 , and slots 2300 , all of which are plugged into the backplane 10 .
- This embodiment of the IDM shown in FIGS. 14-25 shares many identical features and functions with the first embodiment of the IDM illustrated in FIGS. 1-13B . Therefore, only additional features and different embodiments of the IDM are discussed below. Further, in the description provided below, the same reference numerals are used to identify elements or components having the same structure and function as those components in the previous embodiment.
- the CPM 1400 in FIG. 14 is very similar to the CPM 100 in FIG. 1A the original with the additional features that will be described below.
- a single IOM module 2200 replaces the DSP modules 400 and 500 of FIG. 1A .
- the MSM module 2000 in this embodiment is essentially unchanged compared to the MSM module 200 of FIG. 1A except for removal of the Ethernet Hub 230 shown in FIG. 6 .
- the MSM module 2000 does not contain an Ethernet hub whereas the MSM module 200 does contain an Ethernet hub.
- FIG. 15 illustrates the external interface of this embodiment of the IDM shown in FIG. 14 , as compared to FIG. 1B which illustrated the external electrical interfaces of the IDM shown in FIG. 1A .
- the CPM 1400 is a microprocessor-based module that receives, synchronizes and transmits serial data via an internal Local Area Network (LAN), serial interfaces, and a MIL-STD-1553B interface.
- the CPM 1400 supports two synchronous interfaces and four asynchronous interfaces.
- the CPM 1400 communicates with the IOM 2200 , MSM 2000 , and up to three additional PCI based modules that can be plugged into slots 2300 .
- the CPM 1400 maintains pin compatibility with the JCIT signal, power, and ground pins.
- the 4-channel serial communication controller 60 of the IDM of FIG. 14 is similar to the serial communication controller 60 of the IDM of FIG. 1A .
- such communication controller can be an Infineon® DSCC4 serial communication controller.
- Other DSCC4 controllers, such as those of Siemens® may also be used.
- a mechanism e.g., a synchronous port fix is implemented to allow the configuration of the synchronous communication ports to effect synchronous communication.
- FIG. 16 shows an alternate scheme for the synchronous port fix multiplexer designed around analog switches.
- FIG. 16 shows the synchronous port fix multiplexer consisting of an analog switch 1780 , an internal clock source 1784 , an external clock source 1782 , a clock multiplexer select control 1786 , and a selected clock output 1788 .
- the analog switch 1780 selects between two clocks, an external radio clock 1782 or a software generated internal clock 1784 , via a clock select control signal 1786 .
- a different general purpose output pin on the DSCC4 is used as the clock multiplexer control input 1786 .
- the clock multiplexer control input 1786 selects the software generated clock 1784 .
- the analog switch 1780 now connects the software generated clock 1784 to the DSCC4 clock input of the serial communication controllers 60 via 1788 .
- the clock multiplexer control input 1786 selects the radio clock signal 1782 .
- the analog switch 1780 now connects the radio clock 1782 to the DSCC4 clock input of the serial communication controller 60 via 1788 .
- serial communication controllers having clockless mode and any number of channels may be used in place of the 4-channel DSCC4 to provide more or less serial communication channels as needed.
- the application of the synchronous port fix can be provided in the same manner to effect synchronous serial communication.
- Additional synchronous communication channels requiring the port fix is achieved through a plurality of circuits shown in FIG. 16 , connecting the signal interfaces to each synchronous communication channel.
- the software generated clock is created by alternately writing 1's and 0's to the general purpose output control register on the DSCC4 serial communication controller 60 .
- the software generated clock frequency is controlled by the rate at which software writes the data to the general purpose output control register.
- the software generate clock is present on the general purpose output pin.
- a plurality of software generated clocks can be generated in this fashion by programming different bits in the general purpose output register and using additional general purpose output pins on the DSCC4 60 .
- the programmable interrupt controller (PIC) shown in FIG. 17 has an architecture that includes the following: 8 interrupt inputs with 1 interrupt output, positive and negative edge detect logic, a 16-bit read/write interrupt mask register, and a 16-bit read/write interrupt pending or status register.
- the number of bits in the programmable interrupt controller can be of any number as needed, preferably between 7 and 16 bits.
- FIG. 17 illustrates a detailed block diagram of an 8-bit interrupt controller with edge detection of the present invention.
- FIG. 10B discussed above shows the other embodiment of the PIC.
- the interrupt controller has the following characteristics: the 8 interrupt inputs are asynchronous. Edge detection circuitry routes positive edge inputs to the upper 8-bits of the interrupt pending register and negative edge interrupts to the lower 8-bits of the interrupt pending register.
- a bit in the interrupt pending register is set to a logic 1 if the corresponding input interrupt edge occurred.
- the interrupt pending is I/O mapped and is word readable/writable, and a pending interrupt is cleared by writing a logic 0 to the corresponding bit in the pending interrupt register.
- the mask register is responsible for masking pending interrupts. Interrupts can be pending, non-pending, or cleared, independent of the mask register settings.
- the interrupt is masked if a logic 1 is written to the corresponding bit in the interrupt mask register, the interrupt mask register is I/O mapped and is word readable/writable.
- the interrupt pending register is preferably decoded at address 342HEX, and the mask register is preferably decoded at I/O address 340HEX, as mentioned above.
- the interrupt output is asynchronous and has positive level output.
- the interrupt output occurs from a pending, unmasked interrupt.
- the interrupt output can be a logic OR combination of all bits in the pending interrupt register which are ANDed with the invert of bits in the interrupt mask register. If one or more pending interrupts are asserted (logic 1) then the interrupt output remains asserted (logic 1) if the associated interrupt is not masked.
- the interrupt controller is reset by the watchdog system reset logic in EPLD1 40 via line 118 , watchdog timer reset.
- the mask register is set so that all interrupts are masked and the interrupt pending register is cleared indicating no pending interrupts.
- Fault Latch Controller is used to monitor/control the CPM's Pentium core and I/O voltages.
- the control circuitry acts and responds on hardware faults such as over-voltage, over-current, under-voltage, etc.
- a regulator fault latch controller implementation is shown in FIG. 18 .
- a Low Drop Out regulator (LDO) output voltage Vtt 1132 provides the I/O gunning transistor logic (GTL) voltage to the Pentium processor and supporting chipset.
- the purpose of the regulator fault hardware is to provide a mechanism to restart the LDO 1124 in cases of fault conditions, such as over-current, over-voltage, or under-voltage on the Vtt voltage 1132 , or a fault on the Vcore voltage 1134 .
- the Vcore voltage provides the core voltage to the Pentium processor.
- DC-DC converter 1018 is responsible for converting +5V 1150 into a Vcore voltage 1134 .
- the LDO regulator 1124 converts +2.5V 1152 into a Vtt voltage 1132 .
- a voltage supervisory circuit 1122 is used to monitor the condition of the Vtt voltage.
- Capacitor 1126 is responsible for charging a threshold voltage used for fault detection on the Vtt voltage.
- a Pentium power good (PPG) signal 1140 is responsible for Vtt and/or Vcore voltage faults.
- a core power good (CPG) signal 1138 is responsible for Vcore voltage faults.
- the combined analog switch 1128 , resistor 1130 , and LDO switch signal 1136 are used for restart operation of the LDO after a Vtt and/or Vcore voltage fault.
- EPLD1 40 contains the state machine required to monitor/control the entire operation of the fault latch implementation.
- the state machine timing is derived from the EPLD's main reference clock, such as a 14.31818 MHz clock.
- the power good (PG) signal 132 is generated on the PCM module and indicates all secondary system voltages are good.
- PCM 300 generates good +2.5V 1152 and good +5V 1150 ;
- PG signal 132 asserts and places the EPLD1 40 fault latch state machine in an IDLE state
- LDO switch signal 1136 remains deasserted keeping analog switch open allowing capacitor 1126 to charge
- DC-DC converter 1018 converts +5V 1150 into Vcore 1134 ;
- CPG signal 1138 asserts since +5V 1150 and Vcore output 1134 are good
- LDO 1124 converts +2.5V 1152 into Vtt 1132 ;
- LDO 1124 does not charge the capacitor 1126 under normal operating conditions
- the voltage supervisory circuit 1122 asserts PPG 1140 since CPG 1134 and Vtt voltage 1132 are good;
- EPLD1 40 remains in IDLE state, senses good PPG signal 1140 indicating no faults.
- PCM 300 generates good +2.5V 1152 and good +5V 1150 ;
- PG signal 132 asserts and places the EPLD1 40 fault latch state machine in an IDLE state
- LDO switch signal 1136 remains deasserted keeping analog switch 1128 open allowing capacitor 1126 to charge
- DC-DC converter 1018 converts +5V 1150 into Vcore 1134 ;
- CPG signal 1138 asserts because +5V and Vcore output 1134 are good
- LDO 1124 converts +2.5V 1152 into Vtt 1132 but an over-current fault condition now exists on Vtt 1132 ;
- LDO 1124 senses Vtt over-current fault and begins charging the capacitor 1126 ;
- the voltage supervisory circuit 1122 asserts PPG 1140 since CPG 1138 and Vtt voltage 1132 are good;
- EPLD1 40 state machine remains in IDLE state, senses good PPG 1140 signal indicating no faults
- Capacitor 1126 continues charging and reaches trip threshold voltage on LDO 1124 ;
- the voltage supervisory circuit 1122 deasserts PPG 1140 since Vtt 1132 voltage is bad;
- EPLD1 40 advances to LDO Latch state and asserts LDO switch signal 1136 for 1 ms;
- Analog switch 1128 turns on causing capacitor 1126 to discharge through resistor 1130 ;
- LDO 1124 turns on when capacitor 1126 trip threshold voltage falls below trip point
- Analog switch 1128 turns off after 1 ms allowing capacitor 1126 to recharge if fault present;
- EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time
- EPLD1 40 state machine returns to Idle state
- PCM 300 generates good +2.5V 1152 and good +5V 1150 ;
- PG signal 132 asserts and places the EPLD1 40 fault latch state machine in an IDLE state
- LDO switch signal 1136 remains deasserted keeping analog switch open allowing capacitor to charge
- DC-DC converter 1018 converts +5V 1150 into Vcore 1134 ;
- CPG signal 1138 asserts because +5V 1150 and Vcore output 1134 are good
- LDO 1124 converts +2.5V into Vtt 1132 but an over/under-voltage fault exists on Vtt;
- LDO 1124 does not charge the capacitor 1126 because it has no over/under voltage sensing
- the voltage supervisory circuit 1122 deasserts PPG 1140 since Vtt voltage 1132 is out of range;
- EPLD1 40 advances to LDO Latch state and asserts LDO switch signal 1136 for 1 ms;
- Analog switch 1128 turns on causing capacitor 1126 to discharge through resistor 1130 ;
- LDO 1124 remains on since no charge exists on capacitor 1126 ;
- Analog switch 1128 turns off after 1 ms allowing capacitor to recharge if fault present
- EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time
- EPLD1 40 state machine returns to Idle state
- PCM 300 generates good +2.5V 1152 and good +5V 1150 ;
- PG signal 132 asserts and places the EPLD1 40 fault latch state machine in an IDLE state
- LDO switch signal 1136 remains deasserted keeping analog switch 1128 open allowing capacitor 1126 to charge
- DC-DC converter 1018 converts +5V 1150 into Vcore 1134 but a fault condition exists
- LDO 1124 converts +2.5V 1152 into Vtt 1132 ;
- the voltage supervisory circuit 1122 deasserts PPG 1140 since CPG 1138 is deasserted;
- EPLD1 40 advances to LDO Latch state and asserts LDO switch signal 1136 for 1 ms;
- Analog switch 1128 turns on causing capacitor 1126 to discharge through resistor 1130 ;
- LDO 1124 remains on since no charge exists on capacitor 1126 ;
- Analog switch 1128 turns off after 1 ms allowing capacitor 1126 to recharge if fault present;
- EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time
- EPLD1 40 state machine returns to Idle state
- a local bus Reset Controller 1900 shown in FIG. 19 provides the ability to reset individual modules residing on the local bus, such as a PCI bus, of the data modem.
- the local bus Reset Controller 1900 is used to reset one or more modules through a plurality of Local Bus Resets 1404 residing on the PCI Bus 1406 in the IDM, as shown in FIG. 14 .
- Each module would typically have a watchdog (WDOG) reset circuit to monitor the operational status of a particular module. If a fault should occur on that module, such as a hardware or software fault, the WDOG circuit would reset that module in attempt for self-recovery.
- WDOG watchdog
- the CPM 1400 Since the CPM 1400 is the PCI bus master in the IDM system, it is responsible for configuration of all other PCI modules in the IDM. If another PCI module, such as an IOM 2200 , should experience a WDOG reset, the CPM 1400 would need to be informed so that it can correctly reconfigure the IOM 2200 .
- a mechanism used to perform the reconfiguration is through the ‘reset interrupt’ and ‘reset’.
- the IOM 2200 experiences a WDOG reset, it sends a reset interrupt to the CPM 1400 . Then, it is the CPM's task to reconfigure the IOM 2200 . Since the CPM 1400 does not know the state in which the IOM was in when it signaled the interrupt, the first task that the CPM performs is to reset the IOM 2200 .
- the CPM 1400 has the capability of resetting all other PCI modules, either independently or simultaneously.
- the IOM 2200 Once the IOM 2200 is reset, and the status of the IOM 2200 is ready, the IOM 2200 would then release its reset interrupt, signaling to the CPM 1400 that it is ready for reconfiguration. The CPM 1400 would then reconfigure the IOM 2200 via the PCI bus.
- the CPM 1400 should generate a WDOG reset, then the CPM 1400 along with all other PCI modules in the IDM would unconditionally and simultaneously reset.
- the Reset Controller 1900 provides 4 independent pulsed active low reset outputs controllable by software and the system hardware reset.
- FIG. 19 illustrates a detailed block diagram of the local bus reset controller 1900 .
- the reset controller 1900 exists in the EPLD1 40 at preferably I/O mapped address 0 ⁇ 346, word writeable, and self-clearing. Writing a ‘0’ to any of the register bits will not affect the corresponding reset outputs.
- the reset pulse timing of 100 ms is derived from the EPLD1's 40 main reference clock, such as a 14.31818 MHz clock.
- the number of bits in the software reset controller can be of any number as needed, preferably between 4 and 16 bits. The length of the pulse can be stretched if necessary.
- FIG. 19 illustrates a detailed block diagram of a 4-bit software reset controller 1900 of the present invention.
- the reset controller 1900 operates as follows:
- the software reset control register can assert the reset outputs.
- a reset output signal pulses low for 100 ms when a ‘1’ is written to the corresponding bit in the software reset control register.
- a hold-up capacitor 1402
- the PCM 300 detects a power fault and generates a power down interrupt to the CPM 1400 .
- the CPM EPLD1 40 secondary interrupt controller receives a power-down interrupt input. If the power-down signal changes state in either direction, the EPLD1 generates an interrupt to the Programmable Interrupt Controller (PIC) embedded in the 82371EB PIIX4 chip 32 , which in turn interrupts the Pentium processor 20 , which is shown in FIG. 3 .
- PIC Programmable Interrupt Controller
- the processor 20 is automatically vectored, via its Interrupt Descriptor Table (IDT), to the IRQ6 handler.
- the interrupt handler routine scans the EPLD1 interrupt status and mask registers for pending, enabled interrupts, then calls the corresponding handler routine.
- a power-down interrupt handler is called to perform the following actions:
- the IDM application is signaled that a power-down interrupt has occurred in an operating system-dependent manner.
- An application-level power-down interrupt thread is awakened, and it performs writes to the file system of any critical volatile information (e.g., database updates). Then the application thread signals the operating system to flush any file data buffered in RAM to the actual hardware disk device.
- Such synchronization is normally postponed by the operating system until absolutely necessary for performance reasons.
- the IDE flash disk 2020 on the MSM 2000 detects a power loss and switches in an internal voltage holdup device, such as a capacitor, which keeps the IDE flash disk 2020 powered for an additional 30-seconds.
- the IDE flash disk 2020 then writes data in its volatile RAM cache to non-volatile flash memory for the duration of its internal power, reducing the need of the operating system to wait on the disk.
- IOM Input Output Module
- DSP modules 400 and 500 shown in FIG. 1A may be replaced by a single IOM 2200 shown in FIG. 22 in another embodiment of the IDM.
- the IOM 2200 provides four half duplex communication channels and transmits or receives ASK, CPFSK, FSK, or synchronous digital on each channel under software control.
- the IOM 2200 utilizes industry standard Digital Signal Processor (DSP) 2204 , such as Texas Instruments TMSC320C6205 and the like, and field programmable logic devices to provide various control circuits and logic.
- DSP Digital Signal Processor
- the IOM 2200 utilizes a PCI to PCI bridge 2202 , a four-channel communications controller 2206 for synchronous and asynchronous communication, and a two-channel communication UART 2207 for asynchronous communications.
- the IDM's CNR interface is implemented in the IOM 2200 .
- a high-level block diagram of the IOM is provided in FIG. 22 .
- the IOM 2200 is dual-sided SemE module.
- One side of the IOM 2200 contains the DSP 2204 and is associated support circuitry.
- the other side, B contains the physical CNR interface and signal acquisition circuitry.
- the block diagram in FIG. 22 includes the logic for both sides.
- Side B logic is shown in the bottom right corner enclosed a dashed line. The remaining blocks shown are all on side A of the module.
- Side A contains the DSP processor 2204 , the PCI to PCI bridge 2202 , the four channel communications controller 2206 , the two channel asynchronous communications controller 2207 , Synchronous Dynamic Random Access Memory (SRAM) 2205 , three field programmable logic devices 2208 , 2209 , and 2222 , and various driver circuits.
- SRAM Synchronous Dynamic Random Access Memory
- the DSP processor 2204 provides the primary means in the IDM to dynamically modulate and demodulate the I/O signals from the CNR interface under software control.
- the DSP interfaces to an internal PCI bus 2203 which only resides on the A side of the board via an on chip PCI interface.
- PCI bus 2203 interconnects the DSP 2204 , PCI to PCI bridge 2202 , and the four-channel communications controller 2206 .
- the DSP 2204 utilizes the PCI interface to accept and execute operation instructions from the CPM 1400 . It also uses the PCI interface to control, send and receive data to the four-channel communications controller 2206 .
- the DSP 2204 uses its memory interface to retrieve and store instructions and data to and from the SDRAM 2205 .
- the DSP 2204 also interconnects with one of the field configurable devices 2209 and the SDRAM 2205 via its memory bus 2210 .
- the DSP 2204 also uses the memory interface to communicate with the two-channel communications controller 2207 via one of the field programmable devices 2209 .
- the field programmable device 2209 between the DSP memory bus and the communication controller bus allows the to device to control activity on the two-channel communications controller device 2207 side of the bus 2211 . This reduces power consumption and reduces emissions of unwanted electrical noise.
- the DSP 2204 requires two different power inputs for operation.
- the power inputs are controlled by custom designed power interface circuits rather than the industry standard Low Drop Out regulator (LDO).
- LDO Low Drop Out regulator
- FIG. 23 A block diagram of this logic is shown in FIG. 23 .
- This technique is utilized to lower power consumption and gain explicit control of the DSP 2204 and the SDRAM 2205 power inputs. Finite control of power to the DSP 2204 and SDRAM 2205 allows the IDM to power down the DSP 2204 and SDRAM 2205 during reset to resolve a design deficiency of the DSP 2204 with its DSP to SDRAM interface. If the SDRAM is directly connected to the DSP, as is standard industry practice, the DSP does not exit the reset state correctly under all conditions. By powering down both devices during reset the DSP exits the reset state in the desired state.
- the description of a power control circuit 2410 is referenced FIG. 24 .
- a portion of the power control circuit 2401 powers the 3.3V input on the TI DSP 2204 and the SDRAM 2205 when the reset input is not active.
- Another portion of the logic 2414 powers the 1.5V power input to the TI DSP 2204 when the reset is not active.
- the reset is active the 3.3V and 1.5V supply is shut off to the TI DSP 2204 and the SDRAM 300 .
- the IOM 2200 utilizes a commercial four-channel communications controller 2206 to implement its synchronous serial interface.
- the device is controlled by the DSP 2204 via the PCI bus 2203 .
- the controller 2206 interfaces to the system input output pins via line driver device for each of the four channels.
- Each output of the drivers are connected to the corresponding ASK output drivers on the B side of the board via the backplane 10 .
- the signals are shorted together on the backplane 10 and routed to the IDM front panel for connection to outside interfaces.
- the signals from the A and B sides are shorted together to reduce the number of external device pins.
- the four-channel communications controller 2206 normally utilizes an external clock source for initializing each of the four channels. In the IDM environment the external clock is not present until data is transmitted.
- the IDM utilizes custom design circuits to allow the IDM to source its own clock to initialize the communication channels.
- the logic is implemented in a field programmable logic device.
- the circuit routes an internally generated signal to the clock input normally driven by the external system.
- the IOM 2200 utilizes a serial interface low side driver devices 2218 , as shown in FIG. 22 , to control the state of the various discrete outputs of the IDM.
- the serial interface low side driver devices 2218 is preferably a TI TPIC 2603 .
- the drivers 2218 are controlled by the DSP 2204 via one of the field programmable devices, preferably the field programmable device 2209 .
- the DSP 2204 controls the drivers 2218 by accessing the drivers via its parallel memory bus 2210 .
- the field programmable device 2209 accepts the parallel command and converts the data to serial commands the drivers receive.
- the IOM 2200 provides a method of resolving this uncertainty by programming the devices at power up by utilizing a hardware state-machine embedded in the field programmable device 2209 . This eliminates a delay between initial power up or system reset and when application software takes over control of the interface. Without this additional logic the drivers initially set at an unknown state, this could have disastrous ramifications depending on the function of interconnected external interface.
- FIG. 25 A diagram of the aforementioned circuit is shown in FIG. 25 and is further described below.
- the multiplexer circuit 2503 selects the inputs from the clock/chip select source 2502 .
- the signals from the circuit 2502 are only active during reset.
- the signals are routed through the multiplexer circuit 2503 into the low side driver device 2218 .
- the clock/chip select circuit 2502 generates the appropriate timed signals for the low side driver device 2218 so as to load the driver with all zeros and force the outputs into the off state.
- the multiplexer circuit 2503 routes the signals from the SRAM Based Programmable Logic Device 2209 to the low side driver device 2218 .
- the low side driver 2218 will stay in the programmed state waiting for the SRAM Based Programmable Logic Device 2209 to be loaded also. At that point the SRAM Based Programmable Logic Device 2209 will take control of the low side driver and program the desired output states.
- the IOM 2200 utilizes a watchdog timer circuit implemented in field programmable logic 2208 .
- the watch dog timer circuit resets the IOM 2200 if the software application code does not access the circuit within a defined amount of time. If the circuit is accessed by software at a rate faster than the defined amount of time, then the circuit does not reset the IOM 2200 . This circuit reinitializes the IOM 2200 if the software stops executing.
- a watch dog timer circuit is standard industry practice, though normally the circuit is under total control of the hardware.
- the watch dog time is started by a software action but continues under hardware control.
- the watch dog timer starts autonomously under hardware control after the system is powered up.
- the watch dog timer in the CPM 100 operates in this manner, software has no way to enable or disable the timer. Once enabled the timer cannot be stopped by software.
- the software must periodically access the timer fast enough so as to prevent the IOM 2200 from being reinitialized.
- FIG. 23 A diagram of the watchdog circuit of the IOM 2200 is illustrated in FIG. 23 .
- the heart of the watch dog timer circuit is a generic digital counter 2303 .
- the counter may be configured to count up or down, as it does not matter for the application. Once the counter reaches the predetermined count as determined by the terminal count decoder 2306 , a watch dog reset is generated to the desired logic.
- the counter 2303 is allowed to start counting once the software accesses the software enable register 2301 . Once enabled the software cannot disable the counter 2303 operation. The enabled state is latched on until a system reset is issued. Once enabled the counter 2303 counts up or down depending on the design, as stated above. Periodically the software accesses the software access register 2302 .
- DSP 2204 SDRAM 2205 power control circuit implements a power control circuit that powers the DSP 2204 and the SDRAM 2205 .
- This circuit enables the power to be removed from the DSP 2204 and the SDRAM 2205 during reset. If power is not removed from these two devices during reset, the DSP does not exit in the correct user defined state. By forcing the power off during reset, it forces the SDRAM 2135 to reset and eliminates potential contention issues on the data bus between the two devices.
- the primary control signal of the circuit is the reset signal driving the control logic within EPLD 2208 .
- the control circuit within EPLD 2208 activates the 1.5V and 3.3V shutdown outputs.
- the 1.5V shutdown output controls a low dropout voltage regulator controller 2105 , which in turn controls a transistor switch that supplies 1.5V to the voltage compare circuit 2120 and the core of the DSP 2204 .
- the 3.3V shutdown output controls a FET switch circuit that gates the 3.3V and generates the switched 3.3V that is distributed to the DSP 2204 and the SDRAM 2135 .
- the low dropout voltage regulator controller 2105 drives the transistor switch logic circuit 2110 so it will supply 1.5V to the DSP 2204 .
- the switched 1.5V signal goes above 1.255V at the input of the voltage compare circuit 2120 , it signals to the control logic in EPLD 2208 that the 1.5V voltage is within range.
- the control logic in EPLD 2208 will then respond by deactivating the 3.3V shutdown output to the FET switch circuit 2125 . This action forces the FET switch circuit 2125 to turn on the 3.3V to the DSP 2204 and SDRAM 2205 .
- the control circuit EPLD 2208 deactivates the delayed reset output to the DSP 2204 .
- the delay between powering 3.3V and releasing the delayed reset output allows the DSP 2204 to be fully powered when the delayed reset transitions to the inactive state. If an error occurs at any time when the circuit is powering the DSP 2204 and SDRAM 2205 the 3.3V and 1.5V outputs are turned off. An error occurs when either the voltage compare circuit 2120 indicates the 1.5V output is below 1.255 volts or the FET switch circuit 2125 signals a fault condition. The FET switch circuit 2125 indicates a fault if its output current exceeds 1 amp.
- the TI TPIC2603 Low Side Driver 2218 chip provides six outputs which can sink current into a load under software control through a serial interface.
- the DSP Interface EPLD 2209 shown in FIG. 22 is an SRAM based EPLD. One of its functions is to provide an interface between the TI TMS320C6205 DSP 2204 and the low side driver 2218 . Since DSP Interface EPLD 2209 is SRAM based, it must be loaded by the DSP 2204 after each power up or reset event. While the DSP Interface EPLD 2209 is unprogrammed, all of its outputs are tri-stated, so no control signals are driven from the DSP Interface EPLD 2209 to the low side driver 2218 .
- the DSP 2204 uses a parallel interface to write data into internal LSD_CONFIG registers, not shown, residing in the DSP Interface EPLD 2209 to enable or disable each low side driver output.
- the DSP Interface EPLD 2209 includes a free running down counter with a clock rate divided down from the system clock to provide a serial clock frequency of approximately 1 MHz.
- the low side driver requires eight rising clock edges while its chip select is active in order to clock in all the required data. Therefore a four bit modulo 9 counter is used, continuously counting from 8 to 0 at the serial clock frequency.
- the counter's most significant bit provides the active low chip select pulse while the counter is between 0 and 7, and disables chip select while the counter equals 8.
- the rising edge of chip select latches the serial data into the low side driver chip.
- the low side driver chip has no external reset pin. Therefore, it relies on an internal power up reset monitoring the +5V supply pin to clear its internal registers. According to Texas Instruments, the reset window is very short, in the tens of microseconds, and they were not able to supply information on the power supply trigger voltage.
- the +5V supply on the IOM has a rise time of well over 100 milliseconds, so the IOM power may not be stable when the low side driver chip performs its internal reset. This reset problem has resulted in low side driver outputs being enabled randomly during some power up conditions.
- the serial interface is comprised of registers and logic contained in the DSP Interface EPLD 2209 , controlled by the DSP 2204 (i.e., TI TMS320C6205). Since the DSP Interface EPLD 2209 is SRAM based, its outputs are tri-stated after power up until the EPLD is configured by the DSP 2204 . This configuration process can take a significant amount of time, up to about 90 seconds due to the bootup process of the operating system. During this time, the randomly enabled low side driver outputs cannot be controlled, since the DSP 2204 and the DSP Interface EPLD 2209 are not yet operational.
- the watchdog EPLD 2208 is a non-volatile EPLD which is normally only programmed once during initial testing in the factory. Since this configuration is present at power up, the watchdog EPLD 2208 can be used to provide control signals to the low side driver 2218 immediately after power up, as long as the outputs are not driven after the DSP Interface EPLD 2209 is configured.
- the same circuit used in the DSP Interface EPLD 2209 was recreated in the watchdog EPLD 2208 , with two exceptions.
- the system clock used to derive the serial clock is running at a different frequency, requiring the clock divider circuitry to be slightly different, and providing a slightly faster serial clock than that used on the watchdog EPLD 2208 .
- the chip select and clock signals are open drain, and only enabled while the system reset is low, thus ensuring no contention will occur once the DSP Interface EPLD 2209 is programmed.
- each low side driver chip 2218 is pulled down to ground through a resistor, ensuring that the serial data written to the low side driver chips always turns off the outputs while the DSP Interface EPLD 2209 is unconfigured.
- a delay counter of about 1.5 milliseconds was added from the falling edge of system reset until the open drain low side driver chip select and clock outputs are enabled. This was done to avoid contention between the PLDs when the system is reset.
- the watchdog EPLD 2208 will continuously send clock and chip select signals to the low side driver, with the data input pulled down to effectively write zeroes to the low side driver's internal configuration registers. This will last for the duration of the system reset pulse.
- the 10 microsecond period required to write all registers ensures all low side driver outputs will clear during the reset pulse, which is at least several milliseconds long.
- the DSP 2204 will control the low side driver outputs by writing into registers inside the EPLD 2209 , which are shifted out to the low side driver 2218 based on its serial clock rate.
- the DSP Interface EPLD 2209 will immediately tri-state its outputs, and a 1.5 millisecond delay will occur before the watchdog EPLD 2208 begins driving the low side driver clock and chip select outputs. This was done to avoid contention while the DSP Interface EPLD 2209 is turning off and the watchdog EPLD 2208 is turning on.
- IOM Input/Output Module
- the Analog and Mixed-Signal portion of the IOM 2200 reside on side B of the IOM 2200 , as shown within the dotted Analog Side box in FIG. 22 .
- Side B also contains some digital circuits including: a custom designed EPLD 2222 , high speed Low Voltage Differential Signaling (LVDS) interface 2224 to the DSP on side A, and Radio Control and Status I/O 2230 .
- LVDS Low Voltage Differential Signaling
- the analog/mixed-signal portion encompassing blocks 2226 and 2228 , is physically and electrically isolated from the digital portion, using split/isolated Power and Ground Planes, to improve digital noise rejection.
- This portion is comprised of four similar channels. Each of the four channels is designed to handle a number of selectable input and outputs as follows:
- Inputs for each channel ASK, HiZ, FSK-150, FSK-600, ASK-Test and FSK-Test.
- the Codec 2226 preferably a AD73311L, which is used in each channel is a mixed-signal device integrating most functions of analog-to-digital signal acquisition and vice-versa. It is controlled by the DSP 2204 via the Analog Interface EPLD 2222 . Like most Codecs on the market, this one is aimed at voice or low-data-rate application, without provision for active Bit-Sync tracking (via sampling-phase adjustment) which could potentially enhance performance. The advantages of using this device are low power, compact size and integrated features.
- the acquired input signal in digital form, is delivered to the DSP 2204 via the Analog Interface EPLD 2222 , which combines all four channels onto one serial interface.
- the DSP 2204 delivers the digital form of the desired output signals and the analog interface EPLD 2222 separates these to the individual serial Codec interfaces.
- the ASK/FSK Channel Inputs 2228 have a unique differential structure that eliminates the use of bulky transformers while retaining the advantages of differential signal handling with respect to system-ground mismatch, noisy ground and common-mode noise. Inputs are protected against electrostatic discharge, and are selected by a differential multiplexer.
- a single differential gain stage handles all input signal levels, even those exceeding the power rails, and adjusts the signal to appropriate level by adjusting its dual digital potentiometers, under DSP control, while maintaining the differential mode.
- ASK/FSK input state is another unique stage that combines a Difference-Amplifier with Reference-Level-Shift and Active-DC-Offset-Cancellation (the latter under DSP control of a digital potentiometer).
- the resulting signal is optimally centered at the reference level used by the Codec 2226 device serving the channel.
- the signal is further processed by a low-pass digital filter, to enhance anti-aliasing at the Codec's input.
- the Codec's differential output is converted to a single-ended signal and level-shifted to 0V using a single difference amplifier (not shown).
- the signal is then attenuated by a digital potentiometer, under DSP control, and fed to a selectable-gain output amplifier.
- Analog switches under DSP control, are employed to route the amplified signal either to the ASK output or to the FSK output-transformer. These outputs are also looped back to the ASK-Test and FSK-Test inputs of another channel for Built-In-Test purposes.
- the FSK-Output 2228 employs a unique user-selectable output impedance. For legacy reasons the output impedance is rather low (32 ohms), but other users may require a higher impedance when the output is idle. By changing the source-termination of the output-transformer, under DSP control, the user selects the FSK output impedance (32 ohms or greater than 150 ohms)
- the analog interface EPLD 2222 on side-B of the IOM 2200 is the gateway between the DSP processor 2204 and the analog/mixed-signal subsystem.
- This EPLD 2222 interfaces to the DSP 2204 two serial ports via the LVDS 2224 devices.
- One serial port is dedicated to the transfer of message data to and from the four channel Codecs 2226 , while the other port is used for controlling channel and Codec setup.
- the innovation in this design is in the way the four channel Codecs 2226 interface to the DSP 2204 .
- multiple AD73311L or similar codecs would be connected serially to the DSP's serial port, while sharing the same Master Clock, which is necessary to ensure that all codecs share the same serial data rate.
- a different approach is necessary since the Master Clock to each Codec is varied in order to shift the sampling phase; this creates varying serial data rates out of the Codecs and precludes connecting them in series to one DSP port.
- the EPLD 2222 is used to multiplex the receive-sample data from the four Codecs onto one serial bus, and de-mux the transmit data from one to four individual serial streams, but with an important modification aimed at preserving data-integrity. Since data rates from the Codecs vary, the EPLD 2222 collects data from all four channels, and transfers a multi-channel-word to the DSP, at a fixed frame rate that is higher than the maximum Codec data frame rate. Additionally, it is recognized that this will give rise to repeated data on the DSP side; thus each channel data is tagged as “fresh” the first time it is added to the DSP stream and “stale” on a subsequent appearance, until it is replaced by fresh data from the same Codec.
- the MSB tag bit which is already built into the Codec data word (in Mixed Mode only) and used to differentiate data from control words, is utilized. Since in the architecture of the IOM 2200 data and control are separated into different serial streams to the DSP 2204 , the MSB tag bit can be appropriated for another use, to signify freshness, without loss of data bits or adding overhead to the serial stream.
- the Codec 2226 allows mixed-mode operation, where both data and control are used over the Codec's serial interface, differentiated by the MSB bit-tag.
- the EPLD 2222 diverts control words to/from each Codec onto the second DSP serial port, dedicated to control, which simplifies the software handling in the DSP 2204 .
- Other channel setup and control needs are served by the same interface; these include digital-potentiometers used to control signal levels, and analog switches used to control connectivity.
- Another function implemented in the EPLD 2222 is the generation of the varying MCLK signals, under DSP control, for the four channel Codecs 2226 .
- a high frequency clock is divided by 8 to yield the nominal MCLK rate for each Codec.
- the division factor for that MCLK is modified up or down as appropriate (7 or 9) for a temporary period, then returned to the nominal rate.
- the EPLD 2222 is configured by the DSP 2204 after power-up, in tandem with the EPLD 2209 of side-A, using the data and clock lines of DSP Serial Port 0 . The same port is later used for data transfer.
- Inputs include (one each per channel): CREW-PTT, TX-GATE and SPARE-IN.
- Outputs are GSIP-PTT (one each per channel).
- FIG. 20 another embodiment of the MSM 200 of the present invention is illustrated in FIG. 20 as the MSM 2000 .
- the MSM 2000 interfaces to the CPM 1400 through the IDE bus 2002 via the back plane 10 in FIG. 2 .
- the MSM 2000 is designed using an interposer approach, wherein the interposer provides a mechanism to accommodate the various IDE form factors, such as 1.8 in, 2.5 in., 3.3 in, and future solid-state devices as technology emerges, all without the need to redesign the backplane 10 .
- the MSM 2000 houses a solid-state disk, which is a master IDE drive 2020 .
- the MSM 2000 provides a data retention feature to preserve data in the case of power faults and a disk wipe feature for the removal of sensitive information.
- the IDE/ATA interface is also used for system maintenance.
- the IDM of the present invention in the above-described embodiments is capable of executing Embedded Battle Command (EBC) application software simultaneously with the IDM Operational Flight Plan/Program (OFP).
- EBC Embedded Battle Command
- OFP transfers received Over-the-air and MIL-STD-1553B messages to the EBC application software and receives data from the EBC application software for MIL-STD-1553B transmission.
- BIOS and sophisticated patches coupled with an externally strapped boot mode allow the CPM to boot in a number of different modes to accommodate the requirements of the vehicle or platform into which it is installed. Further, the BIOS and patches of the present invention provide a high degree of fault tolerance by enabling the IDM to successfully boot and operates on a backup operating system when necessary.
- the x86-based architecture of the CPM, housed within the IDM, allows the IDM to host almost any application written for a PC in an embedded environment lacking standard I/O capabilities, such as a keyboard and a display monitor. This capability is currently being exploited to allow military-based applications to be hosted within the IDM in addition to the current IDM communication functions.
Abstract
An improved data modem (IDM) and method includes a communication processor module, a mass storage module, a power converter module, and one or more DSP modules. The communication processor module utilizes commercial off-the-shelf components as well as electrically programmable logic devices (EPLD), which are programmed to provide a watchdog timer, programmable interrupt controller, flash page addressing, ISA bus decoder and controller, and various circuits and logic.
Description
- This application is a divisional of application Ser. No. 10/142,875, filed May 13, 2002, which is a continuation-in-part of application Ser. No. 09/736,273, filed Dec. 15, 2000.
- The present invention relates to a communication system in general, and more particularly a system and method for a data modem capable of passing data between dissimilar communication platforms.
- A great number of tactical voice communication devices are now in the inventories of the military services of the United States and allied countries. It is not economically feasible to phase out the existing communication devices and replace them with more modern systems that have no backward compatibility.
- In addition to voice communication devices there also are data communication devices for passing targeting data between joint services air and ground weapon platforms for support of missions such as: Suppression of Enemy Air Defense (SEAD), Close Air Support (CAS), Forward Air Control (FAC), special forces operations, air combat, and command control. A SEAD mission may include creating penetration corridors through enemy air defenses using a combination of electronic and physical attack of enemy radars and missiles sites. A CAS mission may include air action against hostile targets which are in close proximity to friendly forces and which require detailed integration of each air mission with the fire and movement of those forces, or action against targets or objectives sufficiently near the supported force as to require detailed integration or coordination of the supporting unit. A FAC mission may include providing timely target data to fighters, preventing fratricide and assisting commanders to see the battlefield from anywhere on the battlefield.
- There are needs for interconnectivity with backward compatibility for myriad voice and data communication systems, and for integration with modem digital communication systems. There is a desire for a data modem that meets these needs as well as provides an open architecture so that designs, repairs, upgrades can be performed with great ease and economic savings. Such an open architecture allows the usage of many commercial off-the-shelf hardware components, modules and software that are relatively inexpensive and are readily available.
- The data modem presents a multi-path approach to situational awareness in a tactical environment. Such multi-path approach takes into consideration interfacing and integrating communication apparatuses that use 10/100 Base-T Ethernet (e.g. Tactical Internet), MIL-STD-1553B communication port, Universal Serial Bus (USB), Synchronous Data Link Control (SDLC), serial ports (e.g. RS-232, RS-422, and RS-423), Combat Net Radios (CNR), Enhanced Position Location Reporting System (EPLRS), and HF communication equipment. The CNR is a suite of lightweight HF, VHF, and UHF radios that provide ground and air/ground/air communications and can be deployed as manpacks or in vehicles or aircrafts. The EPLRS provides secure, jam-resistant, near real-time data communications support. The Tactical Internet (TI) is a communication infrastructure comprising an integration of tactical radios, computers, routers, and supporting communications equipment providing voice and data transport at various security classifications.
- In addition to the task of interfacing and integrating various voice and data systems, the data modem also needs to be housed in a single ruggedized compact field unit that is flight-ready and can withstand harsh environment and operating conditions.
- It is an object of the present invention to provide an improved data modem (IDM) with an open architecture that strongly leverages commercial technologies to provide maximum flexibility in design at a minimum cost.
- It is another object of the present invention to provide an improved data modem that includes a ruggedized housing, a backplane, a first communication processor module (CPM1), an optional second communication processor module (CPM2), a Mass Storage Module (MSM), at least one Digital Signal Processing (DSP) module, and a Power Converter Module (PCM).
- It is an additional object of the present invention to provide an improved data modem with interfaces to other communication and control devices via 10/100 Base-T Ethernet, serial ports (such as RS-232C, RS-422, RS-423), Universal Serial Bus (USB), Synchronous Data Link Control (SDLC), and MIL-STD-1553B.
- It is another object of the present invention to provide a CPM utilizing an industry standard Central Processing Unit (CPU), such as an Intel Pentium® processor, and standard BIOS for x86-based Personal Computer (PC), IDE Interface, IEEE-1394, and JTAG (Joint Test Action Group) port, wherein the JTAG port is an IEEE Standard 1149.1 port that allows the testing of equipment, connected to the JTAG port, to identify components on the board by reading the device identification register and to control and monitor the device's outputs.
- It is a further object of the present invention to provide a CPM that utilizes Erasable Programmable Logic Devices (EPLD) to provide various control circuits and logic.
- It is a further object of the present invention to provide a CPM which contains two Erasable Programmable Logic Devices (EPLD). A first EPLD is customized for operation as a Programmable Interrupt Controller (PIC) to provide interrupt control functions such as those found in, for example, as an 8259 PIC chip made by Intel® or NEC®, an Industry-Standard Architecture (ISA) bus decoder and controller, a multi-mode watchdog timer with reset control, a MIL-STD-1553B controller and decoder, discrete Input/Outputs (I/O's), flash page register, and hardware version register. The second EPLD is programmed to provide glue-logic for an IEEE-1394 Backplane Transceiver Logic (BTL) buffer control, various controls for serial communication controller chips, and both general purpose and programmable inverters for control of radio discrete logic such as Push to Talk (PTT), wherein the programmable inverters for the PTT signals creates flexibility for the interfacing external radios.
- It is a still further object of the present invention to provide an IDM with the CPM and MSM modules that are hardware compatible with a Joint Combat Information Terminal (JCIT) such that a JCIT Message Processor could be replaced by the CPM and MSM combination of the present invention, wherein JCIT is a multi-band, multi-functional radio terminal with programmable modulation and demodulation, information security (including transmission security, communications security, and computer security), link and message processing, and user interface capabilities.
- It is another object of the present invention to provide an IDM with a combination of communication interfaces, including MIL-STD-1553B, 10/100 Base-T Ethernet, Universal Serial Bus (USB), IEEE-1394, Synchronous Data Link Control (SDLC), and a plurality of serial communication interfaces, preferably six, configurable as RS-232, RS-422 or RS-423. The serial communication interfaces are designed to interface to military and other radios, including the EPLRS, High Frequency (HF) radios operating at 3-30 MHz frequencies, Single Channel Ground to Air Radio System (SINCGARS), ARC-164, ARC-182, ARC-186, and ARC-210, and PSC-5.
- It is still another object of the present invention to provide an IDM with modules that conform to Standard Electronic Module, Form Factor E (SEM-E), including Form Factor IEEE1101.4, and with a CPM module that utilizes commercial off-the-shelf hardware and software components as well as electrically programmable devices to efficiently and economically provide functional circuits and logic.
- It is yet another object of the present invention to provide and IDM that is downwardly compatible with and replaces existing military hardware, including the Advance Target Handover System (ATHS), various Data Message Devices (DMD's), and the Tactical Communications Interface Module (TCIM) through communication ports or interfaces of the CPM and the DSP module.
- It is yet another object of the invention to provide an IDM with synchronous communication means that are configurable to effect synchronous communication.
- It is yet another object of the present invention to provide a serial communication controller in an IDM and to provide a synchronous port fix to the serial communication controller so as to configure the serial communication controller to effect synchronous communication capability, particularly for a serial communication controller operable in a clockless mode.
- It is yet another object of the invention to provide an IDM with means to recover from a disk boot failure by providing a means for bootstrapping the IDM from a backup operating system.
- It is still another object of the invention to provide boot strapping means to boot strap a CPM in an IDM from a boot kernel, or a backup operating system, stored in a non-volatile memory in case of a disk boot failure.
- It is yet another object of the invention to provide a CPM with means for resetting an IDM by using a watchdog timer and a software watchdog tickler or resetting function.
- It is still another object of the present invention to provide a CPM with means for extending non-volatile memory addressing beyond a typical 128K byte using a memory page register.
- It is yet another object of the invention to provide a method for programming non-volatile memories in an x86-based communication system having a JTAG port using an In-Circuit Emulator (ICE), wherein the non-volatile memories are for storing a BIOS and a backup operating system or boot kernel.
- It is still another object of the present invention to provide an IDM with a method for executing a boot kernel stored in a non-volatile memory.
- It is still yet another object of the invention to provide a method for programming a non-volatile memory in an x86-based CPM having a JTAG port using an ICE with Ethernet Media Access Control (MAC) and Internet Protocol (IP) addresses.
- Additional advantages of the present invention, including structural and functional characteristics of the IDM and its components as well as terminology or nomenclatures used, will become readily apparent to those skilled in the art from the following detailed description, wherein only the preferred embodiment of the present invention is shown and described, simply by way of illustration of the best mode contemplated for carrying out the present invention. As will be realized, the present invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the present invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
- Reference is made to the attached drawings, wherein elements having the same reference numerals designation represent like elements throughout, and wherein:
-
FIG. 1A schematically illustrates a high-level diagram of the IDM of the present invention. -
FIG. 1B schematically illustrates the external electrical interfaces of the IDM of the present invention. -
FIG. 2 schematically illustrates an exemplary hardware configuration of the IDM. -
FIG. 3 illustrates a high-level diagram of a CPM interfaced with an ICE for the purpose of programming flash memory and Serial EEPROM (SEEPROM). -
FIG. 4 illustrates a high-level logical block diagram of the CPM. -
FIG. 5 illustrates a mid-level diagram of the CPM. -
FIG. 6 illustrates an exemplary functional block diagram of a MSM. -
FIG. 7 illustrates a state diagram of a watchdog timer of the present invention. -
FIG. 8A illustrates an exemplary flow diagram of a boot-strapping process under the watch of a multi-mode watchdog timer of the CPM. -
FIG. 8B illustrates another exemplary flow diagram of the boot-strapping process of the CPM. -
FIG. 9 illustrates an exemplary hardware synchronous communication port fix. -
FIG. 10A illustrates a readable/writable flash page register. -
FIG. 10B illustrates a detailed block diagram of an 8-bit interrupt controller in an embodiment of the IDM. -
FIG. 11 illustrates an alternative embodiment design for interfacing flash memory to a south bridge (PIIX4®) chipset via EPLD1. -
FIG. 12 schematically illustrates an IEEE-1394 Backplane Transceiver Logic buffer control. -
FIG. 13A illustrates a method for recognizing the presence of an optional CPM and chassis location. -
FIG. 13B illustrates control signals for recognizing one or more CPM inserted in an IDM and a CPM inserted in a JCIT backplane. -
FIG. 14 illustrates a high-level diagram of another embodiment of the present invention. -
FIG. 15 illustrates the external electrical interfaces of another embodiment of the present invention. -
FIG. 16 illustrates a block diagram of a clock multiplexer in another embodiment of the present invention. -
FIG. 17 illustrates a detailed block diagram of an interrupt controller in another embodiment of the present invention. -
FIG. 18 illustrates a low level block diagram of a voltage regulator fault latch. -
FIG. 19 schematically illustrates a diagram of the local bus reset controller circuit. -
FIG. 20 illustrates a high-level block diagram of a MSM Module in another embodiment of the present invention. -
FIG. 21 schematically illustrates a detailed diagram of a power control circuit of the present invention. -
FIG. 22 illustrates a high-level block diagram of the IOM module. -
FIG. 23 illustrates a block diagram of a watchdog timer circuit. -
FIG. 24 illustrates a high level diagram of a power control circuit. -
FIG. 25 illustrates a high level diagram of a circuit to pre-initialize a low side driver device. - This present invention is a data modem device that exchanges data between various military data/voice communication systems and that performs tactical Internet routing, Embedded Battle Command (EBC), message generation, protocol conversion and supports a variety of legacy protocols through the collaborative functions of a CPM, at least one DSP Module, MSM, PCM, a backplane, and a ruggedized, compact modem housing with interfacing connectors.
- An embodiment of the present invention is schematically illustrated in
FIG. 1A which illustrates anIDM 1 with major components therein. TheIDM 1 includes afirst CPM 100, aMSM 200, which includes two solid-statememory storage devices PCM 300, twoDSP modules second CPM 600. - The
IDM 1 includes external interfaces, e.g. communication, electrical and mechanical interfaces (not shown), between the IDM enclosure and the platform in which it is installed. The IDM external communication and electrical interfaces are shown in Table 1 below and inFIG. 1B .TABLE 1 External Communication and Electrical Interface Matrix Interface Total Interfaces Modulation Type Standard Available Type Analog N/ A 4 FSK Digital N/ A 4 ASK/FSK DRA MIL-STD-188-114 4 NRZ-L SDLC MIL-STD-188-114 1 N/A EPLRS RS-422 1 N/A HF SYNC RS-422 TX / RS-423 RX 1 N/A SPARE SYNC RS-422 TX / RS-423 RX 1 N/A SIP ASYNC RS-232 2 N/A HF ASYNC RS-232 1 N/A USB USB Revision 1.0 1 per CPM N/A Ethernet IEEE-802.3 1 per CPM NRZ MIL-STD-1553 MIL-STD-1553B 1 (Dual Manchester Redundant) Power MIL-STD-704 1 N/A - In an embodiment of the present invention, the IDM provides 22 external data communication interfaces and a 28 Volts direct current electrical power interface. These communication interfaces include three independent RS-232C interfaces, two mixed RS-423/RS-422 interfaces, one RS-422 interface, one Ethernet interface, one USB interface, and one MIL-STD-1553B interface. The remaining 12 interfaces are divided among four half-duplexed radio channels. Each half-duplex radio channel is capable of being configured into one of three different communication interfaces: analog or duo-binary frequency shift keying, digital, or synchronous digital. Each of the four half-duplexed radio channels has one communication interface, data rate, and link format operational at any given time.
- As the IDM of the present invention includes major modules, such as the
PCM 300, theDSP modules CPM 100, and theMSM 200, the IDM also includes a chassis/backplane assembly into which all these modules are plugged. Such hardware configuration of the IDM, including abackplane 10 and plug-in modules, is shown inFIG. 2 . - Each of the major components of the IDM is described in more detail as follows.
- The heart of the
IDM 1 of the present invention is theCPM 100 module, which is illustrated in a high-level logical block diagram inFIG. 4 and in a lower-level detailed diagram inFIG. 5 . - In
FIG. 4 theCPM 100 is a microprocessor-based module having an architecture that resembles today's x86-based personal computers and that includes many commercial off-the-shelf components. TheCPM 100 includes amicroprocessor 20, such as a Pentium® processor with MMX™ extensions made by Intel® or a similar processor capable of running in real mode or protected mode, which provides computing power for theCPM 100.Processor 20 is connected to anorth bridge 24, which is a PCI chipset system controller, via ahost bus 22. Thenorth bridge 24 is, in this preferred embodiment, an Intel® 430TX® chipset. Thenorth bridge 24 provides, among other things, memory access tosystem memory 28 viamemory bus 26. Thesystem memory 28 is preferably a Synchronous Dynamic Random Access Memory (SDRAM) with a memory capacity of 128K Mbyte or greater. Thenorth bridge 24 provides aPCI bus 30 to which asouth bridge 32 is connected. Thesouth bridge 32 is a PCI-to-ISA/IDE accelerator which provides, among other things, an IDE (Integrated Drive Electronics) 235 and USB interface 236, and an ISA (Industry Standard Architecture)bus 44. Thesouth bridge 32 is preferably an Intel® PIIX4® device or the like. - The
CPM 100 includes an Ethernet controller with aFast Ethernet interface 34, which is a 10/100 base-T Ethernet, that is interfaced with thePCI bus 30.Ethernet interface 34 provides a local area network link to other external devices that are a part of the Tactical Internet. - Attached to the
PCI bus 30 are IEEE-1394backplane interface 46 and twoserial communications controllers - Connected to the
south bridge 32 viaISA bus 44 are aflash memory 42, a MIL-STD-1553B avionic Bus Controller orRemote Terminal 50, and a first EPLD (EPLD1) 40. Connected to theserial communication controllers - The architecture and functions of the EPLD2 and EPLD1 will be apparent as they are referenced and described herein.
- The
flash memory 42 preferably provides storage space for BIOS, a boot kernel or a backup operating system (OS). Theflash memory 42 preferably further stores IDM-specific application codes that can be executed to operate the IDM in a degraded mode. The degraded mode provides the IDM with limited functions with at least a functional MIL-STD-1553B bus, as will be explained later. - In this present embodiment, the BIOS is a commercial off-the-shelf standard BIOS, such as an Award® BIOS or AMI® BIOS, that is found in today's x86-based PC-compatible systems. The BIOS, including patches or modifications for adapting the BIOS to the IDM functional needs, is of a standard size of 128KB and is preferably stored in
page 0 offlash memory 42. The backup OS and application codes are stored in remaining pages of the flash memory. In the case where the flash memory is 2 Mbytes, with sixteen 128KB pages, which are numbered from 0 to 15, the backup OS and application software are stored in pages 1-15, as the BIOS is stored inpage 0 of the flash memory. - The backup OS kernel necessary to boot strap the
IDM 1 and to place it in a degraded operational mode is preferably a real-time operating system, such as LynxOS® by LynuxWorks™ or VX-Work® by WindRiver System Inc. The backup OS kernel is preferably stored in a compressed format in theflash memory 42, and is uncompressed as needed. - The
Ethernet controller 34 links theCPM 100 to aEthernet hub 230 located in theMSM 200, as shown inFIG. 6 , and communicates with other network devices (not shown) external to the IDM. The other external network devices are integral to the Tactical Internet. - A majority of specialized circuitries and functions of the CPM are implemented using electrically
programmable logic devices EPLD 2, respectively, as shown inFIG. 4 . - In
FIG. 5 , it can be seen that the EPLD1 is advantageously used to provide an ISA bus decoder and controller 84, a programmable interrupt controller (not shown), awatchdog timer 120, IDM/JCIT system status, including Ready Discrete, Fail, IDE reset inverter, and a hardware version register. - The EPLD2 is advantageously used for providing a synchronous port fix for the
serial communication controllers block 110. - The EPLDs can be an Altera Max 7000® series with part number EPM7160STI100-10. The hardware circuitry programmed therein are developed in Very High Speed Integrated Circuit Hardware Description Language (VHDL) source code using, for example, the Altera Max+Plus II® programmable logic development system.
- The EPLDs are chosen for providing the specified circuitries and logic because the EPLDs can be customized to specific applications rapidly and economically while meeting the space constraints of the CPM module and the IDM.
- Application Specific Integrated Circuits (ASICs) are less preferred over EPLD for providing customized circuitry and logic to meet the needs of the IDM. ASICs are comparatively costlier to design and produce, while EPLDs are quicker and more cost-effective to implement customized circuitry and logic.
- In order to effect serial communications in the
IDM 1,serial communication controllers serial communication controllers serial communication interfaces Asynchronous ports 1 is provided by an RS-232transceiver 96, and the second and third asynchronous ports are provided by an RS-232C transceiver 104, as shown inFIG. 5 . - Also, as shown in
FIG. 5 , the twoserial communication controllers synchronous port 148 for communication with theDSP1 module 500, a secondsynchronous port 150 for communicating with EPLRS, a third synchronous port, having a mix ofinput 152 and output 154, for use as a spare, such as for maintenance, a fourthsynchronous port 166 for communicating withDSP2 module 400, and a fifth synchronous port, having a mix ofinput 168 andoutput 170, for communicating with an HF radio. - The first and second synchronous communication ports are provided by an RS-422
transceiver 98, the third port is provided by a mixed RS-422transceiver 98 and RS-423transceiver 102, the fourth synchronous communication port is provided by RS-422transceiver 106, and the fifth synchronous communication port is provided by a mixed RS-422transceiver 106 and RS-423transceiver 108. - As shown, each of the
serial communications controllers - In a preferred embodiment of the invention, the 4-channel
serial communication controller serial communication controllers - Since the state machine inside the DSCC4 cannot be configured or operated without an external clock, and the external radios interfaced to the synchronous communication port may or may not provide a clock in synchronous mode, a mechanism, i.e. a synchronous port fix, is implemented to allow the configuration of the synchronous communication ports to effect synchronous communication.
- This synchronous port fix is shown in
FIG. 9 and is composed of aclock multiplexer 780, aninternal clock source 784, and a receive data delay (not shown). The synchronous port fix is provided in the EPLD2 shown inblock 110 inFIG. 5 . - Referring to
FIG. 9 , theclock multiplexer 780 selects between two clocks, anexternal radio clock 782 or a free running internal clock 784 (INT_CLK), via a control signal 786 (SEL_INTCLK_CLK). During the configuration of the DSCC4 synchronous port, the free runninginternal clock signal 784 is selected and connected to a DSCC4 clock input of theserial communication controllers radio clock signal 782 is connected to the DSCC4 clock input of theserial communication controllers - The synchronous port fix includes a receive data delay (not shown), which is required to realign the phase of the radio clock with it's received data. Since the
multiplexer 780 introduces a known delay from input to output, the received data will also be delayed by the same time. Any gate type mechanism, such as inverter, flip-flop, or the like, can be used for the delay path. In this present embodiment, a total of seven delay circuits are required. - Other serial communication controllers having clockless mode and any number of channels may be used in place of the 4-channel DSCC4 to provide more or less serial communication channels as needed. However, the application of the synchronous port fix can be provided in the same manner to effect synchronous serial communication.
- The free running
internal clock signal 784 provided to multiplexer in 780 can be derived from an externally supplied ISA clock. The internal clock can be provided by, e.g., dividing an 8 MHz ISA clock down to approximately 96 KHz having a 50% duty cycle. - In addition to providing the synchronous port fix to the
serial communication controllers EPLD2 80 is also used for implementing Ground Single Channel Ground and Airborne Radio System System Improvement Program or Ground SINCGARS SIP (GSIP) radio Push-to-Talk (PTT) control, which includes four programmable inverters, and IEEE-1394BTL buffer control 800, as illustrated inFIG. 5 . - Such implementation of GSIP PTT control is shown in
FIG. 5 , block 110, 112 and 160 as a high level diagram. - The
EPLD2 80 is also used for implementing four general-purpose inverters. These inverters are used to invert the logic levels of the request-to-send (RTS) outputs of the DSCC4 serial communications controller which controls a quad low-side switch 122 used to assert additional radio PTT lines, which arelines FIG. 5 . - The
EPLD 2 80 is further used to provide hardware to control Backplane Transceiver Logic (BTL) buffers used for the IEEE-1394interface FIG. 5 . -
Components EPLD2 110 glue logic for IEEE-1394 BTL buffer control inFIG. 5 are shown in greater details inFIG. 12 . - Referring to
FIG. 12 , theEPLD2 110 provides glue logic to control the direction of the IEEE-1394 BTL Buffer. TheIDM_JCIT# inputs 157 is used to control the JCIT specific signals on the IEEE-1394BTL XCVR 76. If theCPM 100 is inserted into a JCIT chassis, the JCIT specific signals must be allowed to enter theCPM 100 as inputs. In an IDM chassis theCPM 100 needs to drive theBTL XCVR 76 signals because floating inputs would be undesirable. - Additional control is required for the IEEE-1394 specific data and strobe signals. In a JCIT chassis, the IEEE-1394
BTL XCVR 761394_DATA signal 910 and 1394_STB signal 912 must be under the flow control of the IEEE-1394Physical Layer IC 74. The JCIT chassis provides an active IEEE-1394 backplane interface requiring CPM support. In an IDM chassis, the presence of a secondoptional CPM 600 dictates the flow control mechanism of the IEEE-1394BTL XCVR 76. With two CPMs present, an IEEE-1394 backplane interface is completed and thus the IEEE-1394Physical Layer IC 74 on each CPM must have flow control of the IEEE-1394BTL XCVRs 76 allowing bi-directional communications. With one CPM present, the IEEE-1394BTL XCVR 76 is forced to output only to prevent a floating input condition on the IEEE-1394 DATA and STB signals. The additional control is provided by combining a logical AND of theIDM_JCIT# 157 andOTHER_CPM_PRESENT# inputs 156 to theEPLD2 110. - Table 2 below is a truth table for the IEEE-1394 BTL buffer control.
TABLE 2 Truth Table for IEEE-1394 BTL Buffer Control INPUTS OTHER OUTPUTS IDM JCIT# CPM PRESENT# PHY XCVR OE# XCVR OEB2# 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 -
FIG. 13B shows which control signals become asserted in an IDM chassis versus a JCIT chassis. The CPM provides two signals that help to determine the location and certain functionality of the CPM. TheIDM_JCIT# signal 157 is used to identify the backplane type. This is accomplished by either grounding or floating the signal in the backplane. TheOTHER_CPM_PRESENT# signal 156 identifies if an optional additional CPM is present in an IDM backplane. - In
FIG. 13A , aCPM 100 provides a trace loop for connectivity to provide presence indication to theother CPM 600. The indication is reciprocal since both CPMs are identical. One end of each of the loops is grounded in the IDM chassis, as shown inground connection - Although the
CPM 100 of theIDM 1 shares many similarities with a common x86-based PC, such as using a x86-based CPU, standard BIOS, a PIIX4® chipset and a 430TX® chipset, theCPM 100 is different in many respects. For example, the CPM by design has no super I/O controller chip with capabilities such as a parallel port and serial port, keyboard, monitor, floppy drive or VGA. In a preferred embodiment, all asynchronous communications are performed through the asynchronous ports provided by theserial communication controllers - As previously mentioned, the
CPM 100 further includes the following hardware: ISA bus decoder/controller, a flash page register for accessing information stored in flash pages, such as BIOS, backup OS kernel, and application codes, offlash memory 42, a MIL-STD-1553B interface controller, a programmable interrupt controller (PIC), a watchdog (WDOG) timer, an IDM status, system status, IDE reset inverter, and a hardware version register. In addition to the above-mentioned hardware and control logic, the CPM is also provided with an interrupt mask register, an interrupt status register, a watchdog keep alive register, a watchdog status register, a system status register, and a system mode register. The flash page register embedded in the EPLD1 extends the standard BIOS addressing from 128 Kbytes to 8 MBytes, preferably to 2M bytes. Refer toFIG. 11 for a detailed diagram showing the flash page interface, which allows the access of the BIOS in a first flash memory page and the backup OS kernel in subsequent flash memory pages. - An exemplary embodiment of an ISA decoder is illustrated in
FIG. 5 , block 84. The ISA decoder 84 implemented using the EPLD1 40 (FIG. 4 ) provides the interface and control logic for the flash page register, MIL-STD-1553B interface, programmable interrupt controller, watchdog timer, ready discrete, fail status, and hardware version register, all of which except the MIL-STD-1553B interface are embedded in the EPLD1. The MIL-STD-1553B interface is provided by a commercial off-the-shelf component such as a UTMC 5962-9858701 QZC device made by United Technologies Microelectronic Systems (UTMC), Inc. - The architecture for the flash page register is shown in
FIG. 10A and consists of a seven-bit read/write programmable register. - The programmable interrupt controller (PIC) has an architecture that includes the following: 7 interrupt inputs with 1 interrupt output, a 7-bit write/read interrupt mask register, and a 7-bit write/read interrupt pending or status register. The number of bits in the programmable interrupt controller can be of any number as needed, preferably between 7 and 16 bits.
FIG. 10B illustrates a detailed block diagram of a 7-bit interrupt controller of the present invention. - The interrupt controller has the following characteristics: the 7 interrupt inputs are asynchronous and are negative edge triggered, the 1 interrupt output is asynchronous and has positive level output, and interrupt input is masked if a
logic 1 is written to the corresponding bit in the interrupt mask register, the interrupt register is I/O mapped and is word writeable/readable, a bit in the pending interrupt register is set to alogic 1 if the corresponding interrupt input occurred, the interrupt pending is I/O mapped and is word readable/writable, and a pending interrupt is cleared by writing alogic 0 to the corresponding bit in the pending interrupt register. The interrupt pending register is preferably decoded at address 342HEX, and the mask register is preferably decoded at I/O address 340HEX. - The interrupt output occurs from a pending, unmasked interrupt. For example, the interrupt output can be a logic OR combination of all bits in the pending interrupt register which are ANDed with the invert of bits in the interrupt mask register. If one or more pending interrupts are asserted (logic 1) then the interrupt output remains asserted (logic 1) if the associated interrupt is not masked.
- The interrupt controller is reset by the watchdog system reset logic in EPLD1 via
line 118, watchdog timer reset. On reset, the mask register is set so that all interrupts are masked and the interrupt pending register is cleared indicating no pending interrupts. - A watchdog timer is commonly known as a mechanism used to determine whether another mechanism is functioning properly. A watchdog timer typically is a safety feature that prevents runaway software. When a watchdog times out, it stops a CPU from executing meaningless code, a situation that arises from an electrical or programming error. More specifically, if the software is not being executed properly, it fails to clear, or to tickle, the watchdog timer, or if the watchdog timer is not cleared, or tickled, for a specified interval, the watchdog timer causes the CPU to reboot and execute software from a known place.
- However, in the present invention, the
watchdog timer 120 is a timer responsible for generating a board reset in the event the watchdog timer is not reset by software. Additionally, should the timer expire, a watchdog reset status bit is set indicating that a watchdog reset occurred. The operating characteristics of the watchdog timer in a preferred embodiment are shown in Table 3 and a state diagram is shown inFIG. 7 .TABLE 3 Operating Characteristics of the WDOG Timer Software WDOG Reset Command: ADDRESS = 0 × 360/DATA = Don't Care CONDITION WDOG Software Reset Period WDOG PERIOD BOARD RESET? Board Power-up >90 seconds 90 seconds Yes, at 90 seconds Board Power-up <90 sec. But >5 sec. 5 seconds Yes, at 5 seconds Board Power-up 1st <90 sec., next <5 sec. 5 seconds No Board Reset >90 seconds 90 seconds Yes, at 90 seconds Board Reset <90 sec. But >5 sec. 5 seconds Yes, at 5 seconds Board Reset 1st <90 sec., next <5 sec. 5 seconds No. - The state diagram of the
watchdog timer 120 illustrated inFIG. 7 is explained as follows. On power-up or cold boot-strapping the IDM from a powered down state, a watchdog reset status bit is cleared to alogic 0 instate 702. Instate 704, on power-up or following a watchdog reset condition, the reset assertion event is debounced for about 140 ms before transitioning tostate 708. The reset deassertion event is debounced for an approximate 140 ms when transitioning fromstate 708 to 712. Instate 712, if a software watchdog reset command is not issued within 90 seconds, during which time the processor initialization should take place, the watchdog timer reset status bit is set and theCPM 100 is reset, by transitioning fromstate 712 intostate 724. - In
state 712, if a boot was successful, a software watchdog reset command is issued, which resets the watchdog timer and the watchdog timer automatically reduces its time out period to 5 seconds, as shown instate 718. Any subsequent software WDOG reset commands issued less than 5-seconds will keep the WDOG time alive instate 718. If any subsequent software watchdog reset command is not issued within 5 seconds under this condition, the watchdog reset status bit is set and the CPM is reset as shown intransition state 724. - The duration of the CPM reset caused from a watchdog time is controlled by
state 724 and is about 140 ms. After the reset cycle is complete the state machine re-enters the initial 704 state and cycles throughstate 712 where the WDOG timeout is reset to 90-seconds. - The multi-mode watch dog timer described above is unique in that it changes timeout periods to accommodate the current operational mode of the CPM firmware and software while ensuring that the software is executing properly.
- The power-up reset for the
CPM 100 is derived from thePCM 300 through a PowerGood signal 132 inFIG. 5 . This Power Good signal is generated by a Power Good circuitry (not shown) in thePCM 300 and remains atlogic 0 for a minimum of about 105 ms until the +5 Volt or other supplies, such as the +3.3V, and +2.5V supplies, are up and stable. Once the supplies are up and stable, the Power Good signal is changed to alogic 1 and remains in that state until the converter is shut down. The watchdog reset circuitry in the EPLD1 also provides debounce capability for a clean reset generated from an unstable Power Good input. - The watchdog status bit is I/O mapped, word readable, and preferably resides at I/O address 362HEX (data bit-0 on ISA bus). If the watchdog status bit is set, it is cleared automatically (1 ISA bus cycle clock later) after and only after it has been successfully read.
- The software watchdog reset command is preferably I/O mapped, word readable/writable and preferably resides at I/O address 360HEX. Any data written to this address causes the watchdog timer to reset. The watchdog timer can be designed to require a specific data to be written to this address for resetting. Such requirement minimizes false resetting.
- The software watchdog reset write command has additionally a set logic (logic 1), a self reset bit (SRB) indicating that a software watchdog reset has occurred. Reading from I/O address 360HEX returns the value of the SRB (data bit-0 on ISA data bus) on power-up, or following a watchdog reset condition, the SRB is cleared to a
logic 0. If the SRB is set, it automatically will be cleared (IDS bus clock cycle later) after and only after it has been successfully read. - The EPLD1 also provides a circuit that provides a level input signal IDM_JCIT# to the
CPM 100 to identify which system the CPM is inserted into, whether it is an IDM or a JCIT terminal. - For example, if the level input has a
logic 0, the CPM is inserted into a JCIT chassis, and alogic 1 indicates that theCPM 100 is inserted into an IDM chassis. The ISA bus can read the status of this IDM status bit in real time. That is, the IDM status bit is not latched and is I/O mapped, word readable, and preferably resides preferably at I/O address 366HEX (data bit-0 on ISA bus). - The
watchdog timer 120 has a watchdog signal input with its polarity or logic state controlled by the IDM_JCIT# input signal 157. - The EPLD1 also provides the Ready Discrete bit. The Ready Discrete bit is used to indicate that the MIL-STD-1553B bus, represented by
element 86 inFIG. 5 , is active. The Ready Discrete includes a Failed bit that indicates that if the IDM has successfully booted and is operational. The Ready Discrete is shown aselement FIG. 5 . A Ready Discrete register is I/O mapped, word readable/writable, and preferably resides at I/O address 364HEX. On power-up or following a watchdog reset condition, a Ready Discrete bit is cleared to alogic 0 indicating that the MIL-STD-1553B bus is inactive. The Fail bit in this case is set to alogic 1 indicating that the IDM is not operational. - The EPLD1 provides an IDE reset inverter which inverts an ISA bus reset drive output to generate an additional reset signal needed by an external IDE disk drive.
- The EPLD1 also provides a hardware version register (not shown) that is word readable and containing the version number of the EPLD1. This register is I/O mapped and is preferably located at I/O address 368HEX.
- The EPLD1 provides interface and logic for MIL-STD-1553B interface controller, which provides a glueless interface to the ISA bus and a MIL-STD-1553B controller.
- As mentioned,
CPM 100 of theIDM 1 is an x86-based computer that utilizes many of the commercial of-the-shelf components used in a conventional PC. However theCPM 100 is designed for the IDM and therefore is highly customized for its intended use. - The
CPM 100 utilizes a standard off-the-shelf BIOS, e.g. Award or AMI BIOS, for the usual PC hardware initialization and execution of a operating system loaded from disk. However, the BIOS of theCPM 100, located inflash memory 42, contains patches or modifications to accommodate the CPM and the IDM hardware configuration. For instance, theCPM 100 has no battery for maintaining the contents of the south bridge's real-time clock CMOS memory. The BIOS relies on this memory for its knowledge of IDE disk geometry, PCI interrupt request assignments and other matters. Therefore, theCPM 100 BIOS is patched to copy into CMOS memory a group of default good settings early in the boot process. Among these settings are the desired SDRAM timing figures for the north bridge memory controller and the command to the BIOS to go directly to an IDE disk boot, bypassing any nonexistent floppy, SCSI, or CDROM disk access. - As the
CPM 100 has no keyboard controller, all keyboard port reads in the off-the-shelf BIOS have been removed, bypassed, or satisfied with dummy characters at any point in the BIOS requiring keyboard input. For PC/AT compatibility, an off-the-shelf BIOS also accesses the keyboard controller I/O port in order to enable or disable the processor's A20 address line to memory. TheCPM 100 BIOS writes instead to an I/O port in the south bridge to enable A20. - In a common PC the BIOS displays its output by writing to VGA memory. However the IDM of the present invention does not have a display. Therefore all character writes to VGA memory are preferably echoed to I/O port 2F8H for debugging purposes. A JTAG in-circuit emulator (ICE) can be used to trap on access to this port to see the VGA output from the BIOS.
- As previously mentioned, the
CPM 100 BIOS resides in the first 128 Kbyte page ofCPM flash memory 42. The remaining pages offlash memory 42 also contain a backup operating system (or flash kernel), e.g. a copy of the LynxOS® or vxWorks® real-time operating system, including drivers and application codes in remaining flash memory pages. - The BIOS has the ability to boot into the flash kernel that resides in the
flash memory 42 as well as to the disk operating system stored onmaster IDE disk 210.FIGS. 8A and 8B each show an exemplary flow diagram of this ability to boot-strap from either a flash boot or a disk boot. This flash kernel is potentially the same as the disk operating system kernel. The BIOS enters the flash kernel either after failure to perform the normal disk boot, through specific IDM configuration bit settings, or through detection of certain CPM watchdog resets. - The IDM configuration bits mentioned are used for strapping different boot modes operations and some possible boot definitions are shown in the Table 4 below.
TABLE 4 Configuration Codes Mode Strapping No. CONFIG[2:0] Operational Mode Ethernet 0 000 Normal Force 100 BaseT 1 001 Normal Auto Negotiate 2 010 Reserved Reserved 3 011 Reserved Reserved 4 100 Boot Code Force 10 BaseT 5 101 Boot Code Force 100 BaseT 6 110 Boot Code Auto Negotiate 7 111 Normal Force 10 BaseT - Three IDM configuration input bits are available at the south bridge general purpose I/O (GPIO) port for a total of 8 possible settings. The CPM BIOS reads this port before attempting a disk boot, and on certain configurations the BIOS goes directly to the interrupt 18H handler for a flash kernel boot. Thus the IDM operator can force the IDM not to execute the disk operating system on the MSM.
- The CPM boot process, exemplified in a flow diagram in
FIG. 8A , is described as follows. - At
CPM 100 reset or power up,processor 20 begins execution of the BIOS inblock 750.Page 0 offlash memory 42 has been selected at the EPLD flash page register at reset, making the BIOS visible to the CPM processor at the usual addresses. Normally the startup portion of the BIOS, running out of flash, decompresses the runtime portion from flash into shadow RAM, and jumps to the code in shadow RAM. (This is a portion of the SDRAM which the processor accesses via the north bridge). In the CPM BIOS, once it is no longer executing from flash, the BIOS (or any other software which executes later, such as a disk operating system) may read from another flash page by writing to the EPLD1 flash page register. EPLD1 makes the appropriate flash page visible to the processor by responding to processor memory accesses in the range decoded by the south bridge as intended for the flash copy of the off-the-shelf BIOS. EPLD1 provides additional address decoding such that the CPMflash memory device 42 sees a read/write request of a word in the appropriate flash page. - Normally the BIOS attempts to disk boot by reading into memory the first sector of the active partition of the primary,
master IDE disk 210 on theMSM 200. Before the CPM BIOS attempts to disk boot however, it reads the EPLD1 watchdog status bit. Furthermore, before attempting a disk boot, the BIOS reads real-time clock CMOS RAM address 80H, which is physically located in the south bridge. In this location the BIOS and the disk operating system kernel maintain a flash boot flag which survives through watchdog resets. If the watchdog status bit indicates that a watchdog reset occurred to cause the last reboot, and if the CMOS flash boot flag equals 62H (‘b’) (FIG. 8A , block 752), the BIOS executes the flash kernel via interrupt 18H (FIG. 8A , block 756). If the BIOS detects IDM configuration bits set for flash kernel boot (FIG. 8A , block 754), it invokes interrupt 18H to execute the flash kernel (FIG. 8A , block 756). Otherwise, if the BIOS fails to read the disk's partition table and the sector from the active partition (FIG. 8A , block 760), it invokes interrupt 18H for PC/AT compatibility. (Note that normally the interrupt handler executes ROM BASIC in a conventional PC/AT or it displays an error message such as “failure to disk boot.”) The interrupt handler of the present invention's modified CPM BIOS instead executes the flash kernel (FIG. 8A , block 756). - When the CPM BIOS is about to jump to code read from disk as part of its normal disk boot, it first sets the flash boot flag to 62H (‘b’) (
FIG. 8A , block 762). Note that this value of 62H may be a selected value that decreases the probability of false flagging. In 764, if a valid operating system is present on disk and executes correctly within 90 seconds of CPM reset/powerup, it clears the ‘b’ flash boot flag before the IDM application has a chance to execute. The operating system also begins resetting or tickling theEPLD1 watchdog timer 120 until the IDM application takes responsibility for it by accessing thewatchdog timer 120 itself. If a valid operating system does not execute correctly to the point that it prepares to load the IDM application code, within 90 seconds of CPM reset, thewatchdog 120 issues a systemreset signal 121 that is shown inFIG. 5 . A CPM watchdog reset forces a reboot. The BIOS begins execution out of flash again. The BIOS detects the watchdog reset via the EPLD and reads the ‘b’ in the CMOS flash boot flag. The BIOS executes the flash kernel. - A boot of the flash kernel proceeds as follows. Once the BIOS interrupt 18H handler executes for booting the flash kernel, the BIOS
code copies page 1 offlash memory 42 into SDRAM at address 8000H and jumps to it. This bootstrap code, for LynxOS®, switches theprocessor 20 of theCPM 100 into protected mode and copies the remaining flash pages into the top of system memory (SDRAM) 28. Flash data is copied one page at a time with the aid of the flash page register in the EPLD1. Thepage 1 code then decompresses the boot kernel in this flash data, copies it to its runtime addresses in system memory, and jumps to it. - Continuing from
block 766, and IDM application clears thewatchdog timer 120 every five seconds via a software reset command. This clearing or tickling of thewatchdog timer 120 can be seen in thestate 718, inFIG. 7 . If the IDM application does not issue a software reset, thewatchdog timer 120 issues a systemreset signal 121 as shown inFIG. 5 , andstate 724 inFIG. 7 . The system reset is shown inblock 770, and inblock 750 the processor is reset and the execution of the BIOS begin again. As previously mentioned, a watchdog timer reset that results from and IDM application failing to reset thewatchdog timer 120 will result in an attempt to execute the IDM application once the IDM is rebooted. -
FIG. 8B illustrates, in a slightly different level of details thanFIG. 8A , an examplary boot-strapping process of theCPM 100 which begins inblock 960, for boot-strapping from a backup OS stored inflash memory 42, or inblock 978, for boot-strapping from anIDE disk 210. - In
FIG. 8B , block 962, the BIOS copies flashpage 1 ofmemory 42, wherein a preboot program is stored, to addresses 8000H-A0000H, and jumps to address 8000H. Inblock 964, the preboot program, called rkjump, which is a small program that copies a larger kernel from flash into system'smemory 28 at address 8000H, is executed and switches theprocessor 20 to protected mode and copies flash pages 2-15 tosystem SDRAM 28. The preboot then decompresses the copied pages in theSDRAM 28 to obtain the backup OS inblock 966. Inblock 968, the preboot rkjump copies itself to another, preferably higher, memory address and copies the decompressed backup OS to preferably address 1000H. Then, inblock 970, the backup OS, preferably the LynxOS® kernel, begins execution, creates a ramdisk containing root file system, load drivers, and runs a first LynxOS application in IDM. As mentioned the backup OS contains also application codes, including drivers and related files. - The first IDM application executes startup scripts. The first application that runs under LynxOS® in the IDM executes startup scripts that can place the IDM in a degraded operating mode or can run a program such as the EBC program, as determined in
block 974 and block 976. - In the case where the IDM begins a disk boot, as in
block 978, the boot-strapping process continues inblock 980, wherein the BIOS reads boot sector tosystem memory 28 and jumps to the memory. Inblock 982, a preboot stored on theflash IDE drive 210 is loaded. The preboot then switches theprocessor 20 to protected mode, loads a backup OS from disk to system memory at address 1000H inblock 984. The boot-strapping process then continues inblock 970 as described above. - The above-described usage of flash memory to provides a non-volatile storage solution for system critical firmware such as the system BIOS and fail-safe boot kernel or backup operating system, which is used interchangeably with backup operating system kernel.
- Besides the utilization of the
flash memory 42, theCPM 100 also utilizes a SEEPROM 38 to store configuration words for Ethernet MAC/PHY. Included in the configuration word data is the MAC (Media Access Controller) address and default IP (Internet Protocol) address. - In the case where a flash boot is performed, the IDM is preferably put into a degraded operational mode which provides at least a MIL-STD-1553B communication bus for use.
- The MIL-STD-1553B interface is connected to a mission computer residing in the same platform on which the IDM is mounted. In operation, the mission computer polls all Remote Terminal, including the IDM, on the MIL-STD-1553B bus for system status information. The status information is decoded and displayed on the pilots Heads Up Display (HUD).
- For the purpose of testing, diagnosing, configuring the IDM, a
processor JTAG port 126 is provided to theprocessor 20, as shown inFIG. 5 . - In general, JTAG ports are used for interfacing of testing equipment with a system under test, such as an IDM. In the present invention, however, the
JTAG port 126 of theprocessor 20 is also used for programming theflash memory 42 with a BIOS, backup OS and an application software, and theSEEPROM 38 with configuration data for Ethernet MAC and IP addresses. - An exemplary means for
programming flash memory 42 andSEEPROM 38 is schematically illustrated inFIG. 3 . - The
flash memory 42 and theSEEPROM 38 initially are unprogrammed on a brand new CPM. That is, anew CPM 100 in an IDM cannot be booted because there is no BIOS present in theflash memory 42. Further, theEthernet controller 34 is initially inoperable because theSEEPROM 38 is not yet programmed with MAC/PHY configuration data. - The
flash memory 42 and theSEEPROM 38 can be preprogrammed before they are assembled onto the CPM module. However, preprogramming theflash memory 42 andSEEPROM 38 is undesirable. Therefore, they are preferably programmed during an IDM system test or a CPM test. - In
FIG. 3 , an ICE is used for programming theflash memory 42 andSEEPROM 38 of theCPM 100. The ICE shown includes an American Arium® (PCM-55 ITP) 900 connected to the JTAG port of theprocessor 20 via an ITP (In Target Probe)cable 906 and aPC 902 running American Arium's® WinDB™ debug software which control the PCM-55 hardware pod. - The
flash memory 42 provides a non-volatile storage solution for system critical firmware such as the BIOS and a fail-safe boot kernel, which includes a backup operating system and an IDM application program. TheEthernet SEEPROM 38 contains configuration words for the Ethernet MAC/PHY. Included in the configuration data is the MAC address and default IP (Internet Protocol) address. The BIOS and SEEPROM must be programmed before the CPM becomes a useable module capable of running an operating system. - The process for programming the
flash memory 42 and theInternet SEEPROM 38 through the processor's JTAG port is described as follows. - The
CPM 100 is placed into a test apparatus which breaks out the processor's 20 JTAG signals to a connector header connected to the PCM-55 ITP hardware 700. TheCPM 100 and the PCM-55 ITP hardware 700 are then powered up. Upon powering up, the PCM-55 stops theprocessor 20 for debug access. - At this point memory control logic in the EPLD1 sets the flash paging register to provide access to the first page of the
flash memory 42.FIG. 11 shows the electrical interface for the FLASH paging. The ICE resets theCPM 100 and places all on board components into a known state. Then the ICE executes a custom script that first configures thenorth bridge 24 and thesouth bridge 32 chipset. - Once the
north bridge 24 is configured thesystem memory SDRAM 28 is then configured. Using the WinDB load feature, the ICE loads a BIOS binary image intoSDRAM 28. The WinDB™ load feature reads a specific local file and “locates” it into the CPM'sSDRAM 28 at a specified memory address. Using the WinDB™ load feature, the ICE then loads a custom flash burning loading program into theSDRAM 28. Then the ICE sets a break point at I/O address at preferably 0x9H and sets an IP (Instruction Pointer) preferably to 8000:0 which is the first instruction location of the flash burning program. The ICE then releases the processor, and the processor executes the flash burning program instructions until it reaches the break point. Upon reaching the break point, theflash memory 42 will contain a BIOS in its first memory page. - Once the programming of the
flash memory 42 with BIOS is complete, theEthernet SEEPROM 38 is then programmed by the ICE. As theSDRAM 38 are still configured from the previous operation the ICE, using the WinDB load feature the ICE loads a SEEPROM binary image containing a unique MAC address and default IP address for theCPM 100. The SEEPROM binary image is located to the same location and memory as was the BIOS binary image. The ICE then loads a custom SEEPROM writing program intoSDRAM 28 starting at memory location at preferably 8000:0, and sets a break point at I/O address 0x92H and sets the IP address to 8000:0. The ICE then allows theprocessor 20 to run until it reaches the break point. Upon reaching the break point, theSEEPROM 38 will contain the unique MAC address, the default IP address, and other configuration words. - Upon successful completion of the burning of
flash memory 42 andSEEPROM 38, theCPM 100 is then configured for a disk boot and then reset. TheCPM 100 will configure itself by executing the newly burned BIOS and then jump to an operating system stored on a local master IDE drive in preparation for burning the backup OS and application software into theflash memory device 42. - An embodiment of the
MSM 200 of the present invention is illustrated inFIG. 6 . TheMSM 200 has electrical interfaces to a host platform and other modules via theback plane 10 inFIG. 2 . TheMSM 200 has a dimension that is compliant with the Standard Electronic Module format (SEM-E), including IEEE 1101.4 format. TheMSM 200 houses asolid state disk 1, which is amaster IDE drive 210, asolid state disk 2, which is aslave drive 220, and anEthernet hub 230. In a preferred embodiment, theEthernet 230 is a 4-port 10/100 base-T Ethernet hub. TheEthernet hub 230 connects to theCPM1 100 and optionally CPM2 vianetwork connection 238 and to other external systems via a connector interface J7 in thebackplane 10, as shown inFIG. 6 . TheMSM 200 also includes an IDE/ATA interface 236 which interfaces to theCPM module 100 through thebackplane 10. The IDE/ATA interface is also used for system maintenance. - The
IDM 1 accommodates twoDSP modules DSP modules DSP1 module 500 communicates with theCPM 100 via asynchronous port 148 provided by the RS-422A transceiver 98, and theDSP2 module 400 communicates with theCPM 100 viasynchronous port 166 provided by the RS-422A transceiver 106. Thesynchronous ports serial communications controller FIG. 5 . - The usage of open architecture and Commercial Off the Shelf (COTS) software and hardware components of the IDM are of significant economic advantage. Further, through the use of EPLDs to realize circuits and logic providing customized functions for CPM, the IDM and its modules are able to be designed to meet ruggedness requirement and light weight and dimensional constraints imposed by SEM-E form factor. In the preferred embodiment described, two EPLDs are employed to provide multiple circuitry and logic. However, the number of EPLD used can be of any number necessary to implement desired circuitry and logic, and desired specialized data modem functions can be readily customized one or more time by simply programming the EPLD. The EPLDs, which are non-volatile devices, are preferable over volatile devices, such as SRAM-based Field Programmable Gate Arrays.
- In this embodiment of the invention,
non-volatile memory 42 is more preferably a flash memory than a PROM. The advantage of flash memory over PROM is that it is faster, in-circuit programmable, contains sophisticated locking/unlocking protection algorithms, operates at lower voltages, has higher memory density, smaller physical package. Thus, flash memory is more preferable. - The open architecture and standard interfaces, including IEEE-1394 and an IDE bus, enables the IDM to readily accept additional devices.
- Further to the embodiment of the IDM discussed in detail above, another embodiment of the IDM is shown in
FIG. 14 and includes thePCM 300, a Mass Storage Module (MSM) 2000, a Communication Processor Module (CPM) 1400, an Input-Output Module (IOM) 2200, andslots 2300, all of which are plugged into thebackplane 10. This embodiment of the IDM shown inFIGS. 14-25 shares many identical features and functions with the first embodiment of the IDM illustrated inFIGS. 1-13B . Therefore, only additional features and different embodiments of the IDM are discussed below. Further, in the description provided below, the same reference numerals are used to identify elements or components having the same structure and function as those components in the previous embodiment. - The
CPM 1400 inFIG. 14 is very similar to theCPM 100 inFIG. 1A the original with the additional features that will be described below. In the embodiment of the IDM shown inFIG. 14 , asingle IOM module 2200 replaces theDSP modules FIG. 1A . TheMSM module 2000 in this embodiment is essentially unchanged compared to theMSM module 200 ofFIG. 1A except for removal of theEthernet Hub 230 shown inFIG. 6 . TheMSM module 2000 does not contain an Ethernet hub whereas theMSM module 200 does contain an Ethernet hub. -
FIG. 15 illustrates the external interface of this embodiment of the IDM shown inFIG. 14 , as compared toFIG. 1B which illustrated the external electrical interfaces of the IDM shown inFIG. 1A . - The
CPM 1400 is a microprocessor-based module that receives, synchronizes and transmits serial data via an internal Local Area Network (LAN), serial interfaces, and a MIL-STD-1553B interface. TheCPM 1400 supports two synchronous interfaces and four asynchronous interfaces. TheCPM 1400 communicates with theIOM 2200,MSM 2000, and up to three additional PCI based modules that can be plugged intoslots 2300. TheCPM 1400 maintains pin compatibility with the JCIT signal, power, and ground pins. - In the IDM of
FIG. 14 , there is a 4-channelserial communication controller 60 that is preferably operable in a clockless mode. The 4-channelserial communication controller 60 of the IDM ofFIG. 14 is similar to theserial communication controller 60 of the IDM ofFIG. 1A . As mentioned above, such communication controller can be an Infineon® DSCC4 serial communication controller. Other DSCC4 controllers, such as those of Siemens® may also be used. - Since the state machine inside the DSCC4 cannot be configured or operated without an external clock, and the external radios interfaced to the synchronous communication port may or may not provide a clock in synchronous mode, a mechanism (e.g., a synchronous port fix) is implemented to allow the configuration of the synchronous communication ports to effect synchronous communication.
- As an alternative to the hardware synchronous communication port fix of
FIG. 9 , another embodiment inFIG. 16 shows an alternate scheme for the synchronous port fix multiplexer designed around analog switches.FIG. 16 shows the synchronous port fix multiplexer consisting of ananalog switch 1780, aninternal clock source 1784, anexternal clock source 1782, a clock multiplexerselect control 1786, and a selectedclock output 1788. - In
FIG. 16 , theanalog switch 1780 selects between two clocks, anexternal radio clock 1782 or a software generatedinternal clock 1784, via a clockselect control signal 1786. - A different general purpose output pin on the DSCC4 is used as the clock
multiplexer control input 1786. During the configuration of the DSCC4 synchronous port, the clockmultiplexer control input 1786 selects the software generatedclock 1784. Theanalog switch 1780 now connects the software generatedclock 1784 to the DSCC4 clock input of theserial communication controllers 60 via 1788. - After the DSCC4 configuration and during normal operation, the clock
multiplexer control input 1786 selects theradio clock signal 1782. Theanalog switch 1780 now connects theradio clock 1782 to the DSCC4 clock input of theserial communication controller 60 via 1788. - As previously mentioned, other serial communication controllers having clockless mode and any number of channels may be used in place of the 4-channel DSCC4 to provide more or less serial communication channels as needed. However, the application of the synchronous port fix can be provided in the same manner to effect synchronous serial communication.
- Additional synchronous communication channels requiring the port fix is achieved through a plurality of circuits shown in
FIG. 16 , connecting the signal interfaces to each synchronous communication channel. - The software generated clock is created by alternately writing 1's and 0's to the general purpose output control register on the DSCC4
serial communication controller 60. The software generated clock frequency is controlled by the rate at which software writes the data to the general purpose output control register. The software generate clock is present on the general purpose output pin. A plurality of software generated clocks can be generated in this fashion by programming different bits in the general purpose output register and using additional general purpose output pins on theDSCC4 60. - In another embodiment of the IDM of the invention, the programmable interrupt controller (PIC) shown in
FIG. 17 has an architecture that includes the following: 8 interrupt inputs with 1 interrupt output, positive and negative edge detect logic, a 16-bit read/write interrupt mask register, and a 16-bit read/write interrupt pending or status register. The number of bits in the programmable interrupt controller can be of any number as needed, preferably between 7 and 16 bits.FIG. 17 illustrates a detailed block diagram of an 8-bit interrupt controller with edge detection of the present invention.FIG. 10B discussed above shows the other embodiment of the PIC. - The interrupt controller has the following characteristics: the 8 interrupt inputs are asynchronous. Edge detection circuitry routes positive edge inputs to the upper 8-bits of the interrupt pending register and negative edge interrupts to the lower 8-bits of the interrupt pending register.
- A bit in the interrupt pending register is set to a
logic 1 if the corresponding input interrupt edge occurred. The interrupt pending is I/O mapped and is word readable/writable, and a pending interrupt is cleared by writing alogic 0 to the corresponding bit in the pending interrupt register. - The mask register is responsible for masking pending interrupts. Interrupts can be pending, non-pending, or cleared, independent of the mask register settings. The interrupt is masked if a
logic 1 is written to the corresponding bit in the interrupt mask register, the interrupt mask register is I/O mapped and is word readable/writable. The interrupt pending register is preferably decoded at address 342HEX, and the mask register is preferably decoded at I/O address 340HEX, as mentioned above. - The interrupt output is asynchronous and has positive level output. The interrupt output occurs from a pending, unmasked interrupt. For example, the interrupt output can be a logic OR combination of all bits in the pending interrupt register which are ANDed with the invert of bits in the interrupt mask register. If one or more pending interrupts are asserted (logic 1) then the interrupt output remains asserted (logic 1) if the associated interrupt is not masked.
- As discussed above, the interrupt controller is reset by the watchdog system reset logic in
EPLD1 40 vialine 118, watchdog timer reset. On reset, the mask register is set so that all interrupts are masked and the interrupt pending register is cleared indicating no pending interrupts. - In an embodiment of the invention, Fault Latch Controller is used to monitor/control the CPM's Pentium core and I/O voltages. The control circuitry acts and responds on hardware faults such as over-voltage, over-current, under-voltage, etc.
- A regulator fault latch controller implementation is shown in
FIG. 18 . A Low Drop Out regulator (LDO)output voltage Vtt 1132, provides the I/O gunning transistor logic (GTL) voltage to the Pentium processor and supporting chipset. The purpose of the regulator fault hardware is to provide a mechanism to restart theLDO 1124 in cases of fault conditions, such as over-current, over-voltage, or under-voltage on theVtt voltage 1132, or a fault on theVcore voltage 1134. The Vcore voltage provides the core voltage to the Pentium processor. - The circuitry shown in
FIG. 18 is explained as follows: - DC-
DC converter 1018 is responsible for converting +5V 1150 into aVcore voltage 1134. TheLDO regulator 1124 converts +2.5V 1152 into aVtt voltage 1132. A voltagesupervisory circuit 1122 is used to monitor the condition of the Vtt voltage.Capacitor 1126 is responsible for charging a threshold voltage used for fault detection on the Vtt voltage. A Pentium power good (PPG)signal 1140 is responsible for Vtt and/or Vcore voltage faults. A core power good (CPG) signal 1138 is responsible for Vcore voltage faults. The combinedanalog switch 1128,resistor 1130, andLDO switch signal 1136 are used for restart operation of the LDO after a Vtt and/or Vcore voltage fault.EPLD1 40 contains the state machine required to monitor/control the entire operation of the fault latch implementation. The state machine timing is derived from the EPLD's main reference clock, such as a 14.31818 MHz clock. The power good (PG) signal 132 is generated on the PCM module and indicates all secondary system voltages are good. - Operation during normal power-up with no fault conditions is as follows:
-
PCM 300 generates good +2.5V 1152 and good +5V 1150; - PG signal 132 asserts and places the
EPLD1 40 fault latch state machine in an IDLE state; -
LDO switch signal 1136 remains deasserted keeping analog switch open allowingcapacitor 1126 to charge; - DC-
DC converter 1018 converts +5V 1150 intoVcore 1134; -
CPG signal 1138 asserts since +5V 1150 andVcore output 1134 are good; -
LDO 1124 converts +2.5V 1152 intoVtt 1132; -
LDO 1124 does not charge thecapacitor 1126 under normal operating conditions; - The voltage
supervisory circuit 1122 assertsPPG 1140 sinceCPG 1134 andVtt voltage 1132 are good; -
EPLD1 40 remains in IDLE state, sensesgood PPG signal 1140 indicating no faults. - Operation during an over-current condition on
Vtt 1132 is as follows: -
PCM 300 generates good +2.5V 1152 and good +5V 1150; - PG signal 132 asserts and places the
EPLD1 40 fault latch state machine in an IDLE state; -
LDO switch signal 1136 remains deasserted keepinganalog switch 1128open allowing capacitor 1126 to charge; - DC-
DC converter 1018 converts +5V 1150 intoVcore 1134; -
CPG signal 1138 asserts because +5V andVcore output 1134 are good; -
LDO 1124 converts +2.5V 1152 intoVtt 1132 but an over-current fault condition now exists onVtt 1132; -
LDO 1124 senses Vtt over-current fault and begins charging thecapacitor 1126; - The voltage
supervisory circuit 1122 assertsPPG 1140 sinceCPG 1138 andVtt voltage 1132 are good; -
EPLD1 40 state machine remains in IDLE state, sensesgood PPG 1140 signal indicating no faults; -
Capacitor 1126 continues charging and reaches trip threshold voltage onLDO 1124; -
LDO 1124 shuts off andVtt 1132 drops to 0V; - The voltage
supervisory circuit 1122deasserts PPG 1140 sinceVtt 1132 voltage is bad; -
EPLD1 40 advances to LDO Latch state and assertsLDO switch signal 1136 for 1 ms; -
Analog switch 1128 turns on causingcapacitor 1126 to discharge throughresistor 1130; -
LDO 1124 turns on whencapacitor 1126 trip threshold voltage falls below trip point; -
Analog switch 1128 turns off after 1ms allowing capacitor 1126 to recharge if fault present; -
EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time; -
EPLD1 40 state machine returns to Idle state; - If
PPG 1140 is deasserted, return to step [00216]; otherwise fault has cleared. - Operation during an over-voltage/under-voltage condition on Vtt is as follows:
-
PCM 300 generates good +2.5V 1152 and good +5V 1150; - PG signal 132 asserts and places the
EPLD1 40 fault latch state machine in an IDLE state; -
LDO switch signal 1136 remains deasserted keeping analog switch open allowing capacitor to charge; - DC-
DC converter 1018 converts +5V 1150 intoVcore 1134; -
CPG signal 1138 asserts because +5V 1150 andVcore output 1134 are good; -
LDO 1124 converts +2.5V intoVtt 1132 but an over/under-voltage fault exists on Vtt; -
LDO 1124 does not charge thecapacitor 1126 because it has no over/under voltage sensing; - The voltage
supervisory circuit 1122deasserts PPG 1140 sinceVtt voltage 1132 is out of range; -
EPLD1 40 advances to LDO Latch state and assertsLDO switch signal 1136 for 1 ms; -
Analog switch 1128 turns on causingcapacitor 1126 to discharge throughresistor 1130; -
LDO 1124 remains on since no charge exists oncapacitor 1126; -
Analog switch 1128 turns off after 1 ms allowing capacitor to recharge if fault present; -
EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time; -
EPLD1 40 state machine returns to Idle state; - If
PPG 1140 is deasserted, return to step [00232] otherwise fault has cleared. - Operation during any fault conditions on Vcore is as follows:
-
PCM 300 generates good +2.5V 1152 and good +5V 1150; - PG signal 132 asserts and places the
EPLD1 40 fault latch state machine in an IDLE state; -
LDO switch signal 1136 remains deasserted keepinganalog switch 1128open allowing capacitor 1126 to charge; - DC-
DC converter 1018 converts +5V 1150 intoVcore 1134 but a fault condition exists; -
CPG signal 1138 deasserts because theVcore output 1134 is bad; -
LDO 1124 converts +2.5V 1152 intoVtt 1132; - The voltage
supervisory circuit 1122deasserts PPG 1140 sinceCPG 1138 is deasserted; -
EPLD1 40 advances to LDO Latch state and assertsLDO switch signal 1136 for 1 ms; -
Analog switch 1128 turns on causingcapacitor 1126 to discharge throughresistor 1130; -
LDO 1124 remains on since no charge exists oncapacitor 1126; -
Analog switch 1128 turns off after 1ms allowing capacitor 1126 to recharge if fault present; -
EPLD1 40 state machine advances to LDO Wait state allowing 220 ms of fault recovery time; -
EPLD1 40 state machine returns to Idle state; - If
PPG1 140 is deasserted, return to step [00247] otherwise fault has cleared. - In an embodiment of the present invention, a local
bus Reset Controller 1900 shown inFIG. 19 provides the ability to reset individual modules residing on the local bus, such as a PCI bus, of the data modem. - The local
bus Reset Controller 1900 is used to reset one or more modules through a plurality of Local Bus Resets 1404 residing on the PCI Bus 1406 in the IDM, as shown inFIG. 14 . Each module would typically have a watchdog (WDOG) reset circuit to monitor the operational status of a particular module. If a fault should occur on that module, such as a hardware or software fault, the WDOG circuit would reset that module in attempt for self-recovery. - Since the
CPM 1400 is the PCI bus master in the IDM system, it is responsible for configuration of all other PCI modules in the IDM. If another PCI module, such as anIOM 2200, should experience a WDOG reset, theCPM 1400 would need to be informed so that it can correctly reconfigure theIOM 2200. - A mechanism used to perform the reconfiguration is through the ‘reset interrupt’ and ‘reset’. When the
IOM 2200, for example, experiences a WDOG reset, it sends a reset interrupt to theCPM 1400. Then, it is the CPM's task to reconfigure theIOM 2200. Since theCPM 1400 does not know the state in which the IOM was in when it signaled the interrupt, the first task that the CPM performs is to reset theIOM 2200. TheCPM 1400 has the capability of resetting all other PCI modules, either independently or simultaneously. Once theIOM 2200 is reset, and the status of theIOM 2200 is ready, theIOM 2200 would then release its reset interrupt, signaling to theCPM 1400 that it is ready for reconfiguration. TheCPM 1400 would then reconfigure theIOM 2200 via the PCI bus. - Should the
IOM 2200 generate another reset interrupt prior, during, or after reconfiguration, the entire interrupt/reset/reconfiguration process would be repeated. - If the
CPM 1400 should generate a WDOG reset, then theCPM 1400 along with all other PCI modules in the IDM would unconditionally and simultaneously reset. - The
Reset Controller 1900 provides 4 independent pulsed active low reset outputs controllable by software and the system hardware reset. -
FIG. 19 illustrates a detailed block diagram of the localbus reset controller 1900. Thereset controller 1900 exists in theEPLD1 40 at preferably I/O mappedaddress 0×346, word writeable, and self-clearing. Writing a ‘0’ to any of the register bits will not affect the corresponding reset outputs. The reset pulse timing of 100 ms is derived from the EPLD1's 40 main reference clock, such as a 14.31818 MHz clock. The number of bits in the software reset controller can be of any number as needed, preferably between 4 and 16 bits. The length of the pulse can be stretched if necessary.FIG. 19 illustrates a detailed block diagram of a 4-bitsoftware reset controller 1900 of the present invention. - The
reset controller 1900 operates as follows: - The assertion of the system hardware reset causes all reset outputs to assert and overrides the software control register.
- When the hardware reset is de-asserted, the software reset control register can assert the reset outputs.
- A reset output signal pulses low for 100 ms when a ‘1’ is written to the corresponding bit in the software reset control register.
- Once a ‘1’ is written and the reset pulse has occurred, the corresponding bit will clear itself back to a ‘0’.
- In the event that the modem loses system power, a hold-up capacitor (1402), shown in
FIG. 14 , maintains input power to thePCM 300. ThePCM 300 detects a power fault and generates a power down interrupt to theCPM 1400. - The
CPM EPLD1 40 secondary interrupt controller, shown inFIG. 18 , receives a power-down interrupt input. If the power-down signal changes state in either direction, the EPLD1 generates an interrupt to the Programmable Interrupt Controller (PIC) embedded in the82371EB PIIX4 chip 32, which in turn interrupts thePentium processor 20, which is shown inFIG. 3 . Theprocessor 20 is automatically vectored, via its Interrupt Descriptor Table (IDT), to the IRQ6 handler. The interrupt handler routine scans the EPLD1 interrupt status and mask registers for pending, enabled interrupts, then calls the corresponding handler routine. - In this case a power-down interrupt handler is called to perform the following actions: The IDM application is signaled that a power-down interrupt has occurred in an operating system-dependent manner. An application-level power-down interrupt thread is awakened, and it performs writes to the file system of any critical volatile information (e.g., database updates). Then the application thread signals the operating system to flush any file data buffered in RAM to the actual hardware disk device. Such synchronization is normally postponed by the operating system until absolutely necessary for performance reasons. After the modem loses system power, the
IDE flash disk 2020 on theMSM 2000 detects a power loss and switches in an internal voltage holdup device, such as a capacitor, which keeps theIDE flash disk 2020 powered for an additional 30-seconds. TheIDE flash disk 2020 then writes data in its volatile RAM cache to non-volatile flash memory for the duration of its internal power, reducing the need of the operating system to wait on the disk. - As previously mentioned,
DSP modules FIG. 1A may be replaced by asingle IOM 2200 shown inFIG. 22 in another embodiment of the IDM. TheIOM 2200 provides four half duplex communication channels and transmits or receives ASK, CPFSK, FSK, or synchronous digital on each channel under software control. - As shown in
FIG. 22 , theIOM 2200 utilizes industry standard Digital Signal Processor (DSP) 2204, such as Texas Instruments TMSC320C6205 and the like, and field programmable logic devices to provide various control circuits and logic. TheIOM 2200 utilizes a PCI toPCI bridge 2202, a four-channel communications controller 2206 for synchronous and asynchronous communication, and a two-channel communication UART 2207 for asynchronous communications. - The IDM's CNR interface is implemented in the
IOM 2200. A high-level block diagram of the IOM is provided inFIG. 22 . - The
IOM 2200 is dual-sided SemE module. One side of theIOM 2200, the A side, contains theDSP 2204 and is associated support circuitry. The other side, B, contains the physical CNR interface and signal acquisition circuitry. - The block diagram in
FIG. 22 includes the logic for both sides. Side B logic is shown in the bottom right corner enclosed a dashed line. The remaining blocks shown are all on side A of the module. Side A contains theDSP processor 2204, the PCI toPCI bridge 2202, the fourchannel communications controller 2206, the two channelasynchronous communications controller 2207, Synchronous Dynamic Random Access Memory (SRAM) 2205, three fieldprogrammable logic devices - The
DSP processor 2204 provides the primary means in the IDM to dynamically modulate and demodulate the I/O signals from the CNR interface under software control. The DSP interfaces to an internal PCI bus 2203 which only resides on the A side of the board via an on chip PCI interface. PCI bus 2203 interconnects theDSP 2204, PCI toPCI bridge 2202, and the four-channel communications controller 2206. TheDSP 2204 utilizes the PCI interface to accept and execute operation instructions from theCPM 1400. It also uses the PCI interface to control, send and receive data to the four-channel communications controller 2206. TheDSP 2204 uses its memory interface to retrieve and store instructions and data to and from theSDRAM 2205. TheDSP 2204 also interconnects with one of the fieldconfigurable devices 2209 and theSDRAM 2205 via its memory bus 2210. - The
DSP 2204 also uses the memory interface to communicate with the two-channel communications controller 2207 via one of the fieldprogrammable devices 2209. The fieldprogrammable device 2209 between the DSP memory bus and the communication controller bus allows the to device to control activity on the two-channelcommunications controller device 2207 side of thebus 2211. This reduces power consumption and reduces emissions of unwanted electrical noise. - The
DSP 2204 requires two different power inputs for operation. In the IDM the power inputs are controlled by custom designed power interface circuits rather than the industry standard Low Drop Out regulator (LDO). A block diagram of this logic is shown inFIG. 23 . This technique is utilized to lower power consumption and gain explicit control of theDSP 2204 and theSDRAM 2205 power inputs. Finite control of power to theDSP 2204 andSDRAM 2205 allows the IDM to power down theDSP 2204 andSDRAM 2205 during reset to resolve a design deficiency of theDSP 2204 with its DSP to SDRAM interface. If the SDRAM is directly connected to the DSP, as is standard industry practice, the DSP does not exit the reset state correctly under all conditions. By powering down both devices during reset the DSP exits the reset state in the desired state. The description of apower control circuit 2410 is referencedFIG. 24 . - In
FIG. 24 , a portion of thepower control circuit 2401 powers the 3.3V input on theTI DSP 2204 and theSDRAM 2205 when the reset input is not active. Another portion of thelogic 2414 powers the 1.5V power input to theTI DSP 2204 when the reset is not active. When the reset is active the 3.3V and 1.5V supply is shut off to theTI DSP 2204 and theSDRAM 300. - The
IOM 2200 utilizes a commercial four-channel communications controller 2206 to implement its synchronous serial interface. The device is controlled by theDSP 2204 via the PCI bus 2203. Thecontroller 2206 interfaces to the system input output pins via line driver device for each of the four channels. Each output of the drivers are connected to the corresponding ASK output drivers on the B side of the board via thebackplane 10. The signals are shorted together on thebackplane 10 and routed to the IDM front panel for connection to outside interfaces. The signals from the A and B sides are shorted together to reduce the number of external device pins. The four-channel communications controller 2206 normally utilizes an external clock source for initializing each of the four channels. In the IDM environment the external clock is not present until data is transmitted. To guarantee proper operation of the channels the IDM utilizes custom design circuits to allow the IDM to source its own clock to initialize the communication channels. The logic is implemented in a field programmable logic device. The circuit routes an internally generated signal to the clock input normally driven by the external system. - The
IOM 2200 utilizes a serial interface lowside driver devices 2218, as shown inFIG. 22 , to control the state of the various discrete outputs of the IDM. The serial interface lowside driver devices 2218 is preferably a TI TPIC 2603. Thedrivers 2218 are controlled by theDSP 2204 via one of the field programmable devices, preferably the fieldprogrammable device 2209. TheDSP 2204 controls thedrivers 2218 by accessing the drivers via its parallel memory bus 2210. The fieldprogrammable device 2209 accepts the parallel command and converts the data to serial commands the drivers receive. - After power up the serial
low side drivers 2218 do not initialize to a known state. TheIOM 2200 provides a method of resolving this uncertainty by programming the devices at power up by utilizing a hardware state-machine embedded in the fieldprogrammable device 2209. This eliminates a delay between initial power up or system reset and when application software takes over control of the interface. Without this additional logic the drivers initially set at an unknown state, this could have disastrous ramifications depending on the function of interconnected external interface. - A diagram of the aforementioned circuit is shown in
FIG. 25 and is further described below. On power up themultiplexer circuit 2503 selects the inputs from the clock/chip selectsource 2502. The signals from thecircuit 2502 are only active during reset. The signals are routed through themultiplexer circuit 2503 into the lowside driver device 2218. The clock/chipselect circuit 2502 generates the appropriate timed signals for the lowside driver device 2218 so as to load the driver with all zeros and force the outputs into the off state. - Once system reset is inactive the
multiplexer circuit 2503 routes the signals from the SRAM BasedProgrammable Logic Device 2209 to the lowside driver device 2218. Thelow side driver 2218 will stay in the programmed state waiting for the SRAM BasedProgrammable Logic Device 2209 to be loaded also. At that point the SRAM BasedProgrammable Logic Device 2209 will take control of the low side driver and program the desired output states. - The
IOM 2200 utilizes a watchdog timer circuit implemented in fieldprogrammable logic 2208. The watch dog timer circuit resets theIOM 2200 if the software application code does not access the circuit within a defined amount of time. If the circuit is accessed by software at a rate faster than the defined amount of time, then the circuit does not reset theIOM 2200. This circuit reinitializes theIOM 2200 if the software stops executing. - The use of a watch dog timer circuit is standard industry practice, though normally the circuit is under total control of the hardware. In the
IOM 2200 the watch dog time is started by a software action but continues under hardware control. Normally the watch dog timer starts autonomously under hardware control after the system is powered up. The watch dog timer in theCPM 100 operates in this manner, software has no way to enable or disable the timer. Once enabled the timer cannot be stopped by software. The software must periodically access the timer fast enough so as to prevent theIOM 2200 from being reinitialized. - A diagram of the watchdog circuit of the
IOM 2200 is illustrated inFIG. 23 . As shown inFIG. 23 , the heart of the watch dog timer circuit is a genericdigital counter 2303. The counter may be configured to count up or down, as it does not matter for the application. Once the counter reaches the predetermined count as determined by theterminal count decoder 2306, a watch dog reset is generated to the desired logic. Thecounter 2303 is allowed to start counting once the software accesses the software enableregister 2301. Once enabled the software cannot disable thecounter 2303 operation. The enabled state is latched on until a system reset is issued. Once enabled thecounter 2303 counts up or down depending on the design, as stated above. Periodically the software accesses thesoftware access register 2302. The action of accessing this register forces the counter to reset so it can not reach the terminal count. As long as the terminal count is not reached a watchdog reset will not be issued. If a system reset is issued the counter is reset via theOR gate 2305, the software enableregister 2301 is set to the disable state and thesoftware access register 2302 is reinitialized. - A detailed description of
DSP 2204SDRAM 2205 power control circuit is now provided as follows: The circuit inFIG. 21 implements a power control circuit that powers theDSP 2204 and theSDRAM 2205. This circuit enables the power to be removed from theDSP 2204 and theSDRAM 2205 during reset. If power is not removed from these two devices during reset, the DSP does not exit in the correct user defined state. By forcing the power off during reset, it forces the SDRAM 2135 to reset and eliminates potential contention issues on the data bus between the two devices. - The primary control signal of the circuit is the reset signal driving the control logic within
EPLD 2208. When the reset is active the control circuit withinEPLD 2208 activates the 1.5V and 3.3V shutdown outputs. The 1.5V shutdown output controls a low dropout voltage regulator controller 2105, which in turn controls a transistor switch that supplies 1.5V to the voltage comparecircuit 2120 and the core of theDSP 2204. The 3.3V shutdown output controls a FET switch circuit that gates the 3.3V and generates the switched 3.3V that is distributed to theDSP 2204 and the SDRAM 2135. When the reset input to the control logic inEPLD 2208 is deactivated, the 1.5V shutdown output is toggled to the opposite state. This allows the low dropout voltage regulator controller 2105 to drive the transistorswitch logic circuit 2110 so it will supply 1.5V to theDSP 2204. When the switched 1.5V signal goes above 1.255V at the input of the voltage comparecircuit 2120, it signals to the control logic inEPLD 2208 that the 1.5V voltage is within range. The control logic inEPLD 2208 will then respond by deactivating the 3.3V shutdown output to theFET switch circuit 2125. This action forces theFET switch circuit 2125 to turn on the 3.3V to theDSP 2204 andSDRAM 2205. After a short delay thecontrol circuit EPLD 2208 then deactivates the delayed reset output to theDSP 2204. The delay between powering 3.3V and releasing the delayed reset output allows theDSP 2204 to be fully powered when the delayed reset transitions to the inactive state. If an error occurs at any time when the circuit is powering theDSP 2204 andSDRAM 2205 the 3.3V and 1.5V outputs are turned off. An error occurs when either the voltage comparecircuit 2120 indicates the 1.5V output is below 1.255 volts or theFET switch circuit 2125 signals a fault condition. TheFET switch circuit 2125 indicates a fault if its output current exceeds 1 amp. - The TI TPIC2603
Low Side Driver 2218 chip provides six outputs which can sink current into a load under software control through a serial interface. - The
DSP Interface EPLD 2209 shown inFIG. 22 is an SRAM based EPLD. One of its functions is to provide an interface between theTI TMS320C6205 DSP 2204 and thelow side driver 2218. SinceDSP Interface EPLD 2209 is SRAM based, it must be loaded by theDSP 2204 after each power up or reset event. While theDSP Interface EPLD 2209 is unprogrammed, all of its outputs are tri-stated, so no control signals are driven from theDSP Interface EPLD 2209 to thelow side driver 2218. - The
DSP 2204 uses a parallel interface to write data into internal LSD_CONFIG registers, not shown, residing in theDSP Interface EPLD 2209 to enable or disable each low side driver output. - The
DSP Interface EPLD 2209 includes a free running down counter with a clock rate divided down from the system clock to provide a serial clock frequency of approximately 1 MHz. The low side driver requires eight rising clock edges while its chip select is active in order to clock in all the required data. Therefore a four bit modulo 9 counter is used, continuously counting from 8 to 0 at the serial clock frequency. The counter's most significant bit provides the active low chip select pulse while the counter is between 0 and 7, and disables chip select while the counter equals 8. The rising edge of chip select latches the serial data into the low side driver chip. - Data from the LSD_CONFIG registers is loaded into shift registers while chip select is high, so any updates to the low side driver outputs will take effect within 18 serial clock periods (18 microseconds at 1 MHz).
- Initially, when utilizing the TI TPIC2603 as the low side driver, which uses a serial interface to control its outputs, problems were encountered. The low side driver chip has no external reset pin. Therefore, it relies on an internal power up reset monitoring the +5V supply pin to clear its internal registers. According to Texas Instruments, the reset window is very short, in the tens of microseconds, and they were not able to supply information on the power supply trigger voltage. The +5V supply on the IOM has a rise time of well over 100 milliseconds, so the IOM power may not be stable when the low side driver chip performs its internal reset. This reset problem has resulted in low side driver outputs being enabled randomly during some power up conditions.
- The serial interface is comprised of registers and logic contained in the
DSP Interface EPLD 2209, controlled by the DSP 2204 (i.e., TI TMS320C6205). Since theDSP Interface EPLD 2209 is SRAM based, its outputs are tri-stated after power up until the EPLD is configured by theDSP 2204. This configuration process can take a significant amount of time, up to about 90 seconds due to the bootup process of the operating system. During this time, the randomly enabled low side driver outputs cannot be controlled, since theDSP 2204 and theDSP Interface EPLD 2209 are not yet operational. - The above-mentioned problems with respect to the TI TPIC2603 as the
low side driver 2218 are solved as follows: - It has been determined that a short period of randomly enabled low side driver outputs, less than 1 second, is acceptable in this IDM application.
- The
watchdog EPLD 2208 is a non-volatile EPLD which is normally only programmed once during initial testing in the factory. Since this configuration is present at power up, thewatchdog EPLD 2208 can be used to provide control signals to thelow side driver 2218 immediately after power up, as long as the outputs are not driven after theDSP Interface EPLD 2209 is configured. - The same circuit used in the
DSP Interface EPLD 2209 was recreated in thewatchdog EPLD 2208, with two exceptions. First, the system clock used to derive the serial clock is running at a different frequency, requiring the clock divider circuitry to be slightly different, and providing a slightly faster serial clock than that used on thewatchdog EPLD 2208. Secondly, the chip select and clock signals are open drain, and only enabled while the system reset is low, thus ensuring no contention will occur once theDSP Interface EPLD 2209 is programmed. - The data input signal on each low
side driver chip 2218 is pulled down to ground through a resistor, ensuring that the serial data written to the low side driver chips always turns off the outputs while theDSP Interface EPLD 2209 is unconfigured. - A delay counter of about 1.5 milliseconds was added from the falling edge of system reset until the open drain low side driver chip select and clock outputs are enabled. This was done to avoid contention between the PLDs when the system is reset.
- The above-presented solution to the problems provide the following results:
- Anytime the
IOM 2200 has a power up or other reset condition, thewatchdog EPLD 2208 will continuously send clock and chip select signals to the low side driver, with the data input pulled down to effectively write zeroes to the low side driver's internal configuration registers. This will last for the duration of the system reset pulse. The 10 microsecond period required to write all registers ensures all low side driver outputs will clear during the reset pulse, which is at least several milliseconds long. - There will be a delay of at least six milliseconds from system reset becoming inactive until the
DSP 2204 can begin to boot up and configure theDSP Interface EPLD 2209, so there is no problem with contention between the EPLD outputs. - Once the
DSP Interface EPLD 2209 is configured, theDSP 2204 will control the low side driver outputs by writing into registers inside theEPLD 2209, which are shifted out to thelow side driver 2218 based on its serial clock rate. - If a system reset occurs, the
DSP Interface EPLD 2209 will immediately tri-state its outputs, and a 1.5 millisecond delay will occur before thewatchdog EPLD 2208 begins driving the low side driver clock and chip select outputs. This was done to avoid contention while theDSP Interface EPLD 2209 is turning off and thewatchdog EPLD 2208 is turning on. - The Analog and Mixed-Signal portion of the
IOM 2200 reside on side B of theIOM 2200, as shown within the dotted Analog Side box inFIG. 22 . Side B also contains some digital circuits including: a custom designedEPLD 2222, high speed Low Voltage Differential Signaling (LVDS)interface 2224 to the DSP on side A, and Radio Control and Status I/O 2230. - The analog/mixed-signal portion, encompassing
blocks - Inputs for each channel: ASK, HiZ, FSK-150, FSK-600, ASK-Test and FSK-Test.
- Outputs for each channel: ASK and FSK.
- The
Codec 2226, preferably a AD73311L, which is used in each channel is a mixed-signal device integrating most functions of analog-to-digital signal acquisition and vice-versa. It is controlled by theDSP 2204 via theAnalog Interface EPLD 2222. Like most Codecs on the market, this one is aimed at voice or low-data-rate application, without provision for active Bit-Sync tracking (via sampling-phase adjustment) which could potentially enhance performance. The advantages of using this device are low power, compact size and integrated features. - In the IDM, a unique and novel method has been devised that allows sampling-phase adjustment with the AD73311L or other Codecs that lack such a feature. The method is based on a temporary change of the Master-Clock (MCLK) rate supplied to the Codec. Since the Codec sampling rate is derived from MCLK, this temporary change translates into a shift in sampling phase without adverse effect on other parameters.
- The acquired input signal, in digital form, is delivered to the
DSP 2204 via theAnalog Interface EPLD 2222, which combines all four channels onto one serial interface. Similarly, on the output side, theDSP 2204 delivers the digital form of the desired output signals and theanalog interface EPLD 2222 separates these to the individual serial Codec interfaces. - The ASK/
FSK Channel Inputs 2228, not shown, have a unique differential structure that eliminates the use of bulky transformers while retaining the advantages of differential signal handling with respect to system-ground mismatch, noisy ground and common-mode noise. Inputs are protected against electrostatic discharge, and are selected by a differential multiplexer. A single differential gain stage handles all input signal levels, even those exceeding the power rails, and adjusts the signal to appropriate level by adjusting its dual digital potentiometers, under DSP control, while maintaining the differential mode. - Following the ASK/FSK input state is another unique stage that combines a Difference-Amplifier with Reference-Level-Shift and Active-DC-Offset-Cancellation (the latter under DSP control of a digital potentiometer). The resulting signal is optimally centered at the reference level used by the
Codec 2226 device serving the channel. The signal is further processed by a low-pass digital filter, to enhance anti-aliasing at the Codec's input. - For each channel, the Codec's differential output is converted to a single-ended signal and level-shifted to 0V using a single difference amplifier (not shown). The signal is then attenuated by a digital potentiometer, under DSP control, and fed to a selectable-gain output amplifier.
- Analog switches, under DSP control, are employed to route the amplified signal either to the ASK output or to the FSK output-transformer. These outputs are also looped back to the ASK-Test and FSK-Test inputs of another channel for Built-In-Test purposes.
- The FSK-
Output 2228 employs a unique user-selectable output impedance. For legacy reasons the output impedance is rather low (32 ohms), but other users may require a higher impedance when the output is idle. By changing the source-termination of the output-transformer, under DSP control, the user selects the FSK output impedance (32 ohms or greater than 150 ohms) - The
analog interface EPLD 2222 on side-B of theIOM 2200 is the gateway between theDSP processor 2204 and the analog/mixed-signal subsystem. ThisEPLD 2222 interfaces to theDSP 2204 two serial ports via theLVDS 2224 devices. One serial port is dedicated to the transfer of message data to and from the fourchannel Codecs 2226, while the other port is used for controlling channel and Codec setup. - The innovation in this design is in the way the four
channel Codecs 2226 interface to theDSP 2204. Normally, multiple AD73311L or similar codecs would be connected serially to the DSP's serial port, while sharing the same Master Clock, which is necessary to ensure that all codecs share the same serial data rate. In this design a different approach is necessary since the Master Clock to each Codec is varied in order to shift the sampling phase; this creates varying serial data rates out of the Codecs and precludes connecting them in series to one DSP port. - On a basic level, the
EPLD 2222 is used to multiplex the receive-sample data from the four Codecs onto one serial bus, and de-mux the transmit data from one to four individual serial streams, but with an important modification aimed at preserving data-integrity. Since data rates from the Codecs vary, theEPLD 2222 collects data from all four channels, and transfers a multi-channel-word to the DSP, at a fixed frame rate that is higher than the maximum Codec data frame rate. Additionally, it is recognized that this will give rise to repeated data on the DSP side; thus each channel data is tagged as “fresh” the first time it is added to the DSP stream and “stale” on a subsequent appearance, until it is replaced by fresh data from the same Codec. To achieve this goal, the MSB tag bit, which is already built into the Codec data word (in Mixed Mode only) and used to differentiate data from control words, is utilized. Since in the architecture of theIOM 2200 data and control are separated into different serial streams to theDSP 2204, the MSB tag bit can be appropriated for another use, to signify freshness, without loss of data bits or adding overhead to the serial stream. - As mentioned above, the
Codec 2226 allows mixed-mode operation, where both data and control are used over the Codec's serial interface, differentiated by the MSB bit-tag. - The
EPLD 2222 diverts control words to/from each Codec onto the second DSP serial port, dedicated to control, which simplifies the software handling in theDSP 2204. Other channel setup and control needs are served by the same interface; these include digital-potentiometers used to control signal levels, and analog switches used to control connectivity. - Another function implemented in the
EPLD 2222 is the generation of the varying MCLK signals, under DSP control, for the fourchannel Codecs 2226. A high frequency clock, is divided by 8 to yield the nominal MCLK rate for each Codec. When a sampling phase shift is indicated for a particular channel, the division factor for that MCLK is modified up or down as appropriate (7 or 9) for a temporary period, then returned to the nominal rate. - The
EPLD 2222 is configured by theDSP 2204 after power-up, in tandem with theEPLD 2209 of side-A, using the data and clock lines of DSP Serial Port0. The same port is later used for data transfer. - Some external radio control lines are served on side-B, all of them ESD protected.
- Inputs include (one each per channel): CREW-PTT, TX-GATE and SPARE-IN.
- Outputs are GSIP-PTT (one each per channel).
- As mentioned above, another embodiment of the
MSM 200 of the present invention is illustrated inFIG. 20 as theMSM 2000. TheMSM 2000 interfaces to theCPM 1400 through the IDE bus 2002 via theback plane 10 inFIG. 2 . TheMSM 2000 is designed using an interposer approach, wherein the interposer provides a mechanism to accommodate the various IDE form factors, such as 1.8 in, 2.5 in., 3.3 in, and future solid-state devices as technology emerges, all without the need to redesign thebackplane 10. TheMSM 2000 houses a solid-state disk, which is amaster IDE drive 2020. - The
MSM 2000 provides a data retention feature to preserve data in the case of power faults and a disk wipe feature for the removal of sensitive information. The IDE/ATA interface is also used for system maintenance. - As mentioned previously, a difference between the
MSM 2000 and theMSM 200 is that the Ethernet hub has been removed from theMSM 2000. - The IDM of the present invention in the above-described embodiments is capable of executing Embedded Battle Command (EBC) application software simultaneously with the IDM Operational Flight Plan/Program (OFP). The OFP transfers received Over-the-air and MIL-STD-1553B messages to the EBC application software and receives data from the EBC application software for MIL-STD-1553B transmission.
- The standard BIOS and sophisticated patches coupled with an externally strapped boot mode allow the CPM to boot in a number of different modes to accommodate the requirements of the vehicle or platform into which it is installed. Further, the BIOS and patches of the present invention provide a high degree of fault tolerance by enabling the IDM to successfully boot and operates on a backup operating system when necessary.
- The x86-based architecture of the CPM, housed within the IDM, allows the IDM to host almost any application written for a PC in an embedded environment lacking standard I/O capabilities, such as a keyboard and a display monitor. This capability is currently being exploited to allow military-based applications to be hosted within the IDM in addition to the current IDM communication functions.
- Only the preferred embodiment of the present invention and but a few examples of its versatility are shown and described in the present disclosure. It is to be understood that the present invention is capable of use in various combinations and environment and is capable of changes or modifications within the scope of the inventive concept as expressed herein.
Claims (2)
1. A method for configuring a clockless serial synchronous communication device in a data modem, comprising the steps of:
providing a temporary clock signal to the clockless serial synchronous communication device to thereby place the device in an initialization mode prior to communicating with an external radio source;
removing the temporary clock signal from the communication device after initialization is complete; and
providing an external clock signal to the communication device so as to allow communication with the external radio source.
2. The method of claim 1 , further comprising the step of:
phase-matching the external clock signal and a data signal received from the external radio source.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/010,449 US20050132245A1 (en) | 2000-12-15 | 2004-12-14 | Data modem |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73627300A | 2000-12-15 | 2000-12-15 | |
US10/142,875 US6839792B2 (en) | 2000-12-15 | 2002-05-13 | Data modem |
US11/010,449 US20050132245A1 (en) | 2000-12-15 | 2004-12-14 | Data modem |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/142,875 Division US6839792B2 (en) | 2000-12-15 | 2002-05-13 | Data modem |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050132245A1 true US20050132245A1 (en) | 2005-06-16 |
Family
ID=29548243
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/142,875 Expired - Lifetime US6839792B2 (en) | 2000-12-15 | 2002-05-13 | Data modem |
US11/010,476 Expired - Fee Related US7167945B2 (en) | 2000-12-15 | 2004-12-14 | Data modem |
US11/010,449 Abandoned US20050132245A1 (en) | 2000-12-15 | 2004-12-14 | Data modem |
US11/010,477 Expired - Fee Related US7296165B2 (en) | 2000-12-15 | 2004-12-14 | Method for power down interrupt in a data modem |
US11/010,478 Expired - Fee Related US7293128B2 (en) | 2000-12-15 | 2004-12-14 | Data modem |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/142,875 Expired - Lifetime US6839792B2 (en) | 2000-12-15 | 2002-05-13 | Data modem |
US11/010,476 Expired - Fee Related US7167945B2 (en) | 2000-12-15 | 2004-12-14 | Data modem |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/010,477 Expired - Fee Related US7296165B2 (en) | 2000-12-15 | 2004-12-14 | Method for power down interrupt in a data modem |
US11/010,478 Expired - Fee Related US7293128B2 (en) | 2000-12-15 | 2004-12-14 | Data modem |
Country Status (5)
Country | Link |
---|---|
US (5) | US6839792B2 (en) |
EP (1) | EP1550043A4 (en) |
KR (1) | KR101037108B1 (en) |
AU (1) | AU2003241406B2 (en) |
WO (1) | WO2003098448A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
CN102957822A (en) * | 2012-11-20 | 2013-03-06 | 无锡乾煜信息技术有限公司 | Programmable logic controller modem with embedded third generation (3G)/fourth generation (4G) network module |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6741978B1 (en) * | 2000-04-12 | 2004-05-25 | Intel Corporation | Accessing file data stored in non-volatile re-programmable semiconductor memories |
EP1348169A1 (en) * | 2001-01-02 | 2003-10-01 | Delta Air Lines Inc. | Exchanging electronic messages between a host computer system and a distributed computer system |
JP4410477B2 (en) * | 2002-03-27 | 2010-02-03 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | Engine brake torque control device and method |
US8230114B2 (en) | 2002-08-07 | 2012-07-24 | Broadcom Corporation | System and method for implementing a single chip having a multiple sub-layer PHY |
US20040034872A1 (en) * | 2002-08-16 | 2004-02-19 | Peter Huyge | Method for triggering an event in an electronic device, and corresponding device |
US20040193715A1 (en) * | 2003-03-27 | 2004-09-30 | Froelich Daniel S. | Scheduling of host-initiated transactions |
US7107388B2 (en) * | 2003-04-25 | 2006-09-12 | Intel Corporation | Method for read once memory |
US7167974B2 (en) * | 2003-05-19 | 2007-01-23 | Hewlett-Packard Development Company, L.P. | Multiple saved kernel configurations |
TW577660U (en) * | 2003-05-28 | 2004-02-21 | Hon Hai Prec Ind Co Ltd | A wireless gateway |
US6956862B2 (en) * | 2003-12-02 | 2005-10-18 | Cisco Technology, Inc. | Method and apparatus to combine heterogeneous hardware interfaces for next generation packet voice module devices |
US7522892B2 (en) * | 2003-12-22 | 2009-04-21 | Black Sand Technologies, Inc. | Power amplifier with serial interface and associated methods |
US7502601B2 (en) * | 2003-12-22 | 2009-03-10 | Black Sand Technologies, Inc. | Power amplifier with digital power control and associated methods |
US7424655B1 (en) | 2004-10-01 | 2008-09-09 | Xilinx, Inc. | Utilizing multiple test bitstreams to avoid localized defects in partially defective programmable integrated circuits |
US7284229B1 (en) | 2004-10-01 | 2007-10-16 | Xilinx, Inc. | Multiple bitstreams enabling the use of partially defective programmable integrated circuits while avoiding localized defects therein |
US7251804B1 (en) | 2004-10-01 | 2007-07-31 | Xilinx, Inc. | Structures and methods of overcoming localized defects in programmable integrated circuits by routing during the programming thereof |
US7412635B1 (en) * | 2004-10-01 | 2008-08-12 | Xilinx, Inc. | Utilizing multiple bitstreams to avoid localized defects in partially defective programmable integrated circuits |
US8327202B2 (en) * | 2005-07-13 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | System and method for scan testing |
US7702038B2 (en) * | 2005-09-16 | 2010-04-20 | Continental Automotive Systems Us, Inc. | Radio frequency (RF) receiver with amplitude-shifted keying/frequency-shifted keying (ASK/FSK) duty cycle optimization algorithm |
US7702889B2 (en) * | 2005-10-18 | 2010-04-20 | Qualcomm Incorporated | Shared interrupt control method and system for a digital signal processor |
US7984281B2 (en) * | 2005-10-18 | 2011-07-19 | Qualcomm Incorporated | Shared interrupt controller for a multi-threaded processor |
WO2007079110A2 (en) * | 2005-12-28 | 2007-07-12 | Motorola, Inc. | Communication device programming failure recoverability scheme |
JP2007209103A (en) * | 2006-02-01 | 2007-08-16 | Ricoh Co Ltd | Current mode control dc-dc converter |
KR100750477B1 (en) * | 2006-03-03 | 2007-08-22 | 김건 | Data communication method for real-time monitoring of embedded systems |
TW200739335A (en) * | 2006-04-07 | 2007-10-16 | Sunplus Technology Co Ltd | Circuit emulation system having function of burning record |
US7483407B2 (en) * | 2006-09-21 | 2009-01-27 | Motorola, Inc. | Method for allocating bandwidth on a plurality of communication channels |
US7817769B2 (en) * | 2006-12-18 | 2010-10-19 | Intel Corporation | Real time clock rate checker and recovery mechanism |
TWI374361B (en) * | 2007-01-16 | 2012-10-11 | Asustek Comp Inc | Computer and host device thereof and built-in flash memory storage device |
US20080222312A1 (en) * | 2007-03-09 | 2008-09-11 | Westell Technologies, Inc. | Apparatus and method for optimizing use of a modem jack |
KR20090011773A (en) * | 2007-07-27 | 2009-02-02 | 삼성전자주식회사 | Flash memory and programming method thereof |
US7965532B2 (en) | 2007-08-28 | 2011-06-21 | Micron Technology, Inc. | Enhanced performance memory systems and methods |
TWI347517B (en) * | 2007-08-30 | 2011-08-21 | Htc Corp | Mobile device and power control method thereof |
US8165621B2 (en) * | 2007-10-10 | 2012-04-24 | Unity Semiconductor Corporation | Memory emulation in a cellular telephone |
US7853916B1 (en) | 2007-10-11 | 2010-12-14 | Xilinx, Inc. | Methods of using one of a plurality of configuration bitstreams for an integrated circuit |
US7619438B1 (en) | 2007-10-11 | 2009-11-17 | Xilinx, Inc. | Methods of enabling the use of a defective programmable device |
US7810059B1 (en) | 2007-10-11 | 2010-10-05 | Xilinx, Inc. | Methods of enabling the validation of an integrated circuit adapted to receive one of a plurality of configuration bitstreams |
US20090193230A1 (en) * | 2008-01-30 | 2009-07-30 | Ralf Findeisen | Computer system including a main processor and a bound security coprocessor |
KR100963829B1 (en) * | 2008-04-23 | 2010-06-16 | 국방과학연구소 | Digital data convertor and method for converting digital data |
US8037331B2 (en) | 2008-04-28 | 2011-10-11 | Dell Products L.P. | Energy efficient method to wake host system for charging battery powered portable devices via bus powered external i/o ports |
US20090286484A1 (en) * | 2008-05-19 | 2009-11-19 | Lgc Wireless, Inc. | Method and system for performing onsite maintenance of wireless communication systems |
US8140242B2 (en) * | 2008-05-22 | 2012-03-20 | United Technologies Corp. | Systems and methods involving multiplexed engine control signals |
US9208118B2 (en) * | 2008-06-10 | 2015-12-08 | Lg Electronics Inc. | Communication device, a method of processing signal in the communication device and a system having the communication device |
JP2010079516A (en) * | 2008-09-25 | 2010-04-08 | Fujitsu Microelectronics Ltd | Simulation method and program |
US9870220B2 (en) * | 2008-12-05 | 2018-01-16 | Advanced Micro Devices, Inc. | Memory flash apparatus and method for providing device upgrades over a standard interface |
US8239582B2 (en) | 2010-05-27 | 2012-08-07 | Cilag Gmbh International | Hand-held test meter with disruption avoidance circuitry |
US8381021B2 (en) | 2010-08-25 | 2013-02-19 | Itron, Inc. | System and method for automated unattended recovery for remotely deployed intelligent communication devices |
US20120246384A1 (en) * | 2011-03-21 | 2012-09-27 | Winbond Electronics Corp. | Flash memory and flash memory accessing method |
CN102230374B (en) * | 2011-06-13 | 2013-06-05 | 电子科技大学 | Underground program remote update device based on 485 bus |
KR20140007990A (en) | 2012-07-09 | 2014-01-21 | 삼성전자주식회사 | User device having non-volatile random access memory and data management method thererof |
US9219339B2 (en) * | 2012-10-12 | 2015-12-22 | Li-Chun Lai | Computer host power management system having extension cord sockets |
CN103051508B (en) * | 2012-12-11 | 2015-11-18 | 上海卫星工程研究所 | A kind of 1553B bus plug and play control method |
CN105474192A (en) * | 2013-09-23 | 2016-04-06 | 英特尔公司 | Event-triggered storage of data to non-volatile memory |
US9251006B2 (en) | 2013-11-22 | 2016-02-02 | Qualcomm Incorporated | Apparatus, system and method for autonomous recovery from failures during system characterization on an environment with restricted resources |
USRE49652E1 (en) | 2013-12-16 | 2023-09-12 | Qualcomm Incorporated | Power saving techniques in computing devices |
US9535490B2 (en) * | 2013-12-16 | 2017-01-03 | Qualcomm Incorporated | Power saving techniques in computing devices |
CN103927131B (en) * | 2014-03-25 | 2017-02-15 | 四川和芯微电子股份有限公司 | Synchronous flash memory and USB (universal serial bus) flash disk starting method and control system thereof |
CN104484303A (en) * | 2014-12-09 | 2015-04-01 | 中国航空工业集团公司第六三一研究所 | 1553B node circuit based on SoC (system on a chip) chip |
US9800461B2 (en) | 2014-12-11 | 2017-10-24 | Elbit Systems Of America, Llc | Ring-based network interconnect |
US10097542B2 (en) | 2014-12-22 | 2018-10-09 | Elbit Systems Of America, Llc | Mobile user interface system and methods therefor |
US10275160B2 (en) | 2015-12-21 | 2019-04-30 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
CN106331561A (en) * | 2016-08-17 | 2017-01-11 | 天津市英贝特航天科技有限公司 | Low voltage differential signal (LVDS) acquisition circuit |
US10200376B2 (en) | 2016-08-24 | 2019-02-05 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
US10176116B2 (en) | 2016-09-28 | 2019-01-08 | Intel Corporation | Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources |
CN106411616B (en) * | 2016-11-11 | 2019-05-07 | 上海航天测控通信研究所 | A kind of device and method by 1553B bus management ethernet terminal |
US11436087B2 (en) * | 2017-05-31 | 2022-09-06 | Everspin Technologies, Inc. | Systems and methods for implementing and managing persistent memory |
CN109445980B (en) * | 2018-12-04 | 2023-09-05 | 中国航空工业集团公司西安航空计算技术研究所 | X86 architecture-based design method for watchdog of civil airborne module |
US11657125B2 (en) * | 2019-09-20 | 2023-05-23 | Canon Kabushiki Kaisha | Information processing apparatus and reset control method |
CN111209235B (en) * | 2019-12-31 | 2023-03-21 | 西安翔腾微电子科技有限公司 | Bus control circuit based on DSP |
EP4104385A4 (en) * | 2020-02-14 | 2023-11-01 | ARRIS Enterprises LLC | Systems and methods for modem configuration and rollback |
US11687471B2 (en) * | 2020-03-27 | 2023-06-27 | Sk Hynix Nand Product Solutions Corp. | Solid state drive with external software execution to effect internal solid-state drive operations |
CN114430368B (en) * | 2021-12-15 | 2023-06-30 | 惠州市德赛西威汽车电子股份有限公司 | Ethernet burning system and burning method |
CN114764399A (en) * | 2022-04-07 | 2022-07-19 | 北京和利时系统工程有限公司 | Vehicle-mounted display device |
Citations (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3676846A (en) * | 1968-10-08 | 1972-07-11 | Call A Computer Inc | Message buffering communication system |
US3808367A (en) * | 1971-10-25 | 1974-04-30 | Martin Marietta Corp | Method and circuit for timing signal derivation from received data |
US4499531A (en) * | 1982-11-03 | 1985-02-12 | 501 Gateway Technology, Inc. | Power converter |
US4566179A (en) * | 1983-05-19 | 1986-01-28 | Display Components, Inc. | Core element for electrodynamic rotary machine |
US4780883A (en) * | 1986-06-26 | 1988-10-25 | Racal Data Communications Inc. | Data modem with adaptive synchronized speed change |
US4794620A (en) * | 1984-07-06 | 1988-12-27 | International Anasazi, Inc. | Radio frequency modem and method |
US4937844A (en) * | 1988-11-03 | 1990-06-26 | Racal Data Communications Inc. | Modem with data compression selected constellation |
US5150401A (en) * | 1990-12-04 | 1992-09-22 | Chips International, Inc. | Retrofittable encryption/decryption apparatus using modified frequency modulation |
US5541955A (en) * | 1992-11-06 | 1996-07-30 | Pericle Communications Company | Adaptive data rate modem |
US5557777A (en) * | 1994-09-30 | 1996-09-17 | Apple Computer, Inc. | Method and apparatus for system recovery from power loss |
US5619531A (en) * | 1994-11-14 | 1997-04-08 | Research In Motion Limited | Wireless radio modem with minimal interdevice RF interference |
US5644594A (en) * | 1993-07-02 | 1997-07-01 | Multi-Tech Systems, Inc. | Power-conserving modem |
US5663982A (en) * | 1994-02-28 | 1997-09-02 | Motorola, Inc. | Modem pool data rate adjusting method |
US5742641A (en) * | 1996-07-18 | 1998-04-21 | International Business Machines Corporation | Apparatus, method and article of manufacture for the dynamic compensation of FM deviation in a FM radio receiver |
US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US5758177A (en) * | 1995-09-11 | 1998-05-26 | Advanced Microsystems, Inc. | Computer system having separate digital and analog system chips for improved performance |
US5825814A (en) * | 1996-04-19 | 1998-10-20 | Pinoak Digital Corporation | High speed, high and medium frequency communication system |
US5883586A (en) * | 1996-07-25 | 1999-03-16 | Honeywell Inc. | Embedded mission avionics data link system |
US5910970A (en) * | 1996-05-09 | 1999-06-08 | Texas Instruments Incorporated | MDSL host interface requirement specification |
US5930295A (en) * | 1996-02-23 | 1999-07-27 | Isley, Jr.; William C. | Mobile terminal apparatus including net radio service in a mobile satellite service communication system |
US5930527A (en) * | 1996-03-13 | 1999-07-27 | Samsung Electronics Co., Ltd. | Apparatus for resetting a modem with a variety of additional functions |
US5940438A (en) * | 1997-02-18 | 1999-08-17 | Mitsubishi Electric Information Technology Center America, Inc (Ita) | Universal modem for digital video, audio and data communications |
US5951669A (en) * | 1996-12-27 | 1999-09-14 | Apple Computer, Inc. | Method and apparatus for serialized interrupt transmission |
US5987541A (en) * | 1997-03-06 | 1999-11-16 | Advanced Micro Devices, Inc. | Computer system using signal modulation techniques to enhance multimedia device communication |
US6002681A (en) * | 1997-03-18 | 1999-12-14 | 3 Com Corporation | Dual band modem |
US6002722A (en) * | 1996-05-09 | 1999-12-14 | Texas Instruments Incorporated | Multimode digital modem |
US6044107A (en) * | 1996-05-09 | 2000-03-28 | Texas Instruments Incorporated | Method for interoperability of a T1E1.4 compliant ADSL modem and a simpler modem |
US6055268A (en) * | 1996-05-09 | 2000-04-25 | Texas Instruments Incorporated | Multimode digital modem |
US6072994A (en) * | 1995-08-31 | 2000-06-06 | Northrop Grumman Corporation | Digitally programmable multifunction radio system architecture |
US6078612A (en) * | 1997-05-16 | 2000-06-20 | Itt Manufacturing Enterprises, Inc. | Radio architecture for an advanced digital radio in a digital communication system |
US6219718B1 (en) * | 1995-06-30 | 2001-04-17 | Canon Kabushiki Kaisha | Apparatus for generating and transferring managed device description file |
US6259728B1 (en) * | 1999-06-08 | 2001-07-10 | Lucent Technologies Inc. | Data communication system and method |
US6262679B1 (en) * | 1999-04-08 | 2001-07-17 | Honeywell International Inc. | Midair collision avoidance system |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
US6320750B2 (en) * | 1998-11-24 | 2001-11-20 | Trw Inc. | Sub-modular configurable avionics |
US6353846B1 (en) * | 1998-11-02 | 2002-03-05 | Harris Corporation | Property based resource manager system |
US20020064222A1 (en) * | 1999-02-22 | 2002-05-30 | Ming-Kang Liu | Broadband I/O circuits, interface and bus |
US6434395B1 (en) * | 1993-09-08 | 2002-08-13 | Pacific Communications Sciences, Inc. | Portable communications and data terminal having multiple modes of operation |
US20020173305A1 (en) * | 1999-12-10 | 2002-11-21 | Forman Robert M. | System and method for interfacing satellite communications with aircraft |
US6531889B1 (en) * | 2000-10-10 | 2003-03-11 | Altera Corporation | Data processing system with improved latency and associated methods |
US20030050055A1 (en) * | 2001-09-10 | 2003-03-13 | Industrial Technology Research Institute | Software defined radio (SDR) architecture for wireless digital communication systems |
US6563863B1 (en) * | 1998-06-22 | 2003-05-13 | Ati International Srl | Computer modem |
US6597727B2 (en) * | 1995-10-04 | 2003-07-22 | Imec Vzw | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for the modem |
US6636747B2 (en) * | 1998-03-06 | 2003-10-21 | Communications Research Laboratory, Independent Administrative Institution | Multi-mode radio transmission system |
US6662238B1 (en) * | 1999-07-23 | 2003-12-09 | Silicon Laboratories Inc. | Integrated modem and line-isolation circuitry with command mode and data mode control and associated method |
US6831523B1 (en) * | 2000-07-10 | 2004-12-14 | Silicon Laboratories Inc. | Auto-detection between referenceless and reference clock mode of operation |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4368534A (en) * | 1979-01-29 | 1983-01-11 | General Signal Corporation | Keyboard controlled vital digital communication system |
US4466106A (en) * | 1981-08-28 | 1984-08-14 | Novation, Inc. | Frequency shift keyed modem chip set |
US4586179A (en) | 1983-12-09 | 1986-04-29 | Zenith Electronics Corporation | Microprocessor reset with power level detection and watchdog timer |
US4742482A (en) * | 1985-10-29 | 1988-05-03 | Hayes Microcomputer Products, Inc. | Modem controller |
US6134655A (en) * | 1992-05-13 | 2000-10-17 | Comverge Technologies, Inc. | Method and apparatus for initializing a microprocessor to insure fault-free operation |
JPH0652070A (en) * | 1992-05-29 | 1994-02-25 | Toshiba Corp | Device and method for data protection in integrated circuit |
GB2268373A (en) * | 1992-06-20 | 1994-01-05 | Ibm | Error recovery in an information communication system |
US5487181A (en) * | 1992-10-28 | 1996-01-23 | Ericsson Ge Mobile Communications Inc. | Low power architecture for portable and mobile two-way radios |
US5581579A (en) * | 1993-08-17 | 1996-12-03 | Tcsi Corporation | Method and apparatus to adaptively control the frequency of reception in a digital wireless communication system |
US5859878A (en) * | 1995-08-31 | 1999-01-12 | Northrop Grumman Corporation | Common receive module for a programmable digital radio |
US5732360A (en) * | 1995-09-08 | 1998-03-24 | At & T Wireless Services And Atmel Corp | Mobile telecommunication device and method used for changing wireless communication between base stations of different kinds |
US6133871A (en) * | 1995-10-09 | 2000-10-17 | Snaptrack, Inc. | GPS receiver having power management |
US5889816A (en) * | 1996-02-02 | 1999-03-30 | Lucent Technologies, Inc. | Wireless adapter architecture for mobile computing |
JP3000962B2 (en) * | 1997-06-13 | 2000-01-17 | 日本電気株式会社 | Output circuit |
DE19739530C1 (en) * | 1997-09-09 | 1998-12-24 | Siemens Ag | Circuit for generating interrupt signal for microprocessor |
US6102963A (en) * | 1997-12-29 | 2000-08-15 | Vantis Corporation | Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's |
EP0943999A1 (en) * | 1998-03-20 | 1999-09-22 | International Business Machines Corporation | Interrupt masker for an interrupt handler with double-edge interrupt request signals detection |
US5920258A (en) * | 1998-06-08 | 1999-07-06 | Northern Telecom Limited | Alarm signal processing circuit |
US6160418A (en) * | 1999-01-14 | 2000-12-12 | Xilinx, Inc. | Integrated circuit with selectively disabled logic blocks |
US6044025A (en) * | 1999-02-04 | 2000-03-28 | Xilinx, Inc. | PROM with built-in JTAG capability for configuring FPGAs |
US6892323B2 (en) * | 1999-05-05 | 2005-05-10 | Giga-Byte Technology Co., Ltd. | Dual basic input/output system for a computer |
US6137738A (en) * | 1999-11-30 | 2000-10-24 | Lucent Technologies, Inc. | Method for in-system programming of serially configured EEPROMS using a JTAG interface of a field programmable gate array |
-
2002
- 2002-05-13 US US10/142,875 patent/US6839792B2/en not_active Expired - Lifetime
-
2003
- 2003-05-12 EP EP03731140A patent/EP1550043A4/en not_active Withdrawn
- 2003-05-12 AU AU2003241406A patent/AU2003241406B2/en not_active Ceased
- 2003-05-12 WO PCT/US2003/014608 patent/WO2003098448A1/en not_active Application Discontinuation
- 2003-05-12 KR KR1020047018373A patent/KR101037108B1/en not_active IP Right Cessation
-
2004
- 2004-12-14 US US11/010,476 patent/US7167945B2/en not_active Expired - Fee Related
- 2004-12-14 US US11/010,449 patent/US20050132245A1/en not_active Abandoned
- 2004-12-14 US US11/010,477 patent/US7296165B2/en not_active Expired - Fee Related
- 2004-12-14 US US11/010,478 patent/US7293128B2/en not_active Expired - Fee Related
Patent Citations (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3676846A (en) * | 1968-10-08 | 1972-07-11 | Call A Computer Inc | Message buffering communication system |
US3808367A (en) * | 1971-10-25 | 1974-04-30 | Martin Marietta Corp | Method and circuit for timing signal derivation from received data |
US4499531A (en) * | 1982-11-03 | 1985-02-12 | 501 Gateway Technology, Inc. | Power converter |
US4566179A (en) * | 1983-05-19 | 1986-01-28 | Display Components, Inc. | Core element for electrodynamic rotary machine |
US4794620A (en) * | 1984-07-06 | 1988-12-27 | International Anasazi, Inc. | Radio frequency modem and method |
US4780883A (en) * | 1986-06-26 | 1988-10-25 | Racal Data Communications Inc. | Data modem with adaptive synchronized speed change |
US4937844A (en) * | 1988-11-03 | 1990-06-26 | Racal Data Communications Inc. | Modem with data compression selected constellation |
US5150401A (en) * | 1990-12-04 | 1992-09-22 | Chips International, Inc. | Retrofittable encryption/decryption apparatus using modified frequency modulation |
US5541955A (en) * | 1992-11-06 | 1996-07-30 | Pericle Communications Company | Adaptive data rate modem |
US5644594A (en) * | 1993-07-02 | 1997-07-01 | Multi-Tech Systems, Inc. | Power-conserving modem |
US6434395B1 (en) * | 1993-09-08 | 2002-08-13 | Pacific Communications Sciences, Inc. | Portable communications and data terminal having multiple modes of operation |
US5663982A (en) * | 1994-02-28 | 1997-09-02 | Motorola, Inc. | Modem pool data rate adjusting method |
US5557777A (en) * | 1994-09-30 | 1996-09-17 | Apple Computer, Inc. | Method and apparatus for system recovery from power loss |
US5619531A (en) * | 1994-11-14 | 1997-04-08 | Research In Motion Limited | Wireless radio modem with minimal interdevice RF interference |
US5917854A (en) * | 1994-11-14 | 1999-06-29 | Research In Motion Limited | Wireless radio modem with minimal interdevice RF interference |
US6219718B1 (en) * | 1995-06-30 | 2001-04-17 | Canon Kabushiki Kaisha | Apparatus for generating and transferring managed device description file |
US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
US6072994A (en) * | 1995-08-31 | 2000-06-06 | Northrop Grumman Corporation | Digitally programmable multifunction radio system architecture |
US5758177A (en) * | 1995-09-11 | 1998-05-26 | Advanced Microsystems, Inc. | Computer system having separate digital and analog system chips for improved performance |
US6597727B2 (en) * | 1995-10-04 | 2003-07-22 | Imec Vzw | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for the modem |
US5930295A (en) * | 1996-02-23 | 1999-07-27 | Isley, Jr.; William C. | Mobile terminal apparatus including net radio service in a mobile satellite service communication system |
US5930527A (en) * | 1996-03-13 | 1999-07-27 | Samsung Electronics Co., Ltd. | Apparatus for resetting a modem with a variety of additional functions |
US5825814A (en) * | 1996-04-19 | 1998-10-20 | Pinoak Digital Corporation | High speed, high and medium frequency communication system |
US6002722A (en) * | 1996-05-09 | 1999-12-14 | Texas Instruments Incorporated | Multimode digital modem |
US6044107A (en) * | 1996-05-09 | 2000-03-28 | Texas Instruments Incorporated | Method for interoperability of a T1E1.4 compliant ADSL modem and a simpler modem |
US6055268A (en) * | 1996-05-09 | 2000-04-25 | Texas Instruments Incorporated | Multimode digital modem |
US5910970A (en) * | 1996-05-09 | 1999-06-08 | Texas Instruments Incorporated | MDSL host interface requirement specification |
US5742641A (en) * | 1996-07-18 | 1998-04-21 | International Business Machines Corporation | Apparatus, method and article of manufacture for the dynamic compensation of FM deviation in a FM radio receiver |
US5883586A (en) * | 1996-07-25 | 1999-03-16 | Honeywell Inc. | Embedded mission avionics data link system |
US5951669A (en) * | 1996-12-27 | 1999-09-14 | Apple Computer, Inc. | Method and apparatus for serialized interrupt transmission |
US5940438A (en) * | 1997-02-18 | 1999-08-17 | Mitsubishi Electric Information Technology Center America, Inc (Ita) | Universal modem for digital video, audio and data communications |
US5987541A (en) * | 1997-03-06 | 1999-11-16 | Advanced Micro Devices, Inc. | Computer system using signal modulation techniques to enhance multimedia device communication |
US6002681A (en) * | 1997-03-18 | 1999-12-14 | 3 Com Corporation | Dual band modem |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
US6078612A (en) * | 1997-05-16 | 2000-06-20 | Itt Manufacturing Enterprises, Inc. | Radio architecture for an advanced digital radio in a digital communication system |
US6636747B2 (en) * | 1998-03-06 | 2003-10-21 | Communications Research Laboratory, Independent Administrative Institution | Multi-mode radio transmission system |
US6563863B1 (en) * | 1998-06-22 | 2003-05-13 | Ati International Srl | Computer modem |
US6353846B1 (en) * | 1998-11-02 | 2002-03-05 | Harris Corporation | Property based resource manager system |
US6320750B2 (en) * | 1998-11-24 | 2001-11-20 | Trw Inc. | Sub-modular configurable avionics |
US20020064222A1 (en) * | 1999-02-22 | 2002-05-30 | Ming-Kang Liu | Broadband I/O circuits, interface and bus |
US6262679B1 (en) * | 1999-04-08 | 2001-07-17 | Honeywell International Inc. | Midair collision avoidance system |
US6259728B1 (en) * | 1999-06-08 | 2001-07-10 | Lucent Technologies Inc. | Data communication system and method |
US6662238B1 (en) * | 1999-07-23 | 2003-12-09 | Silicon Laboratories Inc. | Integrated modem and line-isolation circuitry with command mode and data mode control and associated method |
US20020173305A1 (en) * | 1999-12-10 | 2002-11-21 | Forman Robert M. | System and method for interfacing satellite communications with aircraft |
US6831523B1 (en) * | 2000-07-10 | 2004-12-14 | Silicon Laboratories Inc. | Auto-detection between referenceless and reference clock mode of operation |
US6531889B1 (en) * | 2000-10-10 | 2003-03-11 | Altera Corporation | Data processing system with improved latency and associated methods |
US20030050055A1 (en) * | 2001-09-10 | 2003-03-13 | Industrial Technology Research Institute | Software defined radio (SDR) architecture for wireless digital communication systems |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
CN102957822A (en) * | 2012-11-20 | 2013-03-06 | 无锡乾煜信息技术有限公司 | Programmable logic controller modem with embedded third generation (3G)/fourth generation (4G) network module |
Also Published As
Publication number | Publication date |
---|---|
US7167945B2 (en) | 2007-01-23 |
EP1550043A1 (en) | 2005-07-06 |
US6839792B2 (en) | 2005-01-04 |
EP1550043A4 (en) | 2007-02-28 |
US20060271719A1 (en) | 2006-11-30 |
KR101037108B1 (en) | 2011-05-27 |
US20030225955A1 (en) | 2003-12-04 |
AU2003241406B2 (en) | 2010-04-22 |
WO2003098448A1 (en) | 2003-11-27 |
KR20050023262A (en) | 2005-03-09 |
AU2003241406A1 (en) | 2003-12-02 |
US20070124604A1 (en) | 2007-05-31 |
US20070101040A1 (en) | 2007-05-03 |
US7296165B2 (en) | 2007-11-13 |
US7293128B2 (en) | 2007-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7296165B2 (en) | Method for power down interrupt in a data modem | |
JP2748773B2 (en) | Electronic equipment | |
US6163824A (en) | Hot plug port adapter with separate PCI local bus and auxiliary bus | |
US5649001A (en) | Method and apparatus for adapting a communication interface device to multiple networks | |
US6493780B2 (en) | Wake-up-on-ring power conservation for host signal processing communication system | |
US5860021A (en) | Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel | |
US6314455B1 (en) | Data processing system and method for permitting a server to remotely initiate a client's boot block recovery | |
US6240166B1 (en) | LAN connection using analog modems via telephone wiring | |
EP0620933A1 (en) | Reconfigureable interface between a computer and peripheral devices | |
KR19990082733A (en) | Pci system and adapter requirements following reset | |
US7197578B1 (en) | Power management system for bridge circuit | |
US6851068B2 (en) | System for remotely controlling power cycling of a peripheral expansion subsystem by a host | |
US20010052026A1 (en) | Controllerless modem | |
US7024223B1 (en) | Systems and methods for a multi-platform wireless modem | |
US7099966B2 (en) | Point-to-point electrical loading for a multi-drop bus | |
EP0855105A1 (en) | Self-configuring bus | |
US20040205283A1 (en) | Interface module | |
WO2008023326A2 (en) | Communication system and method for operating a communication system | |
KR100464989B1 (en) | Control bus system and bus arbitration method | |
CN110633227B (en) | Memory resetting circuit and mainboard applying same | |
CN215300646U (en) | Bypass control device | |
KR100220434B1 (en) | Computer with pnp modem | |
US5848136A (en) | State machine and method for monitoring and controlling operating modes in a computer-controlled telephony instrument | |
Brittain et al. | Unique applications of custom MIL-STD-1553 ASIC | |
CN111624915A (en) | Method for awakening microcontroller by upper computer through serial port |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |