The present invention relates generally to wireless communication systems and more particularly to integrated circuits of transceivers operating within such systems.
Communication systems are known to support wireless and wire lined communications between wireless and/or wire lined communication devices. Such communication systems range from national and/or international cellular telephone systems to the Internet to point-to-point in-home wireless networks. Each type of communication system is constructed, and hence operates, in accordance with one or more communication standards. For instance, wireless communication systems may operate in accordance with one or more standards including, but not limited to, IEEE 802.11, Bluetooth, advanced mobile phone services (AMPS), digital AMPS, global system for mobile communications (GSM), code division multiple access (CDMA), local multi-point distribution systems (LMDS), multi-channel-multi-point distribution systems (MMDS), radio frequency identification (RFID), Enhanced Data rates for GSM Evolution (EDGE), General Packet Radio Service (GPRS), and/or variations thereof.
Depending on the type of wireless communication system, a wireless communication device, such as a cellular telephone, two-way radio, personal digital assistant (PDA), personal computer (PC), laptop computer, home entertainment equipment, RFID reader, RFID tag, et cetera communicates directly or indirectly with other wireless communication devices. For direct communications (also known as point-to-point communications), the participating wireless communication devices tune their receivers and transmitters to the same channel or channels (e.g., one of the plurality of radio frequency (RF) carriers of the wireless communication system or a particular RF frequency for some systems) and communicate over that channel(s). For indirect wireless communications, each wireless communication device communicates directly with an associated base station (e.g., for cellular services) and/or an associated access point (e.g., for an in-home or in-building wireless network) via an assigned channel. To complete a communication connection between the wireless communication devices, the associated base stations and/or associated access points communicate with each other directly, via a system controller, via the public switch telephone network, via the Internet, and/or via some other wide area network.
For each wireless communication device to participate in wireless communications, the wireless communication device includes a built-in radio transceiver (i.e., receiver and transmitter) or is coupled to an associated radio transceiver (e.g., a station for in-home and/or in-building wireless communication networks, RF modem, etc.). As is known, the receiver is coupled to an antenna and includes a low noise amplifier, one or more intermediate frequency stages, a filtering stage, and a data recovery stage. The low noise amplifier receives inbound RF signals via the antenna and amplifies then. The one or more intermediate frequency stages mix the amplified RF signals with one or more local oscillations to convert the amplified RF signal into baseband signals or intermediate frequency (IF) signals. The filtering stage filters the baseband signals or the IF signals to attenuate unwanted out of band signals to produce filtered signals. The data recovery stage recovers raw data from the filtered signals in accordance with the particular wireless communication standard. These networks also allow for the increased potential that data in memory of these devices be wrongly accessed.
As is also known, the transmitter includes a data modulation stage, one or more intermediate frequency stages, and a power amplifier. The data modulation stage converts raw data into baseband signals in accordance with a particular wireless communication standard. The one or more intermediate frequency stages mix the baseband signals with one or more local oscillations to produce RF signals. The power amplifier amplifies the RF signals prior to transmission via an antenna.
While transmitters generally include a data modulation stage, one or more IF stages, and a power amplifier, the particular implementation of these elements is dependent upon the data modulation scheme of the standard being supported by the transceiver. For example, if the baseband modulation scheme is Gaussian Minimum Shift Keying (GMSK), the data modulation stage functions to convert digital words into quadrature modulation symbols, which have a constant amplitude and varying phases. The IF stage includes a phase locked loop (PLL) that generates an oscillation at a desired RF frequency, which is modulated based on the varying phases produced by the data modulation stage. The phase modulated RF signal is then amplified by the power amplifier in accordance with a transmit power level setting to produce a phase modulated RF signal.
As the desire for wireless communication devices that integrate more functions increases, the potential for data in memory of these devices to be wrongfully accessed increases. Therefore, a need exists for an integrated circuit (IC) that implements secure or protected memory functions within the IC and its related devices.
Embodiments of the present invention are directed to systems and methods that are further described in the following description and claims. Advantages and features of embodiments of the present invention may become apparent from the description, accompanying drawings and claims.
For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numerals indicate like features and wherein:
Preferred embodiments of the present invention are illustrated in the FIGs., like numerals being used to refer to like and corresponding parts of the various drawings.
Embodiments of the present invention provide a memory scrambler unit (MSU) wherein the MSU may be within a single chip or multi-chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.
The embodiments of the present invention may be practiced in a variety of settings that utilize a wireless communication receiver or other applications where a processor accesses local or remote volatile memory. The specific embodiments described below pertain to 3rd Generation Partnership Project (3GPP) telecommunication technology. However, the invention need not be limited to such applications and other embodiments of the invention may be implemented in other communications protocols and standards. Furthermore, the invention is not limited for use with WCDMA only and may be used in many other wired and wireless technologies as well.
The communication device 10 communicates RF non-real-time data 25 and/or RF real-time data 26 with one or more of the base station 18, the wireless non-real-time device 20, the wireless real-time device 22, and the wireless non-real-time and/or real-time device 24 via one or more channels in a frequency band (fbA) that is designated for wireless communications. For example, the frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries. As a particular example, wideband code division multiple access (WCDMA) utilizes an uplink frequency band of 1920-1980 MHz and a downlink frequency band of 2110-2170 MHz. As another particular example, EDGE, GSM and GPRS utilize an uplink transmission frequency band of 890-915 MHz and a downlink transmission band of 935-960 MHz. As yet another particular example, IEEE 802.11 (g) utilizes a frequency band of 2.4 GHz frequency band.
The wireless real-time device 22 and the wireline real-time device 14 communicate real-time data that, if interrupted, would result in a noticeable adverse affect. For example, real-time data may include, but is not limited to, voice data, audio data, and/or streaming video data. Note that each of the real-time devices 14 and 22 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireline and/or wireless interface for conveying real-time data with another device.
The wireless non-real-time device 20 and the wireline non-real-time device 12 communicate non-real-time data that, if interrupted, would not generally result in a noticeable adverse affect. For example, non-real-time data may include, but is not limited to, text messages, still video images, graphics, control data, emails, and/or web browsing. Note that each of the non-real-time devices 14 and 22 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a global positioning satellite (GPS) receiver, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireline and/or wireless interface for conveying real-time data with another device.
Depending on the real-time and non-real-time devices coupled to the communication unit 10, the communication unit 10 may participate in cellular voice communications, cellular data communications, video capture, video playback, audio capture, audio playback, image capture, image playback, voice over internet protocol (i.e., voice over IP), sending and/or receiving emails, web browsing, playing video games locally, playing video games via the internet, word processing generation and/or editing, spreadsheet generation and/or editing, database generation and/or editing, one-to-many communications, viewing broadcast television, receiving broadcast radio, cable broadcasts, and/or satellite broadcasts.
The communication device 30 communicates RF data 40 with the data device 32 and/or the data base station 34 via one or more channels in a first frequency band (fb1) that is designated for wireless communications. For example, the first frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries.
The communication device 30 communicates RF voice 42 with the voice device 38 and/or the voice base station 36 via one or more channels in a second frequency band (fb2) that is designated for wireless communications. For example, the second frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries. In a particular example, the first frequency band may be 900 MHz for EDGE data transmissions while the second frequency band may the 1900 MHz and 2100 MHz for WCDMA voice transmissions.
The voice device 38 and the voice base station 36 communicate voice signals that, if interrupted, would result in a noticeable adverse affect (e.g., a disruption in a communication). For example, the voice signals may include, but is not limited to, digitized voice signals, digitized audio data, and/or streaming video data. Note that the voice device 38 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a game console, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireless interface for conveying voice signals with another device.
The data device 34 and the data base station 34 communicate data that, if interrupted, would not generally result in a noticeable adverse affect. For example, the data may include, but is not limited to, text messages, still video images, graphics, control data, emails, and/or web browsing. Note that the data device 32 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a global positioning satellite (GPS) receiver, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireless interface for conveying data with another device.
Depending on the devices coupled to the communication unit 30, the communication unit 30 may participate in cellular voice communications, cellular data communications, video capture, video playback, audio capture, audio playback, image capture, image playback, voice over internet protocol (i.e., voice over IP), sending and/or receiving emails, web browsing, playing video games locally, playing video games via the internet, word processing generation and/or editing, spreadsheet generation and/or editing, database generation and/or editing, one-to-many communications, viewing broadcast television, receiving broadcast radio, cable broadcasts, and/or satellite broadcasts.
For outgoing voice communications, the at least one microphone 60 receives an audible voice signal, amplifies it, and provide the amplified voice signal to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the amplified voice signal into a digitized voice signal using one or more audio processing schemes (e.g., pulse code modulation, audio compression, etc.). The Voice Data RF IC 50 may transmit the digitized voice signal via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may transmit the digitized voice signal as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 52.
For outgoing real-time audio and/or video communications, the Voice Data RF IC 50 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 50 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 50 may transmit the digitized streaming audio and/or video via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may transmit the digitized streaming audio and/or video as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 52. Note that the Voice Data RF IC 50 may mix a digitized voice signal with a digitized streaming audio and/or video to produce a mixed digitized signal that may be transmitted via the wireline port 64 and/or via the antenna interface 52.
In a playback mode of the communication device 10, the Voice Data RF IC 50 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 50 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 50 may convert an audio portion of the digitized streaming audio and/or video into analog audio signals that are provided to the at least one speaker 62. In addition, the Voice Data RF IC 50 may convert a video portion of the digitized streaming audio and/or video into analog or digital video signals that are provided to the display 56, which may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display.
The processing modules within Voice Data RF IC include ARM microprocessor 51 and a digital signal processor (DSP) 53. This arrangement allows bifurcated processing, in one embodiment such a bifurcation may be configured where the DSP supports more physical layer type applications while the ARM supports higher layer applications. Further bifurcation may be based on voice applications, data applications, and/or RF control. For instance, a vocoder may be done in the DSP. This provides efficient use of the processing resources within a single voice/data/RF chip.
For incoming RF voice communications, the antenna interface 52 receives, via an antenna, inbound RF real-time data 26 (e.g., inbound RF voice signals) and provides them to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the inbound RF voice signals into digitized voice signals. The Voice Data RF IC 50 may transmit the digitized voice signals via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may convert the digitized voice signals into an analog voice signals and provide the analog voice signals to the speaker 62.
The Voice Data RF IC 50 may receive digitized voice-audio-&/or-video signals from the wireline connection 28 via the wireless port 64 or may receive RF signals via the antenna interface 52, where the Voice Data RF IC 50 recovers the digitized voice-audio-&/or-video signals from the RF signals. The Voice Data RF IC 50 may then compress the received digitized voice-audio-&/or-video signals to produce voice-audio-&/or-video files and store the files in memory 54. In the alternative, or in addition to, the Voice Data RF IC 50 may convert the digitized voice-audio-&/or-video signals into analog voice-audio-&/or-video signals and provide them to the speaker 62 and/or display.
For outgoing non-real-time data communications, the keypad/keyboard 58 (which may be a keypad, keyboard, touch screen, voice activated data input, and/or any other mechanism for inputted data) provides inputted data (e.g., emails, text messages, web browsing commands, etc.) to the Voice Data RF IC 50. The Voice Data RF IC 50 converts the inputted data into a data symbol stream using one or more data modulation schemes (e.g., QPSK, 8-PSK, etc.). The Voice Data RF IC 50 converts the data symbol stream into RF non-real-time data signals 24 that are provided to the antenna interface 52 for subsequent transmission via the antenna. In addition to, or in the alternative, the Voice Data RF IC 50 may provide the inputted data to the display 56. As another alternative, the Voice Data RF IC 50 may provide the inputted data to the wireline port 64 for transmission to the wireline non-real-time data device 12 and/or the non-real-time and/or real-time device 16.
For incoming non-real-time communications (e.g., text messaging, image transfer, emails, web browsing), the antenna interface 52 receives, via an antenna, inbound RF non-real-time data signals 24 (e.g., inbound RF data signals) and provides them to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the inbound RF data signals into data signals. The Voice Data RF IC 50 may transmit the data signals via the wireless port 64 to the wireline non-real-time device 12 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may convert the data signals into analog data signals and provide the analog data signals to an analog input of the display 56 or the Voice Data RF IC 50 may provide the data signals to a digital input of the display 56.
For outgoing voice communications, the at least one microphone 60 receives an audible voice signal, amplifies it, and provide the amplified voice signal to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the amplified voice signal into a digitized voice signal using one or more audio processing schemes (e.g., pulse code modulation, audio compression, etc.). The Voice Data RF IC 70 may transmit the digitized voice signal via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may transmit the digitized voice signal as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 72 using a first frequency band (fb1).
For outgoing real-time audio and/or video communications, the Voice Data RF IC 70 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 70 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 70 may transmit the digitized streaming audio and/or video via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may transmit the digitized streaming audio and/or video as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 72 using the first frequency band (fb1). Note that the Voice Data RF IC 70 may mix a digitized voice signal with a digitized streaming audio and/or video to produce a mixed digitized signal that may be transmitted via the wireline port 64 and/or via the antenna interface 72.
In a playback mode of the communication device 10, the Voice Data RF IC 70 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 70 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 70 may convert an audio portion of the digitized streaming audio and/or video into analog audio signals that are provided to the at least one speaker 62. In addition, the Voice Data RF IC 70 may convert a video portion of the digitized streaming audio and/or video into analog or digital video signals that are provided to the display 56, which may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display.
For incoming RF voice communications, the antenna interface 72 receives, via an antenna within the first frequency band, inbound RF real-time data 26 (e.g., inbound RF voice signals) and provides them to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the inbound RF voice signals into digitized voice signals. The Voice Data RF IC 70 may transmit the digitized voice signals via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may convert the digitized voice signals into an analog voice signals and provide the analog voice signals to the speaker 62.
The Voice Data RF IC 70 may receive digitized voice-audio-&/or-video signals from the wireline connection 28 via the wireless port 64 or may receive RF signals via the antenna interface 72, where the Voice Data RF IC 70 recovers the digitized voice-audio-&/or-video signals from the RF signals. The Voice Data RF IC 70 may then compress the received digitized voice-audio-&/or-video signals to produce voice-audio-&/or-video files and store the files in memory 54. In the alternative, or in addition to, the Voice Data RF IC 70 may convert the digitized voice-audio-&/or-video signals into analog voice-audio-&/or-video signals and provide them to the speaker 62 and/or display.
For outgoing non-real-time data communications, the keypad/keyboard 58 provides inputted data (e.g., emails, text messages, web browsing commands, etc.) to the Voice Data RF IC 70. The Voice Data RF IC 70 converts the inputted data into a data symbol stream using one or more data modulation schemes (e.g., QPSK, 8-PSK, etc.). The Voice Data RF IC 70 converts the data symbol stream into RF non-real-time data signals 24 that are provided to the antenna interface 74 for subsequent transmission via an antenna in a second frequency band (fb2). In addition to, or in the alternative, the Voice Data RF IC 70 may provide the inputted data to the display 56. As another alternative, the Voice Data RF IC 70 may provide the inputted data to the wireline port 64 for transmission to the wireline non-real-time data device 12 and/or the non-real-time and/or real-time device 16.
For incoming non-real-time communications (e.g., text messaging, image transfer, emails, web browsing), the antenna interface 74 receives, via an antenna within the second frequency band, inbound RF non-real-time data signals 24 (e.g., inbound RF data signals) and provides them to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the inbound RF data signals into data signals. The Voice Data RF IC 70 may transmit the data signals via the wireless port 64 to the wireline non-real-time device 12 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may convert the data signals into analog data signals and provide the analog data signals to an analog input of the display 56 or the Voice Data RF IC 70 may provide the data signals to a digital input of the display 56.
In one embodiment, the baseband processing module, interface module, RF section or any other processing module within the IC includes an ARM microprocessor and a DSP. Such a bifurcation may be done where the DSP supports more physical layer type applications associated with and the ARM supports higher layer applications. Further bifurcation may be based on voice applications, data applications, and/or RF control. For instance, a vocoder may be done in the DSP. This provides efficient use of the processing resources within a single voice/data/RF chip.
The baseband processing module 80 converts an outbound voice signal 96 into an outbound voice symbol stream 98 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). The baseband processing module 80 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound voice signal 96 into the outbound voice symbol stream 98. Depending on the desired formatting of the outbound voice symbol stream 98, the baseband processing module 80 may generate the outbound voice symbol stream 98 as Cartesian coordinates (e.g., having an in-phase signal component and a quadrature signal component to represent a symbol), as Polar coordinates (e.g., having a phase component and an amplitude component to represent a symbol), or as hybrid coordinates as disclosed in co-pending patent application entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, and an application Ser. No. 11/388,822, and co-pending patent application entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, and an application Ser. No. 11/494,682.
The interface module 84 conveys the outbound voice symbol stream 98 to the RF section 82 when the Voice Data RF IC 50 is in a voice mode. The voice mode may be activated by the user of the communication device 10 by initiating a cellular telephone call, by receiving a cellular telephone call, by initiating a walkie-talkie type call, by receiving a walkie-talkie type call, by initiating a voice record function, and/or by another voice activation selection mechanism.
The RF section 82 converts the outbound voice symbol stream 98 into an outbound RF voice signal 114 in accordance with the one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). In one embodiment, the RF section 82 receives the outbound voice symbol stream 98 as Cartesian coordinates. In this embodiment, the RF section 82 mixes the in-phase components of the outbound voice symbol stream 98 with an in-phase local oscillation to produce a first mixed signal and mixes the quadrature components of the outbound voice symbol stream 98 to produce a second mixed signal. The RF section 82 combines the first and second mixed signals to produce an up-converted voice signal. The RF section 82 then amplifies the up-converted voice signal to produce the outbound RF voice signal 114, which it provides to the antenna interface 52. Note that further power amplification may occur between the output of the RF section 82 and the input of the antenna interface 52.
In other embodiments, the RF section 82 receives the outbound voice symbol stream 98 as Polar or hybrid coordinates. In these embodiments, the RF section 82 modulates a local oscillator based on phase information of the outbound voice symbol stream 98 to produce a phase modulated RF signal. The RF section 82 then amplifies the phase modulated RF signal in accordance with amplitude information of the outbound voice symbol stream 98 to produce the outbound RF voice signal 114. Alternatively, the RF section 82 may amplify the phase modulated RF signal in accordance with a power level setting to produce the outbound RF voice signal 114.
For incoming voice signals, the RF section 82 receives an inbound RF voice signal 112 via the antenna interface 52. The RF section 82 converts the inbound RF voice signal 112 into an inbound voice symbol stream 100. In one embodiment, the RF section 82 extracts Cartesian coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. In another embodiment, the RF section 82 extracts Polar coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. In yet another embodiment, the RF section 82 extracts hybrid coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. The interface module 84 provides the inbound voice symbol stream 100 to the baseband processing module 80 when the Voice Data RF IC 50 is in the voice mode.
The baseband processing module 80 converts the inbound voice symbol stream 100 into an inbound voice signal 102. The baseband processing module 80 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound voice symbol stream 100 into the inbound voice signal 102, which is placed on the AHB bus matrix 94.
In one embodiment, the outbound voice signal 96 is received from the audio codec section 86 via the AHB bus 94. The audio codec section 86 is coupled to the at least one microphone 60 to receive an analog voice input signal there from. The audio codec section 86 converts the analog voice input signal into a digitized voice signal that is provided to the baseband processing module 80 as the outbound voice signal 96. The audio codec section 86 may perform an analog to digital conversion to produce the digitized voice signal from the analog voice input signal, may perform pulse code modulation (PCM) to produce the digitized voice signal, and/or may compress a digital representation of the analog voice input signal to produce the digitized voice signal.
The audio codec section 86 is also coupled to the at least one speaker 62. In one embodiment the audio codec section 86 processes the inbound voice signal 102 to produce an analog inbound voice signal that is subsequently provided to the at least one speaker 62. The audio codec section 86 may process the inbound voice signal 102 by performing a digital to analog conversion, by PCM decoding, and/or by decompressing the inbound voice signal 102.
For an outgoing data communication (e.g., email, text message, web browsing, and/or non-real-time data), the baseband processing module 80 receives outbound data 108 from the keypad interface 88 and/or the memory interface 90. The baseband processing module 80 converts outbound data 108 into an outbound data symbol stream 110 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). The baseband processing module 80 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound data 108 into the outbound data symbol stream 110. Depending on the desired formatting of the outbound data symbol stream 110, the baseband processing module 80 may generate the outbound data symbol stream 110 as Cartesian coordinates (e.g., having an in-phase signal component and a quadrature signal component to represent a symbol), as Polar coordinates (e.g., having a phase component and an amplitude component to represent a symbol), or as hybrid coordinates as disclosed in co-pending patent application entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, and an application Ser. No. 11/388,822, and co-pending patent application entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, and an application Ser. No. 11/494,682. In addition to, or in the alternative of, the outbound data 108 may be provided to the display interface 92 such that the outbound data 108, or a representation thereof, may be displayed on the display 56.
The interface module 84 conveys the outbound data symbol stream 110 to the RF section 82 when the Voice Data RF IC 50 is in a data mode. The data mode may be activated by the user of the communication device 10 by initiating a text message, by receiving a text message, by initiating a web browser function, by receiving a web browser response, by initiating a data file transfer, and/or by another data activation selection mechanism.
The RF section 82 converts the outbound data symbol stream 110 into an outbound RF data signal 118 in accordance with the one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). In one embodiment, the RF section 82 receives the outbound data symbol stream 110 as Cartesian coordinates. In this embodiment, the RF section 82 mixes the in-phase components of the outbound data symbol stream 110 with an in-phase local oscillation to produce a first mixed signal and mixes the quadrature components of the outbound data symbol stream 110 to produce a second mixed signal. The RF section 82 combines the first and second mixed signals to produce an up-converted data signal. The RF section 82 then amplifies the up-converted data signal to produce the outbound RF data signal 118, which it provides to the antenna interface 52. Note that further power amplification may occur between the output of the RF section 82 and the input of the antenna interface 52.
In other embodiments, the RF section 82 receives the outbound data symbol stream 110 as Polar or hybrid coordinates. In these embodiments, the RF section 82 modulates a local oscillator based on phase information of the outbound data symbol stream 110 to produce a phase modulated RF signal. The RF section 82 then amplifies the phase modulated RF signal in accordance with amplitude information of the outbound data symbol stream 110 to produce the outbound RF data signal 118. Alternatively, the RF section 82 may amplify the phase modulated RF signal in accordance with a power level setting to produce the outbound RF data signal 118.
For incoming data communications, the RF section 82 receives an inbound RF data signal 116 via the antenna interface 52. The RF section 82 converts the inbound RF data signal 116 into an inbound data symbol stream 104. In one embodiment, the RF section 82 extracts Cartesian coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. In another embodiment, the RF section 82 extracts Polar coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. In yet another embodiment, the RF section 82 extracts hybrid coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. The interface module 84 provides the inbound data symbol stream 104 to the baseband processing module 80 when the Voice Data RF IC 50 is in the data mode.
The baseband processing module 80 converts the inbound data symbol stream 104 into inbound data 106. The baseband processing module 80 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound data symbol stream 104 into the inbound data 106, which is placed on the AHB bus matrix 94.
In one embodiment, the display interface 92 retrieves the inbound data 106 from the AHB bus matrix 94 and provides it, or a representation thereof, to the display 56. In another embodiment, the memory interface 90 retrieves the inbound data 106 from the AHG bus matrix 94 and provides it to the memory 54 for storage therein.
The processing module 125 may be a single processing device or a plurality of processing devices. Processing module 125 within the Voice Data RF IC may include ARM microprocessors and DSPs. This arrangement allows bifurcated processing, in one embodiment such a bifurcation may be configured where the DSP supports more physical layer type applications while the ARM supports higher layer applications. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module 125 may have an associated memory and/or memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module 125. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module 125 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Further note that, the memory element stores, and the processing module 125 executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in the Figs.
In this embodiment, the Voice Data RF IC 50 includes one or more of a plurality of interfaces that enable the communication device 10 to include one or more of a plurality of additional circuits. For example, the communication device 10 may be a cellular telephone that provides voice, data, and at least one other service via the Voice Data RF IC 50, which, in this instance, is a cellular telephone IC. An example of another service includes WLAN access via a WLAN transceiver to support voice over IP communications, internet access, etc. Another service example includes Bluetooth access via a Bluetooth transceiver to support a Bluetooth wireless headset, file transfers, and other piconet services.
For wireline connectivity to another device, the Voice Data RF IC 50 may include a USB interface 165, an SPI interface, and I2S interface, and/or another other type of wired interface. In this instance, file transfers are easily supported by the wireline connectivity and can be managed by the processing module 125. Further, video games may be downloaded to the communication device 10 via the wireline connectivity and subsequently played as administered by the processing module 125. Alternatively, the wireline connectivity provides coupling to a game console such that the communication device 10 acts as the display and/or controller of the video game.
With the various interface options of the Voice Data RF IC 50, the communication device 10 may function as a personal entertainment device to playback audio files, video files, image files, to record images, to record video, to record audio, to watch television, to track location, to listen to broadcast FM radio, etc. Such personal entertainment functions would be administered primarily by the processing module 125.
With the inclusion of one or more display interfaces 92 and 128, the communication device may include multiple displays 56 and 130. The displays 56 and 130 may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display. Note that the display interfaces 92 and 128 may be an LCD interface, a mobile industry processor interface (MIPI), and/or other type of interface for supporting the particular display 56 or 130.
The Voice Data RF IC 50 includes security interface options to protect the data stored in the communication device and/or to insure use of the communication device is by an authorized user. For example, the Voice Data RF IC 50 may include the USIM interface 120 and/or the SDIO interface 132 for interfacing with a SIM card, a Secure Data card and/or a multi media card.
Of the various interfaces that may be included on the Voice Data RF IC 50, I2S is an industry standard 3-wire interface for streaming stereo audio between devices and the PCM interface is a serial interface used to transfer speech data. Of the external components of the communication device 10 with respect to the IC 50, a Secure Digital (SD) is a flash memory (non-volatile) memory card format used in portable devices, including digital cameras and handheld computers. SD cards are based on the older Multi-Media-Card (MMC) format, but most are physically slightly thicker than MMC cards. A (SIM) card that stores user subscriber information, authentication information and provides storage space for text messages and USIM stores a long-term preshared secret key K, which is shared with the Authentication Center (AuC) in the network. The USIM also verifies a sequence number that must be within a range using a window mechanism to avoid replay attacks, and is in charge of generating the session keys CK and IK to be used in the confidentiality and integrity algorithms of the KASUMI block cipher in UMTS.
The video codec 204 performs coding and decoding of video signals, where encoded video signals may be stored in memory coupled to the memory interface 90. Such coding and decoding may be in accordance with various video processing standards such as MPEG (Motion Picture Expert Group), JPEG (Joint Picture Expert Group), etc.
DSP 210 converts an outbound voice signal 96 into an outbound voice symbol stream 98 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). The DSP 210 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound voice signal 96 into the outbound voice symbol stream 98. Depending on the desired formatting of the outbound voice symbol stream 98, the DSP may generate the outbound voice symbol stream 98 as Cartesian coordinates, as Polar coordinates, or as hybrid coordinates.
The interface module 84 conveys the outbound voice symbol stream 98 to the RF section 82 when the Voice Data RF IC 50 is in a voice mode. The RF section 82 converts the outbound voice symbol stream 98 into an outbound RF voice signal 114 as previously discussed.
The DSP 210 converts the inbound voice symbol stream 100 into an inbound voice signal 102. The DSP 210 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound voice symbol stream 100 into the inbound voice signal 102.
For an outgoing data communication (e.g., email, text message, web browsing, and/or non-real-time data), the DSP 210 converts outbound data 108 into an outbound data symbol stream 110 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). The DSP 210 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound data 108 into the outbound data symbol stream 110. Depending on the desired formatting of the outbound data symbol stream 110, the DSP 210 may generate the outbound data symbol stream 110 as Cartesian coordinates, as Polar coordinates, or as hybrid coordinates.
The interface module 84 conveys the outbound data symbol stream 110 to the RF section 82 when the Voice Data RF IC 50 is in a data mode. The RF section 82 converts the outbound data symbol stream 110 into an outbound RF data signal 118 as previously described.
For incoming data communications, the RF section 82 converts the inbound RF data signal 116 into an inbound data symbol stream 104 as previously discussed with reference to
The DSP 210 converts the inbound data symbol stream 104 into inbound data 106. The DSP 210 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound data symbol stream 104 into the inbound data 106.
In this embodiment, the microprocessor core 190 may retrieve from memory via memory interface 90 and/or may generate the outbound data 108 and/or the outbound voice signal 96. Note that, in this embodiment, the outbound voice signal 96 may be a voice signal of a cellular telephone call, an audio signal (e.g., music, a voice recording, etc.) a video signal (e.g., a movie, TV show, etc), and/or an image signal (e.g., a picture).
In addition, the microprocessor core 190 may store the inbound voice signal 102 and/or the inbound data 106 in the memory via the memory interface 90. Note that, in this embodiment, the inbound voice signal 102 may be a voice signal of a cellular telephone call, an audio signal (e.g., music, a voice recording, etc.) a video signal (e.g., a movie, TV show, etc), and/or an image signal (e.g., a picture).
Data RF section 236, the voice RF section 238, the interface module 234, the voice baseband processing module 230, the data baseband processing module 232, microprocessor core 190, the memory interface 90, and one or more of a plurality of interface modules may be implemented with ARM microprocessors and DSPs. These implementations allow bifurcated processing to provide efficient use of the processing resources within these processing modules.
In one embodiment, the baseband processing module, the RF circuit or section 82, , and the on-chip baseband-to-RF interface module are fabricated on a single die using a complimentary metal oxide semiconductor (CMOS) process of at most sixty-five nano-meters.
Embodiments of the present invention provide a memory scrambler unit (MSU), wherein the MSU may be within a single chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing as described in the preceding FIGs. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.
By default, scrambling is disabled. However, once enabled, scrambling cannot be turned off unless the chip is reset from power-up. The scrambling will consist of generating a random number (key 1204 as discussed below) during the boot cycle, typically in the authenticated boot image (ABI). Care must be taken by software to ensure that scrambling is not enabled in the middle of a memory access, as this can corrupt the memory. Also, any data stored in the device will be unrecoverable once the MSU is enabled.
The random number is XORed with each address to provide the scrambling (linear). Additionally a mux is used to permute data within the address lines based on a programmed random number (non-linear). The use of this mechanism will be off in development mode and will be turned on based on the authenticated header from the FLASH during the ABI sequence. The following are some recommended steps that should be followed:
The MSU is controlled by registers accessible from the APB bus. When data scrambling is enabled, the entire multi-bit data word is scrambled. Address scrambling is configurable and is enabled on a per-bit basis.
The scrambling algorithm consists of two parts, the XOR with a random key and the swizzle, which consists of a programmable bit selection of bits within a nibble. To scramble data, the data is XORed first with the key, then swizzled. To unscramble data, the data must first be inverse swizzled, then XORed with the masked key.
Each bit within a nibble can be programmed to select one of the 4 bits within that nibble. This is controlled by the control registers. Each bit has a two-bit value that does the selection. Care should be taken to ensure that a valid swizzle algorithm is programmed, otherwise data may be lost. For any nibble, every pre-scramble bit and post-scramble bit must be accounted for, otherwise the swizzle is invalid and will result in data loss. Finally, the scrambling is enabled through the scramble control register bits. There are cases when scrambling must be disabled. These exceptions include but are not limited to external peripherals attached to the memory interface, SRAM Memory configuration accesses, and SDRAM Memory refresh accesses.
The scramble region must be specified using the Address Scramble region registers. The input address is masked with ADDR_SCR_BASE_MSK_REG and compared to the ADDR_SCR_BASE_REG. If they match, the access falls within the scrambled memory region. The way scramble regions are defined places constraints on the acceptable sizes and locations of the memory scrambling. The memory region must be aligned to the base register and the size of the memory region is determined by the most significant “0” in the ADDR_SCR_BASE_MSK_REG.
Some SRAM controllers allow configuration accesses to their registers and are specified using memory access signals. Typically these configuration accesses are specified either by software or hardware “MRS” signal. For software accesses, prior to the configuration cycle, the enable signal, BYPASS_SCR must be asserted. BYPASS_SCR may be modified as long as the lock bit, BYPASS_SCR_LOCK is not asserted. Once the final configuration cycle is complete, scrambling should be enabled and locked.
For hardware accesses to the SRAM configuration space, accesses are specified by the MRS signal. While MRS is “1”, all address and data will be not be scrambled, as long as the MRS functionality is not disabled via the MRS control bits, MRS_DISABLE and MRS_DISABLE_LOCK.
In secure systems, it is the duty of the authenticated boot image (ABI) to enable bypass, configure the SRAM controller, and then disable bypass and lock the bit from further tampering.
The impact of refresh cycles is dependent on the memory controller. It may be necessary to bypass the memory scrambling using the BYPASS_SCR control bit in the SCR_CONTROL_REG for every refresh cycle. In order this to work, the lock bit for the bypass, BYPASS_SCR_LOCK must not be set, otherwise there will be no way to enable, disable, and re-enable scrambling.
As a security precaution, all registers (except for the control register) may be write-only, and while enabled, none of the settings may be changed. Furthermore, once enabled, memory scrambling cannot be disabled, until the chip is reset and the SCR_CONTROL_REG reverts back to a default (disabled) value.
In summary, the present invention provides a memory scrambler unit (MSU), wherein the MSU may be within a single chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing. This processing may be divided between various processing modules that access memory. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.
As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As may also be used herein, the term(s) “coupled to” and/or “coupling” and/or includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”. As may even further be used herein, the term “operable to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform one or more its corresponding functions and may further include inferred coupling to one or more other items. As may still further be used herein, the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item. As may be used herein, the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.
The present invention has also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.
The present invention has been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof
Although the present invention is described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as described by the appended claims.
The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes: 1. U.S. Provisional Application Ser. No. 60/870,903, entitled “MEMORY SCRAMBLER UNIT,” (Attorney Docket No. BP5796) filed Dec. 20, 2006, pending. The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes: 1. U.S. patent application Ser. No. 11/388,82 entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, pending.2. U.S. patent application Ser. No. 11/494,682 entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, pending.
Number | Date | Country | |
---|---|---|---|
60870912 | Dec 2006 | US | |
60870903 | Dec 2006 | US |