KR101115267B1 - 라디오 데이터 시스템 (rds) 데이터에 대한 하나 이상의 rds 그룹 타입 프로세싱 루틴을 다운로딩하는 방법 및 장치 - Google Patents
라디오 데이터 시스템 (rds) 데이터에 대한 하나 이상의 rds 그룹 타입 프로세싱 루틴을 다운로딩하는 방법 및 장치 Download PDFInfo
- Publication number
- KR101115267B1 KR101115267B1 KR1020107013630A KR20107013630A KR101115267B1 KR 101115267 B1 KR101115267 B1 KR 101115267B1 KR 1020107013630 A KR1020107013630 A KR 1020107013630A KR 20107013630 A KR20107013630 A KR 20107013630A KR 101115267 B1 KR101115267 B1 KR 101115267B1
- Authority
- KR
- South Korea
- Prior art keywords
- rds
- group type
- data
- rds group
- type processing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H40/00—Arrangements specially adapted for receiving broadcast information
- H04H40/18—Arrangements characterised by circuits or components specially adapted for receiving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/02—Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
- H04H60/06—Arrangements for scheduling broadcast services or broadcast-related services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/10—Aspects of broadcast communication characterised by the type of broadcast system
- H04H2201/13—Aspects of broadcast communication characterised by the type of broadcast system radio data system/radio broadcast data system [RDS/RBDS]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 시스템은 데이터 프로세서 및 호스트 프로세서를 포함한다. 호스트 프로세서는 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하도록 구성되고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 호스트 프로세서는 또한 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하도록 구성되어, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다. RDS 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법이 또한 제공된다.
Description
본 기술은 일반적으로 라디오 송신 또는 수신에 관한 것이고, 더 상세하게는, 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법 및 장치에 관한 것이다.
브로드캐스트 라디오 데이터는 통상적으로, VHF 주파수 대역에서 스테레오-멀티플렉스 신호를 송신하는 FM 라디오 스테이션에서 이용된다. 브로드캐스트 라디오 데이터는 그 라디오 브로드캐스트와 관련된 정보를 디스플레이하기 위해 FM 라디오 스테이션에 의해 이용될 수 있다. 브로드캐스트 라디오 데이터를 수신하는 FM 라디오는 그 데이터를 디스플레이 상에 재생성할 수 있다. 미처리 브로드캐스트 라디오 데이터 자체가 FM 라디오의 호스트 프로세서에 전달된다. 그 후, 호스트 프로세서는 통상적으로 그 미처리 브로드캐스트 라디오 데이터를 프로세싱하여, 그 데이터가 디스플레이 상에 재생성될 수 있다. 이와 관련하여, 호스트 프로세서는 통상적으로 그 브로드캐스트 라디오 데이터와 연관된 다수의 인터럽트를 조작하여, 호스트 프로세서로 하여금 더 많은 전력, 메모리 및 프로세싱 사이클을 이용하게 해야 한다. 이와 같이, 종래기술에서는 호스트 프로세서의 전력 및 메모리 효율을 개선시키는 시스템 및 방법에 대한 필요성이 존재한다.
본 출원의 일 양태에서는, 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 시스템이 제공된다. 이 호스트 시스템은 데이터 프로세서 및 호스트 프로세서를 포함한다. 호스트 프로세서는 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하도록 구성되고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 호스트 프로세서는 또한 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하도록 구성되어, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 출원의 다른 양태에서는, RDS 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 프로세서가 제공된다. 이 호스트 프로세서는, 호스트 시스템의 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하도록 구성되는 다운로드 모듈을 포함하고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 이 호스트 프로세서는 또한, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하도록 구성되는 할당 모듈을 포함하여, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 출원의 다른 양태에서는, RDS 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 시스템이 제공된다. 호스트 시스템은 데이터 프로세서 및 호스트 프로세서를 포함한다. 이 호스트 프로세서는, 호스트 시스템의 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 수단을 포함하고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 이 호스트 프로세서는 또한, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하는 수단을 포함하여, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 출원의 다른 양태에서는, 호스트 프로세서를 이용하여 RDS 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법이 제공된다. 이 방법은, 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 호스트 프로세서에 의해 다운로딩하는 단계를 포함하고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 이 방법은, 호스트 프로세서에 의해, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하는 단계를 더 포함하고, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 출원의 다른 양태에서는, 호스트 프로세서를 이용하여 RDS 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하기 위한 명령을로 인코딩된 머신-판독가능 매체가 제공된다. 이 명령들은, 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 호스트 프로세서에 의해 다운로딩하기 위한 코드를 포함하고, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 이 명령들은 또한, 호스트 프로세서에 의해, 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 루틴에 데이터 프로세서 내의 레퍼런스를 할당하기 위한 코드를 포함하고, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 기술의 다른 구성은, 본 기술의 다양한 구성을 예시의 방식으로 나타내고 설명하는 다음의 상세한 설명으로부터 당업자에게 자명할 것이다. 실현될 때, 본 기술은 다른 구성들 및 상이한 구성들일 수 있고, 다수의 세부사항들은 본 기술의 범주를 벗어나지 않으면서 다양한 다른 양태로 변형될 수 있다. 따라서, 도면 및 상세한 설명은 본질적으로 예시적인 것으로 간주되어야 하며 제한적인 것이 아니다.
도 1 은, 호스트 시스템이 이용될 수 있는 라디오 브로드캐스트 네트워크의 일예를 도시하는 도면이다.
도 2 는 호스트 시스템에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다.
도 3 은 도 2 의 트랜시버 코어에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다.
도 4 는 트랜시버 코어에 대한 상이한 구현의 실시예를 도시하는 개념 블록도이다.
도 5 는 호스트 프로세서를 갖는 트랜시버 코어를 이용함으로써 제공되는 이득의 일예를 도시하는 개념 블록도이다.
도 6 은 RDS 표준의 기저대역 코딩의 구조에 대한 일예를 도시하는 개념 블록도이다.
도 7 은 RDS 데이터에 대한 메시지 포맷 및 어드레스 구조에 대한 일예를 도시하는 개념 블록도이다.
도 8 은 RDS 그룹 데이터 구조의 일예를 도시하는 개념 블록도이다.
도 9 는 트랜시버 코어의 코어 디지털 컴포넌트 및 코어 펌웨어 컴포넌트를 도시하는 개념 블록도이다.
도 10 은 RDS Block-B 데이터를 수신하는 호스트의 일예를 도시하는 시퀀스 차트이다.
도 11 은 RDS 그룹 필터의 일예를 도시하는 개념 블록도이다.
도 12 는 그룹 타입 0A 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다.
도 13 은 그룹 타입 0B 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다.
도 14 는 프로그램 서비스 (PS) 명칭 테이블에 대한 포맷의 일예를 도시하는 개념 블록도이다.
도 15 는 PS 명칭 테이블을 발생시키는 일예를 도시하는 개념 블록도이다.
도 16 은 PS 명칭 데이터 및 수신 유닛 상에 디스플레이되는 대응하는 텍스트의 일예를 도시하는 개념도이다.
도 17 은 그룹 타입 0 을 갖는 RDS 데이터를 프로세싱하는 일예를 도시하는 시퀀스 차트이다.
도 18a 내지 도 18j 는 동적 PS 명칭 데이터 및 호스트 프로세서 상의 대응하는 디스플레이의 일예를 도시하는 개념도이다.
도 19a 및 도 19b 는 정적 PS 명칭 데이터 및 호스트 프로세서 상의 대응하는 디스플레이의 일예를 도시하는 개념도이다.
도 20 은 대체 주파수 (AF) 리스트 포맷의 일예를 도시하는 개념 블록도이다.
도 21 은 그룹 타입 2A 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 도시하는 개념 블록도이다.
도 22 는 그룹 타입 2B 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 도시하는 개념 블록도이다.
도 23 은 RDS 타입 2 의 데이터 프로세싱의 일예를 도시하는 시퀀스 차트이다.
도 24 는 RDS 그룹 버퍼의 일예를 도시하는 개념 블록도이다.
도 25 는 RDS 그룹 데이터를 버퍼링 및 프로세싱하는 일예를 도시하는 시퀀스 차트이다.
도 26 은 RDS 데이터 프로세싱의 다양한 레벨을 수행하기 위한 트랜시버 코어에 대한 구성의 일예를 도시하는 개념 블록도이다.
도 27 은 도 3 의 트랜시버 코어의 데이터 RAM 및 프로그램 ROM 에 포함된 예시적인 디폴트 구성을 도시하는 개념 블록도이다.
도 28 은 도 3 의 프로그램 RAM, 데이터 RAM 및 프로그램 ROM 에 포함된 예시적인 구성을 도시하는 개념 블록도이다.
도 29 는 호스트 프로세서를 이용하여 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 예시적인 동작을 도시하는 흐름도이다.
도 30 은 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하기 위한 호스트 시스템의 기능이 일예를 도시하는 개념 블록도이다.
도 2 는 호스트 시스템에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다.
도 3 은 도 2 의 트랜시버 코어에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다.
도 4 는 트랜시버 코어에 대한 상이한 구현의 실시예를 도시하는 개념 블록도이다.
도 5 는 호스트 프로세서를 갖는 트랜시버 코어를 이용함으로써 제공되는 이득의 일예를 도시하는 개념 블록도이다.
도 6 은 RDS 표준의 기저대역 코딩의 구조에 대한 일예를 도시하는 개념 블록도이다.
도 7 은 RDS 데이터에 대한 메시지 포맷 및 어드레스 구조에 대한 일예를 도시하는 개념 블록도이다.
도 8 은 RDS 그룹 데이터 구조의 일예를 도시하는 개념 블록도이다.
도 9 는 트랜시버 코어의 코어 디지털 컴포넌트 및 코어 펌웨어 컴포넌트를 도시하는 개념 블록도이다.
도 10 은 RDS Block-B 데이터를 수신하는 호스트의 일예를 도시하는 시퀀스 차트이다.
도 11 은 RDS 그룹 필터의 일예를 도시하는 개념 블록도이다.
도 12 는 그룹 타입 0A 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다.
도 13 은 그룹 타입 0B 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다.
도 14 는 프로그램 서비스 (PS) 명칭 테이블에 대한 포맷의 일예를 도시하는 개념 블록도이다.
도 15 는 PS 명칭 테이블을 발생시키는 일예를 도시하는 개념 블록도이다.
도 16 은 PS 명칭 데이터 및 수신 유닛 상에 디스플레이되는 대응하는 텍스트의 일예를 도시하는 개념도이다.
도 17 은 그룹 타입 0 을 갖는 RDS 데이터를 프로세싱하는 일예를 도시하는 시퀀스 차트이다.
도 18a 내지 도 18j 는 동적 PS 명칭 데이터 및 호스트 프로세서 상의 대응하는 디스플레이의 일예를 도시하는 개념도이다.
도 19a 및 도 19b 는 정적 PS 명칭 데이터 및 호스트 프로세서 상의 대응하는 디스플레이의 일예를 도시하는 개념도이다.
도 20 은 대체 주파수 (AF) 리스트 포맷의 일예를 도시하는 개념 블록도이다.
도 21 은 그룹 타입 2A 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 도시하는 개념 블록도이다.
도 22 는 그룹 타입 2B 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 도시하는 개념 블록도이다.
도 23 은 RDS 타입 2 의 데이터 프로세싱의 일예를 도시하는 시퀀스 차트이다.
도 24 는 RDS 그룹 버퍼의 일예를 도시하는 개념 블록도이다.
도 25 는 RDS 그룹 데이터를 버퍼링 및 프로세싱하는 일예를 도시하는 시퀀스 차트이다.
도 26 은 RDS 데이터 프로세싱의 다양한 레벨을 수행하기 위한 트랜시버 코어에 대한 구성의 일예를 도시하는 개념 블록도이다.
도 27 은 도 3 의 트랜시버 코어의 데이터 RAM 및 프로그램 ROM 에 포함된 예시적인 디폴트 구성을 도시하는 개념 블록도이다.
도 28 은 도 3 의 프로그램 RAM, 데이터 RAM 및 프로그램 ROM 에 포함된 예시적인 구성을 도시하는 개념 블록도이다.
도 29 는 호스트 프로세서를 이용하여 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 예시적인 동작을 도시하는 흐름도이다.
도 30 은 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하기 위한 호스트 시스템의 기능이 일예를 도시하는 개념 블록도이다.
이하 기술하는 상세한 설명은 본 기술의 다양한 구성의 설명으로서 의도되며, 본 기술이 실시될 수도 있는 유일한 구성을 나타내도록 의도되지는 않는다. 첨부된 도면 및 첨부된 부록은 본 명세서에 통합되어 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 철저한 이해를 제공하기 위해 특정 세부사항을 포함한다. 그러나, 본 기술이 이 특정 세부사항들 없이 실시될 수도 있음은 당업자에게 자명할 것이다. 몇몇 예에서는, 본 기술의 개념을 모호하게 하지 않기 위해 주지의 구조 및 컴포넌트들은 블록도로 도시되어 있다.
도 1 은, 호스트 시스템이 이용될 수 있는 라디오 브로드캐스트 네트워크 (100) 의 일예를 도시하는 도면이다. 도 1 에 도시된 바와 같이, 라디오 브로드캐스트 네트워크 (100) 는 라디오 송신 브로드캐스트를 송신하기 위해 다수의 기지국 (104, 106, 및 108) 을 포함한다. 라디오 송신 브로드캐스트는 통상적으로 VHF 주파수 대역에서 스테레오-멀티플렉스 신호로서 송신된다. 라디오 데이터 시스템 (RDS) 데이터는 기지국 (104, 106 및 108) 에 의해 브로드캐스트되어, 그 라디오 브로드캐스트에 관련된 정보를 디스플레이할 수 있다. 예를 들어, 스테이션 명칭, 노래 제목, 및/또는 아티스트가 RDS 데이터에 포함될 수 있다. 부가적으로 또는 대안적으로, RDS 데이터는, 광고주를 위해 메시지를 나타내는 것과 같은 다른 서비스를 제공할 수 있다.
본 출원의 RDS 데이터에 대한 예시적인 이용은, European Committee for Electrotechnical Standardization, EN 50067 규격에서 정의된 유럽 RDS 표준이다. 본 출원의 RDS 데이터의 또 다른 예시적인 이용은, 대체로 유럽 RDS 표준에 기초하는 북미 라디오 브로드캐스트 데이터 시스템 (RBDS) 표준 (또한, NRSC-4 로 지칭됨) 이다. 이와 같이, 본 출원의 RDS 데이터는 전술한 표준/실시예 중 하나 또는 그 이상에 한정되는 것이 아니다. RDS 데이터는 부가적으로 또는 대안적으로 라디오 송신에 관련된 다른 적절한 정보를 포함할 수 있다.
RDS 데이터를 수신하는 수신 스테이션 (102) 의 호스트 시스템은 그 데이터를 호스트 시스템의 디스플레이 상에 재생성할 수 있다. 이 예에서, 수신 스테이션 (102) 은 차량으로 도시되어 있다. 그러나, 수신 스테이션 (102) 은 이에 한정되지 않으며, 예를 들어, 사람, 다른 모바일 엔터티/디바이스 또는 호스트 시스템과 연관된 스테이셔너리 엔터티/디바이스를 또한 나타낼 수 있다. 또한, 호스트 시스템은 컴퓨터, 랩탑 컴퓨터, 전화, 모바일 전화, 개인 휴대 정보 단말기 (PDA), 오디오 플레이어, 게임 콘솔, 카메라, 캠코더, 오디오 디바이스, 비디오 디바이스, 멀티미디어 디바이스, 전술한 임의의 (인쇄 회로 보드(들), 집적회로(들), 및/또는 회로 컴포넌트(들) 과 같은) 컴포넌트(들), 또는 RDS 를 지원할 수 있는 임의의 다른 디바이스를 나타낼 수 있다. 호스트 시스템은 스테이셔너리 또는 모바일일 수 있고, 디지털 디바이스일 수 있다.
도 2 는 호스트 시스템에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다. 호스트 시스템 (200) 은, 호스트 프로세서 (204) 와 인터페이싱하는 트랜시버 코어 (202) 를 포함한다. 호스트 프로세서 (204) 는 호스트 시스템 (200) 에 대한 주 프로세서에 대응할 수도 있다.
트랜시버 코어 (202) 는 오디오 컴포넌트 (218) 를 갖는 Inter-IC Sound (I2s) 정보를 송신/수신할 수 있고, 오디오 컴포넌트 (218) 에 좌측 및 우측 오디오 데이터 출력을 전송할 수도 있다. 트랜시버 코어 (202) 는 또한, RDS 데이터를 포함할 수도 있는 FM 라디오 정보를 안테나 (206) 를 통해 수신할 수 있다. 또한, 트랜시버 코어 (202) 는 FM 라디오 정보를 안테나 (208) 를 통해 송신할 수 있다.
이와 관련하여, 안테나 (206) 를 통해 트랜시버 코어 (202) 에 의해 수신된 RDS 데이터는 트랜시버 코어 (202) 에 의해 프로세싱되어, 호스트 프로세서 (204) 에 전송되는 인터럽트의 수를 감소시킬 수 있다. 본 출원의 일 양태에서, 데이터의 송신에 이용되는 안테나 (208) 는 트랜시버 코어 (202) 와 호스트 프로세서 (204) 사이의 상호작용을 위해 또는 인터럽트의 감소를 위해 필수적인 것은 아니다.
호스트 시스템 (200) 은 또한 다른 것들 중, 안테나 (206) 를 통해 수신된 RDS 데이터를 디스플레이하는 디스플레이 모듈 (220) 을 포함할 수 있다. 호스트 시스템은 또한 프로그램 메모리 (224), 데이터 메모리 (226) 및 통신 인터페이스 (228) 뿐만 아니라 사용자 입력을 위한 키패드 모듈 (222) 을 포함할 수도 있다. 오디오 모듈 (218), 디스플레이 모듈 (220), 키패드 모듈 (222), 호스트 프로세서 (204), 프로그램 메모리 (224), 데이터 메모리 (226) 및 통신 인터페이스 (228) 사이의 통신은 버스 (230) 를 통해 가능할 수도 있다.
또한, 호스트 시스템 (200) 은 외부 디바이스와의 입력/출력을 위해 다양한 접속을 포함할 수 있다. 이 접속은, 예를 들어, 스피커 출력 접속 (210), 헤드폰 출력 접속 (212), 마이크로폰 입력 접속 (214) 및 스테레오 입력 접속 (216) 을 포함한다.
도 3 은 도 2 의 트랜시버 코어에 대한 하드웨어 구성의 일예를 도시하는 개념 블록도이다. 전술한 바와 같이, 트랜시버 코어 (202) 는 RDS 데이터를 포함하는 FM 라디오 정보를 안테나 (206) 를 통해 수신할 수 있고, FM 라디오 정보를 안테나 (208) 를 통해 송신할 수 있다. 트랜시버 코어 (202) 는 또한, Inter-IC Sound (I2s) 데이터를 송신/수신할 수 있고, 좌측 및 우측 오디오 출력을 오디오 인터페이스 (304) 를 통해 호스트 시스템 (200) 의 다른 부분들에 전송할 수 있다.
트랜시버 코어 (202) 는, RDS 데이터를 포함할 수도 있는 FM 라디오 신호를 수신하는 FM 수신기 (302) 를 포함할 수도 있다. FM 복조기 (308) 는 FM 라디오 신호를 복조하는데 이용될 수 있고, RDS 디코더 (320) 는 FM 라디오 신호 내의 인코딩된 RDS 데이터를 디코딩하는데 이용될 수 있다.
트랜시버 코어 (202) 는 또한 FM 라디오 신호의 RDS 데이터를 인코딩하는 RDS 인코더 (324), FM 라디오 신호를 변조하는 FM 변조기 (316), 및 FM 라디오 신호를 안테나 (208) 를 통해 송신하는 FM 송신기 (306) 를 포함할 수도 있다. 전술한 바와 같이, 본 출원의 일 양태에 따르면, 트랜시버 코어 (202) 로부터의 FM 라디오 신호의 송신은 트랜시버 코어 (202) 와 호스트 프로세서 (204) 사이의 상호작용을 위해 또는 인터럽트의 감소를 위해 필수적인 것은 아니다.
트랜시버 코어 (202) 는 또한, 다른 것들 중, 수신된 RDS 데이터를 프로세싱할 수 있는 마이크로프로세서 (322) 를 포함한다. 이를 위해, 마이크로프로세서 (322) 는 프로그램 ROM (read only memory; 310), 프로그램 RAM (random access memory; 312) 및 데이터 RAM (314) 에 액세스할 수 있다. 예를 들어, 프로그램 ROM (310) 은 RDS 그룹 타입 0 및 2 에 대한 RDS 데이터를 프로세싱하기 위한 디폴트 루트를 포함할 수 있고, 프로그램 RAM (312) 은 특정한 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하기 위한 다운로드가능 루틴을 포함할 수 있고, 데이터 RAM (314) 은, 프로그램 ROM (310) 또는 프로그램 RAM (312) 내의 루틴을 포인팅하는 펑션 포인터의 어레이를 포함할 수 있다. 이 예시적인 구성은 도 27 내지 도 30 을 참조하여 더 상세히 설명한다.
마이크로프로세서 (322) 는 또한, 각각 적어도 1 비트를 포함하는 제어 레지스터 (326) 에 액세스할 수 있다. RDS 데이터를 조작하는 경우, 제어 레지스터 (326) 는, 예를 들어, 대응하는 상태 레지스터(들) 내의 비트(들)을 설정함으로써, 적어도, 호스트 프로세서 (204) 가 인터럽트(들)을 수신해야 하는지 여부에 대한 표시(들)을 제공할 수 있다.
또한, 제어 레지스터 (326) 는, RDS 데이터를 필터링하고 호스트 프로세서 (204) 로의 인터럽트의 수를 감소시키는 파라미터를 포함하는 것이 확인될 수 있다. 일 양태에 따르면, 이 파라미터들은 호스트 프로세서 (204) 에 의해 구성가능하고 (또는 제어가능하고), 그 파라미터(들)에 따라, 트랜시버 코어 (202) 는 RDS 데이터의 일부 또는 전부를 필터링할 수 있고, 또는 RDS 데이터를 필터링하지 않을 수 있다. 또한, 그 파라미터(들)에 따라, 호스트 프로세서 (204) 로의 인터럽트의 수가 감소되거나 감소되지 않을 수 있다.
또한, 트랜시버 코어 (202) 는, 다른 것들 중, 호스트 프로세서 (204) 로의 호스트 인터럽트를 어서팅하는데 이용되는 제어 인터페이스 (328) 를 포함할 수도 있다. 이와 관련하여, 제어 인터페이스 (328) 는 제어 레지스터 (326) 에 액세스할 수 있고, 이것은, 어떤 인터럽트가 호스트 프로세서 (204) 에 의해 수신될지를 결정하는데 이 레지스터들이 이용되기 때문이다.
도 4 는 트랜시버 코어 (202) 의 상이한 구현의 실시예를 도시하는 개념 블록도이다. 이 도면에 도시된 바와 같이, 트랜시버 코어 (202) 는 다양한 타겟 및 플랫폼으로 통합될 수 있다. 이 타겟/플랫폼은, 개별 제품 (402), SIP (System in Package) 제품 내부의 다이 (404), 개별 라디오 주파수 집적 회로 (RF IC) 의 코어 집적 온-칩 (406), 라디오 프론트 엔드 기저 대역 시스템-온-칩 (RF/BB SOC) 의 코어 집적 온-칩 (408) 및 다이의 코어-집적 온-칩 (410) 을 포함하며, 이에 한정되지 않는다. 이와 같이, 트랜시버 코어 (202) 및 호스트 프로세서 (204) 는 단일 칩 또는 단일 컴포넌트 상에 구현될 수도 있고, 또는 개별 칩들 또는 개별 컴포넌트들 상에 구현될 수도 있다.
도 5 는 호스트 프로세서를 갖는 트랜시버 코어를 이용함으로써 제공되는 이득의 일예를 도시하는 개념 블록도이다. 도 5 에 도시된 바와 같이, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 로의 프로세싱을 오프로딩할 수 있다. 또한, 트랜시버 코어 (202) 가, 예를 들어, RDS 데이터를 필터링하고/하거나 RDS 데이터에 대한 버퍼를 포함할 수 있기 때문에, 호스트 프로세서 (204) 에 어서팅되는 인터럽트의 수는 감소될 수 있다. 또한, 호스트 프로세서 (204) 로의 트래픽의 양이 감소될 수 있다. 이와 같이, 호스트 프로세서의 전력 및 메모리 효율이 개선되는 것이 확인된다.
도 6 은 RDS 데이터의 기저대역 코딩의 구조에 대한 일예를 도시하는 개념 블록도이다. RDS 데이터는 하나 이상의 RDS 그룹을 포함할 수도 있다. 각각의 RDS 그룹은 104 비트를 가질 수도 있다. 각각의 RDS 그룹 (602) 은 4 블록을 포함할 수도 있고, 각각의 블록 (604) 은 26 비트를 각각 갖는다. 더 상세하게는, 각각의 블록 (604) 은 16 비트의 정보 워드 (606) 및 10 비트의 체크워드 (608) 를 포함할 수도 있다.
도 7 은 RDS 데이터에 대한 메시지 포맷 및 어드레스 구조의 일예를 도시하는 개념 블록도이다. 모든 RDS 그룹의 블록 1 은 프로그램 식별자 (PI) 코드 (702) 를 포함할 수도 있다. 블록 2 는 4 비트의 그룹 타입 코드 (706) 를 포함할 수도 있고, 이 코드는 일반적으로 RDS 그룹 내의 정보가 적용되는 방법을 특정한다. 그룹들은 통상적으로 2 진 가중치 A3=8, A2=4, A1=2, A0=1 에 따라 타입 0 내지 15 로 지칭된다. 또한, 각각의 타입 0 내지 15 에 대해, 버전 A 및 버전 B 가 이용가능할 수도 있다. 이 버전은 블록 2 의 비트 (708; 즉, B0) 에 의해 특정될 수도 있고, 버전 A 및 버전 B 그룹의 혼합물이 특정 FM 라디오 스테이션을 통해 송신될 수도 있다. 이와 관련하여, B0=0 이면, PI 코드는 오직 블록 1 에만 삽입되고 (버전 A), B0=1 이면, PI 코드는 모든 그룹 타입에 대해 블록 1 및 블록 3 에 삽입된다 (버전 B). 블록 2 는 또한 트래픽 코드 (710) 에 대해 1 비트 및 프로그램 타입 (PTY) 코드에 대해 4 비트를 포함할 수도 있다.
도 8 은 RDS 그룹 데이터 구조의 일예를 도시하는 개념 블록도이다. 각각의 RDS 그룹 데이터 구조 (802) 는 복수의 블록 (604) 을 포함하는 RDS 그룹 (602) 에 대응할 수도 있다. 복수의 블록 (604) 각각에 대해, RDS 그룹 데이터 구조는 개별 바이트로서 정보 워드 (606) 의 적어도 최하위 비트 (LSB) 및 최상위 비트 (MSB) 를 저장할 수도 있다. 또한, RDS 그룹 데이터 구조 (802) 는 각각의 블록에 대해 블록 상태 바이트 (804) 를 포함할 수도 있고, 블록 상태 바이트 (804) 는, 블록 식별자 (ID), 및 블록에 정정불가능한 에러가 존재하는지 여부를 나타낼 수도 있다.
RDS 그룹 데이터 구조 (802) 는, 트랜시버 코어 (202) 에 의해 프로세싱될 수 있는 예시적인 데이터 구조를 나타낸다. 이와 관련하여, 트랜시버 코어 (202) 는 코어 디지털 컴포넌트 및 코어 펌웨어 컴포넌트를 포함하고, 이는 도 9 를 참조하여 더 상세히 후술한다. 코어 디지털 컴포넌트는 RDS 그룹 (602) 의 각각의 블록 (604) 을 연관 체크워드 (608) 와 상관시키고, 블록 ID, 및 블록 (604) 에 임의의 정정불가능 에러가 존재하는지 여부를 나타내는 블록 상태 바이트 (804) 를 발생시킨다. 또한, 16 비트의 정보 워드 (606) 가 RDS 그룹 데이터 구조 (802) 에 배치된다. 코어 펌웨어는 통상적으로 대략 87.6 msec 마다 코어 디지털 컴포넌트로부터 RDS 그룹 데이터 (802) 를 수신한다.
전술한 RDS 데이터의 구조는 예시적이고, 본 기술은 이 예시적인 RDS 구조에 한정되지 않고 다른 데이터 구조에 적용됨을 이해해야 한다.
도 9 는 트랜시버 코어 (202) 의 코어 디지털 컴포넌트 및 코어 펌웨어 컴포넌트를 도시하는 개념 블록도이다. 전술한 바와 같이, 코어 펌웨어 컴포넌트 (904) 는 대략 87.6 msec 마다 코어 디지털 컴포넌트로부터 RDS 그룹 데이터 (802) 를 수신할 수 있다. 코어 펌웨어 컴포넌트 (904) 에 의해 수행되는 필터링 및 데이터 프로세싱은 잠재적으로 호스트 인터럽트의 수를 감소시키고 호스트 프로세서 활용도를 개선할 수 있다.
코어 펌웨어 컴포넌트 (904) 는 호스트 프로세서 (204) 로의 인터럽트를 어서팅하기 위한 호스트 인터럽트 모듈 (936) 및 인터럽트 레지스터 (930) 를 포함할 수도 있다. 인터럽트 레지스터 (930) 는 호스트 프로세서 (204) 에 의해 제어가능할 수도 있다. 코어 펌웨어 컴포넌트 (904) 는 또한, RDS 데이터 필터 (908), RDS 프로그램 식별자 (PI) 매칭 필터 (910), RDS Block-B 필터 (912), RDS 그룹 필터 (914) 및 RDS 변경 필터 (916) 를 포함할 수도 있는 필터 모듈 (906) 을 포함할 수도 있다. 또한, 코어 펌웨어 컴포넌트 (904) 는 그룹 프로세싱 컴포넌트 (918) 를 포함할 수도 있다. 코어 펌웨어 컴포넌트 (904) 는 또한, 호스트 프로세서 (204) 로의 인터럽트의 수를 감소시키는데 이용될 수도 있는 RDS 그룹 버퍼 (924) 를 포함할 수도 있다. RDS 데이터의 필터링, 그룹 타입 0 및 2 의 프로세싱, 및 RDS 그룹 버퍼 (924) 의 이용은 더 상세히 후술한다. 코어 펌웨어 컴포넌트 (904) 는 또한 데이터 전송 레지스터 (926) 및 RDS 그룹 레지스터 (928) 를 각각 포함할 수도 있고, 이 레지스터들 각각은 호스트 프로세서 (204) 에 의해 제어될 수도 있다.
코어 디지털 컴포넌트 (902) 는, 모노-스테레오, RSSI 레벨, 간섭 (IF) 카운트 및 싱크 (sync) 검출기 정보를 포함하는 데이터 (932) 를 코어 펌웨어 컴포넌트 (904) 에 제공할 수도 있다. 이 데이터 (932) 는 코어 펌웨어 컴포넌트 (904) 의 상태 체커 (934) 에 의해 수신될 수 있다. 상태 체커 (934) 는 데이터 (932) 를 프로세싱하고, 그 프로세싱된 데이터는 호스트 인터럽트 모듈 (936) 을 통해 호스트 프로세서 (204) 에 어서팅되는 인터럽트가 될 수도 있다.
이제, 다양한 필터 컴포넌트를 포함할 수도 있는 필터 모듈 (906) 을 상세히 설명한다. 필터 모듈 (906) 의 RDS 데이터 필터 (908) 는, 정정불가능한 에러 또는 Block-E 그룹 타입을 갖는 RDS 그룹을 필터링 아웃할 수 있다. 호스트 프로세서 (204) 는 트랜시버 코어 (202) 를 인에이블시켜, 잘못되거나 원하지 않는 RDS 그룹이 추후 처리되지 않도록 RDS 데이터 필터 (908) 가 이를 폐기할 수 있다. 전술한 바와 같이, RDS 데이터 필터 (908) 는 대략 87.6 msec 마다 RDS 블록의 그룹을 수신할 수도 있다.
RDS 그룹 내의 (특정 블록에 대해 블록 상태로 상관되는) 블록 ID 가 "Block-E" 이고, 트랜시버 코어 (202) 의 ADVCTRL 레지스터 내에 RDSBLOCKE 가 설정되지 않으면, 그 RDS 데이터 그룹은 폐기된다. 그러나, ADVCTRL 레지스터 내에 RDSBLOCKE 가 설정되면, 그 데이터 그룹은 RDS 그룹 버퍼 (924) 내에 배치되어, 임의의 추가적 프로세싱을 우회한다. 이 경우, 블록-E 그룹들은 미국 내의 페이징 시스템에 이용될 수도 있다. 이 그룹들은 RDS 데이터와 동일한 변조 및 데이터 구조를 가질 수도 있지만, 상이한 데이터 프로토콜을 이용할 수도 있다.
RDS 그룹의 블록 상태 (804; 도 8 참조) 가 "정정불가능" 또는 "미정의" 로 마킹되고, ADVCTRL 레지스터 내에 RDSBADBLOCK 이 설정되지 않으면, RDS 데이터 그룹은 폐기된다. 그렇지 않으면, 이 데이터 그룹은 RDS 그룹 버퍼 (924) 에 직접 배치된다. 모든 다른 데이터 그룹들은 추가적 프로세싱을 위해 필터 모듈 (906) 을 통해 포워딩된다.
필터 모듈 (906) 내의 다음 필터는 RDS PI 매칭 필터 (910) 이다. RDS PI 매칭 필터 (910) 는, RDS 그룹이 소정의 패턴에 매칭하는 프로그램 식별자 (ID) 를 가져서, 호스트 프로세서 (204) 로의 인터럽트가 어서팅될 수 있는지 여부를 결정할 수도 있다. 호스트 프로세서 (204) 는 트랜시버 코어 (202) 를 인에이블시켜, 블록 1 내의 프로그램 ID 및/또는 블록 2 내의 비트들이 소정의 패턴에 매칭하는 경우에는 언제나 인터럽트를 어서팅할 수 있다.
RDS PI 매칭 필터 (910) 는, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 의 RDS_CONFIG 데이터 전송 (XFR) 모드에 PICHK 바이트를 기록하는 경우 인에이블된다. RDS PI 매칭 필터 (910) 가 RDS 데이터 그룹을 수신하는 경우, RDS PI 매칭 필터는 블록 1 의 프로그램 식별자 (PI) 를 호스트 프로세서 (204) 에 의해 제공된 PICHK 워드와 비교할 것이다. PI 워드가 매칭되면, PROGID 인터럽트 상태 비트가 설정되고, 트랜시버 코어 (202) 의 PROGIDINT 인터럽트 제어 비트가 인에이블되면, 인터럽트가 호스트 프로세서 (204) 에 전송된다.
PI 는 각각의 스테이션/프로그램에 고유한 4-자리 Hex 코드일 수 있다. 이와 같이, RDS PI 매칭 필터 (910) 의 능력은, 예를 들어, 현재 튜닝된 채널이 원하는 프로그램인지 여부를 호스트 프로세서 (204) 가 즉시 확인하려는 경우 이용될 수 있다.
필터 모듈 (906) 의 다음 필터는 RDS Block-B 필터 (912) 이다. RDS Block-B 필터 (912) 는, RDS 그룹이 소정의 Block-B 파라미터에 매칭하는 블록 2 (즉, Block-B) 엔트리를 가져서, 호스트 프로세서 (204) 로의 인터럽트가 어서팅될 수 있는지 여부를 결정할 수도 있다. RDS Block-B 필터 (912) 는 특정 데이터의 빠른 루트를 호스트 프로세서 (204) 에 제공할 수 있다. RDS 데이터 그룹의 블록 2 가 호스트 프로세서 정의 Block-B 필터 파라미터들에 매칭하면, 그 그룹 데이터는 호스트 프로세서 (204) 가 즉시 처리할 수 있게 된다. 트랜시버 코어 (202) 에서는 RDS 그룹 데이터의 추가적 프로세싱이 수행되지 않는다.
예를 들어, 도 10 은 RDS Block-B 데이터를 수신하는 호스트의 일예를 도시하는 예시적인 시퀀스 차트이다. 도 10 에서 확인되는 바와 같이, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 와 통신할 수 있다. 이 예에서, Block-B 매칭은 트랜시버 코어 (202) 에서 검출되고, 호스트 프로세서 (204) 는, Block-B 매칭이 발생했음을 인식한다.
도 9 를 다시 참조하면, 필터 모듈 (906) 의 다음 필터는 RDS 그룹 필터 (914) 이다. RDS 그룹 필터 (914) 는, 소정의 하나 이상의 그룹 타입 내에 있지 않은 그룹 타입을 갖는 RDS 그룹을 필터링 아웃시킬 수 있다. 즉, RDS 그룹 필터 (914) 는, RDS 그룹 버퍼 (924) 에 저장할 RDS 그룹 타입을 선택하여 호스트 프로세서 (204) 가 그 해당하는 데이터만을 프로세싱하는 수단을 호스트 프로세서 (204) 에 제공할 수 있다. 따라서, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 를 인에이블시켜, 선택된 RDS 그룹 타입만을 통과시킬 수 있다.
이와 관련하여, 원한다면, 코어 펌웨어 컴포넌트 (904) 는 그룹 타입 0 또는 그룹 타입 2 에 대한 RDS 그룹 데이터를 필터링 아웃시키거나 필터링 아웃시키지 않도록 (예를 들어, 호스트 프로세서 (204) 에 의해) 구성될 수 있다. 도 9 는, ADVCTRL 레지스터 내에 RDSRTEN, RDSPSEN 및/또는 RDSAFEN 이 설정되면, 그룹 타입 0 또는 그룹 타입 2 를 갖는 RDS 그룹 데이터 (802) 가 그룹 프로세싱 컴포넌 (918) 에 의해 프로세싱되는 것을 도시한다.
계속하여 RDS 그룹 필터 (914) 를 참조하면, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 의 다음의 데이터 전송 모드 (RDS_CONFIG) 레지스터 내의 비트를,
GFILT_0 - Block-B 그룹 타입 필터 바이트 0 (그룹 타입 0A-3B).
GFILT_1 - Block-B 그룹 타입 필터 바이트 1 (그룹 타입 4A-7B).
GFILT_2 - Block-B 그룹 타입 필터 바이트 2 (그룹 타입 8A-11B).
GFILT_3 - Block-B 그룹 타입 필터 바이트 3 (그룹 타입 12A-15B).
로 설정함으로써 특정 그룹 타입을 필터링 아웃시킬 수도 있다 (즉, 코어 폐기).
RDS 그룹 필터 (914) 의 각각의 비트는 특정 그룹 타입을 나타낸다. 도 11 은 RDS 그룹 필터 (914) 의 일예를 도시하는 개념 블록도이다. 트랜시버 코어 (202) 가 파워온되거나 리셋되면, RDS 그룹 필터 (914) 는 클리어된다 (모든 비트가 "0" 으로 다시 설정된다). 비트가 설정되면 ("1"), 특정 그룹 타입이 포워딩되지 않을 것이다.
도 9 로 되돌아 가서, 필터 모듈 (906) 의 다음 필터는 RDS 변경 필터 (916) 이고, 이 필터는, 변경되지 않은 RDS 그룹 데이터를 갖는 RDS 그룹을 필터링 아웃시킨다. 호스트 프로세서 (204) 는, 트랜시버 코어 (202) 를 인에이블시켜, RDS 그룹 데이터에서 변경이 있는 경우에만 그 특정 그룹 타입을 통과시킬 수 있다. RDS 그룹 필터 (914) 를 통과하는 RDS 그룹 데이터가 RDS 변경 필터 (916) 에 적용될 수도 있다. RDS 변경 필터 (916) 는 각각의 특정한 그룹 타입에 대한 반복 데이터량을 감소시키는데 이용될 수도 있다. RDS 변경 필터 (916) 를 인에이블시키기 위해, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 의 ADVCTRL 내의 RDSFILTER 비트를 설정할 수도 있다.
본 출원의 일 양태에 따르면, 필터 모듈 (906) 은 RDS 그룹 데이터 (802) 의 다양한 타입의 필터링을 수행하여, 호스트 프로세서 (204) 로의 인터럽트의 수를 감소시킬 수 있다. 전술한 바와 같이, 코어 펌웨어 컴포넌트 (904) 는 또한, 이제 더 상세히 설명하는 그룹 프로세싱 모듈 (918) 을 포함할 수도 있다.
그룹 프로세싱 컴포넌트 (918) 는 RDS 그룹 타입 0 데이터 프로세서 (922) 및 RDS 그룹 타입 2 데이터 프로세서 (920) 를 포함할 수도 있다. RDS 그룹 타입 0 데이터 프로세서 (922) 를 참조하면, 이 프로세서는, RDS 그룹이 그룹 타입 0 을 갖는지 여부 및 RDS 그룹에 대한 프로그램 서비스 (PS) 정보 내에 변경이 존재하는지 여부를 결정하여, 이러한 결정이 긍정적이면 호스트 프로세서 (204) 로의 인터럽트를 어서팅할 수도 있다.
트랜시버 코어 (202) 는 RDS 그룹 타입 0A 및 0B 데이터를 프로세싱할 능력을 갖는다. 이 타입의 그룹 데이터는 통상적으로 주요 RDS 특성 (예를 들어, 프로그램 식별자 (PI), 프로그램 서비스 (PS), 트래픽 프로그램 (TP), 트래픽 아나운스먼트 (TA), 검색/스캔 프로그램 타입 (PTY) 및 대체 주파수 (AF)) 을 갖는 것으로 고려되고, 통상적으로 FM 브로드캐스터에 의해 송신된다. 예를 들어, 이 타입의 그룹 데이터는, 현재의 프로그램 타입 (예를 들어, "소프트 락"), 프로그램 서비스 명칭 (예를 들어, "ROCK1053"), 및 동일한 프로그램을 반송하는 가능한 대체 주파수와 같은 튜닝 정보를 FM 수신기에 제공한다.
이와 관련하여, 도 12 는 RDS 그룹 타입 0A 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다. 다른 데이터 중, 그룹 타입 코드 (1202), 프로그램 서비스 명칭 및 DI 세그먼트 어드레스 (1204), 대체 주파수 (1206) 및 프로그램 서비스 명칭 세그먼트 (1208) 를 나타낸다. 한편, 도 13 은, 그룹 타입 0B 에 대한 RDS 기본 튜닝 및 스위칭 정보의 일예를 도시하는 개념 블록도이다. 다른 데이터 중, 그룹 타입 코드 (1302), 프로그램 서비스 명칭 및 DI 세그먼트 어드레스 (1304), 및 프로그램 서비스 명칭 세그먼트 (1306) 를 나타낸다.
본 출원의 일 양태에 따르면, 트랜시버 코어 (202) 는 프로그램 서비스 문자 스트링을 어셈블링 및 유효화할 수 있고, 이 스트링이 변하거나 한번 더 반복되는 경우에만, 트랜시버 코어 (202) 는 호스트 프로세서 (204) 에 경보한다. 호스트 프로세서 (204) 는 표시된 스트링(들)만 디스플레이 상에 출력하면 된다. RDS 프로그램 서비스 명칭 특성을 인에이블시키기 위해, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 의 ADVCTRL 레지스터 내의 RDSPSEN 비트를 설정할 수 있다.
그룹 타입 0 의 프로세싱을 더 참조하면, 프로그램 서비스 (PS) 테이블 이벤트는 8 의 프로그램 서비스 명칭 스트링 (길이에서 8 문자) 의 어레이로 구성될 수도 있다. 이 PS 테이블은, 라디오 텍스트와 유사한 텍스트-메시징 특성으로서 미국 라디오 브로드캐스터의 프로그램 서비스의 이용을 조작하는 것이 확인될 수도 있다.
이와 관련하여, 도 14 는 프로그램 서비스 (PS) 테이블 (1400) 에 대한 포맷의 일예를 도시하는 개념 블록도이다. PS 테이블 (1400) 의 제 1 바이트는, PS 테이블 (1400) 내의 어떤 프로그램 서비스 명칭이 신규하거나 반복되는지를 나타내는데 이용된 비트 플래그 (PS0-PS7) 로 구성될 수도 있다. 예를 들어, PS2-PS4 가 설정되고, 업데이트 비트 ("U") 가 설정되면, 호스트 프로세서 (204) 는 PS2-PS4 만을 디스플레이 상에 순환시킨다.
PS 테이블 (1400) 의 다음 5 비트는 현재 프로그램 타입 (예를 들어, "클래식 락") 이다. 업데이트 플래그 ("U") 는 표시된 프로그램 서비스 명칭이 신규한지 ("0") 또는 반복된 것인지 ("1") 를 나타낸다. 프로그램 식별자 (PI) 의 16 비트는 다음과 같다.
PS 테이블 (1400) 내의 다음 4 비트는,
TP - 트래픽 프로그램
TA - 트래픽 아나운스먼트
MS - 뮤직/스피치 스위치 코드
DI - 디코더 식별자 제어 코드
와 같이 그룹 0 패킷으로부터 추출된다. PS 테이블 (1400) 의 나머지 바이트는 8 PS 명칭 (각각 8 문자) 이다.
이제, PS 테이블의 이용예를 도 15 내지 도 17 을 참조하면 설명한다. 도 15 내지 도 17 의 PS 테이블은 그 용도를 입증하도록 도 14 의 포맷과는 상이한 포맷임을 유의한다. 도 15 는 PS 명칭 테이블 (1504) 을 발생시키는 일예를 도시하는 개념 블록도이다. 이 예에서, 브로드캐스터는, 아티스트 및 노래 제목을 나타내는 그룹 0 패킷 (1502) 의 동일한 시퀀스를 계속하여 송신하고 있다. 트랜시버 코어 (202) 는 각각의 PS 명칭 스트링을 리어셈블링 및 유효화하고, 필요에 따라 PS 테이블 (1504) 을 업데이트한다.
도 16 은 PS 명칭 데이터 및 호스트 시스템 (200) 에 디스플레이되는 대응하는 텍스트의 일예를 도시하는 개념도이다. 도 16 에는, 호스트 프로세서 (204) 에 의해 수신된 최종 PS 테이블 (1602) 의 컨텐츠가 도시되어 있다. 이와 같이, 호스트 프로세서 (204) 는, 반복을 나타내는 업데이트 플래그를 판독하고, PS2 내지 PS5 에 대한 PS 비트 플래그에 표시된 바와 같이 PS 명칭을 순환시킨다. 그 후, 이 PS 명칭은 호스트 디스플레이 (1604) 상에 디스플레이될 수 있다.
RDS 그룹 버퍼 (924; 도 9 참조) 로부터 그룹 0A/0B 패킷을 필터링 아웃시키는 것뿐만 아니라 전술한 유효성 특성을 인에이블시키는 것은 트랜시버 코어 (202) 로부터 호스트 프로세서 (204) 로의 트래픽 양을 크게 감소시킬 수 있다. 다수의 그룹 0 패킷 대신에 노래 또는 중간 광고시간 동안 오직 몇몇 PS 테이블 이벤트가 발생할 것이다.
그룹 타입 0 프로세싱을 계속 참조하면, 도 17 은 그룹 타입 0 을 갖는 RDS 데이터를 프로세싱하는 일예를 도시하는 시퀀스 차트이다. 더 상세하게는, 도 17 은, 호스트 프로세서 (204) 가 RDS 그룹 타입 0 데이터 프로세싱 특성을 인에이블시키고 트랜시버 코어 (202) 로부터 PS 테이블 데이터를 수신할 수 있는 방법의 일예를 제공한다.
호스트 시스템 (300) 은 그룹 데이터 타입 0 데이터에 대한 동적 프로그램 서비스 명칭을 제공할 수도 있다. RBDS 표준 (유럽 RDS 표준과 동등한 북미 표준) 은 PS 용도에 대한 덜 엄격한 요건을 채택하였다. 미국의 브로드캐스터는 호출 레터 ("KPBS") 및 슬로건 ("Z-90") 을 제공하기 위해 프로그램 서비스 명칭을 이용할 뿐만 아니라 이를 이용하여 노래 제목 및 아티스트 정보를 송신한다. 따라서, PS 는 연속적으로 변경될 수도 있다.
이와 관련하여, 도 18a 내지 18j 는 동적 PS 명칭 데이터 및 호스트 프로세서 (204) 상의 대응하는 디스플레이 텍스트의 일예를 도시하는 개념도이다. 이 예에서, FM 브로드캐스터는 프로그램 서비스 명칭을 이용하여, 중간 광고시간 동안 반복적으로 "Soft", "Rock", "Kicksy" 및 "96.5" 를 송신한다. 노래가 플레이되기 시작하는 경우, 브로드캐스터는 그 노래 동안 연속적으로 "Faith by", "George" 및 "Michael" 을 송신한다. 브로드캐스터는, 수신기가 언제 스테이션에 튜닝될지를 모르기 때문에 계속하여 PS 스트링을 반복한다. 이러한 반복적 송신은 호스트 프로세서 (204) 에 전송되는 다수의 인터럽트를 유발할 수 있다. 도 18a 내지 도 18j 각각에서, 엘리먼트 (1802) 는 PS 명칭 테이블에 대응하고, 엘리먼트 (1804) 는 호스트 디스플레이에 대응한다.
제 1 이벤트에 대응하는 것으로 확인될 수 있는 도 18a 에서, 트랜시버 코어 (202) 는 브로드캐스터의 중간 광고시간 동안 인에이블되고, "Rock " 을 생성하는 RDS 그룹 타입 0A 세그먼트 0-3 을 수신하기 시작한다. 이 스트링은 PS 테이블 (1802) 에 배치되고, 대응하는 PS 비트가 설정되고, 업데이트 플래그가 신규 ("0") 로 설정된다. 현재 프로그램 타입 (PTY), 프로그램 식별자 (PI) 및 다른 필드가 또한 채워진다.
또한, RDSPS 인터럽트 상태 비트가 설정되고, RDSPSINT 인터럽트 제어 비트가 인에이블이면, 호스트 프로세서 (204) 에 대해 인터럽트가 발생된다. 호스트 프로세서 (204) 가 PS 테이블 (1802) 을 판독하면, 테이블 내의 PS 명칭은 신규이고, 디스플레이 (1804) 를 그 표시된 PS 스트링으로 리프레시한다.
다음 이벤트에 대응하는 것으로 확인될 수 있는 도 18b 에서, 브로드캐스터는 동일한 PS 명칭을 다시 송신한다. 트랜시버 코어 (202) 는, 이미 PS 테이블 (1802) 에 있는 엘리먼트에 매칭하는 8-문자 스트링을 생성하는 다음 그룹 0A 세그먼트 0-3 을 수신한다. 반복된 PS 비트가 설정되고, 업데이트 플래그는 반복 ("1") 으로 설정된다. 호스트 프로세서 (204) 에 대해 인터럽트가 발생되고, 인에이블되면, 호스트 프로세서 (204) 는 PS 테이블 (1802) 을 판독하고, 디스플레이 (1804) 를 그 반복된 PS 명칭으로 유지한다.
도 18c 에서, 브로드캐스터는 신규 PS 명칭을 송신한다. 트랜시버 코어 (202) 는 그룹 0A 세그먼트 0-3 "Kicksy " 를 수신한다. 트랜시버 코어 (202) 는 PS 테이블 (1802) 의 다음 가용 슬롯에 PS 스트링을 배치하고, 대응하는 PS 플래그 비트를 설정하고, 업데이트 플래그를 신규 ("0") 로 설정한다.
도 18d 에서, 브로드캐스터는 신규 PS 명칭을 다시 송신한다. 트랜시버 코어 (202) 는, 스트링 " 96.5 " 를 생성하는 그룹 0A 세그먼트 0-3 을 수신한다. 트랜시버 코어 (202) 는 PS 테이블 (1802) 의 다음 가용 슬롯에 PS 스트링을 배치하고, 대응하는 PS 플래그 비트를 설정하고, 업데이트 플래그를 신규 ("0") 로 설정한다.
도 18e 에서, 브로드캐스터는 PS 명칭 "Soft " 를 송신하고, 트랜시버 코어 (202) 는 PS 테이블 (1802) 을 업데이트한다. 도 18f 에서, 브로드캐스터는 중간 광고시간에 걸쳐 4 개의 PS 명칭을 반복한다. 트랜시버 코어 (202) 는 "Rock " 을 수신하고, 대응하는 PS 플래그 비트 및 업데이트 플래그를 반복 ("1") 으로 설정한다.
도 18g 에서, 트랜시버 코어 (202) 는 "Kicksy " 를 다시 수신하고, PS 플래그 비트 및 업데이트 플래그를 반복 ("1") 으로 설정한다. 이제, 반복으로 플래그된 다수의 프로그램 서비스 명칭이 존재하기 때문에, 호스트 프로세서 (204) 는 PS 명칭을 미리 정의된 지연 (예를 들어, 2 초) 으로 순환시킨다. 호스트 프로세서 (204) 가, 신규 PS 명칭을 나타내는 PS 테이블을 수신하면, 호스트 프로세서 (204) 는 주기적 디스플레이 타이머를 취소하고, 그 신규 PS 명칭을 디스플레이한다.
도 18h 에서, 트랜시버 코어 (202) 는 반복된 스트링 " 96.5 " 를 수신하고, 대응하는 PS 비트 및 업데이트 플래그를 반복 ("1") 으로 설정한다.
도 18i 에서, 트랜시버 코어 (202) 는 반복된 스트링 "Soft " 를 수신하고, 대응하는 PS 비트 및 업데이트 플래그를 반복 ("1") 으로 설정한다. 이 때, PS 명칭 "Soft", "Rock", "Kicksy" 및 "96.5" 가 (몇 분 동안 지속될 수 있는) 중간 광고시간 동안 반복되기 때문에, 트랜시버 코어 (202) 는 PS 테이블 이벤트를 호스트 프로세서 (204) 에 전송하는 것을 중지한다. 호스트 프로세서 (204) 는 디스플레이 (1804) 를 업데이트하기 위해 수신된 최후의 PS 테이블 (1802) 을 이용한다.
도 18j 를 참조하면, 몇 분 이후 중간 광고시간이 종료되고, 노래가 플레이되기 시작한다. 트랜시버 코어 (202) 는, " George " 를 생성하는 RDS 그룹 타입 0A 세그먼트 0-3 을 수신한다. 이 스트링은 PS 테이블 (1802) 에 배치되고, 대응하는 PS 비트가 설정되고, 업데이트 플래그가 신규 ("0") 로 설정된다.
RDS 그룹 타입 0 의 데이터 프로세싱 특성은 실제 브로드캐스트에 의해 테스트되었음을 유의한다. 일 주기의 시간 (약 10 분) 동안, 로컬 브로드캐스터는 노래 1 -> 중간 광고시간 -> 노래 2 동안 2,973 개의 그룹 타입 0A 를 송신하였다. 인에이블된 RDSPSEN 특성에 의해, 트랜시버 코어 (202) 는 49 개의 PS 테이블을 호스트 프로세서 (204) 에 전송하였다.
호스트 프로세서 (204) 가 RDS 그룹 타입 0A 자체를 프로세싱하기를 원하면, 호스트 프로세서 (204) 는 RDS 그룹 필터 (914; 도 9 참조) 가 모든 그룹 타입 0A 패킷을 라우팅하도록 구성할 수 있다. 이 예에서, 호스트 프로세서 (204) 는 2,973 개의 그룹 타입 0A 패킷을 수신할 수도 있다. 그 후, 호스트 프로세서 (204) 는 프로그램 서비스 명칭을 유효화 및 어셈블링하는 프로세서 시간을 소요할 수도 있다. 이 예에서, RDS 그룹 타입 0 의 데이터 프로세싱 특성을 이용하여, 호스트 프로세서에서 "인터럽트" 를 세이브하는 것은 98.4 % 일 수도 있다.
계속하여 그룹 타입 0 데이터를 참조하면, 호스트 시스템 (200) 은 또한 정적 프로그램 서비스 명칭을 제공할 수도 있다. 프로그램 서비스의 설계 의도는, 대체 주파수 (AF) 특성을 통합한 수신기들이 선택된 프로그램에 따라 일 주파수에서 다른 주파수로 스위칭할 것이기 때문에, 불변인 수신기 프리셋에 대한 레이블을 제공하는 것일 수도 있다. 유럽에서는, 튜닝된 서비스의 PS 명칭이 고유하게 정적이다. 트랜시버 코어 (202) 는 동일한 PS 테이블 이벤트를 이용하여, 호스트 프로세서 (204) 에 신규 프로그램 서비스 명칭을 통지한다. 호스트 프로세서 (204) 는 임의의 시간에 PS 테이블을 검색할 수 있다.
도 19a 내지 19b 는 정적 PS 명칭 데이터 및 호스트 프로세서 (204) 상의 대응하는 디스플레이 텍스트의 일예를 도시하는 개념도이다. 이 예에서, 유럽의 사용자는 신규 채널 ("CAPITAL ") 로 튜닝한다. 도 19a 내지 19b 각각에서, 엘리먼트 (1902) 는 PS 명칭 테이블에 대응하고, 엘리먼트 (1904) 는 호스트 디스플레이에 대응한다.
제 1 이벤트에 대응하는 것이 확인될 수 있는 도 19a 에서, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 를 신규 주파수에 튜닝한다. 트랜시버 코어 (202) 는, "CAPITAL " 을 생성한 RDS 그룹 타입 0A 세그먼트 0-3 을 수신한다. 이 스트링은 PS 테이블 (1902) 에 배치되고, 대응하는 PS 비트가 설정되고, 업데이트 플래그가 신규 ("0") 로 설정된다. 또한, 현재 프로그램 타입이 채워진다. 호스트 프로세서 (204) 는 PS 테이블 이벤트를 수신하고 디스플레이 (1904) 를 업데이트한다.
다음 이벤트에 대응하는 것이 확인될 수 있는 도 19b 에서, 트랜시버 코어 (202) 는, 이미 PS 테이블 (1902) 에 있는 엘리먼트에 매칭하는 8-문자 스트링을 생성하는 순차적 시퀀스 0-3 을 수신한다. 반복된 PS 비트가 설정되고, 업데이트 플래그가 반복 ("1") 으로 설정된다.
이와 관련하여, 호스트 프로세서 (204) 는, 신규로 설정된 업데이트 플래그를 갖는 또 다른 PS 테이블 이벤트를 수신할 때까지 디스플레이 (1904) 상에 반복 프로그램 명칭을 유지한다. 이것은, 트래픽 아나운스먼트 (TA) 필드가 변경되는 경우 또는 호스트 프로세서 (204) 가 상이한 스테이션에 튜닝되는 경우 발생할 것이다.
그룹 타입 0 의 다른 양태는 대체 주파수 (AF) 리스트 정보와 관련된다. 트랜시버 코어 (202) 는, RDS 그룹이 그룹 타입 0 을 갖는지 여부 및 AF 리스트 정보에 변경이 존재하는지 여부를 결정할 수도 있어서, 호스트 프로세서 (204) 에 인터럽트가 어서팅될 수 있다. 일예로, 트랜시버 코어 (202) 는 그룹 타입 0A 로부터 AF 리스트를 추출할 것이고, 이 리스트가 변경된 경우에만, 트랜시버 코어 (202) 는 호스트 제어 인터페이스 (HCI) 이벤트 내에 AF 리스트를 제공할 것이다. 호스트 프로세서 (204) 는 이 리스트를 이용하여, FM 라디오를 대체 주파수로 수동으로 튜닝할 수 있다. 또한, 호스트 프로세서 (204) 가 현재 튜닝된 스테이션에 대한 AF 리스트를 수신하면, 호스트 프로세서는, 수신된 신호 강도가 특정한 임계값 아래로 내려가는 경우 AF 점프 탐색 모드를 인에이블시킬 수 있다. RDS 대체 주파수 리스트 특성을 인에이블시키기 위해, 호스트 프로세서 (204) 는 ADVCTRL 레지스터 내의 RDSAFEN 비트를 설정할 수 있다.
본 출원의 일 양태에 따른 AF 리스트 정보에는 일반적으로 다음 사항이 적용된다.
? 오직 AF 방법 A (그룹 0A) 만 지원됨
? 호스트 프로세서 (204) 에 전송된 AF 리스트에 임의의 LF/MF 주파수가 포함되지 않음
? 향상된 기타 네트워크 (EON) 그룹 타입 14A 내의 AF 코드가 지원되지 않음
? AF 리스트 이벤트는, 현재 튜닝된 주파수, 프로그램 식별자 (PI) 코드, 리스트 내의 AF 의 수, 및 AF 의 리스트를 포함함.
도 20 은 대체 주파수 (AF) 리스트 포맷의 일예를 도시하는 개념 블록도이다. 호스트 프로세서 (204) 는 RDS_AF_0/1 데이터 전송 (XFR) 모드를 이용하여, 트랜시버 코어 (202) 로부터 AF 리스트 (2000) 를 판독한다.
전술한 바와 같이, 그룹 프로세싱 컴포넌트 (918; 도 9 참조) 는 또한 RDS 그룹 타입 2 데이터 프로세서 (920) 를 포함할 수도 있고, 이제 이를 더 상세히 설명한다. RDS 그룹 타입 2 데이터 프로세서 (920) 는, RDS 그룹이 그룹 타입 2 를 갖는지 여부 및 RDS 그룹에 대한 라디오 텍스트 (RT) 정보에서의 변경이 존재하는지 여부를 결정하여, 이러한 결정이 긍정적인 경우 호스트 프로세서에 인터럽트를 어서팅할 수도 있다. RT 는 통상적으로 RDS 의 부수적 특성으로 고려되고, 라디오 브로드캐스터로 하여금, 현재 아티스트, 노래 제목, 스테이션 프로모션 등과 같은 정보의 64 개까지의 문자를 청취자에게 송신할 수 있게 한다.
본 출원의 일 양태에 따르면, 트랜시버 코어 (202) 는, RT 스트링이 변경되는 경우에만, RT 를 추출하고 64 개까지의 문자 스트링을 PI 및 PTY 와 함께 호스트 프로세서 (204) 에 제공할 수도 있다. 트랜시버 코어 (202) 는 라디오 텍스트 문자 스트링을 어셈블링 및 유효화할 수도 있고, 스트링이 변경되는 경우, RDSRTINT 가 인에이블이면, 트랜시버 코어 (202) 는 호스트 프로세서 (204) 를 인터럽팅한다. 그 후, 호스트 프로세서 (204) 는 RDS_RT_0/1/2/3/4 데이터 전송 (XFR) 모드를 이용함으로써 라디오 텍스트를 판독할 수도 있다. 호스트 프로세서 (204) 는 스트링을 디스플레이 상에 출력하기만 하면 될 수도 있다. 라디오 텍스트는 캐리지 리턴 (0x0D) 으로 종료될 수도 있지만, 몇몇 브로드캐스터는 이 스트링을 스페이스 (0x20) 로 패딩 (pad) 한다. RDS 그룹 타입 2 데이터 프로세싱 특성을 인에이블시키기 위해, 호스트 프로세서 (204) 는 ADVCTRL 레지스터 내의 RDSRTEN 비트를 설정할 수 있다.
도 21 은 RDS 그룹 타입 2A 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 나타내는 개념 블록도이다. 다른 데이터 중, 그룹 타입 코드 (2102), 텍스트 세그먼트 어드레스 코드 (2104) 및 라디오 텍스트 세그먼트 (2106 및 2108) 를 나타낸다. 한편, 도 22 는 그룹 타입 2B 에 대한 RDS 라디오 텍스트의 예시적인 포맷을 나타내는 개념 블록도이다. 다른 데이터 중, 그룹 타입 코드 (2202), 텍스트 세그먼트 어드레스 코드 (2204) 및 라디오 텍스트 세그먼트 (2206) 를 나타낸다.
RDS 그룹 타입 2 데이터 프로세싱 특성은 실제 브로드캐스트에 의해 테스트되었음을 유의한다. 일 시간 주기 (약 10 분) 동안, 노래 1 -> 중간 광고시간 -> 노래 2 의 순서 동안 로컬 브로드캐스터는 3,464 그룹 타입 2A 를 송신하였다. RDSRTEN 어드밴스드 특성이 인에이블되면, 트랜시버 코어 (202) 는 오직 3 개의 라디오 텍스트 이벤트를 호스트 프로세서 (204) 에 전송한다.
RDS Block-B 필터 (912; 도 9 참조) 가 모든 그룹 타입 2A 를 라우팅하도록 구성되었다면, 호스트 프로세서 (204) 는 BFLAG 3,464 회 인터럽팅되었을 것이다. 그 후, 호스트 프로세서 (204) 는 프로세서 시간을 텍스트 스트링의 유효화 및 어셈블링에 소모해야 할 것이다. 이 예에서, RDS 그룹 타입 2 데이터 프로세싱을 이용하여 호스트 프로세서 "인터럽트" 를 세이브하는 것은 99.9 % 일 것이다.
도 23 은 RDS 그룹 타입 2 데이터 프로세싱의 일예를 나타내는 RDS 그룹 타입 2 데이터 프로세싱의 일예를 나타내는 시퀀스 차트이다. 호스트 프로세서 (204) 가 RDS 그룹 타입 2 데이터 프로세싱 특성을 인에이블하고 라디오 텍스트 데이터를 수신하는 방법의 일예를 도시한다.
본 출원의 일 양태에 따라 도 2, 도 3 및 도 9 를 참조하여 전술한 바와 같이, 도 9 의 그룹 프로세싱 컴포넌트 (918) 는 특정한 그룹 타입들을 특정한 (예를 들어, 디폴트) 방식으로 프로세싱하기 위해 RDS 그룹 타입 0 데이터 프로세서 (922) 및 RDS 그룹 타입 2 데이터 프로세서 (920) 를 포함한다. 그러나, 상이한 방식으로 이들 RDS 그룹 타입을 프로세싱할 수 있다. 예를 들어, 도 2 의 호스트 프로세서 (204) 는 RDS 그룹 타입 2 데이터를 프로세싱하기 위해 도 3 의 프로그램 RAM (312) 으로 상이한 루틴을 다운로딩할 수 있고, 이 데이터는 도 9 의 RDS 그룹 타입 2 데이터 프로세서 (920) 에 의해 구현된 방식으로 프로세싱되지 않는다. 도 2 의 호스트 프로세서 (204) 는 또한 다른 RDS 데이터 그룹 타입을 프로세싱하기 위해 추가적 루틴을 다운로딩할 수 있다. 이것은, 도 27 내지 도 30 을 참조하여 더 상세히 설명한다.
전술한 바와 같이, 코어 펌웨어 컴포넌트 (904) 는 또한 RDS 그룹 버퍼 (924) 를 포함할 수도 있으며, 이제 이를 더 상세히 설명한다. RDS 그룹 버퍼 (924) 는 호스트 프로세서 (204) 를 인터럽팅하기 전에 복수의 RDS 그룹을 저장하여, 신규 RDS 데이터에 대한 인터럽트의 수를 감소시킬 수도 있다.
도 24 는 RDS 그룹 버퍼의 일예를 도시하는 개념 블록도이다. 트랜시버 코어 (202) 는, 21 개의 RDS 그룹까지 홀딩할 수 있는 듀얼 RDS 그룹 버퍼 (2402 및 2404; 도 9 의 엘리먼트 (924) 에 대응함) 를 포함할 수도 있다. RDS 그룹은, 예를 들어, 4 개의 블록을 포함한다. 도 8 을 참조하여 전술한 바와 같이, 각각의 블록은 2 개의 정보 바이트 및 하나의 상태 바이트를 포함한다.
호스트 프로세서 (204) 는 RDS_CONFIG 데이터 전송 (XFR) 모드의 DEPTH 파라미터로 버퍼 임계값을 구성한다. 트랜시버 코어 (202) 가 버퍼 임계값에 도달하는 경우, 트랜시버 코어는 호스트 프로세서 (204) 에 통지할 수 있고, 다음 RDS 그룹으로 채워지기 시작한 다른 버퍼로 스위칭할 수 있다. 듀얼 RDS 그룹 버퍼는, 호스트 프로세서 (204) 가 하나의 버퍼로부터 판독하는 동안 트랜시버 코어 (202) 가 다른 버퍼에 기록하는 것을 허용한다. 트랜시버 코어 (202) 가 하나의 RDS 그룹 버퍼를 (미리 정의된 임계값까지) 채우거나 그 버퍼 내의 나머지 데이터를 손실할 수 있기 이전에, 호스트 프로세서 (204) 는 다른 RDS 그룹 버퍼의 컨텐츠를 판독함을 유의한다.
또한, 호스트 프로세서 (204) 는 버퍼 내의 그룹이 "진부"해지는 것을 방지하기 위해 플러시 타이머를 설정할 수 있다. 플러시 타이머는 FLUSHT 를 RDS_CONFIG 데이터 전송 (XFR) 모드 내에 기록함으로써 구성될 수 있다.
도 25 는 RDS 그룹 데이터를 버퍼링 및 프로세싱하는 일예를 도시하는 시퀀스 차트이다. 도 25 에서 확인될 수 있는 바와 같이, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 와 통신함으로써 도 9 의 RDS 그룹 버퍼 (924) 의 컨텐츠를 판독할 수 있다.
도 26 은 다양한 레벨의 RDS 데이터 프로세싱을 수행하기 위한 도 3 의 트랜시버 코어 (202) 의 구성의 일예를 도시하는 개념 블록도이다. 도 26 에 도시된 바와 같이, 트랜시버 코어 (202) 는 다양한 레벨의 RDS 프로세싱을 수행하도록 구성될 수 있다.
도 27 은 도 3 의 트랜시버 코어 (202) 의 데이터 RAM (314) 및 프로그램 ROM (310) 에 포함된 예시적인 디폴트 구성을 도시하는 개념도이다. 이 디폴트 구성은 도 2 의 호스트 프로세서 (204) 를 이용하여 RDS 데이터에 대한 프로세싱 루틴을 할당하는 것을 제공할 수 있다. 특정 RDS 그룹 타입을 프로세싱하기 위한 코드가 호스트 프로세서 (204) 에 의해 다운로딩될 수 있다. 이것은, 트랜시버 코어 (202) 내의 RDS 데이터의 전처리를 허용하고, 이것은 통상적으로 호스트 프로세서 (204) 와의 인터럽트의 수를 감소시키고/시키거나 호스트 프로세서 (204) 를 오프로딩한다. 즉, RDS 그룹 타입에 대한 프로세싱 코드의 동적 다운로딩은, 호스트 프로세서 (204) 가 RDS 그룹 타입의 프로세싱 중 몇몇을 오프로딩할 수 있는 수단을 제공하여, 잠재적으로 호스트 프로세서 전력, 메모리 및 프로세싱 사이클을 세이브할 수 있다.
도 27 에서 확인할 수 있는 바와 같이, 트랜시버 코어 (202) 는 데이터 RAM (314) 내에 펑션 포인터의 어레이를 갖는다. 펑션 포인터 각각은 특정 RDS 그룹 타입 (예를 들어, RDS 그룹 타입 0 - 15 중 임의의 타입) 을 프로세싱하는 루틴을 포인팅하도록 구성된다. 도 27 의 예의 디폴트 어레이는, 프로그램 ROM (310) 내의 임베딩된 RDS 그룹 타입 0 및 2 프로세싱을 각각 포인팅하는 RDS 그룹 타입 0 및 2 펑션 포인터를 갖는다. 이 타입의 프로세싱은 도 9 의 그룹 프로세싱 컴포넌트 (918) 를 참조하여 전술하였다. 이 디폴트 어레이 예의 펑션 포인터의 나머지는 (그라운드된 것으로 도시된) NULL 로 설정된다.
도 28 은 도 3 의 프로그램 RAM (312), 데이터 RAM (314) 및 프로그램 ROM (310) 에 포함된 예시적인 구성을 도시하는 개념 블록도이다. 이와 관련하여, 도 2 의 호스트 프로세서 (204) 는, 특정 RDS 그룹 타입을 프로세싱하는 RDS 프로세싱 루틴을 동적으로 다운로딩하고 그 어레이의 펑션 포인터를 업데이트하는 능력을 갖는다. 예를 들어, 호스트 프로세서 (204) 가, 도 3 의 트랜시버 코어 (202) 가 RDS 그룹 타입 2 패킷을 프로세싱하는 방식을 변경하기를 원하면, 호스트 프로세서 (204) 는 프로그램 RAM (312) 으로 신규 루틴을 다운로딩하고, 그 디폴티 RDS 그룹 타입 2 펑션 포인터를 오버라이트할 수 있다.
다른 예에서, 고객은, RDS 그룹 타입 8A 에 인코딩된 전처리 트래픽 관리 채널 (TMC) 데이터에 관심이 있을 수도 있다. 호스트 프로세서 (204) 는 프로그램 RAM (312) 으로 RDS 그룹 타입 8 프로세싱 코드를 다운로딩하고 그 어레이의 RDS 그룹 타입 8 펑션 포인터를 설정할 수 있다. 트랜시버 코어 (202) 가 RDS 그룹 타입 8 패킷을 수신하는 경우, 트랜시버 코어 (202) 는 그 패킷을 신규로 정의된 프로세싱 펑션에 라우팅한다. 그 후, 프로세싱된 RDS 데이터는 도 9 의 데이터 전송 레지스터 (926) 에서 호스트 프로세서 (204) 에 이용가능해진다. 호스트 프로세서 (204) 는 RDSPROC 인터럽트를 인에이블시켜, 신규 RDS 그룹 타입 8 의 전처리 데이터가 가용이 되는 시점을 통지받을 수 있따. 도 28 에 도시된 예에서, RDS 그룹 타입 0, 2 및 8 펑션 포인터가 이용되고, 나머지 펑션 포인터는 (그라운드된 것으로 도시된) NULL 로 설정된다.
도 2 및 도 9 를 참조하면, 본 발명의 일 양태에 따라, 다음의 호스트 프로세서 제어가능 RDS 특성들, (i) RDS 데이터 필터 (908) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, 미국의 페이징 시스템에서 이용될 수도 있는 Block-E 타입으로 구성된 RDS 그룹 및 정정불가능 블록을 폐기하게 할 수 있는 것, (ii) RDS PI 매칭 필터 (910) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, 블록 1 내의 프로그램 ID 및/또는 블록 2 내의 비트가 소정의 패턴에 매칭하는 경우에는 인터럽트를 어서팅하게 할 수 있는 것, (iii) Block-B 필터 (912) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, RDS 데이터 그룹의 블록 2 가 호스트 프로세서 (204) 에 의해 정의된 Block-B 필터 파라미터들에 매칭하는 경우에는 인터럽트를 어서팅하게 할 수 있는 것, (iv) RDS 그룹 필터 (914) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, 오직 특정한 그룹 타입만 통과시키게 할 수 있는 것, 및 (v) RDS 변경 필터 (916) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, 그룹 데이터에서 변경이 존재하는 경우에만 그 특정 그룹 타입을 통과시키게 할 수 있는 것이 트랜시버 코어 (202) 에 제공된다.
호스트 프로세서 제어가능 RDS 특성은 또한, (vi) RDS 그룹 버퍼 (924) 를 이용하여, 프로세싱될 신규 RDS 데이터가 존재함을 호스트 프로세서 (204) 에 통지하기 전에 21 개 그룹까지 버퍼링하도록 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 구성할 수 있는 것, (vii) RDS 그룹 타입 0 데이터 프로세서 (922) 를 이용하여, 호스트 프로세서 (204) 가 트랜시버 코어 (202) 를 인에이블시켜, RDS 그룹 타입 0 (기본 튜닝 및 스위칭 정보) 패킷을 프로세싱하게 할 수 있고, 트랜시버 코어 (202) 는 프로그램 식별자 (PI) 코드, 프로그램 타입 (PTY) 을 추출하고 프로그램 서비스 (PS) 스트링의 테이블을 제공할 수 있고, 트랜시버 코어 (202) 는 PS 테이블에 변경이 존재하는 경우 (예를 들어, 노래가 변경된 경우) 오직 정보를 전송할 수도 있고, 호스트 프로세서 (204) 는 또한 트랜시버 코어 (202) 를 인에이블시켜, RDS 그룹 타입 0 으로부터 대체 주파수 (AF) 리스트 정보를 추출하게 할 수 있는 것, (viii) RDS 그룹 타입 2 데이터 프로세서 (920) 를 이용하여, 호스트 프로세서 (204) 는 트랜시버 코어 (202) 를 인에이블시켜, RDS 그룹 타입 2 (라디오 텍스트) 패킷을 프로세싱하게 할 수 있고, 트랜시버 코어 (202) 는 그 라디오 텍스트 (RT) 를 추출하고, 오직 RT 스트링이 변경되는 경우에만 PI 및 PTY 와 함께 64 개까지의 문자 스트링을 호스트 프로세서 (204) 에 제공할 수 있는 것, 및 ix) 프로그램 ROM (310), 프로그램 RAM (312) 및 데이터 RAM (314) 을 이용하여, 호스트 프로세서 (204) 는 특정 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하는 루틴을 동적으로 다운로딩하고 그 루틴을 트랜시버 코어 (202) 내의 펑션 포인터에 할당할 수 있는 것을 포함한다.
본 출원의 일 양태에 따르면, 트랜시버 코어 (202) 는, 호스트 프로세서 (204) 상의 RDS 프로세싱의 양을 감소시킬 수 있는 다수의 필터링 및 데이터 프로세싱 능력을 갖는다. 예를 들어, 트랜시버 코어 (202) 내의 RDS 그룹 데이터의 버퍼링은 호스트 프로세서 (204) 로의 인터럽트의 수를 감소시킬 수 있다. 따라서, 호스트 프로세서 (204) 는 RDS 인터럽트를 확인응답하는 것만큼 자주 웨이크-업할 필요가 없다. 필터링은 호스트 프로세서 (204) 를 인에이블시켜, 원하는 데이터 타입을 오직 변경된 경우에만 수신하게 한다. 이것은 통상적으로 인터럽트의 양을 감소시키고, "미처리 (raw)" RDS 데이터를 필터링 아웃시키는데 필요할 수도 있는 호스트 프로세서 (204) 상의 코드를 세이브한다. 트랜시버 코어 (202) 내의 메인 RDS 그룹 타입 (0 및 2) 의 프로세싱은 호스트 프로세서 (204) 를 오프로딩하는 것으로 확인된다. 호스트 프로세서 (204) 는 전처리된 PS 및 RT 스트링을 사용자에게 디스플레이하기만 하면 된다. PS 테이블 및 RT 스트링은 트랜시버 코어의 메모리에 상주하여, 호스트 프로세서 (204) 는 모든 인터럽트를 디스에이블시키고 원하는 경우 (예를 들어, 스크린 세이버 모드에서 나오는 경우) 현재의 스트링을 검색할 수 있다.
도 29 는 호스트 프로세서를 이용하여 RDS 데이터에 대한 하나 이상의 라디오 데이터 시스템 (RDS) 그룹 타입 프로세싱 루틴을 다운로딩하는 예시적인 동작을 도시하는 흐름도이다. 단계 2902 에서, 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴이 호스트 프로세서 (204) 에 의해 다운로딩된다. 그 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성될 수 있다. 단계 2904 에서, 데이터 프로세서 내의 레퍼런스가 호스트 프로세서 (204) 에 의해 그 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당되어, 그 대응하는 RDS 그룹 타입 프로세싱 루틴은 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출된다.
본 출원의 일 양태에 따르면, 도 27 및 도 28 의 그룹 0 내지 15 펑션 포인터에 의해 도시된 바와 같이, 레퍼런스는 펑션 포인터의 어레이 내의 펑션 포인터일 수도 있다. 이 레퍼런스는 프로그램 RAM (312) 또는 프로그램 ROM (310) 내의 대응하는 루틴에 할당될 수 있다.
본 출원의 일 양태에 따르면, 데이터 프로세서는 도 9 에 도시된 컴포넌트 중 하나 이상 또는 전부를 포함할 수도 있다. 다른 양태에서, 데이터 프로세서는 도 3 의 마이크로프로세서 (322) 를 포함할 수도 있고, 또는 예를 들어, 도 3 에 도시된 컴포넌트 중 임의의 다른 하나 이상의 컴포넌트 또는 컴포넌트 전부를 포함할 수도 있다. 데이터 프로세서 및 호스트 프로세서는 동일한 집적 회로, 동일한 인쇄 회로 보드, 또는 동일한 디바이스 또는 컴포넌트 상에 구현될 수도 있다. 대안적으로, 데이터 프로세서 및 호스트 프로세서는 개별 집적 회로, 개별 인쇄 회로 보드, 개별 디바이스 또는 컴포넌트 상에 구현될 수도 있다. 데이터 프로세서 및 호스트 프로세서는 상이한 디바이스 또는 컴포넌트 상에 분산될 수도 있다.
일 양태에서, 데이터 프로세서는 호스트 프로세서에 의해 구성가능한 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블 또는 디스에이블 가능한) 하나 이상의 파라미터들에 기초하여 RDS 데이터를 필터링하여, 그 하나 이상의 파라미터들에 따라, RDS 데이터의 선택된 세트는 RDS 데이터의 서브세트가 된다. 이러한 서브세트는 선택된 RDS 그룹을 포함할 수도 있다. 다른 양태에서, RDS 데이터의 선택된 세트는 RDS 데이터의 서브세트, RDS 데이터에 없는 데이터, 또는 RDS 데이터 전체이다.
데이터 프로세서는 RDS 데이터를 필터링하기 위해 하나 이상의 필터 (예를 들어, 도 9 의 블록 (908, 910, 912, 914 및 916)) 를 포함할 수도 있다. 각각의 필터 또는 몇몇 필터들은 호스트 프로세서에 의해 구성가능하다 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블 또는 디스에이블 가능하다). 예를 들어, 각각의 필터 또는 몇몇 필터들은 호스트 프로세서에 의해 나머지 필터들 중 하나 이상과는 독립적으로 구성될 수 있다. 데이터 프로세서는 또한, 호스트 프로세서에 의해 선택적으로 구성가능한 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블 또는 디스에이블되는) 하나 이상의 RDS 그룹 버퍼를 포함할 수도 있다.
데이터 프로세서는, 호스트 프로세서에 의해 선택적으로 구성가능한 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블, 또는 디스에이블되는) 하나 이상의 RDS 그룹 프로세싱 엘리먼트 (예를 들어, 도 9 의 블록 (920 및 922)) 를 포함할 수도 있다. 예를 들어, 하나 이상의 RDS 그룹 프로세싱 엘리먼트는 호스트 프로세서에 의해 나머지 RDS 그룹 프로세싱 컴포넌트 중 하나 이상과는 독립적으로 구성될 수 있다.
또한, 데이터 프로세서는, RDS 그룹 타입 프로세싱 루틴을 저장하기 위한 프로그램 ROM 및/또는 프로그램 RAM (예를 들어, 도 27 및 도 28 의 블록 (310) 및/또는 블록 (312)) 및 레퍼런스 (예를 들어, 펑션 포인터의 어레이) 를 저장하기 위한 데이터 RAM 을 포함할 수도 있다. 각각의 프로그램 ROM, 프로그램 RAM 및 데이터 RAM 내의 루틴 및 레퍼런스 각각은 호스트 프로세서에 의해 선택적으로 구성가능할 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블, 또는 디스에이블될) 수 있고, 각각의 루틴은 특정 RDS 그룹 타입을 프로세싱하는 방법을 정의할 수 있다. 예를 들어, RDS 그룹 타입 프로세싱 루틴의 각각 또는 몇몇은 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 나머지 RDS 그룹 타입 프로세싱 루틴과는 독립적으로 호스트 프로세서에 의해 구성가능할 수 있다. 또한, 레퍼런스의 각각 또는 몇몇은 하나 이상의 레퍼런스 중 나머지 레퍼런스와는 독립적으로 호스트 프로세서에 의해 구성가능할 수 있다. 프로그램 ROM 및/또는 프로그램 RAM 은 하나 이상의 RDS 그룹 프로세싱 엘리먼트를 포함할 수도 있다.
다른 양태에서, 데이터 프로세서는 호스트 프로세서에 의해 구성가능한 (예를 들어, 호스트 프로세서에 의해 제어, 인에이블 또는 디스에이블 가능한) 하나 이상의 파라미터들에 기초하여 호스트 프로세서로의 인터럽트의 수를 감소시키도록 구성되어, 그 하나 이상의 파라미터들에 따라, 인터럽트의 수가 감소되거나 감소되지 않는다.
데이터 프로세서 및 호스트 프로세서 각각은 소프트웨어, 하드웨어 또는 이들의 조합을 이용하여 구현될 수도 있다. 예시적으로, 데이터 프로세서 및 호스트 프로세서 각각은 하나 이상의 프로세서에 의해 구현될 수도 있다. 프로세서는, 범용 프로세서, 마이크로프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 프로그래머블 로직 디바이스 (PLD), 제어기, 상태 머신, 게이팅 로직, 이산 하드웨어 컴포넌트, 또는 정보의 계산 또는 다른 조작을 수행할 수 있는 임의의 다른 적절한 디바이스일 수도 있다. 데이터 프로세서 및 호스트 프로세서 각각은 또한 소프트웨어를 저장하기 위한 하나 이상의 머신-판독가능 매체를 포함할 수도 있다. 소프트웨어는, 명령들, 데이터 또는 이들의 임의의 조합을 의미하는 것으로 광범위하게 해석되어야 하고, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어 등으로 지칭된다. 명령들은 (예를 들어, 소스 코드 포맷, 2 진 코드 포맷, 실랭가능 코드 포맷 또는 임의의 다른 적절한 코드 포맷 코드를 포함할 수도 있다.
머신-판독가능 매체는 ASIC 의 경우에서와 같이 프로세서에 통합된 저장 매체를 포함할 수도 있다. 머신-판독가능 매체는 또한, 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그래머블 판독 전용 메모리 (PROM), 소거가능 PROM (EPROM), 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, DVD 또는 임의의 다른 적절한 저장 디바이스와 같은, 프로세서 외부의 저장 매체를 포함할 수도 있다. 또한, 머신-판독가능 매체는, 데이터 신호를 인코딩하는 송신 라인 또는 반송파를 포함할 수도 있다. 당업자는 데이터 프로세서 및 호스트 프로세서에 대해 설명된 기능을 구현하는 최상의 방법을 인식할 것이다. 본 출원의 일 양태에 따르면, 머신-판독가능 매체는 명령들로 인코딩되거나 저장된 컴퓨터-판독가능 매체이고, 명령들과 그 명령들의 기능이 실현되게 하는 시스템의 나머지 부분들 사이의 구조적 및 기능적 상호관계를 정의하는 컴퓨팅 엘리먼트이다. 명령들은, 예를 들어, 호스트 시스템 또는 호스트 시스템의 프로세서에 의해 실행될 수도 있다. 명령들은, 예를 들어, 코드를 포함하는 컴퓨터 프로그램일 수 있다.
도 30 은 RDS 데이터에 대한 하나 이상의 라디오 데이터 시스템 (RDS) 그룹 타입을 다운로딩하기 위한 호스트 시스템의 기능의 일예를 도시하는 개념 블록도이다. 호스트 시스템 (200) 은 데이터 프로세서 (3002) 및 호스트 프로세서 (204) 를 포함한다. 호스트 프로세서 (204) 는 호스트 시스템의 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하기 위한 모듈 (3004) 을 포함하고, 그 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성된다. 호스트 프로세서 (204) 는 또한, 데이터 프로세서 내의 레퍼런스를 그 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 그 대응하는 RDS 그룹 타입 프로세싱 루틴이 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되게 하는 모듈 (3006) 을 포함한다.
당업자는, 본 명세서에 기술된 다양한 예시적인 블록들, 모듈들, 엘리먼트들, 컴포넌트들, 방법 및 알고리즘이 전자적 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로 구현될 수도 있음을 인식할 것이다. 예를 들어, 그룹 프로세싱 컴포넌트 (918) 및 필터 모듈 (906) 각각은 전자적 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로 구현될 수도 있다. 하드웨어와 소프트웨어의 상호교환 가능성을 설명하기 위해, 다양한 예시적인 블록들, 모듈들, 엘리먼트들, 컴포넌트들, 방법 및 알고리즘을 일반적인 기능적 측면에서 설명하였다. 이러한 기능이 하드웨어로 구현되는지 소프트웨어로 구현되는지 여부는, 전체 시스템 상에 부과되는 특정한 애플리케이션 및 설계 제한에 의존한다. 숙련된 기술자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수도 있다. 다양한 컴포넌트들 및 블록들은 청구물의 범주를 벗어나지 않으면서 다른 방식으로 배열될 수도 있다 (예를 들어, 다른 순서로 배열되거나 다른 방식으로 분할될 수도 있다). 예를 들어, 도 9 의 필터 모듈 (906) 의 필터들의 특정한 순서는 재배열될 수도 있고, 필터들의 일부 또는 전부가 다른 방식으로 분할될 수도 있다.
개시된 프로세스 내의 단계들의 특정한 순서 또는 계층은 예시적인 접근의 설명임을 이해한다. 설계 선호도에 따라, 프로세스 내의 단계들의 특정한 순서 또는 계층은 재배열될 수도 있음을 이해한다. 단계들의 몇몇은 동시에 수행될 수도 있다. 수반된 방법 청구항은 다양한 단계들의 엘리먼트들을 동일한 순서로 제공하지만, 제공된 특정한 순서 또는 계층에 한정되는 것을 의미하지는 않는다.
전술한 설명은, 당업자가 본 명세서에 기술된 다양한 양태들을 실시할 수 있도록 제공된다. 이 양태들에 대한 다양한 변형예는 당업자에게 자명할 것이고, 본 명세서에 정의된 고유한 원리들은 다른 양태들에 적용될 수도 있다. 따라서, 청구항들은 본 명세서에 나타낸 양태들에 한정되지 않고, 문언상의 청구항에 일치하는 전체 범주에 부합하도록 의도되며, 단수의 엘리먼트의 참조는, 특정하여 기술되지 않는 한 "하나 및 오직 하나" 를 의미하지 않고, "하나 이상" 을 의미하도록 의도된다. 달리 특정하여 기술되지 않으면, 용어 "몇몇" 은 하나 이상을 의미한다. 남성 대명사 (예를 들어, his) 는 여성 및 중성을 포함하며 (예를 들어, her 및 its), 그 역도 마찬가지이다. 본 출원 전체에 걸쳐 기술단 다양한 양태들 중 당업자에게 공지되었거나 추후 당업자에게 공지되는 엘리먼트들과의 모든 구조적 기능적 균등물은 본 명세서에 참조로서 명백히 통합되고, 청구항에 포함되는 것으로 의도된다. 또한, 본 명세서에 개시된 어떠한 사항도, 그 개시가 청구항에 명백히 인용되는 것과 무관하게, 공중에 제공되는 것으로 의도되지 않는다. 어떠한 청구항의 엘리먼트도, 그 엘리먼트가 구문 "를 위한 수단 (means for)" 을 명백하게 인용하지 않으면, 또는 방법 청구항에서 그 엘리먼트가 구문 "를 위한 단계 (step for)" 를 인용하지 않으면, 35 U.S.C.§112 의 제 6 장의 조항 하에서 해석되어서는 안된다.
부록
목차
1 도입
1.1 목적
1.2 범위
1.3 협정
1.4 레퍼런스
1.5 두문자어
2 레지스터 맵
3 레지스터 설명
4 데이터 전송 모드
5 이미지 다운로드
도면
도 1-1 FM+RDS 트랜시버 코어 하이-레벨 아키텍처
테이블
테이블 1-1 개정 이력
테이블 1-2 참조 문헌 및 표준
테이블 1-3 추가 두문자어 정의
테이블 2-1 FM+RDS 트랜시버 코어 레지스터 맵
테이블 3-1 INTSTAT1-인터럽트 상태 설명[1][2]
테이블 3-2 INTSTAT2-인터럽트 상태 설명[1][2]
테이블 3-3 INTCTRL1-인터럽트 제어 설명[1]
테이블 3-4 INTCTRL2-인터럽트 제어 설명[1]
테이블 3-5 FREQ- 튜닝 주파수 설명
테이블 3-6 TUNECTRL-튜닝 제어 설명
테이블 3-7 RDCTRL-라디오 제어 설명
테이블 3-8 OUTCTRL-출력 제어 설명
테이블 3-9 SRCHRDS1-탐색 RDS 파라미터 1 타입 설명
테이블 3-10 SRCHRDS2-탐색 RDS 파라미터 2 타입 설명
테이블 3-11 SRCHCTRL-탐색 제어 설명
테이블 3-12 VOLCTRL-볼륨 제어 설명
테이블 3-13 RDSCTRL-RDS 제어 설명
테이블 3-14 ADVCTRL-어드밴스드 특성 제어 설명
테이블 3-15 RSSI- 수신 신호 강도 표시 설명
테이블 3-16 MSSI-메인 신호 강도 표시 설명
테이블 3-17 RMSSI-수신 메인 신호 강도 표시 설명
테이블 3-18 IFCNT-간섭 카운트 설명
테이블 3-19 RDS1LSB-RDS 블록 1 LSB 설명
테이블 3-20 RDS1MSB-RDS 블록 1 MSB 설명
테이블 3-21 RDS1STAT-RDS 블록 1 상태 설명
테이블 3-22 RDS2LSB-RDS 블록 2 LSB 설명
테이블 3-23 RDS2MSB-RDS 블록 2 MSB 설명
테이블 3-24 RDS2STAT-RDS 블록 2 상태 설명
테이블 3-25 RDS3LSB-RDS 블록 3 LSB 설명
테이블 3-26 RDS3MSB-RDS 블록 3 MSB 설명
테이블 3-27 RDS3STAT-RDS 블록 3 상태 설명
테이블 3-28 RDS4LSB-RDS 블록 4 LSB 설명
테이블 3-29 RDS4MSB-RDS 블록 4 MSB 설명
테이블 3-30 RDS4STAT-RDS 블록 4 상태 설명
테이블 3-31 RDSGROUP-RDS 그룹 카운트 설명
테이블 3-32 XFRDAT0...XFRDAT15-데이터 전송 바이트 설명
테이블 3-33 XFRCTRL-데이터 전송 제어 설명
테이블 4-1 데이터 전송 모드 설명
테이블 4-2 RDS_PS_0-RDS 프로그램 서비스 테이블 0 모드
테이블 4-3 RDS_PS_1-RDS 프로그램 서비스 테이블 1 모드
테이블 4-4 RDS_PS_2-RDS 프로그램 서비스 테이블 2 모드
테이블 4-5 RDS_PS_3-RDS 프로그램 서비스 테이블 3 모드
테이블 4-6 RDS_PS_4-RDS 프로그램 서비스 테이블 4 모드
테이블 4-7 RDS_RT_0-RDS 라디오 텍스트 0 모드
테이블 4-8 RDS_RT_1-RDS 라디오 텍스트 1 모드
테이블 4-9 RDS_RT_2-RDS 라디오 텍스트 2 모드
테이블 4-10 RDS_RT_3-RDS 라디오 텍스트 3 모드
테이블 4-11 RDS_RT_4-RDS 라디오 텍스트 4 모드
테이블 4-12 RDS_AF_0-RDS 대체 주파수 0 모드
테이블 4-13 RDS_AF_1-RDS 대체 주파수 1 모드
테이블 4-14 RDS_CONFIG-RDS 구성 모드
테이블 4-15 RDS_TX_GROUPS-RDS Tx 그룹 모드
테이블 4-16 RDS_COUNT_0-RDS 그룹 카운터 0 모드
테이블 4-17 RDS_COUNT_1-RDS 그룹 카운터 1 모드
테이블 4-18 RDS_COUNT_2-RDS 그룹 카운터 2 모드
테이블 4-19 RADIO_CONFIG-라디오 구성 모드
테이블 4-20 RX_CONFIG-Rx 구성 모드
테이블 4-21 RX_TIMERS-Rx 타이머 모드
테이블 4-22 RX_CTRL-Rx 제어 모드
테이블 4-23 RX_STATION_0-Rx 가장 강한/가장 약한 0 스테이션 모드
테이블 4-24 RX_STATION_1-Rx 가장 강한/가장 약한 1 스테이션 모드
테이블 4-25 TX_CONFIG-Tx 구성 모드
테이블 4-26 ERROR-에러 모드
테이블 4-27 CHIPID-칩 식별 모드
테이블 4-28 XFRCTRL 에 대해 정의된 메모리 액세스 모드
테이블 4-29 MEM_ACCESS_BLOCK_WRITE-블록 메모리 기록 모드
테이블 4-30 MEM_ACCESS_MULTIPLE_WRITE-다중 메모리 기록 모드
테이블 4-31 MEM_ACCESS_BLOCK_READ-블록 메모리 판독 모드
테이블 4-32 MEM_ACCESS_MULTIPLE_READ-다중 메모리 판독 모드
테이블 5-1 Intel Hex 다운로드 레지스터 맵
테이블 5-2 이진 이미지 다운로드 레지스터 맵
1 도입
1.1 목적
본 문헌은 FM+RDS 트랜시버 코어 ("코어") 에 대한 제어 레지스터를 정의한다. 코어의 하이-레벨 아키텍처가 도 1-1 에 도시되어 있다. 이러한 코어는 SIP 내에 내장되거나 다른 다이 또는 칩내에 집적된 자립형 IC 로 이루어질 수 있다.
제어 레지스터를 어떻게 사용할지의 상세한 설명이 애플리케이션 노트[Q1] 에 제공된다.
도 1-1 FM+RDS 트랜시버 코어 하이-레벨 아키텍처
1.2 범위
제어 레지스터는 호스트 프로세서 ("호스트") 와 코어 사이의 통신을 위해 정의된다.
1.3 협정
파라미터 타입은 화살표로 표시된다.
1-4 레퍼런스
QUALCOMM?, 표준, 및 리소스 문헌을 포함할 수도 있는 레퍼런스 문헌이 테이블 1-1 에 리스트되어 있다.
테이블 1-1 레퍼런스 문헌 및 표준
1.5 두문자어
용어 및 약자의 정의를 위해, [Q1] 을 참조한다. 추가의 정의가 아래에 제공된다.
테이블 1-2 추가의 두문자어 정의
2 레지스터 맵
테이블 2-1 FM+RDS 트랜시버 코어 레지스터 맵
주석 : 모든 레지스터는 코어가 파워 온될 때 제로로 디폴트될 수도 있다.
3 레지스터 설명
테이블 3-1 INTSTAT1 - 인터럽트 상태 설명
[1][2]
테이블 3-2 INTSTAT2 - 인터럽트 상태 설명
[1][2]
테이블 3-3 INTCTRL1 - 인터럽트 제어 설명
[1]
테이블 3-4 INTCTRL2 - 인터럽트 제어 설명
[1]
[1] 이러한 레지스터를 판독하는 것은 비트를 클리어한다.
[2] 비트는 신규 튜닝 또는 탐색 커맨드의 시작시에 클리어된다.
주석 :
ㆍ SRCHCINT 가 인에이블되면, SRCH는, 탐색 동작이 완료될 때 설정된다. ERROR 은 특정한 탐색을 수행할 수 없는 경우에 설정될 수도 있다.
ㆍ 스캔 모드에 있는 경우에, TUNE 는 FM 제어기가 "양호한" 채널로 튜닝할 때 마다 설정된다.
ㆍ 최종 탐색 튜닝된 주파수를 결정하기 위해 FREQ 및 TUNECTRL 레지스터를 판독한다.
4 데이터 전송 모드
데이터 전송 레지스터 (XFR) 가 코어와 호스트 파라미터 사이에서 다양한 데이터 및 구성 파라미터를 패스하기 위해 사용된다.
XFR 레지스터로부터 판독하기 위해, 호스트 프로세서는 XFRCTRL 레지스터에서 원하는 MODE 를 설정하고 판독할 CTRL 필드를 설정한다. 그 후, 코어는 정의된 모드 바이트를 갖는 XFRDAT0-XFRDAT15 레지스터를 덧붙일 수도 있다. 코어는 TRANSFERCTRL 인터럽트 제어 비트가 설정되면 TRANSFER 인터럽트 상태 비트를 설정할 수도 있고 호스트를 인터럽트할 수도 있다. 그 후, 호스트는 코어가 레지스터를 업데이트하였다는 것을 검출하면 XFR 모드 바이트를 추출할 수도 있다.
코어에 데이터를 기록하기 위해, 호스트 프로세서는 적절한 모드 바이트를 갖는 XFRDAT0-XFRDAT15 를 업데이트한다. 그 후, 호스트 프로세서는 XFRCTRL 레지스터에서 원하는 MODE 를 설정하고 기록한 CTRL 필드를 설정한다. 코어는 XFRCTRL 레지스터가 기록되었다는 것을 검출할 수도 있고 XFR 모드 바이트를 판독할 수도 있다. 모든 모드 바이트를 판독한 이후에, 코어는 TRANSFERCTRL 인터럽트 제어 비트가 설정되면 TRANSFER 인터럽트 상태 비트를 설정할 수도 있고 호스트를 인터럽트할 수도 있다.
테이블 4-1 은 각 소정의 모드에 대한 XFR 바이트를 설명한다.
주석 : 16-비트 및 32-비트값이 빅-엔디안 (big-endian) 포맷 (즉, 먼저 저장된 하이-오더 바이트) 에서 XFRDAT 레지스터에 배치된다.
5 이미지 다운로드
제어 레지스터는 펌웨어를 코어의 프로그램 RAM 으로 다운로드하기 위해 호스트 프로세서에 의해 사용될 수 있다. 2개의 이미지 포맷이 지원된다.
● Intel Hex 레코드
● 이진 이미지
Claims (25)
- 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 시스템으로서,
데이터 프로세서; 및
상기 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하도록 구성되는 호스트 프로세서를 포함하며,
상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성되고, 상기 호스트 프로세서는, 상기 데이터 프로세서 내의 레퍼런스를 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 상기 대응하는 RDS 그룹 타입 프로세싱 루틴이 상기 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되도록 더 구성되는, 호스트 시스템. - 제 1 항에 있어서,
상기 레퍼런스는, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는 펑션 포인터의 어레이 내의 펑션 포인터인, 호스트 시스템. - 제 1 항에 있어서,
상기 데이터 프로세서는 프로그램 랜덤 액세스 메모리 (RAM) 및 데이터 RAM 을 포함하고, 상기 프로그램 RAM 은 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 저장하도록 구성되고, 상기 데이터 RAM 은 상기 레퍼런스를 저장하도록 구성되는, 호스트 시스템. - 제 1 항에 있어서,
상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴은 상기 호스트 프로세서에 의해 선택적으로 구성가능하고, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 각각의 RDS 그룹 타입 프로세싱 루틴에 대응하는 레퍼런스 각각은 상기 호스트 프로세서에 의해 선택적으로 구성가능한, 호스트 시스템. - 제 1 항에 있어서,
상기 데이터 프로세서는 프로그램 판독 전용 메모리 (ROM) 를 포함하고, RDS 그룹 타입 0 및 2 에 대응하는 레퍼런스들은 상기 프로그램 ROM 에 구현된 RDS 그룹 타입 0 및 RDS 그룹 타입 2 에 대한 디폴트 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는, 호스트 시스템. - 제 1 항에 있어서,
상기 호스트 프로세서는 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 동적으로 다운로딩하도록 구성되는, 호스트 시스템. - 제 1 항에 있어서,
상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 하나가 제 1 RDS 그룹 타입이고, 상기 데이터 프로세서가 상기 제 1 RDS 그룹 타입에 대한 기존의 RDS 그룹 타입 프로세싱 루틴을 포함하면, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 상기 하나가 상기 호스트 프로세서에 의해 다운로딩될 때, 상기 호스트 프로세서는, 상기 제 1 RDS 그룹 타입에 대한 레퍼런스를 상기 기존의 RDS 그룹 타입 프로세싱 루틴으로부터 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 상기 하나에 재할당하도록 구성되는, 호스트 시스템. - 제 7 항에 있어서,
상기 데이터 프로세서는 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 저장하도록 구성되고, 상기 데이터 프로세서가 상기 제 1 RDS 그룹 타입을 갖는 RDS 데이터를 수신하면, 상기 데이터 프로세서는, 상기 제 1 RDS 그룹 타입을 갖는 RDS 데이터를, 상기 기존의 RDS 그룹 타입 프로세싱 루틴이 아닌 상기 데이터 프로세서에 상주하는 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 상기 하나에 전송하도록 구성되는, 호스트 시스템. - 제 1 항에 있어서,
RDS 그룹 타입 프로세싱 루틴이 RDS 데이터에 의해 호출되면, 상기 호스트 프로세서는 상기 데이터 프로세서 내의 하나 이상의 제어 레지스터를 통해 상기 RDS 그룹 타입 프로세싱 루틴에 의해 프로세싱된 RDS 데이터에 액세스하도록 더 구성되는, 호스트 시스템. - 제 1 항에 있어서,
RDS 그룹 타입 프로세싱 루틴이 RDS 데이터에 의해 호출되면, 상기 호스트 프로세서는 상기 데이터 프로세서 내의 하나 이상의 인터럽트 레지스터를 통해 상기 데이터 프로세서에 의해 인터럽팅되도록 더 구성되는, 호스트 시스템. - 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 프로세서로서,
호스트 시스템의 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하도록 구성되는 다운로드 모듈로서, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성되는, 상기 다운로드 모듈; 및
상기 데이터 프로세서 내의 레퍼런스를 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 상기 대응하는 RDS 그룹 타입 프로세싱 루틴이 상기 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되도록 구성되는 할당 모듈을 포함하는, 호스트 프로세서. - 제 11 항에 있어서,
상기 레퍼런스는, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는 펑션 포인터의 어레이 내의 펑션 포인터인, 호스트 프로세서. - 제 11 항에 있어서,
상기 데이터 프로세서는 프로그램 랜덤 액세스 메모리 (RAM) 및 데이터 RAM 을 포함하고, 상기 프로그램 RAM 은 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 저장하도록 구성되고, 상기 데이터 RAM 은 상기 레퍼런스를 저장하도록 구성되는, 호스트 프로세서. - 제 11 항에 있어서,
상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴은 상기 호스트 프로세서에 의해 선택적으로 구성가능하고, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 각각의 RDS 그룹 타입 프로세싱 루틴에 대응하는 레퍼런스 각각은 상기 호스트 프로세서에 의해 선택적으로 구성가능한, 호스트 프로세서. - 제 11 항에 있어서,
상기 데이터 프로세서는 프로그램 판독 전용 메모리 (ROM) 를 포함하고, RDS 그룹 타입 0 및 2 에 대응하는 레퍼런스들은 상기 프로그램 ROM 에 구현된 RDS 그룹 타입 0 및 RDS 그룹 타입 2 에 대한 디폴트 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는, 호스트 프로세서. - 제 11 항에 있어서,
상기 호스트 프로세서는 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 동적으로 다운로딩하도록 구성되는, 호스트 프로세서. - 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 호스트 시스템으로서,
데이터 프로세서; 및
호스트 프로세서를 포함하고,
상기 호스트 프로세서는,
상기 호스트 시스템의 상기 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 수단으로서, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성되는, 상기 다운로딩하는 수단; 및
상기 데이터 프로세서 내의 레퍼런스를 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 상기 대응하는 RDS 그룹 타입 프로세싱 루틴이 상기 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되게 하는 할당 수단을 포함하는, 호스트 시스템. - 제 17 항에 있어서,
상기 레퍼런스는, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는 펑션 포인터의 어레이 내의 펑션 포인터인, 호스트 시스템. - 제 17 항에 있어서,
상기 데이터 프로세서는 프로그램 랜덤 액세스 메모리 (RAM) 및 데이터 RAM 을 포함하고, 상기 프로그램 RAM 은 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 저장하도록 구성되고, 상기 데이터 RAM 은 상기 레퍼런스를 저장하도록 구성되는, 호스트 시스템. - 제 17 항에 있어서,
상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴은 상기 호스트 프로세서에 의해 선택적으로 구성가능하고, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 각각의 RDS 그룹 타입 프로세싱 루틴에 대응하는 레퍼런스 각각은 상기 호스트 프로세서에 의해 선택적으로 구성가능한, 호스트 시스템. - 제 17 항에 있어서,
상기 데이터 프로세서는 프로그램 판독 전용 메모리 (ROM) 를 포함하고, RDS 그룹 타입 0 및 2 에 대응하는 레퍼런스들은 상기 프로그램 ROM 에 구현된 RDS 그룹 타입 0 및 RDS 그룹 타입 2 에 대한 디폴트 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는, 호스트 시스템. - 제 17 항에 있어서,
상기 호스트 프로세서는 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 동적으로 다운로딩하도록 구성되는, 호스트 시스템. - 호스트 프로세서를 이용하여 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법으로서,
데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 상기 호스트 프로세서에 의해 다운로딩하는 단계로서, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 각각은 각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 구성되는, 상기 다운로딩하는 단계; 및
상기 호스트 프로세서에 의해, 상기 데이터 프로세서 내의 레퍼런스를 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 상기 대응하는 RDS 그룹 타입 프로세싱 루틴이 상기 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되게 하는 단계를 포함하는, RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법. - 제 23 항에 있어서,
상기 레퍼런스는, 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 각각 포인팅하는 펑션 포인터의 어레이 내의 펑션 포인터인, RDS 그룹 타입 프로세싱 루틴을 다운로딩하는 방법. - 호스트 프로세서를 이용하여 라디오 데이터 시스템 (RDS) 데이터에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 다운로딩하기 위한 명령들로 인코딩된 머신-판독가능 매체로서,
상기 명령들은,
각각의 RDS 그룹 타입에 대한 RDS 데이터를 프로세싱하도록 각각 구성되는, 데이터 프로세서에 대한 하나 이상의 RDS 그룹 타입 프로세싱 루틴을 상기 호스트 프로세서에 의해 다운로딩하고,
상기 호스트 프로세서에 의해, 상기 데이터 프로세서 내의 레퍼런스를 상기 하나 이상의 RDS 그룹 타입 프로세싱 루틴 중 대응하는 RDS 그룹 타입 프로세싱 루틴에 할당하여, 상기 대응하는 RDS 그룹 타입 프로세싱 루틴이 상기 각각의 RDS 그룹 타입을 갖는 RDS 데이터에 의해 호출되게 하는 코드를 포함하는, 머신-판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/944,072 US8666304B2 (en) | 2007-11-21 | 2007-11-21 | Methods and apparatus for downloading one or more radio data system (RDS) group type processing routines for RDS data |
US11/944,072 | 2007-11-21 | ||
PCT/US2008/084265 WO2009067638A1 (en) | 2007-11-21 | 2008-11-21 | Methods and apparatus for downloading one or more radio data system (rds) group type processing routines for rds data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100084579A KR20100084579A (ko) | 2010-07-26 |
KR101115267B1 true KR101115267B1 (ko) | 2012-03-14 |
Family
ID=40428169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107013630A KR101115267B1 (ko) | 2007-11-21 | 2008-11-21 | 라디오 데이터 시스템 (rds) 데이터에 대한 하나 이상의 rds 그룹 타입 프로세싱 루틴을 다운로딩하는 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8666304B2 (ko) |
EP (1) | EP2227872A1 (ko) |
JP (1) | JP5265696B2 (ko) |
KR (1) | KR101115267B1 (ko) |
CN (1) | CN101861708B (ko) |
TW (1) | TW200933482A (ko) |
WO (1) | WO2009067638A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326216B2 (en) * | 2007-11-21 | 2012-12-04 | Qualcomm Incorporated | Method and system for transmitting radio data system (RDS) data |
US8503957B2 (en) * | 2007-11-21 | 2013-08-06 | Qualcomm Incorporated | Radio data system (RDS) data processing methods and apparatus |
US8478216B2 (en) * | 2007-11-21 | 2013-07-02 | Qualcomm Incorporated | Method and apparatus for searching for or tuning to one or more radio stations with minimum interaction with host processor |
US8571501B2 (en) * | 2008-04-21 | 2013-10-29 | Qualcomm Incorporated | Cellular handheld device with FM Radio Data System receiver |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790958A (en) * | 1995-10-16 | 1998-08-04 | Mmgt Enterprises, Inc. | Radio reception system for general purpose computer |
US20020144134A1 (en) | 2001-02-16 | 2002-10-03 | Koji Watanabe | Software defined radio and radio system |
KR100740191B1 (ko) | 2003-10-16 | 2007-07-16 | 노키아 코포레이션 | 감소된 전력 소비를 위한 신호 수신 방법 및 장치 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2647672B2 (ja) | 1988-02-05 | 1997-08-27 | パイオニア株式会社 | データ多重放送受信機 |
GB8829274D0 (en) * | 1988-12-15 | 1989-01-25 | British Broadcasting Corp | Improvements to rds radio systems |
JP2867494B2 (ja) | 1989-11-22 | 1999-03-08 | 株式会社リコー | ラジオ・データ・システム |
JP2606747B2 (ja) | 1990-01-17 | 1997-05-07 | アルパイン株式会社 | 自動追従方法 |
NL9000533A (nl) | 1990-03-07 | 1991-10-01 | Philips Nv | Werkwijze voor de overdracht van radio-data-systeemsignalen met verkeersprogramma-identificatie en ontvanger voor dergelijke radio-data-systeemsignalen. |
JPH04220021A (ja) | 1990-03-08 | 1992-08-11 | Philips Gloeilampenfab:Nv | トラヒック・プログラム識別によるラジオデータシステム信号を伝送する方法およびそのラジオデータシステム信号用の受信装置 |
JP2658538B2 (ja) | 1990-09-14 | 1997-09-30 | 三菱電機株式会社 | Rds受信機 |
US5282028A (en) * | 1990-11-27 | 1994-01-25 | Scientific-Atlanta, Inc. | Remote control for digital music terminal with synchronized communications |
DE4103062C2 (de) | 1991-02-01 | 1994-03-31 | Blaupunkt Werke Gmbh | Rundfunkempfänger |
JP3049164B2 (ja) | 1992-12-25 | 2000-06-05 | 株式会社ケンウッド | データ多重放送用チューナ |
JPH0758598A (ja) | 1993-08-10 | 1995-03-03 | Pioneer Electron Corp | チャンネルプリセット機能を有するrds受信機 |
JP3267802B2 (ja) | 1994-06-06 | 2002-03-25 | パイオニア株式会社 | 受信局自動切換機能を備えた受信機 |
JP3250386B2 (ja) | 1994-10-05 | 2002-01-28 | 株式会社デンソー | Fm多重放送受信装置 |
FR2735311B1 (fr) | 1995-06-07 | 1997-08-14 | Telediffusion Fse | Protocole d'emission de messages de controle d'acces a des applications rds, dispositifs d'emission et de reception correspondants. |
JPH10126292A (ja) | 1996-10-14 | 1998-05-15 | Kenwood Corp | 受信機及びrds受信機 |
US6266736B1 (en) * | 1997-01-31 | 2001-07-24 | Sony Corporation | Method and apparatus for efficient software updating |
JP3606420B2 (ja) | 1997-10-15 | 2005-01-05 | パイオニア株式会社 | 併設チューナを有するデータ多重放送受信機 |
US6625464B1 (en) | 1998-08-13 | 2003-09-23 | Data Fm, Incorporated | Codeable programmable receiver and point to multipoint messaging system |
DE10004002A1 (de) | 2000-01-29 | 2001-08-09 | Bosch Gmbh Robert | Verfahren zum Verdecken von Unterbrechnungen der Wiedergabe empfangener Rundfunksignale |
DE10031981A1 (de) * | 2000-06-30 | 2002-01-10 | Bosch Gmbh Robert | Verfahren zur Übertragung von Informationen durch einen Rundfunksender, Verfahren zum Empfang von durch einen Rundfunksender ausgestrahlten Informationen, Verfahren zur Steuerung eines Rundfunkempfängers und Rundfunkempfänger |
KR100891286B1 (ko) * | 2000-09-13 | 2009-04-06 | 스트라토스 오디오, 인코포레이티드 | 미디어 콘텐츠 주문 및 배달 방법 및 시스템 |
US8117281B2 (en) * | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
US7088740B1 (en) * | 2000-12-21 | 2006-08-08 | Bae Systems Information And Electronic Systems Integration Inc | Digital FM radio system |
US7623824B2 (en) * | 2002-12-16 | 2009-11-24 | Nokia Corporation | Broadcast media bookmarks |
JP4106425B2 (ja) | 2002-11-06 | 2008-06-25 | 株式会社ケンウッド | ラジオデータ受信システム、データ受信方法及びプログラム |
TW578433B (en) | 2003-01-02 | 2004-03-01 | Inst Information Industry | Push wireless downloading method and system of wireless device application program |
GB2407223B (en) | 2003-10-16 | 2006-06-07 | Nokia Corp | Reduced power consumption |
JP4181021B2 (ja) | 2003-11-27 | 2008-11-12 | アルパイン株式会社 | 多重放送用受信装置および多重放送受信方法 |
GB2409360A (en) | 2003-12-19 | 2005-06-22 | Nokia Corp | Selection of stations from a set of stations received by a br oadcast receiver |
WO2006058337A2 (en) | 2004-11-29 | 2006-06-01 | Acco Brands Usa Llc | System and method for using the radio data system (rds) and an fm transmitter with a portable device |
DE102004057766B4 (de) * | 2004-11-30 | 2007-06-21 | Advanced Micro Devices, Inc., Sunnyvale | Funkschnittstellensteuerung auf Grundlage einer Ereignislistenspezifikation |
TWI270010B (en) | 2004-12-21 | 2007-01-01 | Ind Tech Res Inst | Method of wireless data download for mobile communication |
US20060223467A1 (en) | 2005-04-05 | 2006-10-05 | Nokia Corporation | Method and device for low-power FM transmission of audio data to RDS (Radio Data System) capable FM radio receiver |
KR20060129583A (ko) | 2005-06-07 | 2006-12-18 | 엘지전자 주식회사 | 라디오 텍스트 데이터 처리장치 및 방법 |
TWI276325B (en) | 2005-09-16 | 2007-03-11 | Hon Hai Prec Ind Co Ltd | Mobile communication device and method for downloading configuration files thereof and wireless communication system |
US7542746B2 (en) | 2005-12-02 | 2009-06-02 | Sony Ericsson Mobile Communications Ab | RDS radio unit |
JP2007179132A (ja) | 2005-12-27 | 2007-07-12 | Sharp Corp | 割り込み制御装置、情報処理システム、及びそのプログラム |
WO2007124441A2 (en) * | 2006-04-20 | 2007-11-01 | Qualcomm Incorporated | Tagging language for broadcast radio |
US20100332356A1 (en) * | 2006-12-05 | 2010-12-30 | Spolar Margaret M | System for purchasing commercial goods and services at a location remote therefrom |
US20100114783A1 (en) * | 2006-12-05 | 2010-05-06 | Spolar Margaret M | System for combining and bundling commercial products, items having monetary value, business transactions, and entertainment |
US8812399B2 (en) * | 2007-05-14 | 2014-08-19 | Kopin Corporation | Mobile consumer-to-consumer personal point of sale system and related business method |
US20100283726A1 (en) * | 2007-11-20 | 2010-11-11 | Nokia Corporation | user interfaces and associated apparatus and methods |
US8503957B2 (en) | 2007-11-21 | 2013-08-06 | Qualcomm Incorporated | Radio data system (RDS) data processing methods and apparatus |
US8326216B2 (en) | 2007-11-21 | 2012-12-04 | Qualcomm Incorporated | Method and system for transmitting radio data system (RDS) data |
US8478216B2 (en) | 2007-11-21 | 2013-07-02 | Qualcomm Incorporated | Method and apparatus for searching for or tuning to one or more radio stations with minimum interaction with host processor |
US8521078B2 (en) | 2008-03-21 | 2013-08-27 | Qualcomm Incorporated | Common interface protocol for sending FR-RDS messages in wireless communication systems |
US8571501B2 (en) | 2008-04-21 | 2013-10-29 | Qualcomm Incorporated | Cellular handheld device with FM Radio Data System receiver |
-
2007
- 2007-11-21 US US11/944,072 patent/US8666304B2/en not_active Expired - Fee Related
-
2008
- 2008-11-21 TW TW097145186A patent/TW200933482A/zh unknown
- 2008-11-21 WO PCT/US2008/084265 patent/WO2009067638A1/en active Application Filing
- 2008-11-21 JP JP2010535080A patent/JP5265696B2/ja not_active Expired - Fee Related
- 2008-11-21 CN CN200880116584.1A patent/CN101861708B/zh not_active Expired - Fee Related
- 2008-11-21 EP EP08852461A patent/EP2227872A1/en not_active Withdrawn
- 2008-11-21 KR KR1020107013630A patent/KR101115267B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790958A (en) * | 1995-10-16 | 1998-08-04 | Mmgt Enterprises, Inc. | Radio reception system for general purpose computer |
US20020144134A1 (en) | 2001-02-16 | 2002-10-03 | Koji Watanabe | Software defined radio and radio system |
KR100740191B1 (ko) | 2003-10-16 | 2007-07-16 | 노키아 코포레이션 | 감소된 전력 소비를 위한 신호 수신 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP2227872A1 (en) | 2010-09-15 |
US8666304B2 (en) | 2014-03-04 |
US20090131122A1 (en) | 2009-05-21 |
JP2011504708A (ja) | 2011-02-10 |
CN101861708A (zh) | 2010-10-13 |
CN101861708B (zh) | 2013-06-12 |
TW200933482A (en) | 2009-08-01 |
JP5265696B2 (ja) | 2013-08-14 |
KR20100084579A (ko) | 2010-07-26 |
WO2009067638A1 (en) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101174682B1 (ko) | 라디오 데이터 시스템 (rds) 데이터를 송신하는 방법 및 시스템 | |
KR101256714B1 (ko) | 라디오 데이터 시스템 (rds) 데이터 프로세싱 방법 및 장치 | |
KR101411078B1 (ko) | 호스트 프로세서와 최소의 상호작용으로 하나 이상의 라디오 스테이션들을 탐색 또는 하나 이상의 라디오 스테이션들에 튜닝하는 방법 및 장치 | |
US6463469B1 (en) | Computer-based RDS/MBS receiver system for use with radio broadcast signal | |
KR101115267B1 (ko) | 라디오 데이터 시스템 (rds) 데이터에 대한 하나 이상의 rds 그룹 타입 프로세싱 루틴을 다운로딩하는 방법 및 장치 | |
WO2009067689A1 (en) | Radio data system (rds) data processing methods and apparatus | |
GB2426645A (en) | Method of tuning a digital audio broadcast (DAB) receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |