188
-1- KETI-RD-2001036 망용 다채널 단말기 개발 HFC MOIP 최종보고서 ( ) 2001. 5. 31 주관기관 : 전자부품연구원 참여기관 : 세진 ( ) T&M 크로스텍 ( ) 위탁기관 : 성균관대학교

KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 1 -

KETI-RD-2001036

망용 다채널 단말기 개발HFC MOIP

최종보고서( )

2001. 5. 31

주관기관 : 전자부품연구원

참여기관 : 주 세진( ) T&M

주 크로스텍( )

위탁기관 : 성균관대학교

산 업 자 원 부

Page 2: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 2 -

제 출 문

산업자원부장관 귀하

본 보고서를 망용 다채널 단말기 개발 개발기간“HFC MOIP " ( : 2000.6.1 - 2001.

과제의 최종보고서로 제출합니다5.31) .

2001.5.31

개발사업주관기관명 : 전 자 부 품 연 구 원

개발사업총괄책임자 :

주요참여연구원 :

선임연구원

센터장

연구원

연구원

연구원

전임연구원

연구원

연구원

김대환

조위덕

홍성희

박진희

박영충

이상학

윤정미

김용호

참여기업 :

크로스텍 책임연구원

선임연구원

세진 연구원T&M

전상용

김상용

이지현

위탁기관 : 성균관대학교 교수 최형진

Page 3: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 3 -

공업기반기술개발사업 보고서 초록

관리번호 KETI-2001036

과 제 명 망용 다채널 단말기 개발HFC MOIP

키 워 드

HFC, Cable Network, CM(Cable Modem), CMTS(Cable Modem

Termination System), MAC(Media Access Protocol),

NMS(Network Management System), MCNS(Multimedia Cable

Network System) DOCSIS, High Speed Internet Access,

BPI(Baseline Privacy Interface), Link Security

개발목표 및 내용

최종 개발 목표1.

망용 호환의 다채널 단말장치 개발HFC DOCSIS 1.1 MoIP (DCE)

다채널 기능Routing•

기능DOC, VoIP, FoIP•

다양한 기능QoS•

상향 채널 방식 가능S-CDMA•

연도별 주요 개발 내용 및 범위2.

차년도(1) 1

개발목표①

망용 라우팅 기능 내장형 다채널 단말기 개발HFC MOIP Prototype

다채널 모듈 및 용( VoIP SOHO CM)

개발내용 및 개발 범위②

시스템 규격 설정•

국제표준규격 검토- (DOCSIS 1.1)

시스템 요구사항 분석 및 구조설계-

설정- Preliminary System Specification

견품 도입 및 분석•

다채널 견품 사양 및 성능분석- VoIP

개발 시스템 요구사양 도출-

케이블 모뎀부 개발(DOC Module)•

Page 4: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 4 -

다채널 시스템 개발VoIP H/W•

디지탈 신호처리부 설계- (DSP)

처리부 설계- MPU

다채널 개발VoIP S/W•

디지탈 신호처리부- Protocol stack S/W

- MPU Signaling processing S/W

- RTOS S/W Porting

차년도(2) 2

개발목표①

망용 호환의 다채널 단말장치 개발HFC DOCSIS1.1 MoIP (DCE)

개발내용 및 개발범위②

시스템 개발DOCSIS1.1 CM•

시스템 개발IntraNet video conferencing•

프로토콜 포팅 차년도에 모듈 구입시H.323 (1 H.323 S/W )•

<H/W>:

개발- Video I/F unit (VIU-323)

개발- Multipoint conferencing unit (MCU-323)

<S/W>:

개발- H.323 Protocol stack

개발- H.323 Routing gateway

파급효과 및 활용방안3.

경제적 측면(1)

용 멀티미디어통신 단말기를 국산화함으로써 외국제품에 대한 가격경쟁력HFC ,•

확보 가능.

향후 증대될 초고속 인터넷 통신시스템 시장에 대한 외국기업의 선점내지는•

독점 방지.

저렴한 비용의 인터넷 고속서비스를 통한 세기 지식기반산업 사회에서의 국21•

가 경쟁력 강화

인터넷 서비스 다양화 활성화 고급화에 기여, ,•

수입 대체 효과 년 이후 개년간 억 이상: 2001 3 5,000•

Page 5: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 5 -

기술적 파급효과(2)

케이블 통신 프로토를 에 대한 원천 설계 기술 확보를 통한 국가 기술, VoIP•

경쟁력 강화

인터넷 게이트웨이 등 다양한 차세대 인터넷 장비로의 기술 응, V/MoIP, CTI,•

고속 디지털 멀티미디어 통신 기술 축적•

등의 가입자 망 통Cable Modem, Cable Telephony, IP Telephony Cable TV•

합시스템

기타 디지털 방송 응용 시스템을 활용한 원격교육 원격의료 전자민원, , VOD , , ,•

전자도서관 서비스 등에 기술 응용 가능

Page 6: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 6 -

목 차

제 장 서 론1

제 장 기술 및 동향2 MoIP

제 절 기술 개요1 MoIP

1. VoIP

2. FoIP

제 절 동향2 MoIP

미국1.

일본2.

유럽3.

국내의 기술현황4.

국내의 관련 사업자 현황5

해외의 산업 현황6.

제 장 다채널 케이블 모뎀 하드웨어 설계3 MoIP

제 절 망을 이용한 구조 및 기능1 HFC CM MAC

개요1.

특징2.

전체 시스템 구성도3. CM

구조4. CM Media Access Controller

주요기능5.

메인 프로세서 부6.

제 절 견품 분석2 CM

계층 초기화1. MAC

제 절 케이블모뎀 시험 인증 환경3 /

1. Cablelabs Interoperability

2. Interoperability Criterion

Page 7: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 7 -

제 장 다채널 케이블 모뎀 소프트웨어 설계4 MoIP

제 절 구현 환경1

제 절 케이블모뎀 초기화 과정2

동기화1.

상향 파라메터 획득2.

과 레인징3. MAP

제 절 케이블모뎀 소프트웨어 구성3

태스크1. hierarchy

태스크2. MAIN

태스크3. MAC

태스크4. MESSAGE

태스크5. EVENT

태스크6. DOWNLOAD

태스크7. BPI

제 절 케이블모뎀 콘솔 덤프 리스트4

제 장 하드웨어 설계5 MoIP

제 절 서론1

마이크로 콘트롤러 인터페이스 부분1. (Micro controller interface)

부분 블록도2. Daughter Card

제 절 음성2 VOCODING

주요기능1.

인터페이스2.

제 절 의 인터페이스3 VoIP daughter card

인터페이스1. HPI

제 장 소프트웨어 설계6 MoIP

제 절 구현 환경1

제 절 초기화 과정2 MoIP

제 절 소프트웨어 구성3 MoIP

1. DSP

2. Microprocessor

제 절 구현 프로토콜4 MoIP

1. MGCP

2. RTP

3. SDP

제 절 절차5 Call Setup

Page 8: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 8 -

제 장 실험결과7

제 절 실험에 사용할 단말기의 전체 블록도1

제 절 실험 환경 설정2

제 절 테스트 결과3

음성 코덱 알고리즘 및 패킷 크기에 따른 통화품질1. Traffic

2. VoIP CM Throughput(U/S)

제 장 결론8

참고문헌

Page 9: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 9 -

표 목차

표 바이트 상세 기능표3-1. FC

표 상세 기능표3-2. MAC_PARAM -1

표 상세 기능표3-3. MAC_PARAM -2

표 회로의 함수블럭과 형태5-1. DSP -1

표 회로의 함수블럭과 형태5-2. DSP -2

표 신호5-3. HPI

표 5-4. CLKMD Settings and Initial PLL Multiplier

표 와 의 인터페이스 신호5-5. MCBSP0 MCBSP1

표 음성데이터 프로세스 형식5-6. DSP

표 정상적인 평가 설정 값7-1.

Page 10: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 10 -

그림 목차

그림 망을 이용한 멀티미디어 통신 시스템1-1. HFC

그림 서비스 구성도2-1. VoIP

그림 2-2. Fax over Packet conversion process

그림 전세계의 이용 통화 시간2-3. VoIP

그림 케이블 모뎀 하드웨어 블록도3-1.

그림 케이블 모뎀 테스트 환경3-2.

그림 내부 상세 블록도3-3. MAC

그림 및3-4. MAC Frame Header format

그림 하향 의 상세 블록도3-5. MAP Parser

그림 상세 블록도3-6. Timing regeneration circuit

그림 3-7. BCM3310

그림 케이블모뎀의 데이터 포워딩4-1.

그림 케이블모뎀 시스템 구성도4-2.

그림 케이블모뎀 초기화 과정4-3.

그림 4-4. MAP

그림 케이블모뎀 소프트웨어 태스크 구조도4-5.

그림 4-6. Downstream DMA illustration

그림 4-7. Upstream DMA illustration

그림 관리 메시지 타입4-8. MAC

그림 매커니즘4-9. DHCP

그림 메시지4-10. BPI

그림 4-11. BPI EH element

그림 기능 블럭도5-1. VoIP daughter Card

그림 데이터 경로5-2. DSP

그림 전체 인터페이스 환경5-3. DSP

Page 11: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 11 -

그림 5-4. MCBSP0 Interface Timing

그림 메모리 맵5-5. DSP

그림 외부5-6. DSP 인터페이스

그림 단일 프레임 동기 펄스로 동기화한 채널들5-7.

그림 호스트와 사이의 정보 흐름5-8. DSP

그림 코드 다운로드를 위한 메모리 형식5-9. DSP HPI

그림 기본 동작을 위한 메모리 포맷5-10. HPI

고정슬럿 매핑 음성데이터( )

그림 기본5-11. 동작을 위한 메모리 형식HPI

음성 데이터 버퍼 매핑( FIFO )

그림 의 초기 다운로드5-12. DSP(5402)

그림 상태천이도 음성 및 팩스 함수5-13. DSP ,

그림 패킷 형식6-1. VoIP

그림 모듈 구성도6-2. VoIP

그림 6-3. DSP-Microprocessor

그림 구성 모듈6-4. Microprocessor

그림 모듈 구성도6-5. MGCM

그림 모듈 구성도6-6. DCM

그림 모듈 구성도6-7. CCU

그림 모듈 구성도6-8. DIM

그림 모듈 구성도6-9. TIU

그림 6-10. MGCP Call Flow

그림 하드웨어의 전체 블록도7-1. MoIP

그림 소프트웨어 구성도7-2. MoIP

그림 외부 실험 환경 설정7-3.

그림 통화 품질7-4.

그림 7-5. VoIP CM Throughput

Page 12: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 12 -

제 장 서론1

인터넷의 확대 및 방송 및 통신의 융합화에 현상에 따라 여러 가지 이종 망간의,

접속에 의한 정보통신 서비스에 관심이 고조되고 있으며 특히 망을 통, , Cable TV

해 화상회의 게임 주문형 비디오 등의 통신 서비스를 통합하여 제공하고자 하는, ,

노력이 들과 통신사업자로부터 시도되고 있다 국내에서도 하나로통신 두루넷MSO . ,

등 새로운 통신사업자의 등장에 따라 기존 사업자와의 서비스의 차별성을 위해 최, ,

근 구축된 망 대역 을 이용하여 전화 초고속HFC Cable TV (450MHz~750MHz ) , FAX,

인터넷 액세스 등의 서비스를 값싸게 제공하고자 솔루션을 찾고 있다 세기 고도. 21

정보 산업 사회에서는 전문화 다양화된 생활패턴이 보편화 될 것이며 아울러, ,

가 더욱 더 증가하게 될 것으로 예상된다 따라서 이러한 수요를 충족시킬SOHO . ,

수 있는 용 장비의 필요성이 증대될 것으로 전망된다SOHO MoIP .

이러한 에 부응하여 쌍방향 통신이 가능한 망을 광대역 가입자 망으로 활need HFC

용하고 기존의 전화 서비스 시스템과의 일반 전화 서비스 는 물론 초고속, (POTS) ,

인터넷 액세스 등 다양한 음성 및 데이터 서비스를 동시에 제공할 수 있는, FAX , ,

아래 그림 과 같은 광대역 멀티미디어 서비스용 통신시스템의 주요 구성1-1 Cable

품인 다채널 단말기의 자체 개발이 절실하다MoIP .

Page 13: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 13 -

그림 망을 이용한 멀티미디어 통신 시스템1-1. HFC

산업적 측면으로 볼 때 이러한 다채널 단말기의 개발을 통하여 정보통신산업, MoIP

관련 기기의 수입 대체 및 가격 경쟁력의 확보 및 관련 시스템에 대한 특정 외국

업체의 시장 독점 및 기술 종속화 방지할 수 있다 또한 국내 통신사업자의 서비스.

개선에 대한 지속적인 기술 지원을 하기 위해서는 독자 기술 확보가 필수적이다.

기술적 측면으로 볼 때 현재까지 호환의 케이블모뎀은 국산화 개발되, DOCSIS 1.0

었으나 향 후 진보된 규격의 차세대 멀티모드용 단말기에 대한 기술 개발이, , MoIP

아직까지 수행되고 있지 못한 실정이다 따라서 다채널 멀티모드용 단말과 같. MoIP

은 차세대 멀티미디어 전용 단말의 개발은 원천 기술의 확보 및 응용의 차원에서

매우 중요한 기술이며 상용화로인한 상당한 기술적 파급효과를 가져올 수 있는 기,

술이라 할 수 있다.

Page 14: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 14 -

케이블모뎀은 망을 통해서 초고속 인터넷 서비스를 가능하게 하는 통신Cable TV

단말 장치로서 한쪽은 이더넷이나 를 통하여 와 접속, USB(Universal Serial Bus) PC

하고 다른 한쪽은 케이블 망을 통해 헤드엔드의, TV CATV CMTS(Cable Modem

와 접속하여 상향으로는 하향으로는Termination System) , 320kbps - 10Mbps, 27

까지의 초고속 데이터 전송이 가능하도록 되어있다 초기에는 표준 규격- 38Mbps .

이 없이 제조업체 각각의 사설규격 에 의한 제품이 소규(Proprietary Specification)

모로 사용되어 오다가 미국 내 케이블업체 들의 단체인, (MSOs) MCNS(Multimedia

에서 년 월에 자체적으로 마련한 표준안인Cable Network System) 1996 12

을 처음 공개한 후DOCSIS(Data Over Cable System Interface Specification) ,

년 월 미국 뉴올리안즈에서 열린1997 3 NCTA(National Cable Television

쇼에서 공식적으로 미국 내 표준으로 확정됨에 따라 기술 개발 및 단Association) ,

말기의 저가격화가 본격적으로 이루어져 케이블모뎀의 보급이 크게 확대되었다.

를 주도하고 있는 미국의 에서 년 월에 케이블모MCNS/DOCSIS Cable Labs 1999 3

뎀의 를 강화한 규격과 케이블 망에서의 서비스를 위한QoS DOCSIS1.1 , TV VoIP

규격을 발표함에 따라 케이블모뎀을 이용한 통신 서비스 기능이 고PacketCable ,

속 인터넷 액세스는 물론 연결 지향 서비스의 하나인 음성 전화 서비스까지 점차,

확대되고 있어서 가까운 시일내에 규격 지원의 기능이 탑재된 케DOCSIS1.1 VoIP

이블모뎀을 통한 인터넷 전화 화상전화 등의 서비스가 보편화 될 수 있을 것이다, .

에서는 서비스를 위한 망 기반 규격으로 서버 클PacketCable VoIP Call Signaling -

라이언트 구조에 적합한 규격을 채택하였다 규격이 발표되기MGCP . PacketCable

이전에 선보인 케이블모뎀에서는 망에 접속되어있는 기존의 호스트들과의VoIP IP

호환성을 고려하여 의 응용프로그램으로 널리 사용되고 있는, PC Window

에서와 같이 프로토콜을 주로 채용하였다 그러나 은Netmeeting , H.323 . H.323 LAN

과 같은 패킷 망에서의 멀티미디어 통신 서비스를 위한 호스트 호스트 기반의 통신-

프로토콜로서 서버 클라이언트 구조의 케이블- 모뎀 시스템에 그대로 적용하기에는

효율성과 호스트 단말 의 비용 측면에서 불리한 점이 있었다 본 과제에서는 이러한( ) .

점을 고려하여 서버 클라이언트 기반의 프로토콜을 사용한 다채널 케- MGCP MoIP

이블모뎀 규격 을 구현하였다(PacketCable ) .

Page 15: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 15 -

는 미국 의 과MGCP Telcordia SGCP(Simple Gateway Control Protocol) Level 3

의 프로토콜을 합하여 만든 것으로Communications IPDC(IP Device Control) , IP

망에서의 효율적인 멀티미디어서비스를 위한 솔루션의 하나로 관심이 집중되고 있

는 프로토콜이다 에서는 효율적인 서비스를 위해. MGCP IP Telephony , Call

기능을 전담하는 즉 장치Signaling MGC(Media Gateway Controller), Call Agent

와 미디어처리 기능을 담당하는 를 따로 구분하여 운용하는 것MG(Media Gateway)

이 특징이며 단말 측의 프로토콜에 대한 부담이 줄어들어 면에서 이점이 있, , Cost

다.

본 과제에서 구현한 다채널 케이블모뎀은 위의 그림 에서와 같이 망과MoIP 1-1 IP

연동된 케이블 망에 접속하고 일반 전화기를 이용하여 전화 서비스를 제공하HFC

는 단말 장치로서 일반 전화기를 최대 대까지 접속하여 사용할 수 있다 고속 인4 .

터넷 서비스는 와 케이블모뎀간을 이더넷으로 접속하여 제공받을 수 있게 구현PC

되었고 본 과제에서 구현된 다채널 케이블모뎀의 구현내용을 제 장에서부터, MoIP 2

기술한다.

본 보고서는 상술한 망용 다채널 단말기 개발 과제의 최종 연구 결과“HFC MoIP ”

보고서로서 개년에 걸친 수행 결과를 기술하고자 한다 본 보고서의 제 장에서는, 2 . 2

의 개요와 기술 및 동향에 대해 기술하였MoIP(Multimedia Over Internet Protocol)

다 제 장은 다채널 케이블모뎀의 하드웨어의 설계 제 장은 모뎀의 소프트웨. 3 MoIP , 4

어의 구현에 대하여 자세히 기술하였다 그리고 제 장은 하드웨어의 설계 제. 5 MoIP ,

장은 소프트웨어의 구현에 대하여 각각 기술하였다 제 장에서는 개발된 다채널6 . 7

케이블모뎀의 테스트를 위한 망구성 및 시스템 환경을 구성하고MoIP ,

테스트한 결과물을 제시한다 마지막으로 제 장에서 결론 및 향후방Performance . 8

향을 제시한다.

Page 16: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 16 -

제 장 기술 및 동향2 MoIP

제 절 기술 개요1 MoIP

는 를 나타내는 것으로 통신과 통신 등 다양한MoIP Multimedia Over IP VoIce Fax

미디어 서비스를 인터넷망을 통하여 제공하려는 것을 뜻한다 실제 기존의 전화망.

에서 제공되던 이런 서비스들을 저렴한 비용과 효율적인 관리등의 장점을 가지고

있는 인터넷망으로 전환하려는 움직임이 활발히 일어나고 있다.

1. VoIP

는 를 나타내는 것으로 아날로그 신호를 디지털 데이터 패킷으VoIP VoIce Over IP

로 전환하여 을 통해 전송하는 것이다 이는 망의 전화 서비스packet network . PSTN

를 인터넷망으로 전환시킨 서비스이다 인터넷의 발전에 따라 전세계에 통일된 데.

이터망이 형성되면서 음성과 데이터를 네트워크에 통합하려는 시도이고 다양한IP

어플리케이션에 적용 가능하며 음성을 인터넷망으로 흡수하여 음성 통신비용을 절

감하려는 목적으로 등장하게 되었다 구성요소로는. VoIP IP phone, PC, Soft

등과 같은 클라이언트 와 같은 인Phone, Analog Phone , Switch, Router, Gageway

프라스트럭쳐 와 같은, Call Manager, Gatekeeper Call control element, Voice

과 같은 어플리케이션이 있다 현재 를 위한mail, Unified messaging . VoIP Call

프로토콜은 등이 있으며 와 등에서control H.323, MGCP, SIP, Megaco, ITU-T IETF

표준화 작업을 진행중이다.

Page 17: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 17 -

그림 서비스 구성도2-1. VoIP

2. FoIP

는 를 나타내는 것으로 아날로그 신호로부터 를 추출하FoIP Fax Over IP fax image

여 로 만들어 을 통해 전송하는 것이다 여기에는 두 가digital data packet network .

지 방법이 존재하는데 방법과 방법이 그것이다"real time" "store and forward" .

에서는 상의 수신을 방법을Frame Relay forum Frame Relay network Fax real time

채택했으며 와 에서는 와ITU IETF real time FoIP(T.38) store and forward

모두를 지원한다 특히 은 에서 을 위한 전송 프로토FoIP(T.37) . T.38 ITU H.323 fax

콜로 선택했다.

망을 이용하여 통신하는 것은 비용 절감을 가져온다 의 원IP packet fax . Fax data

래 형태는 이다 그러나 망을 이용하는 서비스에서는 를digital . PSTN fax fax data

하고 아날로그 형태로 바꾼다 즉 양방향 의 를 사용modulation . 64 Kbps bandwidth

한다 그러나 는 에서 아날로그. FoIP Fax over Packet Interworking Function(IWF)

변형을 하는 대신 패킷 네트워크상에 를 전송하고 받는 을digital data fax machine

위해 다시 아날로그로 변형하는 작업을 수행한다 아래의 그림과 같이 이런 처리는.

형태의 데이터가 더욱 효율적이고 전송 또한 이므로 를digital fax half duplex fax

보내기 위해 요구되는 전체 의 감소되어 비용면에서 효율적이다bandwidth .

그림 2-2. Fax over Packet conversion process

Page 18: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 18 -

제 절 동향2 MoIP

인터넷을 통해 음성 데이터를 전송할 수 있도록 해주는 VoIP(Voice over Internet

의 등장으로 국제 전화나 시외 전화 같은 고가의 전화 서비스를 저렴한Protocol)

시내 전화 요금으로 이용할 수 있게 되었으며 이용자는 시내 전화 회선이나VoIP

전용선을 통해 바로 인터넷에 접속한 후 전세계 어디든지 원하는 지역과 통화가 가

능하게 되었다 에 따르면 년 전세계 통화량은 총 억. TeleGeography 1999 VoIP 17

분 에 달한 것으로 나타났으며 년에는 억 분 년에는 무려(minutes) 2000 37 , 2005 62

억분에 이를 것으로 예측되고 있다 한편 미국이 전세계 통화량의 을 점유. VoIP 1/3

하고 있으며 향후 중국 브라질 인도에서도 인프라와 장비 증가에 힘입어 동, , VoIP

시장이 크게 성장할 것으로 전망하고 있다.

그림 전세계의 이용 통화 시간2-3. VoIP

에서는 의 이용 시간이 년까지는 거의 이었지Probe Research FoIP 1996 0 minute

만 년에는 미국의 국내 시장에서 볼 때 억 국가간의 는2001 1.75 minutes, FoIP 1.1

억 될 것으로 전망하고 있다minutes .

Page 19: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 19 -

미국1.

케이블 관련 기술 개발이 가장 활발함- TV . VOD, Cable Modem, HFC

등에 대한 시스템을 개발 완료하였으며Telelephony , Cox Communication, TCI

등 유수 들이 상용화를 위한Time Warner, Comcast MSO HFC Telephony Service

시험 서비스를 실시하고 있고 경제성 및 사업성 등을 검토 중임

표준규격인 의 용 핵심 칩셋을- MCNS / DOCSIS 1.0 Cable Modem Broadcom,

등에서 이미 양산하고 있고Libit Signal Processing , Stanford Telecom, Rockwell

등도 등의 디지털모뎀용 칩 솔루션을 내놓고Semiconductor Systems QAM, QPSK

있다 사에서는 인증 단말기를 선. SGS Thomson MCNS DOCSIS 1.0 Cable Modem

보이고 있음

- 3Com, Com21, 8X8, Bellcore, Hybrid Networks, Cabletron, Cisco Systems,

등Hayes, MCK communication, Lucent Tech. Intel, Motorola, Terayon, Toshiba

이 기능을 포함하는 시스템 시제품을 데Data Access, VoIP(IP telephony) DOCSIS

모하거나 개발 중에 있음

최근 를 인수한 은 전자상- bay Networks Nortel Remote Learning, IP Telephony,

거래와 이 가능한 을 데모할 계획임Wireless/Cordless Computing VPN

에서는 다수의 가 공유하여 사용할 수 있는 용 케이블- Cisco Systems PC SOHO

모뎀을 출시하고 있고 솔루션을 데모할 계획임V/FoIP

몇몇 벤쳐 기업이 중심으로 네트워크 분야의 거대 기업인 와- Cisco system Inc.

가 동일지분으로 출자하여 설립한 사는 채널 잡음 강하여Sumitomo Corp. Terayon

쌍방향 통신 서비스의 신뢰성을 확보할 수 있는 기S-CDMA(Synchronous CDMA)

술을 이용 상하향 급의 전송 속도를 지원할 수 있는 케이블 모뎀 시스템을, 30Mbps

개발하고 년 하반기 를 목표로 표준규격인 규격작업에, 99 announce DOCSIS 1.2

참여하고 있음.

Page 20: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 20 -

- ADC Telecommunications, Tellabs, Motolora, Westend Systems, Arris

등은 시스템을 개발하여 중에 있Interactive, Telegate Cable Telephony Field trial

년 월 미국 달라스에서는 여개의 주요 전화업체 및 컴퓨터 공급- 1996 11 40

업체들이 인터넷 음성통신제품간의 호환성을 위해 기술적 규격제정을 위한 회의가

포럼에 의해 진행된 바 있음VoIP .

포럼에 제정된 표준은 상에서 비디오 음성 데이터 전송- VoIP H.323 IP Netwrok , ,

을 위한 프로토콜이며 지난해 월에는 인터넷 전화 어플리케이션을 위한 코덱으로, 4

을 채택하고 그 후 음성압축 알고리듬도 채택 함G.723.1 , G.729 .

일본2.

년 월 에서는 칩을 이용한 규격의 케이블 모뎀 생산- 1997 10 Toshiba Libit MCNS

등이 케이블모뎀을 개발하여 왔으며 특히- Toshiba NEC, Pioneer, Sony ,

는 인증을 과 함께 세계 최초로 받아 시Toshiba MCNS DOCSIS1.0 SGS Thomson ,

장에 출시하고 있음.

유럽3.

등이 시스템- Alcatel, Phillips Broadband Networks, Siemems Cable Telephony

을 개발하여 선보이고 있음

이라는 새로운 분야의 기술개발에 힘쓰고 있음- "Cable Telecommunication"

국내의 기술 현황4.

삼성전자가 미국 사 사 등으로 구성된 컨소시움과 함께 지난- Broadcom , CISCO ,

년 말 규격의 케이블모뎀 시제품을 개발하였으며 현재97 MCNS-DOCSIS1.0 ,

단말기를 양산하고 있음Cable Modem

Page 21: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 21 -

대우전자는 사와 기술협력하여 개발을 완료하고- Cadence MCNS Cable Modem

인증시험단계에 있음

주홍정보통신 데이콤 미디어링크 등 중소기업에서도 케이블모뎀을 개발 중에- , ,

있음.

전반적으로 볼 때 몇몇 업체를 제외한 국내업체의 대다수가 외국의 제품을 수- , ,

입하여 시험 시스템을 구축하거나 외국 선진 업체의 기술 도입 또는 수입 핵심부,

품 및 모듈을 이용한 시스템 개발 수준에 그치고 있어 갈수록 선진 외국 업체에의,

기술 종속 및 시장 독점의 우려가 심각해지고 있으며 국가 기술경쟁력 확보 등에,

문제가 커지고 있음 아울러 시스템 규격 표준화나 산업 표준화 미비에 따르는 상. ,

호운용성 문제나 국내 기간통신망 사업자가 외국제조업체 장비 규격에 얽매이게 되

는 등의 문제가 발생할 소지가 큼.

특히 와 연동한 에 대해서는 인력 및 자본부족 등 여러 가- , Cable Network VoIP ,

지 이유로 하여 국내 기술개발은 거의 이루어지지 않고 있는 실정으로 하나로 통

신 두루넷 등 신규 통신사업자들의 장비수요에 대해 전량 수입제품으로 시험할 수,

밖에 없는 상황임

관련 기술을 보유하고 있는 일부 업체의 경우도 몇몇 기술을 제외한 나머지 핵심-

기술을 외국선진업체에 의존하거나 미보유한 상태임

대우전자도 사와 함께 케이블모뎀을 개발하여 년 월 미국- Cadence 97 12

에서 시제품을 발표하였슴"Western Cable Show" .

에 관한 기술은 개발되고 있으나 기술과 접목된 케이블- Data over Cable , V/MoIP

통신 장치의 기술개발은 미흡한 수준임.

Page 22: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 22 -

국내의 관련 사업자 현황5.

한국전력 년도에 전송망을 이용한 화상전화 인터넷 서비스- : 96 Cablr TV , , VOD

를 전국 개 도시 에서 시연회를 실시하였슴 년 차 종합유선방송사업자 선정10 . 97 2

시 전국 개 지역의 망 사업자로 선정되었으며 망을 광대역 정보통신, 24 CATV , CATV

망으로 활용 가능하도록 설계 구축하고 있음,

두루넷 기간통신서비스 사업자로 한전으로 부터 망을 제공받고 삼보- : , Cable TV ,

컴퓨터로 부터 시스템 기술을 사로 부터는 컨텐츠 및 관련, MS(Micro Soft) S/W

을 제공받아 모토롤라사의 케이블모뎀을 이용하여 년 월부터 고속 인solution , 98 7

터넷 서비스를 실시하고 있음

하나로 통신 제 시내전화 사업자로 선정되었으며 향 후 가입자에게 광대역- : 2 ,

멀티미디어 서비스를 제공할 수 있는 가입자망을 구축 중에 있음 투자비용이 적고. ,

지역에 따라 망을 이용한 전화 및 초고속 데이터 서비스를 올해 내에HFC CableTV

실시할 계획으로 여러 가지 솔루션에 대한 시험을 진행하고 있음

한국통신 데이콤 온세통신 등의 기간 통신 사업자 및 아이넷트 한솔텔레콤 현- , , , ,

대정보기술 두산 정보통신 등 사업자 그리고 나래이동통신 광주이동통신등과ISP , ,

같은 지역 사업자들은 인터넷폰을 준비하고 있거나 이미 실시하고 있음VoIP

해외의 산업 현황6.

미국 자국내 의 가입률이 전체 가구의 보급률이 에 이- : Cable TV 62%, PC 50%

르기 때문에 전화보다는 사업에 더 많은 관심을 가지고 있음 년Cable Modem . 94

관련 법규의 개정을 통해 방송사업자와 통신사업자의 사업영역 구분이 없Cable TV

어진 이래 들의 새로운 사업영역으로 개방된 망을 이용한 통신서비, MSO Cable TV

스 사업 특히 사업은 향 후 생존을 위한 전략의 하나로써 지대한, , IP Telephony ,

관심을 기울이고 있음.

Page 23: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 23 -

일본 년대 중반부터 대도시를 중심으로 서비스가 실시되고 있으- : 80 Cable TV

며 유료방송 및 홈뱅킹과 같은 쌍방향 서비스를 일부 시행하고 있슴 도큐, . Cable

는 최근 휴대형 전화 및 데이터 전송의 시험 서비스를 시작했으며 무사시노미타TV ,

카 는 년 월 개국과 함께 고속 데이터 서비스를 시작하였슴Cable TV 97 7 . Cable

방송업자인 긴데츠 는 와 데이터 서비스 시험을 실시함 또한 스TV Network VOD . ,

미토모 이토츄 상사 등이 미국의 관련업체와 손잡고 총괄 운영회사를 설, Cable TV

립 년도부터 전화 사업화에 힘을 써왔으며 년에는 정부 주도 하에, 95 Cable TV , 96

인터넷 또는 전화 등의 통신 전반에 대해 다루는 민Cable TV Cable TV Cable TV ,

관 대학 협의체들이 구성되어 현장시험 기술연구 및 지원 등을 공동으로 수행하, , ,

고 있음 특히 년에는 통신기술 전반의 연구를 수행하기 위한 통신방. 97 Cable TV

송융합기술연구기관 을 설립하였고 자치단체에서는(Inter Cablenet Laboratories) ,

전송망의 효율적인 이용과 뉴 미디어 시대에 부응하는 제반 법령 및 제Cable TV ,

도를 정비하고 있슴.

핀란드는 텔레콤 핀란드 에서 이미 개발을 완료하여 설험중이며 영국은 가- “ ” , BT

와 합작으로 상용화 서비스를 시행중이며 이US West , “TeleWest Communication”

모토롤라의 모뎀을 사용하여 고속 데이터 전송 실험을 실시 중이다.

브라질에서는 개의 프랜차이즈를 가진 이 동부해안 전체를 포함하- 52 “Net Brasil”

는 데이터 서비스 계획을 추진 중이고 기존 전화 시스템이 미국보다 매우 열악하,

기 때문에 케이블 망을 이용한 데이터의 서비스가 주목받고 있슴, .

Page 24: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 24 -

제 장 다채널 케이블 모뎀 하드웨어 설계3 MoIP

제 절 망을 이용한 구조 및 기능1 HFC CM MAC

개요1.

본 과제에서 케이블 모뎀 제작에 사용한 사 칩은B/C BCM3300 MAC MCNS

한 을 갖는 변복조Compliant Physical(PHY) Layer transmission function

상향 하향Tranceiver( : QPSK/16QAM Burst Modulator, : 64/256 QAM

및 표준을 준용하는 이 합Demodulator) DOCSIS MAC(Media Access Controller)

쳐진 로 구성되어 있다1-Chip device .

이 디바이스는 고속의 데이타 송수신과 을 이용한 가정 내에서의HFC Network

및 데이타 송신에 필요한 기능을 제공한다Voice Video .

또한 이 는, single chip device analog-to-digital conversion, Downstream QAM

demodulation, adaptive equalization, MPEG termination, forward error

correction(FEC), Upstream FEC encoding, upstream QPSK/16-QAM

출력을 위한modulation. RF digital to analog conversion, Upstream and

기능을 갖는다downstream MAC Control .

는 전송율Downstream Physical Layer 64/256QAM (64QAM: 30Mbps, 256QAM:

을 지원하며 은 에 의해43Mbps) , Channel decoding ITU-T J.83 ANNEX A and B

수행 한다 는 에 따른 및. Transmission Convergence sublayer MPEG2-TS video

스트림과 프레임 획득 및 다중화를 제공한다Audio .

디바이스내의 는 와의 타이밍 동기TDM/TDMA Framer Center equipment(CMTS) ,

업스트림 생성 및 을MAP decoding‘ Bandwidth Request Contention Resolution

수행한다.

이 디바이스가 지원하는 기능을 요약하면 다음과 같다.

Page 25: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 25 -

규격에 따른- MCNS Baseline Privacy Encryption/Decryption

- Downstream/Upstream PHY Layer Interface

- TDM/TDMA Framer and Scatter/gather DMA Interface

와의- CMTS Timing synchronization

- Upstream MAP Decoding

- Bandwidth Request Generation

- Contention Resolution process

특징2.

에서 케이블 모뎀 제작에 사용하는 칩의 주요특징 및 기능은HFC Network MAC

다음과 같다.

가 의 주요 특징. MAC Chip

(1) MCNS Two-way(SP-RF101) and Telco return(SP-CMTRID02) Support

에 따른(2) MCNS Data Rate 64/256 QAM Supported

(64QAM: 30Mbps, 256QAM: 43Mbps)

(3) Channel Encoding(ITU-T J.83 Annex A and B ) Supported

에 따른(4) MCNS Data Rate QPSK/16-QAM Upstream Supported

전송(5) MAX Upstream Rate: 2,560 Ksym/sec

(Upstream Modulation rate: 160, 320, 640, 1,280, 2,560 ksym/sec)

나 의 주요 기능. MAC Chip

(1) Real-Time Hardware Processing

의(2) MAC Message and Data PDU CRC Generation/Verification

의(3) MAC Header HCS Generaton/Verification

의(4) Time Stamp and system timing Insertion and Processing

및(5) MAP Message Handling Upstream Bandwidth Request

Page 26: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 26 -

(6) 4-SID and 56-bit DES Encryption (Export: 40-bit disable) Support

외장형(7) MCNS Compatible Security Module(RSM) Supported

(8) Encryption Tunneling Supported

(9) DMA Supported(Two Downstream Queue and One Upstream Queue)

(10) Support up to 1MB of shared RAM

(11) SPI(serial Control Interface)

전체 시스템 구성도3. CM

에서 만든MCNS(Multimedia Cable Network Systems) Group DOCSIS(North

규격을 준용하는 케이블 모뎀은 로America Mainly, Approved by ITU) Coax Cable

부터 일반 가정에 고속의 데이터를 송신 또는 수신하는데 필요한 모든 기능을 제공

해야 한다.

상기의 동작을 수행하기 위하여 케이블 모뎀은 필터링 채널 터널링 아날로Diplex , ,

그 디지털 및 디지털 아날로그 변환 다운스트림 복조-to- -to- , 64/256QAM ,

채널등화 순방향 에러제어 업스트림Adaptive , MPEG2-TS Stream Parsing, (FEC),

인코딩 업스트림 변조 업스트림 업 스트FEC , QPSK/16-QAM , RF Upconversion,

림 및 다운스트림 제어기능 등을 수행해야 한다 또한 케이블 모뎀은 완전한MAC .

기능을 갖어야 한다 한 케이블 모TCP/IP transparent . MCNS/DOCSIS-compliant

뎀의 전제 기능 블록을 그림 에 나타내었다3-1 .

가 기본 하드웨어 구성요소.

케이블 모뎀을 구성하고 있는 주요 구성요소를 보면 다음과 같다.

이는 및 을 제어하고 프(1) CPU Block - DRAM, FLASH, serial, EEPROM ROM ,

로그램을 수행할 수 있는 이다BCM3310 processor .

인터페이스 케이블 모뎀과 컴퓨터를 연결하기 위한(2) 10BaseT Ethernet/USB -

Ethernet/USB Tranceiver

Page 27: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 27 -

(3) Highly integrated Two-Way Tuner/transmitter module

을 이용(4) VoIP Telephony ready line card module - HFC Network Telephony

를 담당하는 이다 이 을 이용한 에IP Service VoIP Module . Module VoIP daughter

관한 내용 및 호스트와의 인터페이스에 관한 내용은 뒷부분에서 다루기로 한다.

케이블 모뎀의 을 컴퓨터의(5) RS-232 Craft Interface/debug port Configuration

로 모니터링을 하기 위한 인터페이스HyperTerminal

그 밖에 케이블 모뎀의 수행을 위해 향후(6) , Booting, Program External ROM,

케이블 모뎀의 프로그램이 외부 서DHCP(Dynamic Host Configuration Protocol)

버를 통해 될 수 있도록 하기 위한 케이블 모뎀과 컴퓨터Upgrade Flash Memory,

의 일반 를 하고 저장 할 수 있는 등으로 구성된다IP Data load DRAM(4MB) .

그림 케이블 모뎀 하드웨어 블록도3-1.

Page 28: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 28 -

나 상세 디바이스 기능.

(1) CPU(BCM3310)

은 다용도 통신 프로세서이고 통신 및 네트워크를 위한 다양한 주변장치BCM3310 ,

를 가지고 있다 은 케이블모뎀이나 이더넷. BCM3310 SOHO(Ethernet small

등에 적용하기위해 만들어진 고성능 데이터 전송 프로office/home office), xDSL

세서이다 이 에 관한 설명은 다음절에서 다시 자세히 다루기로 한다. CPU .

(2) DRAM Memory Bank

사 을 위해 사용하는 사B/C MAC IC(BCM3300) DRAM Bank(TI :

는 크기의 를 사용하고 있다TMS418160-60DZ) 1M x 16 DRAMs SOJ Package .

은 또는 보다 빠른 을 갖는 이며 모든DRAM 60nS access time Fast Page Mode ,

로 하다 은bus width modes(byte, word, long) addressable . DRAM 1M x

을 제공한다 의 내부 제어기는32(4MB) Memory Bank . CPU(BCM3310) DRAM

및 을 제공한다Multiplexed address, RAS/CAS signals, refresh timing control .

의 는 의 과 연결되어 있다DRAM Bank RAS CPU RAS1(CS1) .

(3) Flash Memory

케이블 모뎀 운용을 위해 사용하는 는 인텔사 을 사용하고Flash device 28F320S3

있다 공급전원 및 프로그래밍 전원은 를 사용한다 디바이스의 용량은. + 5V . 1M x

이며 의 크기를 갖는다 의 신호가32 , non-volatile storage 4Mbyte . CPU CS7 Flash

를 인에이블 한다memory .

(4) Preventing Data Corruption

는 가지의 를 갖으며 내의 데이타 붕괴Flash device 3 design feature , flash memory

를 막기 위해 를 방지한다inadvertent write operation .

Page 29: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 29 -

(5) Low voltage detection and reset on CPU

에 전원 공급이 이하로 되면 의 및CPU 4.7V Drop , CPU Low voltage detection

은 의 신호를 발생시킨다 이는 가 예측할 수 없reset control circuit CPU reset . CPU

는 동작을 수행하는 것을 막는다.

(6) OTP EPROM Code Storage

케이블 모뎀은 으로 저장을 위해 한 개의32pin PLCC socket program code

를 갖고 있다 은OTP(One Time Programmable) EPROM device . OTP EPROM

크기의 로서 어드레스 된다 전원은 를 사용하며 의1M x 8 8bit memory . +5V , CPU

로 인에이블 한다 이 디바이스는 프로그램 후 디져블 할 수CS0 Signal . Startup

있다.

(7) EEPROM Parameter Storage

로 제어하는 는 을 사용하고 있으며Serial EEPROM Device XICOR X76F400 , CM

와 같은 또는 변경될address, IP address, Operation system parameter default

수 있는 시스템 파라미터 값을 저장한다.

이 디바이스의 표기는 이며 의 로 구성512 x 8bit , 496byte EEPROM Array bank

되어 있다 는 처럼 동작하며 의. Serial Interface I2C serial bus , CPU general

으로 연결되어 있다purpose I/O port pin .

(8) Ethernet Interface

케이블 모뎀은 로 단일 을 제공한다RJ-45 Style connector 10BaseT connection .

의 내장 에 단순히 추가로 완전한CPU(BCM3310) Ethernet MAC Physical interface

을 제공한다 소자는Ethernet connection . Physical interface Ethernet

사 로 구성한tranceiver(ex. B/C BCM5201), external oscillator, RF Transformer

다.

Page 30: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 30 -

(9) Serial Ports

케이블 모뎀은 외부 로 엑세스가 가능한 단일DB-9 female connector RS-232

를 제공한다 를 위한 는 내에 구현되어 있다Serial port . Console port UART CPU .

은 의 를 의MAXIM MAX208 CPU(BCM3310) Serial I/O TTL signals RS-232C levels

신호로 변환한다TXD, RXD .

(10) USB

는 를 갖고있다 은 내부에 구현CPU(BCM3310) Built-in USB Driver . USB MAC CPU

되었으며 를 위해 를 사용하였다 인, Data movement internal DMA channels . USB

터페이스를 완성하기 위해 필요한 단일 소자로 사 을 사용했으Philips PDIUSBP11A

며 이는 이다, USB Tranceiver .

(11) VoIP/Telephony Module

은 및 의 를 제공하기 위한VoIP Module SLIC / SLAC Two phone line BORSCHT

관련 를 갖으며 를 위한circuitry , SLIC / SLAC-to-BCM3310 interface Altera

를 갖는다 모듈은 또한 에 및FPGA . VoIP line interface "battery" power ringing

에서 를 제공하기 위해 를state ringing voltage low-power, high-voltage generator

갖는다 는 과 과의 모든 필요한 인터페이스 기능을 제공. FPGA SLIC/SLAC BCM3310

한다.

게다가 케이블 모뎀은 과 모듈간의 를 제공, BCM3310 VoIP 4-wire TDM interface

한다 는 에 을 제공해야. TDM Capable line card BCM3310 TDM sync, clock signal

한다.

다 및. DOCSIS MAC PHY

(1) Downstream Physical Layer Interface

는 의 부로Downstream Physical Layer Interface MAC IC(BCM3300) Demodulator

구성된다 는 한. Demodulator complete MCNS/DOCSIS-compliant QAM

및 모든 및 을demodulation MCNS modulation formats, symbol rates FEC rate

지원한다 는 또한 를 내장하고 있으며. Demodulator on-chip A/D Converter ,

로부터 신호를 직접 수신한다tuner/transmitter .

Page 31: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 31 -

하향 물리계층 수신기는 MCNS transmission convergence sublayer(MPEG

를 지원하며 으로부터 을2-transport stream) , MPEG2 stream MCNS Data packets

추출한다.

사 는 또한 일본 및 유럽에서 사용하는MAC Tranceiver IC(B/C BC3300) ITU-T

및 를 지원하며J.83 Annex A C physical layers , Standard(North American)

에서 사용하는 도 지원한다DOCSIS application Annex B .

(2) Upstream Physical Layer Interface

는 의Upstream Physical Layer Interface MAC(BCM3300) QPSK/16QAM Burst

부로 구성된다 는 모든Modulator . Modulator MCNS/DOCSIS upstream modulation

및 뿐만아니라formats, symbol rates FEC rates MCNS-required burst profile

를 지원한다 는 와 직접 연결되어preamble features . Modulator tuner/transmitter

있으며 출력 을 가변 할 수 있는 를 내장하고 있다, level on-chip A/D converters .

라 개발 시스템 시험 환경 구축.

본 과제에서 개발한 케이블 모뎀의 상호 호환성 시험 및 운용을 위하여 다음 그림

와 같이 개발 시스템 시험 환경을 구축하였다 장비 는 일반 산업3-2 . H/E (CMTS)

용 이상의 에Compact PCI ver. 2.1 platform SBC(Single B/D computer, CPU:

이상 가 장착되어 있으며 외부 과 을 연MMX166 ) , WAN/LAN Network HFC Network

결 및 통합하는 장비이며 이를 통해 와 연결된다, ISP(Internet Service Provider) .

는 에서 출력되는 의 신호를 입Digital dual Upconverter CMTS IF 43.75 or 44MHz

력받아서 의 로 변환을 한다 은91-857MHz(B/W: 6MHz) Frequency . NMS System

의 와 로 연결되며CMTS SBC(Single B/D Computer) 100BaseT Ethernet port ,

를 사용한 가변등을 수행한다SNMP Network Status monitoring, Frequency .

Page 32: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 32 -

또한 로 를 통해Local Server switching Hub DHCP(Dynamic Host Configuration

ProtocoI), Web, TFTP(Trivial File Transfer ProtocoI), TOD(Time of Day) Server

를 연결하였다.

그림 케이블 모뎀 테스트 환경3-2.

구조4. CM Media Access Controller

케이블 모뎀 제작에 사용한 는 사MCNS/DOCSIS compliant MAC device B/C

를 사용하였다 케이블 모뎀 제작에 사용한 디바이스의BCM3300 MAC Tranceiver .

기본 운용 및 동작을 설명하기 위해 전체 내부 상세 블럭도를 다음그림에 제MAC

시하였다.

Page 33: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 33 -

이 의 는 외부에 연결되어 있으며 본 개발에 사용된 는Device CPU , CPU Broadcom

사의 을 사용하였다 는 단지 데이타를 송수신 위해서BCM3310 . MAC Device

를 사용한다 또한master/slave mode DMA(Direct Memory Access) . MAC

를 위한 데이타 저장을 위해 외부 을 사용한다 이에 대한 내부 블Tranceiver SRAM .

럭의 상세 설명을 다음에 기술하였다.

그림 내부 상세 블럭도3-3. MAC

주요기능5.

칩은 다운스트림 기능 부 업스트림 기능 부 메모리 인터페이스MAC Tranceiver , ,

부 제어 부의 가지 주요 부분으로 나눌 수 있다, Miscellaneous 4 . MAC

칩 내부의 다운스트림 프로세서 메시지 프로세서 프로세서 및 다Tranceiverr , , MAP

운스트림 부분은 다운스트림 기능을 수행하며 업스트림 헤더 프로세서 업스DES , ,

트림 및 업스트림 제어부는 업스트림 기능을 수행한다 제어부는 공유DES . DMA

메모리와의 모든 부가적인 기능을 제공하며 주요 칩의 가지 제어부 구성을, MAC 4

보면 다음과 같다.

Page 34: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 34 -

하향스트림 기능부-

Downstream Processor, Message Processor, MAP Processor Downstream DES

Processor

상향스트림 기능부-

부Upstream Header Processor, Upstream DES and Control

제어 부- DMA

Downstream and Upstream DMA section

기타 제어부-

CPU Interface, Management Information Base(MIB)

Timing Regeneraton Circuit(TRC), SPI

가 수신부 기능. Downstream

칩 내부의 다운스트림 수신 부는 복조기로부터 프레임을MAC 64/256 QAM MPEG

수신 프레임으로부터 프레임을 추출 헤더 처리 메시지, MPEG MCNS MAC , MAC ,

및 데이터 필터링 및 메시지 처리 데이터 패킷, MAP SYNC , Decryption, MAC

에 대한 체크기능을 갖는다Payload CRC .

주요 기능을 요약하면 다음과 같다.

내부의 기능부는 로부터- MAC Chip Downstream 64/256 QAM Demodulator

수신MPEG2-TS Compliant Video and Audio Stream

에서- MPEG Frame MCNS MAC Frame Extract

- MAC Header process

- Message and Data PDU Filtering

- MAP and SYNC Message process

- Data Packet Decryption

- MAC Payload CRC Check

아래 그림 케이블모뎀의 칩에서 으로 출력되는 또는 으MAC Upstream Downstream

로 내려오는 프레임 구조 및 헤더를 보여준다 칩 내부의 기능블럭 설MAC . MAC

명을 위해 그림을 제시하였다.

Page 35: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 35 -

그림 및3-4. MAC Frame Header format

그림에서 각 프레임을 구성하고 있는 항목을 살펴보면 다음과 같다.

- FC(Frame Control)

- FC_TYPE=00: Packet PDU MAC Header

01: ATM PDU MAC Header

10: Reserved

11: MAC Specific header

- FC_PARM=MAC Specific header

=00010: MAC Header only, no Data PDU

=00001: Management MAC header

=00011: Fragmentation MAC header

=11100: Concatenation MAC header

=00000: Timing Header

=00010: Request MAC Frame

Page 36: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 36 -

- EHDR_ON=0: no EHDR

=1: EHDR exist

- MAC_PARM: if no EHDR, Set to Zero, Otherwise EHDR Length

- LEN : Packet PDU Length or Service ID(Request Frame)

- HCS : MAC Header Check Sequence

다운스트림 프로세서 부(1)

다운스트림 프로세서는 복조기와 연결될 수 있는 물리계층 인터페이64/256 QAM

스를 갖는다 스트림으로 입력되는 이러한 인터페이스 프레임은 기 지정된. MPEG

를 하고 프레임을 찾기 위해 프로임내에 포함된 옵셋 값PID Filtering , MAC MPEG

을 이용한다 추출된 프레임은 메시지 프로세서내의 헤더 프로세싱 블. MAC MAC

록으로 넘겨지고 를 통해 헤더 프로세싱 블록으로 입, Rate conversion FIFO MAC

력된다 두 헤더 프로세싱 블록은 유사한 기능을 갖는다 이들 블록은. MAC . MAC

헤더내의 영역에서 을 찾는다 메시지FC_TYPE TYPE(11: MAC Specific Header) .

프로세서 부내의 헤더 프로세서는 단지 메시지만을 처리한다 다MCNS MAC MAC .

운스트림 프로세서내의 헤더 프로세서는 메시지가 아닌 패킷MAC MAC (Data PDU

들을 처리한다MAC Packet) .

두 헤더 프로세서들은 확장 헤더의 를 결정하고 헤더에 대한Length , MAC Header

를 계산하며 헤더내에 포함된 값과 계산된 를 비Check Sequence(HCS) , MAC HCS

교한다 상기의 경우에서 값이 일치하면 패킷 상에서 그 다음 프로세싱이 진. HCS ,

행되고 그렇지 않으면 헤더프로세서는 패킷을 무시하고 인터페이스에, MAC PHY

을 요청하는 신호를 보낸다 올바른 값을 갖는 패킷에 대Re-synchronization . HCS

해 헤더 프로세서는 패킷에서 확장 헤더시작 시작 및 의 길이를MAC , PDU PDU

하는 제어신호를 생성한다 그 다음 다운스트림 내에 있는 헤더 프로세FLAG . MAC

서는 다운스트림 블록에 어떤 패킷을 갖는 제어 신호를 전송DES Non-message

한다.

Page 37: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 37 -

주요기능을 요약하면 다음과 같다.

- Accept 64/256 QAM, Demodulated, Equalized and error corrected,

- MPEG-2 Parallel Stream

- MPEG Packet Header Decoding(first detect MPEC sync(ox47) byte

- PID(Packet ID,13 bit) Filtering(DOCSIS Well-known PID:0x1FFE)

에 의한 최초 위치- Pointer_field(1 byte) MAC Frame Serach

기능 유사- Two MAC Header Processing block ( )

의 에서- MAC Header FC_TYPE Field Type Search

내의- MAC Message Processor MAC Header processor:

- Only MAC Message Process

내의- D/S Processor MAC Header Processor:

아닌- MAC Message Packet PDU Process

- EHDR Exist -> EHDR Length Extract

- HCS(Header Checksum) Calculate

내의 와 계산한 비교- MAC Header HCS Value HCS

으로 전송- DES BLOCK Control Signal

메시지 프로세서 부(2)

앞에서 기술된 것처럼 메시지 프로세서는 헤더 프로세서를 갖는다 메시지 프로세, .

서는 메시지 에 대한 계산을 위해 헤더 프로세서가 생성한 제어 신호payload CRC

를 사용한다 가 올바르면 메시지 프로세서는 메시지의 를 찾는다. CRC Type Field .

메시지 프로세서는 메시지로부터 를 추출하고 이 값을SYNC Time Stamp , TRC

로 보낸다 메시지 프로세서는 업스트림 채널 및Circuitry . ID UCD Change count

와 정합을 이루는 메시지를 로 보낸다 유효한 를 갖는 남은MAP MAP parser . CRC

메시지들은 다운스트림 메시지 로 넘겨진다 및 메시지 또(DSM) DMA . MAP SYNC

한 다운스트림 메시지 에 보내진다(DSM) DMA .

Page 38: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 38 -

주요기능을 요약하면 다음과 같다.

- Payload Processing

Examine PDU Type Field(Packet Data, ATM data, MAC Control Data)

Check Specific Payload type(Other ignore)

로부터 추출하여 로- SYNC Message Time Stamp TRC(Timing Recover Circuit)

전송

를 으로 전송- MAP Message MAP Parser block , Match Upstream

및Channel ID UCD Change Counter

한 부로 전송- Valid CRC Message -> DSM(Downstream Message) DMA

다운스트림 부(3) DES

다운스트림 는 다운스트림 프로세서내의 헤더 프로세서로부터 데이터 패킷 및DES

제어 신호를 수신한다 다운스트림 는 헤더를 기초로 하여 어떤 유형의. DES MAC

필터링을 적용할 것인지 결정한다 패킷이 를 지원하면 다운스트. Baseline privacy ,

림 는 를 기초로 하여 패킷을 필터한다 그 다음 블럭 는DES SID . DES DES

내에 있는 및 비트에 상응하는 를Baseline privacy header SID Even/odd key key

사용해 패킷을 한다 되지 않은 패킷에 대해 다운스트림 는decrypt . Encrypte , DES

목적지 어드레스를 기초로 하여 패킷을 한다 이들 패킷에 대해 칩은Filter . MAC

아무런 을 수행하지 않는다 패킷을 필터링하고 어느 필요한Decryption . decryption

을 제공한 후 블럭은 패킷을 블럭으로 넘긴다 블럭은, DES CRC . CRC PDU

에 대해 를 계산하면서 패킷을 다운스트림 로 전송한다 계산payload CRC-32 DMA .

된 값이 패킷에 있는 값과 일치하지 않으면 에러 플러그가 설정되고 패CRC , CRC

킷은 버퍼에 에러가 있는 것으로 된다DMA MARK .

Page 39: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 39 -

주요기능을 요약하면 다음과 같다.

- QAM Downstream Data Packet Data Decryption and CRC Check

로 전송-> DS DMA Module

를 기초로 어떤 유형의 적용 여부 결정- MAC Header Filtering

인 경우 를 기초로 수행- Baseline Privacy , SID Packet Filtering

내에 있는 및 사용해- Baseline Privacy Header SID Even/Odd Key Decryption

수행

를 기초로 수행- If No Encryption, DA Packet Filtering

부 전송-> After CRC-32 Check, DMA Controller

-> No Decryption(Packet Tunneling)

는- All MAC Header and Extended Header No Encryption

로 에 저장-> DES Module Forward ->SRAM

- DES Security Header Parser

-> Key Seq./Version(1 Byte), SID(2 Byte), Reserved(1 Byte)

는 으로 전송- MAP Message MAP Parser block

및-> Match Upstream Channel ID UCD Change Counter

한 부로 전송- Valid CRC Message -> DSM(Downstream Message) DMA

프로세서 부(4) MAP

프로세서는 메시지 프로세서로부터 메시지를 수신한다 프로세서에MAP MAP . MAP

있는 는 메시지에 있는 를 한다MAP Parser MAP Information Element(IE) Filter .

는 케이블 모뎀에 속해있는 그러한 정보 를 에 보낸다Parser element MAP SRAM .

은 가 하고 업스트림 제어기가 할 수 있는MAP SRAM MAP Parser write , read Dual

이다 주요 기능을 요약하면 다음과 같다port . .

Page 40: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 40 -

부에서 수신- Message Processor MAP Message

는 내에 있는- MAP Parser MAP Information Element(IE) Filtering

-> MAP IE 32-bit(SID: 14-bit, IUC(4-bit), mini-slot offset: 14-bit)

는 에 저장-> MAP IE SRAM

가 가- SRAM : MAP Parser Write, Upstream Controller Read Dual-port SRAM

나 송신부 기능. Upstream

업스트림 헤더 프로세서 업트스림 및 업스트림 제어부는 칩 내에서, DES MAC MAC

를 로 전송하는 업스트림 기능을 제공한다Message CMTS

업스트림 헤더 프로세서 부(1)

업스트림 헤더 프로세서는 제어기로부터 패킷을 수신한다 업스트림 헤더 프DMA .

로세서는 에 대해 을 계산하고 이 값을 헤더내의 필드에Packet CRC-16 , MAC HCS

삽입한다 업스트림 헤더 프로세서는 업스트림 블럭에 제어신호를 발생한다. DES .

이들 제어신호는 프레임의 시작 확장 헤더의 시작 의 시작MAC , , Payload , Payload

의 길이를 표시한다 주요기능은 다음과 같다. .

에서- DMA Controller Packet Receive

- CRC Generation and MAC Header Insertion

에 전송- Upstream DES Block Control Signal

- Control Signal

-> MAC Frame Start

-> Extended Header Start

-> Payload Start and Payload Length

Page 41: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 41 -

업스트림 부(2) DES

업스트림 블럭은 프레임의 에 대해 를 계산하고 이 값을DES MAC Payload CRC-32 ,

패킷의 끝에 덧붙인다 업스트림 는 이 인에이블 되었는지 결정하기. DES encryption

위해 확장 헤더를 살펴본다 이 인에이블 되지 않았으면 업스트림. Encryption , DES

는 패킷을 업스트림 제어기로 한다 이 경우 업스트림 는Forward . DES Key lookup

들 수행하기 위해 확장 헤더 내에 있는 및 비트를 사용한다 블SID Even/odd . DES

럭이 인에이블 되었으면 업스트림 는 패킷을 하고 업스트림 제어기로, DES encrypt ,

한다 주요 기능은 다음과 같다forward . .

및 에 덧붙임- Payload CRC-32 Calculation Packet

- Encryption Enable

- If not Encryption, DES Packet Forward

참조하기 위해 내에 있는- If Encryption, Key lookup table Extended Header

사용해SID and Even/Odd key Packet Encryption process

부로-> Upstream Control Packet Forward

업스트림 제어 부(3)

업스트림 제어기는 으로부터 를 가져오MAP SRAM MAP Information Elements(IE)

며 이들 를 다음 업스트림 와 비교한다 카운터가 정합 되, Element minislot count .

면 업스트림 제어기는 에 의해 기술된 의 를 산출한다 케이블, MAP IEs slot offsets .

모뎀이 에 응답할 필요가 있으면 업스트림 제어기는 변조기에IE , QPSK/16-QAM

적절한 물리계층 파라미터를 하고 적절한 메시지 또는 데이터 패킷을Load

한다 이러한 동작은 및 모뎀의 상태에 의존한다 업스forward . MAP IEs(slot type) .

트림 제어기는 최초 에 응답하며 마이크로프로세서가 모뎀Initial maintenance slot ,

이 되고 또는 가 할당되었음을 신호할 때Initial Range SID(Temporary permanent)

까지 모든 및 을 무시한다 업스트림 제어기station maintenance slot request slot .

는 공용 내부 메모리로부터 를 가져와서Ranging request Initial maintenance slot

에 응답한다 일단 모뎀이 초기 되면 스테이션. Range , maintenance message,

및 에 응답하며 이제는 에 응답하지requests grant , Initial maintenance message

않는다.

Page 42: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 42 -

가 끝나면 업스트림 제어기는 업스트림 큐를 모니터 한다 패킷의 전Range , DMA .

송 준비가 완료되면 업스트림 제어기는 랜덤하게 가용한 중 하나를, Request slots

한다 그 다음 업스트림 제어기는 자신의 송신 시간보다pick . , request upstream

더 지난 를 갖는 또는 수신을 대기acknowledgement(length zero grant) ACK time

한다 모뎀은 이 지나 가지전에 를 수신하지 못하면 업. ACK time acknowledgement ,

스트림 제어기는 자신의 를 재전송 하기 위한 또 다른 을 선택request request slot

하기 위해 이진 지수적 백오프를 수행한다 모뎀이 되면truncated . acknowledge ,

업스트림 제어기는 수신을 대기한다 모뎀이 되면 업스트림 제어기는grant . grant ,

전송을 기다리는 한 패킷이상이 또 있는지 큐를 살펴본다DMA .

패킷이 큐에 있으면 업스트림 제어기는 큐에 있는 다음 패킷의 길이DMA , DMA

를 살펴보고 현재 패킷의 헤더의 에 그 길이에 해당하는 적, MAC piggy-back field

절한 추가 를 넣으며 적절한 전송시간에 패킷을 변조기에 보낸다mini-slot length , .

주요기능은 다음과 같다.

에서 가져옴- MAP SRAM MAP IE(Information Element)

과- MAP IE mini-slot offset Upstream mini-slot count Compare

-> If match, Message and Data packet transfer

- First, Initial maintenance process, Ignore Station Maintenance

사용 최초-> Tempory SID(0x00) , Ranging process

- Second, Station Maintenance process, Ignore Initial Manitenance

사용-> Tempory(From CMTS) or Permanent SID(From CMTS)

-> Ranging process

- After ranged, Monitor Upstream DMA Queue

필요한 하여 송-> If Packet Ready, Mini-slot Length Insertion Packet

의 에-> If More than One Packet, MAC Header Piggy-back field

Mini-slot put

Page 43: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 43 -

제어부(4) DMA

제어기는 다운스트림 및 업스트림 부로 구성된다 다운스트림 부에DMA DMA . DMA

는 두 채널이 있다 한 채널은 데이터 패킷을 위해 사용되고 다른 채널은 메. , MAC

시지 패킷을 위해 사용된다 블럭은 다운스트림 프로세싱 로직으로부터 데이. DMA

터 패킷을 받아들여 에 적재한다 블럭은 데이터 위치를 제SRAM . DMA Placement

어하기 위해 으로부터 버퍼 를 읽는다 단일 채널 업스트림 블SRAM structure . DMA

럭은 으로부터 업스트림 헤더 및 를 읽어서 통합된 패킷을 업스트림 프SRAM PDUs

로세싱 로직으로 보낸다 내에 있는 패킷 및 는. SRAM Descriptor Buffer Descriptor

및 전송을 위해 사용한다 주요 기능은 다음과 같다MAC Message Data . .

- Two Downstream DMA Channel

저장-> One, Data packet receive(SRAM )

-> Second, MAC Message Packet receive

- Upstream DMA

에서 를 읽어서-> SRAM Upstream Header and Data PDU Upstream

부로 전송processing

기타 제어부(5)

인터페이스CPU , Management Information Base(MIB), Timing Regeneration

및 부분이 이에 속한다Circuit(TRC) SPI .

Page 44: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 44 -

인터페이스 부는 칩과 마이크로세서간의 인터페이스를 제공하며 이를CPU MAC ,

통하여 외부 마이크로프로세서는 칩 복조기MAC , 64/256 QAM , QPSK/16-QAM

변조기내의 모든 내부 레지스터를 엑세스 할 수 있다 인터페이스를 통한. CPU

복조기 변조기 엑세스는 에 의해 제공64/256 QAM , QPSK/16-QAM on-chip SPI

된다 블럭은 칩에 대한 을 저장한다 블럭은 메시. MIB MAC statistics . TRC SYNC

지로부터 값을 사용해 업스트림에 대한 를 제공한다Time stamp timming recovery .

주요 기능은 다음과 같다.

구성- : CPU Interface, Management Information Base (MIB),

Timing Regeneration Circuit(TRC) and SPI

과 간의- CPU I/F: MAC Chip u-processor I/F

이로서 외부 는 복조기-> , CPU MAC Internal Register, 64/256 QAM ,

변조기 외부QPSK/16QAM , SRAM(up to 256 Kbyte) Access

의- MIB Block: MAC Chip Statistic Store

에서 사용해- TRC Block: SYNC Message Time Stamp Timing Recovery

process

다 다운스트림 인터페이스 기능. PHY

다운스트림(1) MAC

다운스트림 은 를 갖는 수신기로 구현되며 다운 스트림MAC FEC 64/256 QAM ,

로부터 병렬데이타 프레PHY Demodulated, Equalized, Error corrected, MPEG-2

임을 받는다 부와 간의 다운스트림 는 핸드쉐이킹 및. PHY MAC Data path PS_CLK

에 바이트 동기없이 인터페이스로 연결된다1I-Wire .

Page 45: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 45 -

인터페이스 모듈(2) PHY

인터페이스 모듈은 패킷 헤더 디코딩을 수행한다 먼저 인터페이PHY MPEG . PHY

스는 바이트를 검출하고 그 다음 헤더내에 있는MPEG sync(0x47) , MPEG 13-bit

를 데이터를 위한 와 정합시킨다 데이터Packet Identifier(PID) Private PID . Private

와 정합되지 않는 패킷은 다운 스트림 프로세싱으로부터 된다PID MPEG block .

가 정합되면 인터페이스는 를 찾는다PID , PHY transport_error_indicator . Transport

에러가 없으면 인터페이스는 옵셋 값이 패킷내에 포함PHY End-of-frame MPEG

되어 있는지 결정하기 위해 비트를 찾는다Payload-unit-start-indicator .

옵셋값은 모뎀이 초기화시 다운스트림 데이터 프레임과 을 시도End-of-frame lock

하는 상황에서 또는 실패시 수행되는 상황에서 사header check sequence(HCS)

용될 수 있다 옵셋은 현재의 프레임 내에 남아있는 바이트 수를 나타낸다. MAC .

는 이 값을 하고 각 도달시MAC Tranceiver Latch , MPEG payload byte decrement

한다 옵셋 카운터가 다음 헤더 수신 전에 로 설정되면. MPEG Zero , MAC

는 다음 프레임의 시작을 찾기 시작한다Tranceiver MAC .

클럭 사이클 병렬 데이터(3) -

병렬 데이터는 신호가 되는 각 마다 인터페이스와PS_VALID active PS_CLK PHY

된다 이 모듈 출력인 신호는 모뎀이 프레임에 되어Clock . PS_VALID MAC LOCK

있고 도달하는 데이터가 또는 옵셋이 아니며 현재 패킷을 위한, MPEG sync, PID, ,

데이터 가 이 현 모뎀을 위해 인증 받지 못하는 동안은 된다 한private PID Assert .

정된 패킷 의 남은 바이트 및 새로 형성된 데이터 유효 신호MPEG payload 185

는 다운스트림 헤더프로세서 블럭 및 변환을 위한(PS_VALID) MAC Rate external

로 전송된다FIFO .

Page 46: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 46 -

표 바이트 상세 기능표3-1. FC

바이트 상세 기능표FC

FC[7:6]

FC_TYPE=

패킷 헤더00 -> PDU MAC

헤더01 -> ATM PDU MAC

헤더10 -> Reserved PDU MAC

제어 헤더11 -> PDU MAC

FC[5:1]

FC_PARM=

헤더 경우에만 적용* FC_TYPE = 11

헤더00000 -> timming

헤더R0010 ->Request (R=0, Mini-slot

Request: R=1, ATM cell request)

헤더11100 -> concatenation MAC

헤더의 디폴트 값00001 -> MAC Management

FC[0]

EHDR_ON=

0 -> No extended header

헤더내에 헤더 있음을 나타1 -> MAC Extended

헤더프로세서(4) MAC (MHP)

표 상세 기능표3-2. MAC_PARM -1

상세MAC_PARM BREAKDOWN

MAC_PARM[7:0]

인경우 헤더의EHDR_ON =1 , Extended

길이 를 로 나타냄(ELEN) Byte EHDR_ON

인경우 이 는 무시됨=0 , Byte

두 헤더 프로세서는 다운스트림 인터페이스 또는 변환 로부MAC PHY Rate FIFO

터 데이터의 스트림을 받으며 이는 동작하는 에 좌우된Byte-wide , clock domain

다 는 헤더의 시작을 찾고 획득을 시작한다 헤더의 첫. MHP MAC HCS CRC . MAC

번째 바이트는 바이트이며 표 에 자세히 기술하였다FC , 3-1 .

Page 47: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 47 -

헤더의 다음 바이트는 이며 표 에 자세히 기술하였다MAC MAC_PARM , 3-2 . MAC

헤더의 다음 두 바이트는 영역이며 의 값은 표 정의되어 있다LEN , LEN 3-3 .

표 상세기능표3-3. MAC_PARM -2

영역LEN BREAKDOWN(MSB Followed by LSB)

LEN[15:0]

이 영역은 로 의 길이를 나타냄 프Byte PDU . MAC

레임내에 외부헤더가 있으면 외부헤더 길이, +PDU

를 나타낸다.

인 경우 헤더의 바이트는 확장 헤더를 나타낸다 확장 헤EHDR_ON=1 MAC ELEN .

더 영역은 헤더 를 찾기 위해 된다Type-length-value(TLV) Security (type4) Parse .

헤더를 찾으면 이와 관련된 데이터는 더 정밀한 및 분석Security , “value" parsing

을 위해 엔진으로 전송된다 인 경우를 제외한 모든DES . Security EHDR_TYPE=4

다른 은 하드웨어적으로 무시된다EHDR_TYPES .

또는 가 서비스 된 후 헤더의 다음 두 바이트는EHDR_ON=0 EHDR , MAC

영역이다 이 영역은HCS(MAC Header Check Sum) . 16-bit FC(Frame Control)

바이트의 시작 및 영역의 없는경우 끝 또는 의 최종 바LEN LSByte(EHDR ) , EHDR

이트 있는경우 끝인 헤더 데이터에 대해 계산된(EHDR ) MAC 16-bit CRC-CCITT

값과 비교한다 이 발생하면 헤더 프로세서는. HCS Fail , MAC HCS_Fail statistics

카운터를 증가시키고 인터페이스에 프레임 이 풀렸음을 알리며PHY Lock MPEG

헤더 내에 있는 옵셋 바이트를 기초로 하여 프레밍 재획득을 시도한다 프레밍이.

이루어졌을 때 헤더 프로세서는 다음 프레임의 시작을 찾기 시작한다, MAC MAC .

가 일치되면 헤더와 정합을 이루는 모든 데이터 는HCS , type 4 security PDU

을 위해 다운스트림 으로 전송된다Decryption DES ENGINE .

Page 48: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 48 -

부호화되지 않은 데이터 또는 데이터 는type 4 PDU Non type 4 PDU DES

을 하고 목적지 어드레스를 내에 저장된 및ENGINE Bypass , MAC Unicast

값 들과 비교한다 이와 정합을 이루는 패킷은 블럭으로 전송multicast DA . CRC-32

된다 이더넷 어드레스 이더넷 어드레스 또는. broadcast , multicast , IP multicast

어드레스와 정합을 이루는 패킷 또한 적절한 인가 비트가 되어 있으면Set

블럭으로 전송된다 제어 메시지 는 부가적 필터링 및 을CRC-32 . MAC PDU Parsing

위해서 메시지 프로세서로 전송된다MAC .

다운스트림 프로세싱 블럭의 마지막 단계에서는 데이터 및 데이터pipelined

모듈에 관련 를 만들고 메시지 프로세서는 병렬 형식으로encryption strobe , MAC

그들 각각의 주파수에 클럭된다 헤더 프로세싱 및 엔진간의 다운스트림. DES

는 로 동기 된다 헤더 프로세싱 및 엔진 프로세서Datapath MPU_CLK Byte . MAC

간의 다운스트림 는 으로 동기되고 신호로 인증Data path PP_CLK Byte PP_VALID

을 검증한다.

메시지 프로세서(5) MAC

메시지 프로세서는 메시지 제어기로 데이터를 전송한다- MAC MAC DMA .

는 헤더의 첫번째 와 일치하여 된다DMA_PKT_START MAC Byte issue . DMA_PKT

는 프레임의 각 데이타 바이트마다 된다 는_VALID MAC Issue . DMA_PKT_END

프레임의 최종 바이트와 일치하여 된다 헤더 프로세서에서MAC Issue . MAC

이 발생하면 는 를 하면서 영구적으로 종료되며HCS_fail , DMA DMA_DISCARD Issue ,

그 데이터는 모뎀 에서 인식할 수 없다 메시지 가 에러를CPU . MAC PDU CRC-32

갖는 경우 는 을 하고 종료되지 않는다 그러나 모뎀, DMA DMA_CRC_FAIL Flag . ,

는 에 에러가 있음을 알리고 관련 헤더는 유효한 데이터를 갖으며CPU PDU MAC ,

인터페이스는 상태 비트를 한다 가 계속 인 경DMA FIFO Return . FIFO Status Full

우 메시지 프로세서는 회귀하며 를 재촉한다, MAC , DMA_DISCARD .

Page 49: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 49 -

프로세싱- Payload

상기에서 기술된 동작과 병렬로 헤더 프로세서는 의 시작을 알린DMA , MAC PDU

다 이는 프로세싱 블럭이 가 패킷 데이터 데이터 예약된. Payload payload , ATM ,

데이터 또는 제어 데이터 중 어느 데이터 인지 결정하기 위해 영, MAC PDU type

역을 조사할 때 발생한다 영역 또한 이때 유효하며 를 길. PDU Length PDU Byte

이로 표시한다.

메시지 프로세서는 지정된 을 검토하고 그 밖의 다른 것은 무MAC Payload type ,

시한다 일단 메시지로 확인되면 데이터는 인증블럭으로 넘겨진다. MAC , CRC-32 .

는 카운터가 감소되어 내에 가 남아있을때 을 멈CRC PDU PDU 4 Byte accumulating

춘다 이들 는 패킷에 대한 를 나타내며 현재 레지스터에 남아있는. 4byte CRC , CRC

값과 비교하게 된다32-bit .

메시지 프로세서- MAC

상기에서 기술된 동작과 병렬로 메시지 프로세서는 현재의 모뎀에 할당CRC , MAC

된 개중의 하나와 목적지 어드레스 정합을 기초로 를 한다 모4 48-bit PDU Filter .

뎀은 목적지 어드레스를 어드레스에 두 어드레스중 하나"Broadcast" , "Multicast"

에 또는 어드레스와 정합되는지 비교한다 목적지 어드레스 가 유효, "Unicast" . (DA)

한 것으로 확인되면 메시지의 프로토콜 이 현재의 이 지원하, MAC Version modem

는 영역내에 있는지 확인하기 위해 비교를 수행한다 다음으로. , MAC management

헤더 내에 있는 영역이 조사되고 이 영역에서 발견된 값을 기초로 적절한 동type ,

작을 수행한다.

Page 50: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 50 -

메시지필터(6) (Under Normal Operation)

여기서는 모뎀이 되고 현재 업스트림 전송을 위해 대기상 태인 경우 메시Range , ,

지 필터의 동작을 기술한다.

인 경우 이는 메시지이다- MAC MESSAGE TYPE=1 , Time stamp . TIMESTAMP

제어 신호가 되지 않으면 는 이 시점에서_TO_MEMORY Set , DMA DISCARD Issue

되고 그렇지 않으면 데이터는 에서 처리하게 된다 동작과, timestamp CPU . DMA

무관하게 메시지는 가 검증될 때까지 추출되고 유지된다CMTS Timestamp CRC .

프로세서는 가 일치하면 새로운 가MAC MESSAGE CRC-32 , Timestamp reference

국부 클럭 에 적용되도록 에게 신호한다recovery Timing Recovery Circuit(TRC) .

가 기 프로그램된 을 초과한 간의TRC "Lost Sync Interval" timestamps

을 검출하면 는 초기화 도중 재획득을 하도록inter-arrival time , TRC Connectivity

모뎀 에게 인터럽트를 발생한다 를 상실한 상황에서CPU . Timing Sync , MAC

는 또한 업스트림 전송을 금지한다Tranceiver .

인 경우 이는 업스트림 채널 임을 나- MAC MESSAGE TYPE=2 , Descriptor(UCD)

타낸다 메모리에 최종 메시지 및 메시지가 디져블 되어있. UCD Unchanged UCD

거나 또는 채널 가 현 모뎀에 할당된 값과 정합되지 않아서 를 위한, U/S ID UCD

카운터가 변하지 않으면 가 된다 메Configuration Change , DMA_DISCARD Issue .

모리 인에이블 에 메시지가 되어 있으면 이때 올바른 업bit Unchanged UCD Set ,

스트림 채널 를 갖는 모든 메시지는 에 관계없이 메모리에ID UCD change count

전송될 것이다 메시지가 이들 필터를 통과하면 모든 메시지는. , CRC good/bad

에 따라 메모리로 전송된다indicator .

인 경우 이는 업스트림 대역할당 메시지임을 나타- MAC MESSAGE TYPE=3 , MAP

낸다 업스트림 메시지는 업스트림 채널 영역대신으로 먼저. configuration MAP ID

필터링 된다 현재의 모뎀 업스트림 채널 에 속해있는, Assignment MAP definitions

들만 모듈로 되도록 허용한다 이들 메시지는 또한 현재의MAP parser forward .

메시지를 위한 와 비교한다 업스트림 채널 와 정합되고 현재UCD change count . ID

의 로부터 서로 다른 를 갖는 메시지들은 무시되고 에러UCD change count MAP ,

신호가 로 보내진다 데이터를 확인하는데 있어서 를 돕기 위CPU . MAP MAP parser

해 메시지 프로세서는 영역의 시작을 나타내기 위해 펄스를 발MAC MAP payload

생한다 에 의해 이 무효화되면 어떤 이. Bad CRC check MAP , Indication MAP

에 주어질 것이다 가 상실 또는 초과를 나타parser . TRC Lock "Lost Sync Interval"

내면 메시지는 무시된다 채널 필터를 통과한 메시지들만, MAP . U/S ID MAP

제어 신호를 하면서 모듈로 보내진다 이들 조건중MAPS_TO_MEMORY Set , DMA .

의 하나 이상이 면 는 된다false , DMA_DISCARD Issue .

Page 51: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 51 -

인 경우 이는 임을 나타- MAC MESSAGE TYPE =5 , Range Response message

낸다 이들 메시지는 처리를 위해 메모리에 적재되어있다. CPU .

인 경우 이는 임을- MAC MESSAGE TYPE =7 , Registration Response message

나타낸다 이들 메시지는 처리를 위해 메모리에 놓이게 된다. CPU .

인 경우 이 경우는 메시지에 부가적 필터- OTHER MAC MESSAGE TYPE=other ,

링을 수행하지는 않지만 처리를 위해 메모리에 저장한다, CPU . ALL_TO_MEMORY

제어 신호가 되면 는 모든 메시지가 목적Set , MAC MESSAGE PROCESSOR MAC

지 어드레스 또는, Version, Type, upstream channel ID, UCD change count,

에 관계없이 메모리에 저장되는 복잡한 모드로 들어간다SID .

초기화 과정 중 메시지 필터(7)

이는 모뎀이 이미 되고 업스트림 전송을 위해 대기중인 정상적인 동작에서Range

메시지 필터의 동작을 기술한다 모뎀은 초기 되기 전에는 어느 업스트림. Range

채널을 사용해야 할지 알 수 없다 그러므로 모뎀에 전원이 공급되었을 때 올바른. ,

및 를 갖는 모든 메시지는 마이크로프로세서로 전달된다 이 과정에HCS CRC UCD .

서 메시지 필터링 회로는 단지 및 메시지만 넘긴다 일단 모뎀이SYNC UCD .

을 위한 업스트림 채널을 선택했으면 는 업스트림 채널 를Registration , Firmware ID

적절히 칩 레지스터에 적재하며 이러한 채널 를 기초로 필터링을 인에이블MAC , ID

하기위한 를 한다 그 다음 메시지 필터링 회로는 업스트림 채널 를Enable bit Set . ID

기초로 하여 메시지 필터링을 시작한다 하드웨어는MAP . Timing Regeneration

이 다운스트림 에 될때까지 정합되는 를Circuit timestamp lock MAP element flush

한다 이 성취되면 및 다른 메시지는 상기에서 기술된 정상적 동작처럼. Lock , MAP

필터링 된다 주요 기능은 다음과 같다. .

Page 52: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 52 -

전송 인 경우Condition: After Ranging, Upstream packet Ready

- MAC_Message type = 1

-> Time Stamp Message

및 와-> TRC Setup CMTS sync

- MAC_Message type = 2

-> UCD(Upstream Change Descriptor) Message

의 정보획-> Upstream channel Symbol Rate, Center Frequency, Preamble

- MAC_Message type = 3

-> Bandwidth Allocation MAP Message

관련 를 로-> Upstream channel Assignment MAP Message MAP Parser

Forward

-> If TRC Lock lost and Lost sync Interval, MAP Message Ignore

- MAC_Message type = 5

-> Range Response Message(from CMTS)

에 되고 외부 가-> Shared Memory(SRAM) Load , U-Processor Process

- MAC_Message type = 7

-> Registration Response Message

에 되고 외부 가-> Shared Memory(SRAM) Load , U-Processor Process

- MAC_Message type = other

는-> All MAC Message DA, Version, Type, Upstream Channel ID, UCD

에 관계없이 에Change Count, SID Shared memory Load

초기화 과정 중- Message Filter

얻기위해 만-> Upstream Channel ID SYNC and UCD Message Filtering

그 다음-> , MAP and Other Message Filtering

Page 53: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 53 -

(8) Event Counter

칩은 의 카운터를 갖으며 각각은 자신의MAC 8-bit, 16-bit, 32-bit event , tick

에 의해 구동된다 이들 카운터는 다운스트림 및 업스트림 처리 중 발생하는pulse .

중요한 를 모니터링 한다 모든 카운터는 가 마음대로Event . CPU

를 함으로서 및 한COUNTER_CONTROL_REGISTER Write , started, stopped clear

다 모든 카운터는 비동기적으로 펄스로 된다 각. power-on reset clear . statistics

카운터는 이중으로 저장된다 카운터 제어 레지스터에 을 하면 각. 0x00 Write ,

을 위한 현재의 를 로 분리하기 위한 를 한다statistic count holding register latch .

카운터는 계속해서 모든 를 카운팅한다 카운터들은 카운터 제어레Statistics event .

지스터에 을 함으로서 로 클리어 한다 개개의 카운터들은 그들 각0x01 writing zero .

각의 비동기적 의 검출에 의해 수행한다 모뎀 클tick event(TICK_EVENT_n) . CPU

럭에 비동기적 의 동기화는 내부적 로 수행한다Tick event STATISTICS MONITOR .

의 최소 펄스폭은 클럭주기에 제한된다 카운터는 최대Tick event CPU . 8-bit 0xFF

값까지 증가하고 유지되며 카운터는 최대 값까지 증가하고 유지, 16-bit 0xFFFF

되며 카운터는 최대 까지 증가하고 유지된다 모든 카운터들은32-bit 0xFFFFFFFF .

모뎀 인터페이스에 의해 메모리 되어 있으며 읽을 수 있다 다음 는CPU Map , . List

카운터들의 이며 에러 상황에 제한되지 않는다Event , .

현재 모뎀에 수신된 프레임 헤더 수- MAC (32-bit)

를 갖는 프레임 헤더 수- HCS Failures MAC (16-bit)

Page 54: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 54 -

현재 모뎀에 수신된 메시지 수- MAC (32-bit)

에러를 갖는 메시지 수- CRC MAC (16-bit)

현재 모뎀에 수신된 인증된 메시지 수- SYNC (16-bit)

현재 모뎀에 수신된 인증된 메시지 수- MAP (16-bit)

현재 모뎀에 수신된 수- PDU (32-bit)

수신 에 기인한 패킷 손실 수- DMA overrun D/S PDU (16-bit)

수신 에 기인한 메시지 손실 수- DMA overrun D/S MAC (16-bit)

수- Re-request(collisions) (16-bit)

입력 수- FIFO overruns (8-bit)

다 부 기능. Upstream Processing

업스트림 기능(1) MAC

업스트림 은 프로토콜의 업스트림 부분을 수행한다 업스트림 은MAC MCNS . MAC

업스트림을 전송하는 다양한 로부터 데이터를 수신한다 업스트림 은Source . MAC

동일 주파수 상에서 다른 모뎀과 함께 를 위한 요청 및 데이터 프TDMA Bandwidth

레밍을 수행한다 업스트림 은 다운스트림 인터페이스 블럭으로부터 다. MAC QAM

운스트림 패킷내에 있는Bandwidth Allocation Map(MAP) upstream bandwidth

을 수신한다 업스트림 은 에 의한allocation . Bandwidth Allocation Map mini-slots

Request, Immediate Data, Initial Maintenance, Station Maintenance, Short Data

및 영역으로 업스트림 채널의 분할을 기술한다 은Grant Long Data Grant . MAP

또한 로서 및Request Acknowledgements(zero length data grants ) Immediate

의 를 전송한다data Data Acks .

패킷 전송이 가능할 때 업스트림 은Ranging Request , MAC Initial Maintenance

을 수신 대기하며 수신 후에 데이터를 송신한다 업스트림 은allocation , . MAC MAP

내에 정의된 최소 내에 있는 을 임으로 함Ranging back-off window slot picking

으로서 을 선택한다initial maintenance slot .

Page 55: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 55 -

업스트림 은 패킷을 전송하기 전에 많은MAC Ranging Request Initial

을 세어서 나눈다 하드웨어는 가 초기Maintenance allocation slots . MAC Firmware

재전송을 신호할 때까지 대기한다 신호가 오면 하드웨어는ranging request . , MAC

을 사용한 새로운 초기Truncated binary exponential back-off maintenance slot

을 선택하며 를 재전송한다 송신할 데이터가 있을 때 업스트림, ranging request . ,

은 를 전송하고 또는 데이터에 대한 수신을 기다린다 업스MAC Request Ack Grant .

트림 에 가 도달하면 데이타 패킷을 전송한다 나 수신이 없으MAC Grant . Ack Grant

면 업스트림 은 도중 이 일어났다고 여긴다 업스트림, MAC Request contention .

은 에 정의된 및 를MAC MAP initial Back-off window maximum back-off window

갖는 를 사용해 한다truncated binary exponential back-off back-off .

주요기능은 다음과 같다.

수행- Bandwidth Request and Data Framing

에서 추출- Bandwidth Allocation MAP Upstream bandwidth allocation

에 대한- Upstream Bandwidth allocaton MAP Contents Mini-slot Request,

Immediate Data, Initial Maintenance, Station Maintenance, Short Data Grant

and Long Data Grant Field Null IE, Data ACK etc.

송신할 때 정보내의 에서- First, Request Message , MAP Initial aintenance

을 추출하여 전송 수행mini-slot offset

전송후 수신대기- Request frame , ACK or GRANT

수신후 전송-> , Data Packet

없으면 에 정의된 및- Ack or Grant , MAP Initial Backoff window maximum back

내에서 사용해 재전송off window truncated binary exponential back off

Page 56: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 56 -

대역 할당(2) MAP Parser

은 다운스트림에서 수신하고 는 현재의Bandwidth Allocation Map , MAP pre-parser

특정한 모뎀에 속하지 않는 분석한다MAP Information Element(IE) . MAP

는 과 모뎀에 특정한 를 갖는 의Pre-parser Alloc Start Time IEs MAP Ack Time

를 메모리에 보낸다 업스트림 내에 있는 는 이러한 정fields MAP . MAC MAP Parser

보를 메모리 밖으로 읽어낸다MAP .

로부터 수신- CMTS Upstream Bandwidth Allocation MAP

수행- MAP IE Parsing

의 를 에- MAP Message Alloc Start time and ACK Time Field SRAM Load

미니슬롯 선택기(3)

는 업스트림 요청에 대해 을 선택Mini Slot Chooser Bandwidth Request Mini Slot

하는데 사용하는 알고리즘 구현에 대한 책임을 갖는다back-off . Request/Grant

은 요청을 해야 할 때를 결정하고 유효한 을 찾기 위하여Engine request slot Mini

에 을 보낸다Slot Chooser signal .

의 경우 에서 을 사용해- Upstream Bandwidth Request , MAP mini-slot offset

구현Backoff Algorithmn

은 시점 결정 에- Request/Grant Engine Request Start , Mini-slot Chooser

Signal

요청 허락 엔진(4) /

은 업스트림 를 요청하고 요청이 되었는지Request/Grant Engine Bandwidth , ack ,

요청한 가 되었는지에 대한 책임을 갖는다bandwidth grant .

- Upstream Bandwidth Request

가 되었는지 한 가 되었는지 결정- Request ACK , Request Bandwidth Grant

Page 57: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 57 -

프레머(5) TDMA

프레머는 변조기를 제어하여 적절한 시간에 데이터를 전송할 수 있도록 한TDMA

다 프레머는 초기. TDMA Maintenance packets, Periodic Maintenance packets,

및 메시지를Data Request packets, Data PDU packet non-maintenance MAC

전송한다 주요 기능은 다음과 같다. .

에서 에 따라 전송- MAP mini-slot offset Data Frame

- Initial Maintenance Packet, Periodic Maintenance Packet,

- Data Request Packets, Data PDU Packets and non-maintenance MAC

전송Message

데이터 요청 패킷 생성기(6)

데이터 패킷 생성기는 데이터 패킷을 생성한다 데이터Request Request . Request

패킷은 및 필드를 갖는다 필드는 한 바이트이며FC, MAC_PARM, SID HCS . FC ,

의 고정된 값 요청을 위한 값 을 갖는다11X00100 (mini-slot , X: Don't care) .

필드는 한 바이트이며 요청된 수로 채워진다 는MAC_PARM , mini-slot . SIDs

중에 케이블 모뎀에 할당되며 가 데이터 패킷 생성기에ranging , Firmware Request

한다 헤더 을 계산하여 이를 데이터 패킷 생성기Write . checksum(HCS) , Request

가 패킷에 덧붙인다.

구성- FC(Frame Control), MAC_PARM, SID and HCS Field

의-> FC Field: 1Byte, 0x11x00100 Fixed value(x:don’t care)

요청 하는 수-> MAC_PARM field: 1 byte, mini-slot

중에 에서 한 값-> SID : Ranging CMTS Assign

계산 에-> HCS(Header Checksum) , Request Packet Insertion

Page 58: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 58 -

라 프로세싱. DES

(1) DECRYPTION

하향 복호화 모듈의 목적은 하향 데이터 패킷 를 복호화 하는 것이DES QAM PDU

고 그리고 그 데이터를 와 모듈로 보내는 것이다 이들 패킷, CRC checker DMA .

는 으로 의PDU residual block termination Federal Data Encryption Standard

모드를 사용하여 가 세션 기반으로 암호화한다Cipher Block Chaining CMTS .

(2) RESIDUAL BLOCK TERMINATION

을 복호화 하기 위해 사용하는 키들은 헤더에Data Packet DES extended security

표시되어 있는 서비스 에 의해 특정 세션이 결정된다 이 헤더는ID number .

헤더 파서 모듈에 의해 파싱되는데 이것은 개의 가능한 세션 중 하나로security , 8

매핑한다 이 세션 는 적당한 비트 복호화 키와 초기 벡터를 찾는데. number 64 DES

사용한다 세션 의 는 이 패킷에 대한 가 암호화되었는지 안되었는지. ID MSB PDU

모듈에 표시한다 이 비트를 하는 것은 특정 패킷에 대한 하향 페DES . clearing PDU

이로드를 복호화 엔진 주위로 전송하는 것을 허용한다 즉 가 암호화하DES . , CMTS

지 않은 데이터를 암호화하지 않도록 하여 세션에 대한 블록을 통과하도록 한DES

다 의 두 번째 는 각 세션에 대해 저장된 두개의 가능한 키를 가리킨다. SID MSB .

각 세션에 대해 개의 키를 저장하여 하나의 키 사용으로 키들의 스위2 , seamless

칭을 허용하고 반면 다른 키는 가 대체한다, CMTS .

(3) DES LOADER MODULE

데이터는 에 의한 하향 데이터 에서 읽는다DES Loader Module FIFO .

이 모듈은 가 더 많은 데이터를 수용할 수 있는 경우 와 유효한 키가 준DMA DES

비 되었을 경우 그리고 복호화 엔진이 다른 블록을 복호화 하는데 상태, DES Busy

가 아니면 데이타를 로부터 읽게한다 이러한 버퍼링은 가 적당, FIFO . DMA Loader

한 순서로 를 경유하여 모듈에 데이터를 보낼 수 있도록 한다 암(CRC checker )DMA .

호화되지 않은 데이터는 복호화 프로세싱 블럭을 바이패스 한다 는 또한PDU . FIFO

하향 마이크로세서 클럭 에 데이터 동기화를 위해 사용한다- boundary .

Page 59: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 59 -

(4) HEADER PROCESSOR

헤더 프로세서는 모듈로 지나가는 데이터를 주시하고 에 대해 적DES , DES Loader

당한 플래그를 발생시킨다 새로운 패킷이 시작될 때 헤더를 파. , Baseline Privacy

싱할 때 가 시작될 때 현재 길이 가 실패한다면 모듈에게 알, PDU , PDU , HCS DES

려준다 이런 시그널들은 데이터를 복호화 하기 위해 또는 하향 모듈에 인터. , DMA

페이스를 위해 에서 사용한다 모든 헤더와 헤더는 암호화 되지DES . MAC extended

않고 모듈로 패싱된다 이 헤더 데이터는 모뎀 에 저장하기 위해 모DES . SRAM DMA

듈로 전송한다.

모듈은 헤더로부터 추출된 정보를 기반으로 하여 데이터 패킷을 필터링 할DES BPI

수 있다 이러한 동작은 제어용 레지스터에서 한 비트의 사용으로 모드를 선. DES

택할 수 있다 이 비트가 되면 유효한 타입 헤더가 없는 패킷은 모듈에. enable 4 DES

서 무시하고 로 전송하지 않는다 이 비트가 되지 않으면 모든 패킷들DMA . enable ,

은 부로 전송한다 그러나 유효한 타입 헤더가 존재하지 않는다면 복호DMA . 4 DES

화 엔진이나 를 통하여 전송하지 않는다 필터링이 된다면CRC checker . enable

헤더 파서는 다음 타입 헤더를 파싱한다DES security 4 extended .

Key Seq/Version(1Byte), SID(2Bytes), Reserved(1Byte)

상기의 은 케이블 모뎀이 지원하는 영역 내에 있어야 한다 만약 패Version(1 Byte) .

킷의 지원되지 않는다면 패킷은 모듈에 의해 무시되고Version(1 Byte) , DES DMA

에 전송되지 않는다 필드의 하위 비트가 매치 된다면 패킷은 이 모뎀에 대. SID 14 ,

해 적합하다 패킷을 복호화 하는 경우 의 상위 비트는 복호화 블. , SID 2 MSB DES

록을 알려준다.

Page 60: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 60 -

(5) DMA MODULE AND CRC CHECKER

모듈은 모듈과 와 인터페이스 되어 있다 데이터를 전송하DES DMA CRC checker .

는 경우 버스를 사용해 두 모듈로 전송한다 두 모듈은 데이타 버스를, byte-wide .

통해 같은 데이터를 수신한다 패킷 시그널의 시작은 또한 두 모듈에서 사용한다. .

이 시그널은 헤더의 첫번째 바이트와 일치하여 발생한다 헤더와 바이트MAC . PDU

의 사용 가능한 시그널은 데이터가 유효한지 판별하기 모듈로 전송된다DMA . PDU

바이트의 시그널은 레지스터로 바이트를 하기 위해 가 사CRC qualify CRC checker

용한다 버스는 언제 값을 체크하고 모듈을 위해 패킷 시그널. PDU length CRC DMA

의 끝을 발생시키는 것을 알기 위해 가 사용한다 패킷 시그널은CRC checker .

실패나 매치 실패 이전에 수신된 어떤 바이트를 언제 버릴지 알기 위해HCS SID

모듈에서 사용한다DMA .

암호화(6)

상향 암호화 모듈의 목적은 상향 로부터 읽은 그 데이터를 상향 데DES DMA FIFO

이터 셀 로 전달하는 상향 페이로드 데이터를 암호화 하는 것이다PDU FIFO PDU .

이들 패킷 는 으로PDU residual block termination Federal Data Encryption

의 암호화 알고리즘을 사용하여 암호화 한다Standard Cipher Block Chaining .

암호화 모듈은 상향 데이터 패킷 만 암호화하지 상향 헤더나 상향 관PDU MAC MAC

리 메시지는 암호화 하지 않는다 즉 비트 상향 키를 사용하여 비트의 단. , 64 DES 64

위로 상향 모듈로부터 받은 페이로드 데이터를 암호화한다 하나의 상향 세션DMA .

이 있기 때문에 상향의 암호화를 위해선 단지 하나의 키 쌍이 있다 각odd/even .

세션당 개의 키 저장은 하나의 키 사용에 의해 키들의 스위칭을 허용하2 seamless

고 반면 다른 키는 헤드엔드에 의해 대체되어진다.

Page 61: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 61 -

상향 모듈(7) TDMA

상향 패킷은 상향 모듈이 요청한다 이러한 요청이 상향으로부터 도달되었을TDMA .

때 만약 가 더 많은 데이터를 받아들인다면 유효한 키가 준비되고 그리, DMA , DES ,

고 복호화 엔진이 현재 다른 블록을 복호화 하는데 하지 않다면DES busy DES

는 로부터 데이터를 읽기 시작한다 암호화 되지 않은 데이터Loader DMA FIFO . PDU

는 복호화 되지 않는다.

바이트가 읽혀지는 동안 헤더 프로세서는 데이타 스트림을 파싱하고 타당한 플래,

그를 모듈에게 제공한다 헤더 프로세서는 상향 모듈로부터 모듈로DES . DMA DES

지나가는 데이터를 주시하고 에 대해 타당한 플래그를 발생시킨다 새, DES Loader .

로운 패킷이 시작될 때 가 시작될 때 현재 길이를 모듈에게 알려준, PDU , PDU DES

다 이러한 시그널들은 데이터를 암호화하기 위해서 상향 모듈에 인터페이스. , TDMA

를 위해서 부가 사용한다 모든 헤더와 헤더는 상향으로 암호화, DES . MAC extended

되지 않고 모듈로 전송한다DES .

생성기(8) CRC

모든 데이타는 생성기로 전송한다 이 생성기는 모듈로부터 전달된 플래그CRC . DMA

에 의해 활성화 된다 생성기는 바이트를 에 덧붙인다 패킷 플래. CRC 4 CRC PDU .

그의 끝이 로부터 다 읽혀질 때까지 바이트는 로부터 얽혀진다FIFO FIFO .

Page 62: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 62 -

상향 헤더 프로세서(9) Security

만약 상향 헤더 프로세서가 상향 데이터에서 유효한 타입 헤Security 3 extended

더를 찾는다면 패킷은 에 의해 암호화 될 것이다 만약 패킷이, subscriber .

에 의해 암호화 된다면 타입 헤더에 표시될 것이고subscriber MAC 3 extended ,

의 바이프는 로 될 것이다SID MSB 1 .

의 두 번째 비트는 어떤 키 가 암호화되는데 사용할지를 결정하SID MSB (odd/even)

는데 사용될 것이다.

Page 63: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 63 -

모듈은 헤더 데이터 그리고 페이로드 데이터를 비트 버스를 통하여 상향, 9- wide

데이터 로 전달한다 하위 비트들은 데이터 패킷이고 번째 비트는 패킷FIFO . 8 9

의 끝이다 패킷 의 끝은 언제 완전한 패킷이 로부터 읽혀졌는지marker . marker FIFO

결정하며 상향 스트림 전송에 사용한다, .

마 부 기능. MAP Element Processing

분석기(1) MAP

분석기는 상향 모듈에서 사용하는 하향 데이터를 분석하고 필터MAP TDMA MAP

링 한다 분석기는 개의 하나의 와 개의 로. MAP 4 SID( unicast 3 multicast/broadcast

구성 중 하나로 데이터를 필터링 한다 요소가 와 일치하는가를 체크한 다) . MAP SID

음 구간사용코드 를 검토한다 에 따라 요소를, (IUC: Interval Usage Code) . IUC MAP

에 저장한다MAP FIFO .

제어 처리기는 요소 분석 제어모듈 에게 새MAC (Element Parser Control Module)

로운 수신을 알리고 난 다음 요소를 비트 버스를 통해 분석기로MAP , MAP 8 MAP

전송하기 시작한다 요소분석 제어 모듈로 보내진 첫번째 요소는. MAP

필드다 필드 백 오프Alloc_Start_Time, . Alloc_Start_Time, Alloc_Time , Ranging -

윈도우와 데이터 백 오프 윈도우가 에 직접 보내진다 요소 분석- MAP FIFO . MAP

제어모듈은 정보 요소를 수신하기 시작한다MAP .

요소 분석 제어 모듈이 요소의 매 비트를 데이터 이동 레지스터에 저MAP MAP 32

장한다 이 레지스터에 저장되어 있는 동안 값이 개의 레지스터에 부합. , SID 4 SID

되는지 검토한다 하나는 나머지는 데이터가 마지막 요. ( unicast, multicast). MAP

소 수신 후 변경 되었는지 계속해서 레지스터에 있는 동안 를 체크한다 만약, IUC .

가 저장된 개의 중의 하나와 일치하고 요소가 마지막으로 저장된SID 4 SID , MAP

후 다시 변경 되었으면 새로운 요소 및 상향 옵셋 카운트를 요소 에, , MAP SRAM

저장한다.

Page 64: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 64 -

분석 모듈에서 사용- Downstream MAP Data and Filtering(Upstream TDMA )

- SID Filtering(Unicast(0x0001-0x1FFF), Multicast(0x2000-0x3FFE)/Broadcast(

0x3FFF))

- IUC(Interval Usage Code) Check

제어 프로세서(2) MAC

주요기능은 다음과 같다.

- Inform Element Parser Control Module that New MAP is beginning

를 로- MAP Element MAP Parser Passing

요소 분석 제어(3) MAP

주요기능은 다음과 같다.

최초 그 다음- Element : Alloc_Start_Time field, Ack_Time_Field, ranging

에back-off windows, data back-off windows -> MAP FIFO pass

그 다음- : Start receiving MAP IE

Page 65: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 65 -

그림 는 하향 의 상세 블럭도이다3-5 MAP Parser .

그림 하향 의 상세 블록도3-5. MAP Parser

요소(4) MAP FIFO

요소는 대역폭 할당 메시지에서 추출한 정보들이다 이들 메시지들은 주기적MAP .

으로 하향 채널을 통해 가 에게 전송한다 하향 채널의 처리회로는 이들CMTS CM .

메시지를 획득해서 전 처리기에 데이터를 전송한다 전 처리기는 현재MAP . MAP

자신의 모뎀에서 사용 가능한 요소들을 추출하기 위하여 일련의 요소들MAP MAP

을 필터링 한다 이러한 일은 수신한 메시지에서 종종 오류가 발생하고 수신되는.

요소들에 흐름제어가 없기 때문에 복잡한 일이다 오류가 발생했을 때 오류가 발생. ,

한 패킷에 수신된 요소는 상향채널 전송부로 전송하지 않는다 즉 요소 들이. , MAP

케이블 모뎀에 도착하면 전송부는 데이타 전송시에 이 값을 사용하여, Upstream

메시지를 전송한다.

Page 66: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 66 -

블록은 을 사용하여 기능을 구현하였다 전처MAP Element FIFO SRAM FIFO . MAP

리기는 요소들을 비트 단위로 입력 레지스터에 저장한다 즉 입력 레지스MAP 32 . ,

터의 내용을 저장 레지스터에 전송 하도록 제어 회로에 알린 다음 에 바이SRAM 4

트 쓰기를 수행한다 전처리기가 매 메시지에서 첫번째 요소를 가리킬. MAP MAP

때 제어회로는 메시지에서 오류를 탐지했을 경우 메시지가 복구될 수 있도, FIFO ,

록 이 지점에서 현재의 쓰기 포인터의 값을 저장한다 하향 스트림 회로에서 메시.

지의 오류가 검출되었을 때 임의의 요소가 전송되지 않도록 저장한 값을 복구한다, .

회로는 의 다음 시작때까지 더 이상의 요소를 무시한다 메시지에FIFO MAP . MAP

서 적어도 하나의 완전한 요소들이 출력되기 전에는 메모리에 저장되어 있어야 한

다.

에서 요소를 이용할 수 있을 때마다 제어회로는 으로부터SRAM MAP , FIFO SRAM

바이트를 읽어서 출력 저장 레지스터에 저장하며 상향스트림 회로에 출력 준비 플4

래그를 발생한다 만약 가 빈 상태라면 어떠한 새로운 요소도 출력이 안되며. , FIFO ,

어떠한 출력 준비 플래그도 발생되지 않는다.

부 기능(5) Timing Regeneration Circuit(TRC)

와 케이블모뎀 운용에 있어서 동기는 매우 중요하다 케CMTS Local global clock .

이블 모뎀은 현재의 카운터 값과 을 사용해 전송을 개시한Timing MAP information

다.

그림 은 케이블모뎀의 에 대한 상세 블럭도를 보여3-6 timing regeneration circuit

준다 여기서 프로그래머블 값이 출력에 덧붙여진다 이 합산. ranging offset TRC .

기 는 되어 를 로 변환한다(Adder) bit shift 32-bit ranged value mini-slot count .

는 중 를 사용한다Mini-slot count 32-bit counter 26-N upper most bit .

Page 67: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 67 -

그림 상세 블럭도3-6. Timing regeneration circuit

주요기능은 다음과 같다.

- Loop is not locked(Initialize period or loss of lock or loss of sync mess)

가 에-> Next time stamp synchronous counter Load )

- Programmable ranging offset is added to the output of the TRC

- mini-slot calculation

외부 생성-> 32.768 clock -> 10.24 MHz

-> 1 tick = 1/10.24MHz * 64 = 0.09765625 usec * 64 = 6.25 uS

즉-> 1 mini-slot = 2^n Tick(2^n, n = 1 7, 2, 4, 6, 8 128)… …

- DOCSIS Spec. 160, 320, 640, 1,280, 2,560ksym/sec(QPSK mode)

인 경우 전송 시간ex. 1) 160ksym/sec 1bit

160ksym/sec =80 kbps =(1/80)*10-3 = 12.5 uS

인 경우 전송시간ex. 2) 1,280ksym/sec 1bit

1,280ksym/sec = 640kbps =(1/640) * 10-3 = 1.5625uS

전송시간8-bit(1Byte) = 1.5625 * 8 = 12.5uS

인경우ex.3) 2,250ksym/sec

2,560 ksym/sec = 1,280kbps = 0.78125 uS

전송시간8-bit(1Byte) = 0.78125 * 8 = 6.25 uS

Page 68: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 68 -

메인 프로세서 부6.

가. BCM3310

고성능- MIPS R3000 CPU

동작- Complete Static Design, 0-80MHz

인터페이스로- MII 10/100 Ethernet MAC

인터페이스- 32bit/33MHz Master-mode DMA PCI

디바이스 드라이버- USB

를 포함한 인터페이스 알고리즘 지원- DES IPSEC , Triple-DES, CBC,MD5, SHA

개의 음성채널까지 인터페이스가능- 4 TDM

인터페이스- SDRAM

외부 버스 인터페이스-

인터페이스- GPIO

동작 패키지- 3.3 V (316pin BGA )

나 특징설명.

호환 칩을 지원하기위한 다양한 함수를 제공하여 케BCM3300 DOCSIS PHY/MAC

이블 모뎀의 전체시스템의 가격을 줄이고 시스템과 보드 및 소프트웨어 디자인을,

간소화하며 전력소비를 줄일 수 있다, .

- 80MHz(85DMIPS) R3000 CPU with 4K 2-way set associative I-cache and

1K 2-way set associative writeback D-cache

과 같이 발전된 어플리케이션을 위해 와- Virtual Private Networking (VPN) IPv6

모듈을 통합지원한다IP Security(PISec) .

외장형 케이블모뎀을 플러그 앤 플레이 지원을 위해 호환 인터페- (PNP) USB 1.0

이스를 지원한다.

소프트웨어 개발 속도를 증가시키기 위해 미니포트 드라이버를 지- PCI NDIS5.0

원한다.

Page 69: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 69 -

그림 3-7. BCM3310

사의 은 호환 계열의 프로세서로Broadcom BCM3310 MIPS R3000 80MHz(85

로 동작한다DMIPS) .(4K 2-way set I-Cache and 1K 2-way set)

케이블 모뎀으로부터 패킷을 받거나 보내기 위해 호스트 의 소프트웨어 드라- PC

이버에 의해 사용되어지는 동작모드를 지원하기 위한 마스터모드32bit/33MHz

인터페이스DMA PCI

을 통한 으로 들을- MII(Media Independent Interface) 10/100 Ethernet MAC FIFO

보내거나 받고 버퍼제어 멀티캐스트 주소 필터링을 위해 내부 및, , MIB, 64 CAM

자동 체크와 생성CRC

Page 70: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 70 -

선 직렬 인터페이스- TDM 4

음성 채널이나 비디오채널과 음성채널까지 지원 다양한 타임슬럿을 제공한다4 1 1 .

고속 인터페이스- USB

규격과 호환 규격 명령뿐 만 아니라 표준 명령까지 지USB1.0 , class/vendor USB

원한다 이 인터페이스는 와 빠르고 쉬운 데이터 액세스를 위해 버스의 프. DMA CPU

로그램 까지 마련되어있다I/O .

제 절 견품 분석2 CM

계층 초기화1. MAC

가 초기화. DMA

는 하향 데이터 버퍼 디스크립터 베이스 옵셋 레지스터DMA (Downstream Data

하향 메시지 버퍼 디스크립터 베이Buffer Descriptor Base Offset Register), MAC

스 옵셋 레지스터(Downstream MAC Message Buffer Descriptor Base Offset

와 상향 패킷 디스크립터 베이스 옵셋 레지스터Register) (Upstream Packet

에 값을 기입함으로써 초기화된다 이들 값들은Descriptor Base Offset Register) .

에서 데이터가 위치 한 곳을 제어한다 하향 데이터 제어 레지스터SRAM . DMA

와 하향 메시지 제어 레지스(Downstream Data DMA Control Register) MAC DMA

터 는 를 구동하고 데이(Downstream MAC Message DMA Control Register) DMA

터 길이를 표시하기 위해 설정한다.

Page 71: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 71 -

나 초기화. DES

초기화를 위해서 레지스터의DES MAC Internal DES Security Version HIGH/LOW

레지스터를 로 설정해야 한다 를 위한 는 레지스터에"1" . Broadcast SID SID 0x3fff

값을 설정해야 한다.

다 하향 메시지 처리 초기화. MAC

우선 하향 메시지 가입자의 이더넷 어드레스가 설정되어야 한다, MAC DA #1 .

메시지 필터 제어 레지스터의 비트 는 브로드캐스트 수신을 할 수MAC 6(BRDA)

있도록 로 설정되어야 하고 비트 은 이 동작하도록 설정 되"1" , "0" (EDA1) DA #1

어야 한다 두개의 메시지 프로토콜 버전 레지스터들은 을 설정해야 한다. MAC "1" .

의 값은 레지스터중의 하나에 저장해야 한다 이와 같0x3FFF(Braodcast) SID SID .

은 일은 하향 채널의 위치를 파악하고 그 채널의 를 설정하기 전에 이루어져SYNC

야 한다.

라 하향 데이터 처리 초기화. PDU

하향 데이터 는 데이터 패킷이 하향 디바이스로부터 케이블 모뎀으로 전송되어DA

올 때 설정되어 있어야 한다 하향 데이터 필터 제어 레지스터의 비트, . PDU DA

은 브로드캐스팅 수신이 가능할 수 있도록 로 설정해야 한다6(BRDA) "1" .

마 상향 처리 초기화.

최대 재 요청 횟수를 저장하는 레지스터는 으로 설정한다 레16 . Minislot Exponent

지스터당 바이트는 로 설정한다 상향 제어 상태 레지스터의 비트 는 레"4" . / 2(TEN)

인징 재요청 메시지를 전송하기에 앞서 전송 장치가 동작할 수 있도록 로 설정"1"

돼야 한다 레지스터는 설정할 값이 하향 데이터 스트림으로. P-persistence Value

전송되지 않기 때문에 으로 설정해야 한다0x80 .

Page 72: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 72 -

바 범용 통계치 초기화.

모든 통계치를 저장하는 레지스터들은 의 값으로 초기 설정되어야MAC Status "0"

한다 또한 들이 카운팅을 시작하기 위하여. , MAC Status Register Global Statistics

제어 레지스터를 로 설정해야 한다 그리고"1" . Upstream Map Parser Advance

는 으로 설정해야 한다Value Register "3" .

사 인터럽트 초기화.

마스크 레지스터들은 모든 인터럽트들을 마스크하는 상태로 초기 설정한다 이IRQ .

는 가입자가 부분을 구성하고 레인징 과정 송신한 레인징 요청이 유용한 을PHY ( )

시작할 때까지 인터럽트가 되어야 한다 인터럽트는 그러한 정보를 필요로Mask .

할 때까지 유지되어야 한다.

아 초기화. SPI

초기 케이블 모뎀에서 복조기는 로 설정되어, BCM3116 64/256 QAM "1" Slave

상태로 있다 반면에 변조기는 값이Mode . , BCM3037 QPSK/16QAM Slave Mode

이다 케이블 모뎀에서 초기 의 를 지원하는 매뉴얼 모드로 실"0" . 2MHz Baud Rate

행해야 하므로 의 값은 로 설정한다 자동모드 보MAC Internal MBRD Register "7" .

오율은 이며 레지스터 값은 로 설정한다 그러므로 를 초기화8MHz , ARBD "1" . SPI

하기 위하여 를 로 설SPI Interface Manual Mode Static Control Register "0x87"

정한다 즉 우선 설정하고 그 다음 마스터 모드로 케이블 모뎀을 동작. , Baud Rate ,

시킨다 값을 설정하기. Baud Rate 위하여 SPI Interface Autonomous Mode State

를 로 설정한다 그 이후 인터페이스는 물리계층과 통신Control Register 0x01 . SPI

할 준비가 된다.

Page 73: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 73 -

제 절 케이블 모뎀 시험 인증 환경3 /

1. Cablelabs Interoperability

다음은 케이블모뎀 인증 관련 의 시험 운용에 대한 개략적 설명을 하였Cablelabs /

다.

장비- 3-Lab of Network and Cable Newtork

- Alpha Lab(for Dry run and Certification)

별로 구성-> CMTS Test Bench

들이 유동하며 와 연동시험-> CM Manufacture CMTS

- Beta Lab(for Certification)

을 선반에 고정배치-> CM and Full Function test

사용한-> SmartBit BER TEST

주로 통한-> SNMP Audit.

- Field Lab(for Certification)

환경과 유사하게 구축하여 대 가량의 연결하여 시-> Field HFC Network 150 CM

등을 이용한 측정-> SNMP Full Function

2. Interoperability Criterion

- AC Layer Functionality

을 이용한 동작시험-> Upstream FEC -IP packet FEC (Smartbit)

전송시험-> Data Transfer -IP packet (SmartBit)

의 전송 측정-> Tx Power Adjustment - CM Power (HP-89441)

-> Verify that Baseline Privacy Works

로 변경가능여부-> Upstream Channel Change - SNMP Channel

동시 등의 방법-> Backoff-Backoff algorithm test( CM Power ON )

- Modem Configurability

-> DHCP, TFTP, TOD in CM

- Modem Management

-> SNMP

Page 74: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 74 -

제 장 다채널 케이블 모뎀 소프트웨어 설계4 MoIP

케이블모뎀 시스템의 가장 중요한 기능은 인터넷 프로토콜 패킷을 헤드 엔드와 가

입자간에 투명하게 전송하는 것이다 프레임은 이더넷 프레임을. MCNS MAC MAC

포함하며 이 이더넷 프레임은 다시 나 네트워크 계층 패킷을 포, MAC SNAP PDU

함하는 형식으로 볼 수 있다 헤드엔드와 가입자간에 이더넷 프레임을 케이블. MAC

로 전송하기 위한 기능을 수행하는 관련 메시지도 이와 비슷한 기능을MCNS MAC

가진다.

케이블모뎀의 종류에는 내장형과 외장형이 있다 외장형 모뎀의 는 이더넷. CPE

을 통해서 여러 대의 워크스테이션 서버와 프린터 같은 디바이스들로 구LAN PC, ,

성된다 외장형 모뎀은 와 를 통해서 연결할 수 있. CPE USB(Universal Serial Bus)

는데 는 점대점 방식으로 이 때의 케이블 모뎀은 이더넷 로 간주 될 수 있, USB NIC

으며 브리지의 복잡한 기능은 생략할 수 있다 내장형 모뎀은. PCI(Peripheral

를 사용하며 단독 사용자 디바이스로 작동한다Component Interface) .

그림 케이블모뎀의 데이터 포워딩4-1.

위 그림은 이더넷 을 통하여 와 연결되었을 경우의 프로토콜 계층을 나타LAN CPE

낸다 케이블모뎀 시스템은 헤드엔드에 대하여 로 동작하여야 하며 케이블. IP Host

모뎀에 연결된 등과 같은 에 대하여 로 동작하여야 한다 의PC CPE LLC Host . MCNS

하향 플로우에서는 프레임을 사용하기 때문에 하향 전송 변환 계층MPEG

이 필요하다 또한 데이터 보호를(Downstream Transmission Convergence Layer) .

위해서 계층이 필요하다Link Security .

Page 75: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 75 -

그림 에서 이더넷 연결 부분인 계층 및 계층과 브리지 기4-1 LAN 802.2/DIX LLC IP

능은 기존의 시장에 있는 통신용 컨트롤러와 실시간 및 네트워크 소프트웨어를OS

사용해서 구현할 수 있다 통신용 컨트롤러는 장비 중형 라우터 스위치. ISDN , , LAN ,

브리지 등에 쓰인다 기존의 이더넷 과 크게 다른 부분은 케이블 계층. LAN PMD ,

하향 전송 변환 계층 케이블 계층 그리고 계층이다 이들 중, MAC , Link Security .

케이블 계층은 복조기와 변조기로 구성되며 나머지 계PMD QAM QPSK/16-QAM ,

층은 하드웨어로 케이블 칩으로 구현되거나 통신용 콘트롤러에서 운영되는MAC

소프트웨어의 일부분으로 구현될 수 있다 이러한 중요한 기능은 관리 메시지. MAC

와 암호화되거나 되지 않은 패킷 데이터를 처리하는 것이다 즉 계층인 복조기. PMD

에서 를 전달받아서 계층에 전달하고 하향전송 계층에서PHY-PDU 802.3 LLC ( ), LLC

받은 를 로 변환 시켜서 계층인 변조기에 전송하는 것이다LLC-PDU MAC-PDU PMD

상향전송 암호화된 하향 패킷은 계층의 주요 부분인 코어를( ). Link Security DES

통해서 해독되며 상향 패킷은 코어를 통해서 암호화시킨다 이런 기능을 원활, DES .

히 제어하기 위해서 관리 메시지를 처리해야 한다MAC .

관리 메시지 중 는 와의 동기화를 위해서 시간에 민감하고SYNC, MAP, UCD CMTS

상향 전송을 위해 중요한 역할을 한다 이들 메시지는 나머지 관리 메시지들과. MAC

비교해서 복잡하지 않아서 하위 계층에서 처리할 수 있다 예로 등록을 하기 위해.

서는 계층 위의 와 를 사용해야 한다 그러므로 는IP DHCP TFTP . SYNC, MAP, UCD

케이블 칩에서 처리하고 나머지 관리 메시지와 패킷 데이터를 상위 계층으로MAC

전달해서 처리하는 형식으로 되어있다 따라서 케이블 칩은 상향 및 하향. MAC

코어 하향 플로우를 파싱하는 블록 그리고 상향 전송을 위한DES , DMA, , TDMA

블록으로 구성 된다고 볼 수 있다.

Page 76: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 76 -

제 절 구현 환경1

구현 환경은 다음과 같다.

- pSOS+ v2.25

- pNA+ v3.1.3

- pROBE+ v3.1.0

- SNMP 7.4.0

- OpEN 1.1.2

- NetUtils v3.07

- DiabData compiler v4.0b

- SDS Debugger 7.4

모드에는 까지가 있다Start-up 4 .

- Stand-alone mode

- Writing for host debugger via serial connection mode

- Writing for host debugger via network connection mode

- Run the TFTP Bootloader mode

본 과제에서 사용한 방법은 와Stand-alone mode Run the TFTP Bootloader

이다 세 번째 로mode . Writing for host debugger via network connection mode

는 디버깅이 되지 않는다 그 이유는 케이블 모뎀이 에 등록한 이후에 네트워. CMTS

크 드라이버를 초기화하기 때문이다 또한 케이블 모뎀 코드가 시작할 때 이더넷은.

작동하지 않는다 따라서. Writing for host debugger via network connection

로 디버깅하기 위해서는 어떤 어플리케이션 코드가 수행되기 이전에 이더넷mode

드라이버가 되어야 한다enable .

Page 77: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 77 -

위와 같은 방법을 쓰지 않은 이유는 인터페이스를 포함 을packet buffering(LAN )

위해 을 이용했다 즉 데이터 포워딩을 위해 이더넷 드라이버로MAC SRAM . , MCNS

부터 드라이버로 포인터를 전달하는 것이 더 효율적이기 때문이다MAC (ZERO

이 구성되고 나서야 이더넷이 된다copy). SRAM enable .

로 디버깅하기 위해서는Writing for host debugger via network connection mode

다음과 같이 코드를 수정하면 된다.

대신 에서 제공하는 를 사용하라 와 코드를 수- lan.c PSOS lan8xx.c . BSP cmboot

정하는 것이 필요함 에서 인터페이스인 인터페이스 루틴을 제거하. mac.c LAN ni

라 그러면 망에서 수신된 어떤 하향 네트워크 데이터를 단순히 할 수. HFC flushing

있다.

를 수정하고 을 이전에 초기화 하도록 해야함 에- BSP bcm3300 SRAM . Startup.c

서 을 초기화 하는 코드를 로 이동시키고 에서 호MAC SRAM InitBooard() startup.c

출되는 모든 코드를 제거하라 그리고 에서 함수를 호출하는diag . mac.c CreateBDs()

것을 제거하고 에서 이 함수를 넣어라 에서 함, InitBoard() . MacInit() EnableNiTxRx()

수를 제거 에서는 함수에서, Ian.c InitSCC2() Promiscuous Ethernet Configuration

모드를 제거해야 한다.

제 절 케이블모뎀 초기화 과정2 .

케이블모뎀 시스템 구성도는 아래 그림과 같다.

케이블 모뎀을 켰을 때 잘 작동하는지를 확인하기 위하여 를 수행한다, self-test .

그리고 나서 와 통신을 하기 위하여 아래 그림 과 같이 초기화 과정을 시CMTS 4-3

작한다 각 은 제조업자로부터 출하되었을 때 다음과 같은 정보를 포함한다. CM .

Page 78: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 78 -

그림 케이블모뎀 시스템 구성도4-2.

제조 과정에서 할당되는 고유의 비트 어드레스- IEEE 802 48 MAC

와 에서 정의된 정보는 을 서버에 인증 및- MCNS2 MCNS8 Security CM Security

와 서버로부터 응답을 인증하는데 사용Security provisioning

아래 그림은 케이블 모뎀의 초기화 과정을 그림으로 나타내었다.

그림 케이블모뎀 초기화 과정4-3.

Page 79: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 79 -

동기화1.

케이블 모뎀은 헤드엔로부터 들어오는 디지털화되어 변조된 신호를 찾기 위하여 50

사이의 하향 주파수 밴드를 스캔한다 모뎀이 신호를 찾았을 때 헤드엔860MHz . ,~

드로부터 메시지 수신을 시작하기 위하여 하향 채널에 을 건다 디지털화되어lock .

변조된 캐리어를 찾은 후 변조기는 신호에 을 걸려고 하고 에, QAM lock FEC lock

의해 패킷 를 형성한다 만약 복조기가 과 적정한 임계값boundary . QAM SNR (25db)

으로 을 형성할 수 없다면 하향 채널은 모든 대역대에서 계속 찾는다 하FEC lock , .

향 주파수 캐리어를 한 이후에 케이블 모뎀은 하향 동기화 메시지를 찾는다lock , .

케이블 모뎀이 헤드엔드와 같은 주파수로 동작될 때까지 은 내부93300 time base

를 조정하기 위하여 이 메시지를 사용한다 케이블 모뎀이 이런 프로세. adjustment

스를 마치고 난 후 동기화가 이루어진다 동기화 메시지가 초안에 발견되어지지, . 1

않는다면 소프트웨어는 디지털 캐리어가 데이터 대신 비디오용으로 사용되어진다,

고 가정하고 하향 데이터 채널을 계속 찾아야 한다 동기화를 획득하기 위해서는.

다음 항목을 확인해야 한다.

- Synchronization of the QAM symbol timing

- Synchronization of the FEC framing

- Synchronization of the MPEG packetization

- Recognition and processing of SYNC downstream MAC messages

상향 파라메터 획득2.

케이블 모뎀이 동기화를 한 이후 헤드엔드로부터, UCD(Upstream channel

메시지를 수신하기 위하여 기다린다 는 케이블 모뎀이 상향 신호를descriptor) . UCD

보내기 위해 요구되는 모든 변조 파라메터를 제공한다 헤드엔드는 모든 유용한 상.

향 채널을 위하여 를 주기적으로 보낸다 만약 모뎀이 초안에 를 수신UCD . 20 UCD

하지 못하면 모뎀은 이 하향 채널을 쓰지 않고 다른 하향 채널 찾기를 계속한다.

Page 80: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 80 -

과 레인징3. MAP

케이블 모뎀이 상향 채널에 대한 파라메터를 추출한 후에 헤드엔드에서 오는 대역,

폭 할당 메시지를 기다린다 케이블 모뎀이 메시지를 수신한 후에 레인징MAP . MAP

프로세스를 시작한다 각 메시지는 특정 시간 간격동안 상향 채널에 허용하는. MAP

를 정의한다 각 시간 구간 안에서 허용된 전송의 타입 그리고 허용된 전송activity . ,

길이를 전송하도록 허용되는 특정 케이블 모뎀이나 모뎀들을 포함한다 각 영역 당.

할당된 시간의 길이는 시간 구간 당 다르다 메시지에 의한 시간(time period) . MAP

구간은 원칙적으로 일정하지 않다.

아래 그림 는 을 그림으로 표현하였다4-4 MAP .

그림 4-4. MAP

영역은 단지 네트워크에 참여한- Initial Maintenance Region: Initial Maintenance

케이블 모뎀이 첫번째 흑은 메시지를 보낼 수 있range-request( power adjustment)

을 때의 이다 만약 모뎀이 첫번째 메시지를 상향으로 보time slot . range-request

내고 헤드엔드로부터 메시지를 수신하지 못한다면 모뎀은 다음range-response

영역 때까지 기다려야만 한다 여러 모뎀들이 전송 공간에 대Initial Maintenance .

해 경쟁하기 때문에 와 전송 재시도 메커니즘이 정의되어야 한다backoff .

Page 81: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 81 -

영역은 이미 에 의해- Station Maintenance Region: Station Maintenance ( CMTS

허용된 모뎀들이 프로세스를 하거나 정확한 동작 파라메initial ranging fine-tuning

터를 위해 에 의해 주기적으로 하기 사용된다 각CMTS polling . station

동안 케이블 모뎀은 헤드엔드로 를 보낸다 헤드엔드는maintenance range request .

메시지로 응답한다 이 메시지에는 케이블 모뎀의 전송 파라메station-maintenance .

터를 하기 위한 주파수에 대한 새로운 을 포함한다fine tune offset, power, timing .

모뎀의 파라메터가 적정 레벨에 도달할 때 헤드엔드는 메시지로, ranging-complete

응답한다 그 이후에 모뎀은 프로세스를 시작한다. registration .

은 등록된 모뎀들이 데이터 패킷을 상향으로- Request Region: Request Region

보내기 위하여 헤드엔드부터 허용을 요청하는 메시지를 보내는 시간의 영역이다.

모든 모뎀들이 동시에 요청하기 때문에 이 영역은 경쟁 구간이다 와 재시. Backoff

도 메커니즘이 정의되어 있다.

은 를 승인 받은 모뎀이 데이터를 헤드엔드로- Data Region: Data Region request

전송했을 때이다 네트워크에서 다른 모뎀과 경쟁할 필요 없이 상향 대역폭을 허용.

받기 위해 요청을 할 수 있다piggyback .

영역은 등록된 모뎀이 데이터 패킷 대역- Request-Data Region: Request/Data (

폭 요청 을 상향으로 보내기 위하여 헤드엔드로부터 허가를 요청하는 메시지를 보)

낼 때이다 이것은 경쟁 영역이다 데이터의 성공적 수신의 확인은 데이. . contention

터 패킷을 위해 생성될 수 있다.

프로세스는 네트워크 구성 연결을 위해 전형적인 메- Registration: Registration IP

커니즘을 이용한다 초기 키 교환뿐만 아니라 그리고 를 통한. DHCP, TOD, TFTP

구성 파일 다운로드를 포함한다.

과정이 완료되면 서버와 접속하여 서버를 포함한Station maintenance DHCP TFTP

각종 서버의 주소와 케이블 모뎀의 주소 등을 확보하고 해당 서버와 접속IP IP TFTP

하여 케이블 모뎀의 각종 구성 정보를 읽어온다 이 과정이 과정으. IP connectivity

로서 프로토콜을 사용하여 쪽과 접속이 이루어진다UDP/IP CMTS .

Page 82: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 82 -

과정이 완료된 후 케이블 모뎀에 모듈이 장착된 경우에는 이IP connectivity RSM

모듈을 통하여 보안 절차를 수행하지만 본 과제에서는 모듈이 없는 것으로 가RSM

정하였다.

케이블 모뎀은 과정을 통하여 확보한 정보들을 바탕으로 하여IP connectivity

에게 를 전송하여 정식 등록을 요청하고 는 이 요CMTS registration request CMTS

구에 따라 해당 케이블 모뎀을 내부적으로 서비스 상태로 등록하고 정식 를 할SID

당하여 케이블 모뎀에게 프레임을 통하여 응답해 준다registration response .

정식 등록이 끝난 후에는 모듈이 없는 경우 초RSM BPI(Baseline Privacy Interface)

기화 과정을 거친다 이 과정이 완료되면 케이블 모뎀은 정상적인 동작 상태가 된.

다 다음 항목이 확인되어야 등록이 끝난다. .

연결 설정- IP

설정- Time of day

보안 관련 설정-

동작 파라메터 전송-

레인징이 끝난후 헤드엔드는 케이블 모뎀이 네트워크로 트래픽을 포워딩 하는 것을

허용한다 허용 된 모뎀을 또한 되었다고도 한다 정상적인. (authorization) registered .

동작 상태에서 케이플 모뎀과 간에 상향 채널의 할당은 일정한 크기의 미니CMTS

슬롯 단위로 이루어지고 미니 슬롯의 할당은 전적으로 에 의해 이루어진다CMTS .

즉 각 케이블 모뎀은 상향 채널로 전송할 프레임이 있으면 필요한 만큼의 미니 슬

롯들을 미니슬롯 요청 프레임을 통하여 에 요청하고 는 이러한 요구들CMTS CMTS

을 종합하여 적절히 미니 슬롯을 할당한 다음 이러한 정보를 프레임으로 부호MAP

화하여 모든 케이블 모뎀들은 정보로부터 자신에게 할당된 슬롯을 확인하고 이MAP

슬롯에 해당하는 시간 동안만 상향 채널을 사용하여 프레임을 전송한다.

Page 83: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 83 -

공유된 상향 채널을 시간 슬롯별로 나누어 사용하기 위해서는 모든 케이블 모뎀과

간에 동기화된 시간을 확보해야 가능하다 이를 위해서는 는 주기적으CMTS . CMTS

로 현재의 시간을 알려주는 프레임을 브로드캐스트 하고 케이블 모뎀들은 이SYNC

프레임으로부터 정확한 현재 시간을 유지하게 된다 이미 자신의 슬롯을 확보SYNC .

했을 경우에는 이 슬롯을 통해서 각종 프레임을 전송하고 이 프레임에 다음의 미,

니 슬롯 요구를 포함하여 피기 백을 전송 할 수도 있다 그러나 처음 전원을 켜고.

동작을 시작한 케이블 모뎀에게는 자신에게 할당된 슬롯이 없으므로 경쟁 방법으로

사용 할 수 있는 슬롯을 찾아서 사용 할 수 있다 즉 모든 케이블 모뎀들을 대상으. ,

로 할당 할 수도 있다.

제 절 케이블 모뎀 소프트웨어 구성3

케이블 모뎀 소프트웨어는 태스크 모듈로 구성되어 있는데 크게 태스크, MAIN ,

태스크 태스크 태스크 태스크 태스크MAC , MESSAGE , EVENT , DOWNLOAD , BPI ,

태스크 등으로 구성되어 있다SNMP .

태스크1. hierarchy

아래 그림 는 케이블모뎀 소프트웨어의 태스크 모듈의 구조도를 보여 준다 태4-5 .

스크 생성은 두 가지 동작과 관련된다 첫 번째가 콜에 의한 태스크의 실. t_create

제적 생성이고 둘째는 에 의해 실행되기 위한 준비 태스크 상태로 만드는, t_start

것이다 부 태스크는 를 콜 하는 것으로 자 태스크를 생. (parent) t_create (Call) (child)

성한다 그때 부 태스크는 다음의 입력 파라미터를 물려준다. .

사용자가 할당한 이름-

Page 84: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 84 -

그림 케이블모뎀 소프트웨어 태스크 구조도4-5.

스케줄링 목적을 위한 우선순위 레벨-

여러 플래그-

는 자 태스크를 위해 태스크 제어 블럭 을 얻고 셋업한다 그때 태스t_create (TCB) .

크의 스택을 위해 으로부터 충분한 메모리 세그먼트를 할당한다 확장Region 0 .

은 부가적 기능을 위해 필요한 부가메모리 영역이다(extentions) (extra memory) .

는 커널에 의해 지정된 태스크 식별자를 반환한다 콜은 태t_create pSOS+ . t_start

스크 생성의 완결을 위해 반드시 사용되어야 한다.

는 새 태스크의 시작 어드레스와 초기실행 동작을 조정하는 모드 워드t_start (mode

그리고 를 제공한다 시작한 후에는 상word), optional argument list . ready-to-run

태에 놓이며 할당된 우선순위에 근거한 실행을 스케쥴링한다 두 가지 예외와 함께. ,

멀티태스크 어플리케이션의 형태의 모든 사용자 태스크는 실행 시에 동적으로 형성

된다 첫 번째 예외는 태스크이고 두 번째는 디폴트 태스크이다. ROOT IDLE .

태스크는 초기화의 한 부분으로서 커널에 의해 생성되고 시ROOT startup pSOS+

작된다 이 된 후 커널은 간단히 태스크에 제어 권을 넘긴다. startup pSOS+ ROOT .

디폴트 태스크는 의 부분으로 제공된다 모든 다른 태스크는 필요시IDLE startup .

명확한 시스템 콜에 의해 생성된다 총 태스크의 수는 구성 테이블. active pSOS+

에 명시된 태스크에 의해 제한된다 태스크의 코드세그(Configuration Table) kc_n .

먼트는 메모리에 상주해야 한다 에 있을 수도 있고 할 때 또는 생성. ROM startup

시기에 에 로드된다 태스크 데이터 영역은 정적으로 할당되거나 커널RAM . pSOS+

로부터 동적으로 요구된다.

Page 85: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 85 -

는 시스템 데이터 구조이고 커널에 의해 생성 후에 각 태스크를 할당TCB pSOS+

하고 관리한다 는 커널이 태스크에 관해 알아야 할 모든 것 태스크의 이름 우. TCB ( ,

선순위 타임슬라이스의 나머지 그리고 컨텍스트 을 가지고 있다 일반적으로 컨텍, , ) .

스트는 의 상태를 의미한다 태스크가 실행될 때 이 컨텍스트는machine register . ,

매우 동적이고 이들 레지스터의 실재 내용이다 태스크가 실행되지 않을 때는 이.

컨텍스트는 돼 있고 다음 번 실행하도록 복구하기 위하여 에 저장된다freeze , TCB .

내에는 어떤 오버헤드 구조가 있는데 이것은 다양한 와TCB system-wide queue

에서 커널에 의해 관리하는데 사용된다 태스크의 는 태스크structure pSOS+ . Tid

의 엔코딩된 어드레스를 가지고 있다 따라서 입력으로 에 제공되는 시스템TCB . Tid

콜들을 위해 커널은 타겟 태스크의 를 재빨리 위치시킬 수 있다 보편pSOS+ TCB .

적으로 값 은 실행중인 태스크를 의미하며 따라서 시스템 콜에서 가 이Tid 0 , Tid 0

면 타겟은 호출하는 태스크의 일 것이다TCB .

태스크는 자기 자신을 또는 다른 태스크를 종료시킬 수 있다 서. t_delete pSOS+

비스는 생성된 태스크를 그 를 요구하는 것으로 제거할 수 있고 스택 메모리TCB

세그먼트를 에 되돌려준다 는 로 표시되고 새로운 태스크에 의해Region0 . TCB free ,

재 사용될 수 있다 세그먼트 버퍼 세마포어와 같은 자원들의 적당한 이용은 태스. ,

크 제거의 중요한 부분이다 이것은 특별히 동적 어플리케이션을 위한 반면 시스템.

의 부분으로 될 수 있거나 또는 요구에 의해 재 생성될 수 있다 일반적shutdown , .

으로 은 단지 자기 소멸 에 사용된다 그 이유는 간단하다, t_delete (self-deletion) . .

다른 태스크를 강제로 제거 시킬 때 는 필요한 를 수행하는, t_delete cleanup work

기회를 가진 그 태스크를 거부한다 더 좋은 방법은 를 사용하는 것인데. t_restart ,

이것은 초기 로 되돌아오게 해준다 가 부가적인entry pointer . t_restart argument

를 전달해주기 때문에 타겟 태스크는 이것으로 와 또는 자기 소list , t_start t_restart,

멸의 요구를 구분한다 후자의 경우 태스크는 할당된 자원을 되돌려주고 필요한. , ,

청소 코드를 실행하고 를 호출하여 자신을 소멸한다, t_delete .

Page 86: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 86 -

태스크 태스크 태스크가 우선순위가 가장 높고 가장 먼MAC , MESSAGE , EVENT ,

저 태스크가 실행되고 그 다음으로 태스크가 실행되어 로부터 받MAIN MAC CMTS

은 메시지는 큐를 통하여 태스크로 태스크 스위칭이 일어나고MESSAGE ,

태스크는 이벤트를 통하여 태스크나 태스크로 태스크 스위MESSAGE EVENT BPI

칭을 발생시킨다.

태스크2. MAIN

태스크는 메뉴에서 하향 주파수 키MAIN Dialog , Initial symbol rate, Encrytion ,

등을 할 수 있게 하는 태DHCP enable/disable, USB enable/disable, .., setting…

스크이다.

태스크3. MAC

케이블 모뎀의 태스크 동작은 초기화 과정에서는 순차적으로 일정한 작업이MAC

수행되고 정상적인 동작 상태에 도달한 후에는 수신되는 프레임에 따라 적절히 대,

응하게 된다 그리고 패킷의 전송 수신을 담당하는 태스크로 시스템에서 공유 메모. ,

리를 통하여 다른 소프트웨어 모듈과 인터페이스한다.

Page 87: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 87 -

메모리 인터페이스 메모리 인터페이스 모듈은 외부의 버퍼를 제어한다- : SRAM .

이 은 버퍼 그리고SRAM downstream path, upstream path, map FIFO overflow

를 공유한다 전체 은 어드레스 로 되고 는CPU . SRAM CPU space mapping , CPU

을 통하여 을 한다normal bus cycle SRAM access .

모뎀에서 수선된 데이터를 으로 전송한다- Downstream DMA: SHAM .

에는 개의 채널이 있는데 하나는 메시지를 위하여Downstream DMA 2 , MCNS MAC

사용되고 다른 하나는 데이터 를 위하여 사용된다 에 대하PDU . Downstream DMA

여 아래 그림 에 도식화하였다4-6 .

그림 4-6. Downstream DMA illustration

들어오는 데이터를 저장하기 위하여 공유된 데이터 구조를 사용 한다 이 구SRAM .

조는 모뎀 에 의해 된다 데이터는 이라고 불리는 의firmware set up . particle SRAM

영역에 저장된다 의 크기는 에 의해 되고 특정 패킷. Particle DMA set downstream

으로부터 데이터를 포함한 모든 들의 크기는 패킷 끝을 포함한 을particle particle

제외하고는 모두 같다 은 라 불리는 고정된 크기의. Particle buffer descriptor block

을 통해 위치한다 는 가 첫 번째 에 리. Buffer descriptor indicator buffer descriptor

턴을 유발시킬 때까지 순차적으로 된다 그리하여 는 링 구access . buffer descriptor

조가 된다.

Page 88: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 88 -

각 는 를 포함한다 는 이 데이터 저장을buffer descriptor status word . DMA particle

위해 유용한지 그렇지 않은지는 의 정보를 사용한다 이status word . Particle MAC

패킷의 시작인지 끝인지 에 저장된 바이트 수 그리고 패킷에 에러가 발생, , particle ,

했는지 에 가리키기 위해 는 를 한다 모뎀firmware DMA status word modify .

는 에 의해 이 사용 가능하다는 것을 가리키기 위해firmware DMA particle status

를 한다 가 을 쌓을 때 에서 에word modify . DMA particle , buffer descriptor particle

저장된 바이트 수를 저장할 것이다 는 또한 에서 의. Buffer descriptor SRAM particle

시작을 가리키는 포인터를 포함한다 은 레지스터를. DMA operation DMA control

통하여 에 의해 되었을 때 시작한다firmware enable .

데이터 패킷을 수신했을 때-

프레임 헤더를 제거하고 패킷 내부의 목적지 주소를 검사한다MAC .

의 주소와 일치했을 때 케이블 모뎀의 호스트 로 즉 자신의 데이터-> CM MAC : IP ,

이다.

알지 못하는 패킷일 때 케이블 모뎀에 종속하는-> : CPE(customer premise

로 전달된다equipment) .

패킷일 때-> USB

패킷일 때-> VoIP

Page 89: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 89 -

다음은 패킷을 수신을 때의 이다source code .

Page 90: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 90 -

메시지 패킷 수신했을 때-

이는 가 생성하여 보내온 관리 프레임들로서 그 내용에 따라 적절한 동CMTS MAC

작을 수행하고 규정상 필요에 따라 적절한 관리 프레임을 생성한다MAC .

메시지 태스크로 큐를 형성하여 태스크 스위칭이 일어난다- .

따라서 메시지 태스크에서 적절한 이 일어난다- action .

다음은 데이터 패킷을 수신했을 때의 이다source code .

Page 91: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 91 -

- Upstream DMA

아래 그림은 에 대한 내용을 도식화하였다Upstream DMA .

그림 4-7. Upstream DMA illustration

로직은 공유된 으로부터 로직으로 데Upstream DMA SRAM upstream processing

이터를 전송한다 개의 상향 채널이 있는데 각각 큐를 위해 사용된다. 4 upstream .

는 전송을 제어하기 위하여 공유된 에 데이터 구조를 사용한Upstream DMA SRAM

다 구조는 각 는 공유된 에서 을 표현하는. buffer descriptor SRAM particle

와 유사한 링을 포함한다 는downstream DMA buffer descriptor . Modem firmware

에 으로 전송될 데이터를 저장하고 와 의particle upstream status buffer descriptor

길이를 한다 또한 추가적으로 에 의해 사용되는update . upstream DMA descriptor

링이 있다 이 는 하나의 패킷을 참조한다 이를 라고. descriptor . packet descriptor

한다.

는 패킷에 관한 정보를 가리키기 위해 사용되는 를Packet descriptor status word

포함한다 은 패킷이 전송 가능한지 패킷인지. Upstream , concatenation , CBR

에 관련되는 패킷인지를 결정하는 로부터 정보를 사용한다session status word .

는 패킷을 다 전송했는지를 가리키는 를 한다DMA status word modify .

Page 92: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 92 -

는 패킷에 의해 사용되는 첫 번째 를 포Packet descriptor buffer descriptor index

함한다 일단 첫 번째 가 위치하면 는 완전한 패킷이 될 때. buffer descriptor , DMA

까지 순차적으로 를 사용한다 는 로부터 바buffer descriptor . DMA buffer descriptor

이트 길이와 을 가리키는 포인터를 얻는다 는 로부터 데이터particle . DMA particle

전송을 끝냈을 때 관련된 이 비어 있다는 것을 가리키는 각particle buffer

의 를 한다descriptor status word modify .

는 패킷의 길이 헤더 포함 와 패킷 데이터 앞에 전송될Packet descriptor (MAC )

헤더를 포함한다 는 바이트의 고정된 길이를 가지고 있MAC . Packet descriptor 256

다.

가 에 있는 패킷을 했을 때 그리고Modem firmware SRAM set up , buffer descriptor

와 를 구성했을 때 전송을 시작하라고 에게 신호packet descriptor , upstream DMA

를 보낸다 는 패킷이 더 이상 유용하지 않다고 가리키는 패킷에 도달할 때까. DMA

지 전송을 계속 할 것이다.

로직은 패킷을 전송할 때 로직에게 신호를 보낸다 또DMA upstream processing .

한 패킷의 바이트 길이와 요청된 를 함께upstream bandwidth upstream

로직에게 제공한다 로직은 패킷을 위한 요청을processing . Upstream processing

전송한다 패킷을 위한 를 수신했을 때 는 현재 패킷 뒤에 다. grant , Upstream DMA

른 패킷이 준비하고 있는지를 체크한다 만약 그렇다면 로직은 다음 패킷을. , DMA

위해 요청을 계산할 것이고 현재 패킷 헤더가 요청을 수용할piggyback piggyback

것이라고 가정하며 현재 패킷의 헤더에 결과 값을 삽입한다.

Page 93: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 93 -

태스크4. MESSAGE

태스크는 태스크에 의해 큐에 저장된 메시지를 수신하여 파싱MESSAGE MAC MAC

하고 적절한 을 취한다 즉 메시지가 등에 따라 그에action . SYNC, UCD, MAP, …

알맞은 루틴을 수행한다.

메시지 타입은 아래 표 과 같다7-1 .

그림 관리 메시지 타입4-8. MAC

상향은 나 이 가능하고 각각 초당QPSK 16QAM 160K, 320K, 640K, 1280K, 2560K

심볼을 선택할 수 있다 만일 심벌 을 사용한다면 의 경우. QPSK, 640K /sec QPSK

심볼당 비트의 전송이 이루어지므로 이 경우 전송 속도는 이2 , 640K52= 1.28Mbps

다 전체 시스템의 기준 클럭인 에 대해서는. 6.25msec 1280kbit/sec 5

으로서 당 바이트의 데이터가 전송된다 미6.25msec/tick = 8bit/tick 1 clock tick 1 .

니슬롯의 크기는 으로 가정하였다 이것은2exp4 = 16 . 16tick/slot 5 1byte / tick

즉 슬롯당 바이트를 전송할 수 있는 크기로서 제일 크기가 작은 미니 슬롯, 16 REQ(

프레임이 하나의 슬롯에 전송 될 수 있도록 선택되었다 이 경우에 미니request) .

슬롯당 타임 스탬프 값은 즉 미니 슬롯 당 만큼씩 증가64/tick 5 16tick/slot , 1024

하게 된다 그리고 한 슬롯 당 실제 시간은 으로서. 6.25msec/tick 5 16tick / slot

에 해당한다0.1 msec .

Page 94: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 94 -

위의 메시지 중 태스크는 케이블 모뎀 관점에서 수용하는 메시지이기MESSAGE

때문에 이 수신하는 메시지인CM SYNC, UCD, MAP, RNG_RSP, REG_RSP,

메시지 등이다 따라UCC_REQ, TRI_TCD, TRI_TSI, BPKM_RSP, DOCSIS1.1 DSx .

서 각 메시지를 수신했을 때를 구체적으로 서술하겠다.

메시지를 수신했을 때 먼저 인지 아닌지를 체크한다 그리고- UCD Initial ranging .

나서 를 파싱하는데 상향의 채널 주파수 등의 정보를 체크한다UCD ID, . Initial

은 케이블 모뎀이 에 등록하기 이전의 상태를 말하고ranging CMTS , Initial ranging

이 아닐 때 즉 은 케이블 모뎀이 에 등록한 이후의 상태를 말Station ranging CMTS

한다 먼저 일 때 를 결정하기 위해 메시지를. Initial ranging ranging back off MAP

받고 레인징을 시작하라는 이라는 시스템 을ev_send(EventTID, RANGE_BEGIN) call

호출하여 태스크로 태스크 스위칭을 일으킨다 일 때 특이한EVENT . Station ranging

경우 레인징을 시작하는데 만일 에 의해 상향 채널을 변경할 필요가 있을 때CMTS

레인징을 시작하라는 이라는 시스템 을 호출ev_send(EventTID, RANGE_BEGIN) call

하여 태스크로 태스크 스위칭을 일으킨다EVENT .

메시지를 수신했을 때 인지 아닌지를 체크한다- MAP Initial Maintenance .

먼저 일 때 메시지가 브로드캐스트 기회를 가지고 있는지Initial Maintenance MAP

를 확인하고 브로드캐스트 타이머를 셋 하라는 ev_send(EventTID,

이라는 시스템 을 호출하여 태스크로 태스크SET_BROADCAST_TIMER) call EVENT

스위칭을 일으킨다 가 아닐 때 레인징을 시작하라는. Initial Maintenance ev

이라는 시스템 을 호출하여 태스크로_send(EventTID, RANGE_BEGIN) call EVENT

태스크 스위칭을 일으킨다.

Page 95: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 95 -

메시지를 수신했을 때 자신의 채널인지 먼저 채널 를 확인하고 메시- RNG_RSP ID

지를 파싱하는데 가 가를 체크한다Ranging Status ABORT, CONTINUE. SUCCESS .

일 때는 을 재 초기화하고 일 때는 브로드캐스트 타이머를ABORT MAC , CONTINUE

셋 하라는 이라는 시스템 을 호ev_send (EventTID, SET_BROADCAST_TIMER) call

출하여 태스크로 태스크 스위칭을 일으킨다 그리고 일 때는EVENT . SUCCESS

에게 패킷을 생성하여 프로세스를 수행한CMTS Registration Request registration

다 를 사용할 경우에는 패킷을 생성하는데 이. DHCP Registration Request

데이터는 서버로부터 구성 파일을 다운로드받고 서버로registration TFTP CM TOD

부터 를 얻는다 를 사용하지 않을 경우는 디폴트 파라메터를 사time of day . DHCP

용해서 패킷을 생성하여 에게 전송한다 메커니Registration Request CMTS . DHCP

즘을 그림으로 나타내면 다음과 같이 표현할 수 있다.

그림 매커니즘4-9. DHCP

Page 96: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 96 -

다음은 과 의 구성 파일을 비교한 것인데 오른쪽의 의 요DOCIS1.0 1.1 DOCSIS 1.1

소는 왼쪽의 을 포함하고 있다DOCSIS 1.0 .

DOCSIS 1.0 DOCSIS 1.1

Downstream Frequency█

Upstream Channel ID█

Network Access█

Class of Service█

Modem Capability█

Modem IP█

BPI█

Vendor ID█

CM MIC█

CMTS MIC█

Upstream Packet Classification█

Downstream Packet Classification█

Upstream Service Flow█

Downstream Service Flow█

Maximum Number of CPEs█

Payload Header Suppression█

TFTP Server Timestamp█

메시지를 수신 했을 때 메시지를 파싱하고 카드가 있을 경우 카- REG_RES VoIP

드 초기화 및 상위의 어플리케이션을 생성한다.

를 했을 경우BPI enable ev_send(BPKM_Auth_TID, AUTH_PROVISIONED_EVENT)

의 함수를 태스크로 태스크 스위칭하게 한다BPI .

메시지를 수신했을 때 이미 그 채널을 쓰고 있을 때와 아닐 때를 체- UCC_REQ

크한다 이미 그 채널을 쓰고 있을 때는 패킷을 생성하여 송신하고 채널. UCC_RSP

을 쓰고 있지 않을 때는 바꾼 채널을 자신의 채널로 하고 패킷을 생성하UCC_RSP

여 송신하고 새로운 채널에 대한 기다리고 를 리셋한다UCD ConfigChangeCount .

태스크에 대한 리스트는 다음과 같다MESSAGE source code .

Page 97: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 97 -

Page 98: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 98 -

Page 99: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 99 -

태스크5. EVENT

태스크는 태스크에서 발생시킨 이벤트를 처리하며 타이머 관련 태EVENT MESSAGE

스크로서 를 관리한다 먼저RangeTimer, RegTimer, UCDTimer, BroadcastTimer .

타이머를 살펴보면 다음과 같다.

RangeTimerT3 timeout: 200msec

waiting for raging response

RegTimerT6 timeout: 3sec

waiting for registration response

UCDTimerT1 timeout: 10sec

waiting for UCD timeout

BroadcastTimer

T2 timeout: 10sec

waiting for broadcast raging

T4 timeout: 30sec

waiting for unicast raging opportunity

이벤트는 을 위해 셋 업 되며 이 이벤트를 받으면- RANGE_BEGIN initial ranging

레인징 패킷을 구성하여 송신한다.

이벤트를 수신하면 인가 아닌가를- BROADCAST_TIMER_EXPIRED initial ranging

체크하여 일 경우는 카운트를 증가시키고 을 재 초기initial ranging T2 timeout MAC

화하고 일 경우는 카운트를 증가시키고 을 재 초, periodic ranging T4 timeout MAC

기화한다.

이벤트를 수신하면 인가 아닌가를 체크하- SET_BROADCAST_TIMER initial ranging

여 일 경우는initial ranging

tm_evaf te r (BROADCAST_T IMEOUT,BROADCAST_T IMER_EXPIRED,&

라는 시스템 함수를 이용하여 이후에BroadcastTimer) BROADCAST_TIMEOUT

를 셋 하는 것이고 이 아닌 경우는BOADCAST_TIMER , initial ranging periodic

일 경우는 함수ranging

tm_evafter(UNICAST_RANGING_TIMEOUT,BROADCAST_TIMER_EXPIRED

를 이용하여 이후에,&BroadcastTimer) UNICAST_RANGING_TIMEOUT

를 셋 하는 것이다BROADCAST_TIMER .

Page 100: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 100 -

이벤트는 일 경우는 카운터를 체크- RANGE_TIMER_EXPIRED initial ranging Retry

하여 을 넘으면 을 재 초기화하고 아니면 다른 레인징 기회를 기다리기 위250 MAC

해 함수 tm_evafter(BROADCAST_TIMEOUT,BROADCAST_TIMER_EXPIRED,

를 요청한다 일 경우는 카운터를 체크하여&BroadcastTimer) . Station ranging Retry

을 넘으면 을 재 초기화하고 아니면 다른 주기적 레인징 기회를 기다리기16 MAC

위해 함수

tm_evafter(UNICAST_RANGING_TIMEOUT,BROADCAST_TIMER_EXPIRED,&Broadc

를 요청한다astTimer) .

Page 101: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 101 -

소스 리스트는 다음과 같다.

Page 102: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 102 -

태스크6. DOWNLOAD

코드를 케이블모뎀에 다운로드하는 방법은 가지가 있다 첫 번째 방법은 케Flash 2 .

이블모뎀과 간에 가 필요한데 이것을 흔히 다운로드 라고 한CMTS RF path “HFC ”

다 두 번째 방법은 케이블모뎀 가 필요하지 않고 단지 케이블모. -CMTS(HFC) path

뎀의 이더넷 포트에 연결될 서버가 필요하다 이것을 흔히 이더넷 다운로TFTP . “

드 라고 한다” .

Page 103: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 103 -

다운로드- HFC

요구사항->

케이블모뎀 동작을 위한CMTS, , CM/CMTS DOCSIS cable plant necessary☞

서버 에서 동작하거나 이더넷을 통해 에 연결된 서버TFTP (CMTS CMTS TFTP )☞

디버깅 콘솔로 사용되기 위한 PC☞

다운로드 순서->

케이블 모뎀을 리셋하고 메뉴일때 멈춘다pSOS configuration .①

서버와 같은 도메인에 케이블 모뎀의 를 입력한다TFTP IP .②

다운로드될 파일의 을 입력한다"hex" full path name .③

서버의 를 입력한다TFTP IP .④

케이블 모뎀을 플래시 코드로 부팅하지 말고 코드로 부팅한다ROM .⑤

메뉴 모드 프롬프트에서 케이블 모Diagnostic , "Press any key in 2 seconds"⑥

뎀 부팅 프로세스를 멈춘다.

에서 를"misc. menu"(main menu item #6, submenu item #7) DHCP disable⑦

한다.

에서 를"misc. menu"(main menu item #6, submenu item #5) Key request⑧

한다disable .

케이블모뎀이 하도록 한다range, register .⑨

케이블모뎀이 되면 를 타이핑하고 리턴 키를 친다range, registered , "dload" .⑩

다운로드 프로세서를 수행하면 콘솔은 점 을 프린트 아웃한다(dots) .⑪

Page 104: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 104 -

이더넷 다운로드-

요구사항->

케이블모뎀의 이더넷 포트에 연결된 서버TFTP☞

디버깅 콘솔로 사용되기 위한 PC☞

케이블모뎀☞

다운로드 순서->

케이블모뎀을 리셋하고 메뉴일 때 멈춘다pSOS configuration , .①

서버와 같은 도메인에 케이블모뎀의 를 입력한다TFTP IP .②

다운로드 될 파일의 을 입력한다"hex" full path name .③

서버의 틀 입력한다TFTP IP .④

케이블모뎀을 플래시 코드로 부팅하지 말고 코드로 부팅한다ROM .⑤

메뉴모드 프롬프트에서 케이블모뎀Diagnostic , "Press any key in 2 seconds"⑥

부팅 프로세스를 멈춘다.

Invoke shell(menu item #18)⑦

첫번째 블록을 지우기 위하여 프롬프트에서 를 친다flash % "efb0" .⑧

다운로드 프로세스를 시작하기 위하여 프롬프트에서 를 친다% "dload" .⑨

태스크7. BPI

베이스라인 프라이버시 접속 규격 은 케이블 모뎀과(Baseline Privacy Interface)

간의 망 트래픽을 암호화함으로써 사용자에게 데이터 보안을 제공하고 케이CMTS

블 공급자에게 중요한 데이터를 도난 방지하기 위한 규격이다.

Page 105: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 105 -

그림 메시지4-10. BPI

그림 에서와 같이 상향 및 하향의 중요한 패킷 는4-9 PDU DES(Data Encryption

의 방식으로 암호화 하는데 이때 암호화된Standard) CBC(Cipher Block Chaining) ,

패킷 들의 헤더 부분은 암호화되지 않는다 암호화된 패킷 를 풀기 위PDU MAC . PDU

해서는 트래픽 암호화 키 와 초기화 벡터(Traffic Encryption Key: TEK) (Initialization

가 필요하다 케이블 모뎀은 로부터 인증된 서비스의 과 초기Vector: IV) . CMTS TEK

화 벡터가 포함된 키 재료 를 획득하여야 하는데 이 과정을 베이스(keying material)

라인 키 관리 프로토콜로 정의하고(Baseline Privacy' s Key Management: BPKM)

있다 메시지는 케이블 모뎀이 에게 보내는 인증 요구와 키 요구 그리. BPKM CMTS ,

고 가 이들 메시지에 대한 응답으로 케이블 모뎀에게 보내는 인증 응답 인증CMTS ,

거절 키 응답 키 거절 인증 무효 및 키 무효 메시지들로 구성된다 이들은, , , , . MAC

관리 메시지로써 관리 메시지 헤더의 유형 필드에 와MAC BPKM-REQ BPKM-RSP

으로서 구별되며 각각 상향 및 하향 메시지를 나타낸다 메시지 및 모든, . BPKM

관리 메시지들은 암호화되지 않은 상태로 전송된다MAC .

Page 106: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 106 -

는 계층의 확장된 서비스로 구성되어 있다 는 계층에서BPI MCNS MAC . BPI MAC

상향 대역폭 할당과 서비스 등급에 사용되는 의 상향 개념을 확장해서 특정 보SID ,

안 관계를 나타내는 하향 개념도 갖게 한다 따라서 가 동작 할 때 하향 멀티. , BPI

캐스트 트래픽 플로우에도 가 부여 된다 케이블 모뎀이 로부터 을SID . CMTS BPKM

통해서 전송 받은 키 재료들 중 암호화된 패킷을 해독하기 위한 특정 키 재료MAC

를 나타내는 정보 와 키 일련 번호 는 화장 헤더에 표시된다(SID ) .

케이블 모뎀과 에서 동작하는 은 케이블 모뎀이 주기적으로 인증과CMTS BPKM

키 재료를 획득하게 한다 은 을 보다 안전하게 전송하기 위해서TEK . BPKM TEK

공용 키 알고리즘과 의 방식을 사용한다RSA DES ECB (Electronic CodeBook) .

방식으로 을 암호화 할 때 사용되는 키는DES ECB TEK Key Encryption Key(KEK)

이다 케이블 모뎀은 공장에서 미리 지정된 공용 사설 키를 가지고 있거나 내. RSA / ,

부 알고리즘으로 키를 생생할 수 있어야 한다 특정 의 키 재료 과RSA . SID (TEK

초기화 벡터 는 제한된 수명을 가지고 있다 따라서 가 케이블 모뎀에게CBC ) . CMTS

키 재료를 전송할 때 남아 있는 수명도 함께 전송한다 각 케이블 모뎀은 가지고, .

있는 키 재료를 만료되기 전에 갱신하여야 한다 설정은 케이블 모뎀의 초기화. BPI

과정 중 등록 바로 다음에 시작된다CMTS .

엘리먼트는 아래 그림 과 같다BPI EH .

그림 4-11. BPI EH element

Page 107: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 107 -

의 형식은 암호화나 픽 백 요구의 존재에 상관없이 동일하다 에 대해 암호EH . PDU

화를 하지 않는 경우 필드의 가 이 된다 비트는SID Bit[15] 0 . TOGGLE KEY_SEQ

필드의 비트와 같아야 한다 만일 피기 팩 요구가 있으면 필드는 요LSB . , Request

청하는 미니 슬롯 혹은 셀의 개수를 나타낸다, ATM .

프로토콜- BPKM

프로토콜은 서로 종속적인 두 개의 상태모델 즉 인증 상태모델 인증 상태BPKM , ( ,

기계 과 서비스 키 상태모델 트래픽 암호 키 혹은 상태 기계 로 기술된다 케) ( , TEK ) .

이블모뎀의 은 요청 메시지를 에게 보내authorization authorization CMTS

키와 케이블모뎀에게 허용된 리스트를 받는다 요authorization SID . authorization

청 메시지는 다음과 같다.

케이블모뎀 주소-> ID(MAC )

공개키-> RSA

허용된 개 이상의 리스트-> 0 unicast SID

는 요청 메시지를 받으면 새로운 키를 생성하여CMTS authorization , authorization

케이블모뎀의 공개키로 암호화한 이후 응답 메시지로 케이블모RSA authorization

뎀에게 보낸다 응답 메시지는 다음의 내용을 포함한다. authorization .

키 공개키로 암호화-> Authorization (RSA )

비트 키순서 번호 키들을 구분-> 4 (authorization )

케이블모뎀에게 허용된 모든 리스트-> SID

작업이 완료되면 케이블모뎀은 허용된 각 마다 별도의 상태Authorization SID TEK

기계를 동작시킨다 케이블모뎀 내에서 동작하는 각 상태기계는 해당 와. TEK SID

관련된 암호 키 데이터를 관리한다 상태기계는 주기적으로 에게 키 요. TEK CMTS

구 메시지를 보내 사용 연한이 넘은 키 데이터를 항상 새로운 키 데이터로 교체한

다 키 요구 메시지는 다음 내용을 포함한다. .

Page 108: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 108 -

케이블모뎀이-> ID

요청된 키 데이터의-> SID

메시지 요약문 키 요청 메시지 인증용-> HMAC ( )

는 키 요구 메시지를 받은 후 특정 를 위한 키 데이터를 실은 키 응답 메CMTS SID

시지를 케이블모뎀에게 보낸다 키 응답 메시지는 다음과 같다. .

을 사용한 모드 로 암호화된 키-> KEK DES(ECB ) TEK

초기화 벡터-> CBC

키순서 번호->

키 사용 연한->

메시지 요약문 키 응답 메시지 인증용-> HMAC ( )

암호키 사용 방법-

케이블모뎀->

메시지 요약문을 계산하고 검증하는데 사용하는 메시지 검증키와 는HMAC KEK

키로부터 유도한다 케이블모뎀은 하나의 키를 유지한authorization . authorization

다 케이블모뎀은 키 요구 메시지의 메시지 요약문을 생성할 때 현재의. HMAC ,

키를 사용해야 한다 또한 다음 두 경우에도 현재의 인증키를 사용authorization . ,

해야 한다.

키 응답과 키 거절 메시지의 메시지 요약문을 검증 할 때-> HMAC

키 응답 메시지의 속성 내의 서브 속성을 복호화 할-> SA-Parameter TEK-KEY

때 를 현재의 키에서 유도(KEK authorization )

케이블모뎀은 허용된 당 두 개의 키 데이터를 유지해야 한다SID TEK .

즉 허용된 각 에 대해 은 다음과 같다, SID CM .

상향 데이터 트래픽을 암호화하기 위해 가장 최근의 을 사용- TEK

하향 데이터 트래픽을 복호화하기 위해 가장 최근의 혹은 바로 직전의- TEK

가장 최근의 보다 키순서 번호가 하나 적은 를 사용 보안 확장 헤더의TEK( TEK TEK)

필드는 의 패킷 데이터를 암호화하는 데 사용한 의 키 순서KEY_SEQ PDU TEK

번호를 나타낸다 보안 확장 헤더의 비트는 필드의 비트와. TOGGLE KEY_SEQ LSB

동일하게 유지하여 두 개의 키 생성 사이의 구별을 쉽게 한다.

Page 109: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 109 -

-> CMTS

는 케이블 모뎀에게 응답 메시지를 보낼 때 새로운CMTS authorization ,

키를 생성해야 한다 는 항상 케이블 모뎀에게 보낸 가장 최근의authorization . CMTS

키를 사용해야 한다 는 키를 다음의 목적에 사용한authorization . CMTS authorization

다.

케이블 모뎀에게 받은 키 요구 메시지의 메시지 요약문을 검증할 때-> HMAC

케이블 모뎀에게 보내는 키 응답 메시지의 를 의 모드로 암호화할-> TEK DES ECB

때 은 키에서 유도(KEK authorization )

케이블 모뎀에게 보내는 키 응답 키 거절 실패 메시지의 메시지 요-> , , TEK HMAC

약문을 계산할 때

각 마다 는 관련 키 데이터 와 초기화 벡터 에 대한 타이머를 유SID CMTS (TEK CBC )

지한다 타이머가 끝나면 는 암호화 혹은 복호화에 그 키를 더 이상 사. TEK CMTS

용하지 말아야 한다 는 의 키 재요구 기간 내에 케이블 모뎀에게 새로운. CMTS TEK

키 데이터를 제공하도록 준비를 갖추어야 한다 키의 재 요구 기간은 사용 연. TEK

한 부터 시작하여 사용 연한까지를 말한다 는 새로운 키를-TEK GRACE TEK . CMTS

생성하는 시간과 기존 을 폐기하는 시간 사이에 의 데이터 트래픽을 암호화TEK SID

복호화 할 수 있도록 유효한 두 세트의 키 데이터를 가지고 있어야 한다/ .

키 교체 기간 중에 가 두 세트의 키 데이터를 유지하고 있을 때 키 사용 요CMTS ,

구는 와 에 따라 다르다unicast SID multicast SID .

인 경우- unicast SID

는 기존의 을 폐기할 때까지 패킷 데이터를 암호화 하는데 기존-> CMTS TEK TEK

을 계속 사용한다.

Page 110: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 110 -

기존 가 계속 유효하면 는 상향 프레임을 기존 혹은 새로운-> TEK CMTS TEK TEK

를 사용하여 복호화 한다 확장 헤더의 필드는 두 키 중 어느 키로. BPI KEY_SEQ

암호화했는가를 알려 준다.

가 기존 를 폐기하면 즉시 하향 데이터의 암호화와 상향 데이터의 호-> CMTS TEK

환에 새로운 를 사용해야 한다TEK .

는 사용 연한이 지난 은 폐기한다-> CMTS TEK .

는 사용 연한 전이라도 케이블 모뎀이 새로운 로 암호화한 패킷을 보-> CMTS TEK

내면 기존 를 폐기할 수 있다TEK .

기존 의 사용 연한이 지나면 즉시 는 기존 를 폐기하고 새로운TEK CMTS TEK TEK

를 사용함에 주의해야 한다 즉 키를 적시에 변경하는 것은 케이블 모뎀의 책임이. ,

라는 것을 의미한다.

인 경우- Multicast SID

는 기존 의 사용 연한이 도달할 때까지 새로운 로 하향 데이터-> CMTS TEK TEK

트래픽을 암호화하지 말아야 한다.

기존 의 사용 연한이 끝나면 즉시 는 새로운 를 사용하여 암호화-> TEK CMTS TEK

한다.

내에 멀티캐스트 를 위한 사용 연한 시간은 바로 전의 의 사용 연CMTS SID TEK TEK

한을 이용하여 설정되어야 한다 예를 들어 이전의 가 시간 에 폐기 되었고. TEK T

사용 연한이 초 동안이라면 새로운 의 폐기 시간은N TEK T 이 된다 가+ N . CMTS

케이블 모뎀에게 키 응답 메시지로 보내는 멀티캐스트 키의 사용 연한은 멀티캐스

트 키의 남아 있는 사용 연한을 반영해야 한다.

암호화 방법-

는 미국 표준의 알고리즘의 모드를 사용하여 상향 하향 패킷BPI DES CBC / RF MAC

데이터 의 패킷 데이터 필드를 암호화 복호화 한다 기본 보안 모드는 비트PDU / . 56

혹은 비트 의 암호키로 동작한다 하지만 프로토콜은 항상 비트( 40 ) DES . , BPKM 56

의 암호키를 생성시켜 전달한다 암호키를 비트로 제한하는 것은 하DES . DES 40

드웨어에 의해 구현된다 비트의 암호키는 비트의 암호 키 중 왼쪽. 40 DES 56 16

비트를 잘 알려진 고정된 값으로 설정하는 것을 제외하면 비트 암호키와 같56 DES

은 방식으로 동작한다 비트 암호키로 동작하는 케이를 모뎀과 하드웨어. 40 CMTS

는 암호화 복호화를 수행하기 이전에 비트 암호키 중에서 비트를 으로 마스/ 56 16 0

크 하여 사용한다.

Page 111: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 111 -

알고리즘의 모드는 초기화 벡터로 초기화되어야 한다 는 키 응답 메DES CBC . CMTS

시지로 케이블 모뎀에게 에 대한 다른 키 정보와 함께 초기화 벡터 값을 제공한SID

다 블록 체인은 한 프레임 내에 블록 간에 이루어지며 프레임이 바뀌면 다시 초기. ,

화시켜 시스템이 데이터 프레임의 손실에 상관없이 정상적으로 동작하도록 한다.

프레임 내의 마지막 블록이 비트보다 적을 때 이 블록을 암호화하기 위해 잔여64 ,

블록 처리를 사용한다 마지막 블록이 비트보다 적은 비트로 이루어졌을 때. 64 n ,

바로 전의 암호 블록 을 의 모드로 한번 더 암호화 한다 그리고 암(CBC) DES ECB .

호화된 결과의 왼쪽 비트를 마지막 비트 블록과 연산을 수행하n n exclusive OR

여 마지막의 짧은 암호 블록을 생성 시킨다 이것을 수신측에서 복호화하기 위해. ,

수신 측은 마지막 블록 바로 전의 암호 블록을 의 모드로 암호화하고 결과DES ECB

의 왼쪽 비트를 마지막 짧은 암호 블록과 연산을 수행하여 마지막n exclusive OR

블록의 원문을 복원한다.

전체 패킷 데이터 가 비트보다 적은 특별한 경우 초기화 벡터를 로 암PDU 64 , DES

호화하고 결과의 왼쪽 비트를 패킷 의 비트와 연산을 수행하여n PDU n exclusive OR

짧은 암호 블록을 생성한다.

키 응답 메시지에 있는 들은 을 사용하여 의 모드로 암호화되어 있다TEK KEK DES .

프로토콜은 패킷 데이터의 키가 비트인지 비트인지 상관없이BPKM DES 40 56 TEK

키들을 암호화하기 위해 비트의 키를 사용한다 응답 메시지에56 DES . Authorization

있는 키는 케이블 모뎀의 공개키를 이용하여 알고리즘으로 암authorization RSA RSA

호화하여 보낸다 에서 공개키를 구성하는 지수 는 를 사용. BPI (exponent) F4(65537)

하고 비트 길이의 계수를 선택한다, 768 .

Page 112: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 112 -

메시지 검증을 위한 키 해쉬는 표준 메시지 검증 방법을 사용한다 모드HMAC . BPI

에서 을 위한 메시지 요약 알고리즘으로 해쉬 방법을 이용한다HMAC SHA-1 . KEK

와 두 개의 검증 키는 공통의 키에서 유도한다 다음 식은 이 세계의authorization .

키를 유도하는 방식을 보여준다 식에서 는 를 암호화하는데 사용하는. KEK TEK key

이다 는 상향의 키 요구 메시지에 사용하는 메시지encryption key . HMAC_KEY_U

검증키이다 는 하향의 키 응답 키 거절 실패 메시지 등을 암. HMAC_KEY_D , , TEK

호화하는데 사용하는 메시지 검증 키이다 는 비트 스트링 와 를 연결. SHA(x|y) X y

한 후 함수를 적용한 결과를 표현한다 은 의 첫 번째 비트를SHA . Truncate(x, n) x n

제거한 결과를 나타낸다 는 키를 말한다. AUTH_KEY authorization .

KEK = Truncate(SHA(K_PAD | AUTH_KEY), 64)

HMAC_KEY_U = SHA(H_PAD_U | AUTH_KEY)

HMAC_KEY_D = SHA(H_PAD_D | AUTH_KEY)

각 는 다음과 같이 구성되는 비트 스트링이다_PAD_ 512 .

을 번 반복K_PAD = 0x53 64

를 번 반복H_PAD_U = 0x5C 64

를 번 반복H_PAD_D = 0x3A 64

소프트웨어 구현- BPI

에서 키 생성-> CMTS Auth

-> BPI BER Public keyUX.509

임의의 키 생성-> authorization

암호화 키 생성-> RSA authorization

키 계산-> HMAC U/S

키 계산-> HMAC D/S

키 계산-> KEK

Page 113: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 113 -

소스 리스트는 다음과 같다.

Page 114: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 114 -

Page 115: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 115 -

케이블 모뎀에서 키 수신- Auth

키를 비밀키로 복호화-> Authorization RSA

키로 부터 유추키를 뽑아냄-> Auth

키-> HMAC U/S

키-> HMAC D/S

키-> KEK

의 구조에 유추키를 쓴다-> CM AuthKey .

소스 리스트는 다음과 같다.

Page 116: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 116 -

에서 암호화- CMTS TEK

로 키 암호화-> KEK TEK

소스 리스트는 다음과 같다.

케이블 모뎀에서 복호화- TEK

을 사용하여 모드 로 암호화 된 키 복호화 소스 리스트는 다-> KEK DES(ECB ) TEK

음과 같다.

Page 117: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 117 -

제 절 케이블 모뎀 콘솔 덤프 리스트4 .

Page 118: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 118 -

Page 119: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 119 -

Page 120: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 120 -

Page 121: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 121 -

Page 122: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 122 -

Page 123: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 123 -

제 장 하드웨어 설계5 MoIP

제 절 서론1

케이블 모뎀용 형태의 모듈에서Daughter B/D VoIP , HFC(Hybrid Fiber Coaxial)

을 이용하는 기술은 송신기를 통해 입력되는 음성 신호를Network VoIP Telephony

디지털 신호로 바꾼 다음 이들을 패킷 형태로 잘라서 망을 통해 전달하고 수신IP ,

부에서는 다시 수신된 음성 패킷들을 모아서 원래의 음성 신호로 복원해 내는 기술

이다 케이블 모뎀용 시험 모듈부는 을 통하여 장비. VoIP HFC Network CMTS(H/E )

와 연결되며 이는 또한 이나 프레임 릴레이 혹은 이더넷이나 전용선, ATM T1/E1 ,

모뎀 등 임의의 패킷 전달망과 연동하여 운용될 수 있다 서비스 관점에서는 인터.

넷 망과 기존 망을 상호 접속시켜서 기존 전화와 케이블 모뎀용 모듈PSTN VoIP ,

또는 일반 컴퓨터와 접속이 이루어져야 한다.

기술은 고품질 음성 압축과 무음 처리 등을 통해 대역폭에 음성 코딩VoIP 64Kbps

방식에 따라 다수의 신호를 전달함으로서 기존 회선 교환형 전화에 비해 대역VoIP

폭 사용 효율을 개선하고 인터넷 연동을 통해 다양한 부가 서비스 특성을 용, Web

이하게 지원 할 수 있으며 인터넷 자체의 저비용 요금 체계 덕분에 빠르게 확산되,

고 있다 그러나 초기 제품들은 통일된 표준 규격의 미비로 인해 장치간 호환성이.

문제가 있으며 인터넷의 전달 특성으로 인한 품질 저하와 취약한 통신 보안 등의,

문제가 있어 서비스의 폭 넓은 확산은 아직까지 이루어지지 않고 있다 그러나 최.

근 와 등 표준화 기구들에서 기반의 통일된 표준 규격을ITU-T VoIP Forum H.323

권고하고 있고 인터넷 수요의 지속적 증가가 예상되고 있음으로 기술은 계속, VoIP

확산될 것으로 전망되고 있다 인터넷을 통해 전화서비스를 제공하기 위해서는.

망에서와 마찬가지로 서비스 호의 제어 음성 신호처리 및 망에서의 실시PSTN , IP

간 음성 트래픽의 전달 실시간 품질 지원 과금 망과 인터넷 망, , , PSTN (w/HFC

간의 연동 기능등이 지원되어야 한다 에서는Newtork) . H.323 G.711(64Kbps PCM)

코딩 방식을 기본으로 규정하고 있으나 이 방식은 망 적용시에 대역 사용 효율, IP

이 좋지 않은 문제가 있어서 및 방식G.723.1(5.3Kbps MPMLQ 6.3Kbps ACELP)

이 표준 규격으로 채택 되었다 은 의 저대역을 사용 하면서. G.723.1 5.3/6.3 Kbps

도 높은 음성 품질을 지원할 수 있다 아울러 무음처리 등 음성 처리 기술을 이용.

하여 대역폭 효율을 개선하고 에코 제거 톤의 생성 및 전달 서비스 사용, , DTMF ,

감 개선을 위한 배경 잡음 생성 기술들도 사용하여야(Comfort Noise Generation)

한다 와 같은 은 과는 달리 수신 모듈. Voice Real time Traffic Internet Data Traffic

에서 순서 재배열 전달되는 패킷간의, IP Packet , Time Synchronization, Media

의 에 대한 구별 능력등이 요구된다Synchronization, Packet Encoding Mechanism .

이러한 능력을 지원하기 위해 기능구현시VoIP RTP(Real Time Transport

와 프로토콜을 사용하여 패킷을Protocol) RTCP(Real Time Control Protocol) VoIP

Page 124: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 124 -

전달하게 된다 현재의 인터넷 망은 지역이나 시간대에 따라 전달 성능이 큰 차이.

를 나타내며 또한 그 전달 방식도 기본적으로 서비스 품질을 보장하지 못하므로,

궁극적으로 인터넷망의 와 사전 대역폭 예약 및 폭주 제어등의Upgrade QoS

이 필요하다 따라서 에서는 를 이용하여 사전에 자Control Mechanism . , IETF RSVP

원을 예약하는 방안을 연구 중이다 기술의 경우 상호 동작성 확보도 중요한. VoIP

이슈로서 의 등에서 표준화를 주도하고 있IMTC VoIP Forum, ITU-T, IETF, ETSI

다 상호 동작성 확보 측면에서 를 위한 서비스 제어 절차와 음성 코딩 방식은. VoIP

와 로 일단 정리가 된 상태이다 현재 추진중인 프로토콜은H.323/MGCP G.723.1 .

를 위한 과Internet Phone Service Session Control SIP Protocol Real Time Voice

를 위한 프로토콜이 잠정안으로 발표된Traffic Transfer RTP, RTCP, RTSP, RSVP

상태이다 서비스 품질 지원을 위한 성 품질 보장 기술은 인터넷 망에서. Real Time

해결 되어야 할 중요한 현안 중의 하나이다 서비스가 보편적 인터넷 서비스. VoIP

로 대중화되기 위해서는 대용량의 과 간Call Processing IP Network/PSTN Network

연동능력 그리고 확장성 및 일관된 표준 규격이 지원되어야 할 것이다, .

마이크로 콘트롤러 인터페이스 부분1. (Micro controller interface)

보드는 케이블모뎀과 개 데이터버스와 개 어드레스 버스 그Daughter card VoIP 8 4

외에 및 마스터 클록 등 제어 및 데이터 교환을 위해 커넥터를 통해 연/CS 50pin

결되어 있다 보드는 케이블모뎀의 각 종 제어 신호나 데이터 등을 받아들여. VoIP

보드 내의 특정 디바이스를 설정 하는 등의 기능수행을 위한 를 가지고 있다FPGA .

보드를 구성하는 디바이스들로는 를 포함하여FPGA Am79C02(Dual Subscriber

와 두 개의Line Audio-Processing Circuit) Ringing Subscriber Line Interface

이 있고 음성 으로 칩이 있다 이 외에 전원Circuit(SLIC) CODEC TMS320VC5402 .

발생 모듈을 위한 디바이스들로 구성되어 있다고 할 수 있다 케이블 모뎀의 마이.

크로 콘트롤러로서 이 사용됐는데 의 견지에서 보드는BCM3310 BCM3310 VoIP 8

비트 폭의 장치라고 할 수 있으며 의 내부 레지스터를 억세스하여I/O FPGA

등의 디바이스에 명령을 준다거나 데이터를 입력 받을 수 있다 데이터의 교DSLAC .

환을 위해서는 와 사이에 제어 레지스터를 두어 핸드쉐이크 기능이FPGA BCM3310

있으며 는 내부의 로직 구동과 보드의 각 종 디바이스에 클록을 제공하FPGA VoIP

기 위해 케이블모뎀 보드의 클록 선호를 입력 받아 필요한 주파수로 분주40MHz

하는 기능을 내장하고 있다 이 때 케이블모뎀의 클록 소스는 에 동기된. BCM3310

클록과 케이블모뎀의 의 칩에서 발생되는 의 클록40MHz BCM3300 MAC 4.096MHz

이 있다 동기를 맞추는 측면에서 칩의 클록은 헤드엔드 쪽인 의 타이밍. MAC CMTS

에 동기 되어있는 클록이며 클록은 의 타이밍에 동기 되어있는40MHz BCM3310

클록이라 할 수 있다 칩은 와 로 연결되어. Codec FPGA HPI(Host Port Interface)

있다.

Page 125: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 125 -

가 클록 발생기. (Clock Generator)

이 블록은 케이블모뎀으로부터 개의 클록을 입력 받아 에 필요한 주파2 Line Card

수로 분주 시키는 역할을 한다 클록은 의 프로세서 버스에 동기되. 40MHz BCM3310

어 있는 클록이고 클록은 의 칩에 동기되어 있다, 4.096MHz BCM3300 MAC (CMTS

에 동기된 것과 같음).

마스터 클록 출력은 의 입력에 연결된다 의 는- MCLK( ) DSLAC MCLK . DSLA MCLK

내부의 디지털 신호 처리를 위한 클록으로 사용된다DSLAC .

클록 은 에서 얻어지며 의 입력- PCLK(PCM ) 4.096MHz MCLK DSLAC PCLK

로 인가된다 클록은 입 출력인 데이터를 쉬프트 해주는128KHz . PCM DSLAC / PCM

클록으로 사용되며 프레임 동기 신호 주파수의 정수배 주파수를 가진다.

클록 은 디바이스의 입력으로 인가된다 는- DCLK(Data ) DSLAC DCLK . DCLK

의 마이크로프로세서와 데이터를 주고받을 때 사용된다DSLAC .

펄스는 디바이스의 입력으로 사용되며 한 프레- FRAME_SYNC DSLAC 8KHz FS

임의 시작임을 나타낸다.

신호는 의 를 가진 의 펄스열로서 아날로그 회- SYNC_512KHZ 12.5% duty 512KHZ

로 스위칭에 사용된다.

신호는 의 사각파형으로 에 시켜 얻어낸다- RING_20Hz 20Hz MCLK PLL Lock .

나. Microprocessor Interface

이 블록은 이 디바이스의 레지스터를 억세스 하도록 해주며 그BCM3310 DSLAC

밖에 인터럽트나 리셋 제어 등을 관장한다 과의 인터페이스는 비트 양. BCM3310 8

방향성 데이터 버스와 비트 어드레스 버스 리셋 입력 인터럽4 , /CS , , read/write,

트 요청 출력 등과 같은 제어 신호를 통해 수행된다 은 이나. BCM3310 DSLAC

과 같은 디바이스 뿐 만 아니라 음성코덱 디바이스와도 인터페이스를 통SLIC HPI

해 연결된다 는 디바이스와 데이터. MPI(Micro Processor Interface) DSLAC DI/O(

입출력 데이터클록 그리고 로 인터페이스를 하며 데이터 입출력은 시), DCLK( ) /CS

리얼 전송 방식으로 은 비트 병렬로 에 데이터를 주면 는 이BCM3310 8 FPGA FPGA

를 시리얼로 변환하여 디바이스에 전달해 준다 이 때 데이터 비트의 전송DSLAC .

순서는 을 가장 먼저 전송하고 가 마지막으로 전송되는 방식을 따른MSB(D7) LSB

다 일반적인 억세스 방식은 를 상태로 하고 에 동기시켜. DSLAC /CS LOW DCLK 8

개의 데이터 비트를 드라이브하는 방식이다 또한 만약 필요하다면 비트 동작을. 8

연속으로 수행할 수도 있다 이 때 이 로 부터 비트가 안되는 데이터를. DSLAC MPI 8

입력 받는 경우 그 데이터는 무효이며 만약 자 인 상태인 동안 개 이상의/CS LOW 8

데이터 비트가 입력되는 경우 부터 시작하여 개까지의 데이터 비트만 명령어LSB 8

나 데이터로서 유효하고 나머지 데이터는 무시된다.

Page 126: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 126 -

다. HPI Interface

의 음성 코덱용 칩 인터페이스하는 데 있어 를 경유하도록 설계되어BCM3310 FPGA

있는데 음성코덱 칩의 외부 인터페이스용 신호들은 의 양방향성 버퍼를HPI FPGA

통과하여 의 버스와 연결된다BCM3310 .

라. PCM Interface

인터페이스는 단순히 에서 입출력 되는 데이터를 음성코덱칩과PCM DSLAC PCM

연결시켜 주는 기능을 수행한다 내부 레지스터를 설정하여 루프백 테스트를 할 수.

있도록 설계되어 있다.

마. Debouncer

이 블록은 시에 발생되는 바운스를 제거하기 위한 블록으로 으로Hook on/off SLIC

부터 를 입력 받아 처리를 해주는 역할을 한다HOOK_DET debounce .

Page 127: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 127 -

부분 블록도2. Daughter Card

의 전체적인 기능블록은 크게 전화기와 연결되어 전기적 신호를 주Daughter Card

고 받는 과 신호의 변환을 담당하는 등의 오디오 신호 처리 블록SLIC PCM SLAC ,

전화기에 공급하는 신호전원 등 전원 공급을 담당하는 전원 블록RING , BCM3310

과 인터페이스를 수행하며 각 종 제어 신호 및 데이터 교환이 이루어지는 블FPGA

록 그리고 음성데이터를 압축하거나 또는 압축된 데이터를 입력받아 다시 원래의

음성 데이터로 변환 시켜주는 음성코덱 블록으로 나눌 수 있다 다음 그림 에. 5-1

그 기능 블록을 나타내었다.

그림 기능 블럭도5-1. VoIP daughter Card

가. Transient Voltage Suppressor

전화기와 인터페이스하는 최종단으로 전화 라인에 걸리는 고전압에 대한 과전압 억

압용 소자로서 전화기와는 퓨즈로 연결되어 있다.

나. SLIC(Am79R79)

본 칩은 배터리 피드 과전압 프로텍트 라인감시 등을 포함하여 전류slic , , Ringing,

제한 트랜스미션 극성 반전 개방 그리고 루프 전류감지 등의 기능, On-hook , , Tip

을 수행하므로서 링전압 발생 등을 위한 별도의 전압 발생장치등 부가적 회로를 필

요로 하지 않고 간단한 구성을 가능하게 한다 이러한 다양한 가능은 제어 신. SLIC

호 입력 비트 를 사용하여 제어하며 를 통해 에서 수행한다(4 ) FPGA BCM3310 .

Page 128: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 128 -

다. DSLAC(Am79C02)

칩은 그 주요 기능으로 기능과 필터링 기능이라 할 수 있다 이러한SLAC CODEC .

기능은 전화기로부터 오는 아날로그 음성 선호를 데이터로 변환시켜 주는 역PCM

할과 데이터를 다시 아날로그 데이터로 변화시켜 주는 역할을 포함하며 이 때PCM

디지털 필터링이 적용되어 음성 신호의 대역폭을 제한한다 음성 압축 기법으로.

와 를 선택적으로 사용할 수 있으며 디지털 필터의 탭 계수들은 마U-LAW A-LAW

이크로 콘트롤러 인터페이스를 통해 입력 받아 사용하게 설계되어 있다 따라서.

은 칩을 초기화 하고 이어 디지털 필터의 탭 계수를 설정해 주어야BCM3310 SLAC

한다.

라 변환기. Switching Mode DC-DC

이나 에서 필요한 전압을 발생시키는 기능을 하며 케이블 모뎀으로부터SLIC SLAC

와 를 입력 받아 와 를 발생시킨다 이 때 필요한 발진 신호는5V 12V ?48V ?5V .

의 클록신호를 사용하여 스위칭 동작을 수행한다FPGA .

제 절 음성2 VOCODING

에서 데이터로 변환된 음성신호는 채널을 통해 전송되기 전에 음성 압SLAC PCM

축 처리를 거치게 된다 본 연구에서 사용한 음성 압축 디바이스는 사의. TI

가 사용되었다TMS320VC5402 .

을 갖는 을 통하여 음성 및 의 전송을 위하여 데이터의 압축은Protocol network data

필수적이라 할 수 있다 멀티미디어 데이터인 음성의 경우 을 사용하는 일. protocol

반 망을 통하여 전송하게 될 경우 상의 와 전송 데이터의 손실로network delay

를 보장하기 힘들다 이러한 상의 데이터 전송의QoS(Quality of Service) . network

를 보장하기 위하여 음성 를 일정한 규격에 따라 압축하여 전송하면 음성QoS data

데이터의 손실이 있더라도 를 보장할 수 있다 이러한 음성 압축을 위한 전용QoS .

중의 하나로 는 을 통하여 최대 의 압IC TMS320VC5402 Packet Network 4-channel

축된 음성 및 데이터를 전달할 수 있도록 규격에 맞는 일정한 크기의 을 만Packet

드는 작용을 한다.

Page 129: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 129 -

주요기능1.

최대 개 의 음성의 압축 복원 및 데이터의 송수신기능4 channel , fax

지원하는 압축방식- : G.729, G.729/A, G.723.1, G.726/G.726, G.711, NetCoder

인터페이스 방식- : HPI interface

통신 선로상의 저항 성분으로 인하여 음성 신호의- Adaptive Echo cancellation :

울림이 발생하게 된다 이러한 공명을 방지하기 위하여 일정 후의 신호를 제. delay

거하여 공명현상을 방지한다.

음성의 압축 방식 에 의하여 결정되며 다음과 같은 압축 방식을- : Coder code ,

지원한다. G.726 ADPCM , G.727 E-ADPCM , G.729/A, ACELP ,G.723.1

MP-MLQ/ACELP, G.711

음성 감지와- comfort noise generation :

음성이 발생하지 않는 시간에도 을 전달하는 것은 자원의 낭비이므packet network

로 음성이 존재하는 구간에서만 데이터의 전송을 하는 것이 효율적이다 이러한 이.

유에서 음성의 발생을 감지하여 필요없는 자원의 낭비를 막기 위하여 voice

을 수행하고 음성이 전달되지 않는 구간에서activity detection , background noise

를 발생하여 사람의 귀에 이질감이 들지 않도록 한다.

- Bad frame interpolation :

통신망의 장애로 인하여 전달 지연이 발생하면 전송되는 간의 전달 시간차로packet

인하여 복원한 데이터에 손상이 발생한다 이를 방지하기 위하여 을 수행한다. BFI .

Page 130: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 130 -

표 회로의 함수블럭과 형태5-1. DSP -1

신호 함수 형태 비고

HD[7::0]Byte-wide

데이터 포트입 출력/

HR/W Read(1)/Write(0) 입력

/HCS Active low chip-select 입력

/HDS1 데이터 스트로브1 입력 사용 안함

/HDS2 데이터 스트로브2 입력 사용 안함

/HAS 주소 스트로브 입력 사용 안함

/HINT로부터 호스트DSP

프로세서로의 인터럽트출력 사용 안함

HRDY Ready 출력 사용 안함

HCNTL[1:0]

Control register, Address

등을register, Data register

선택하기 위한 액세스 제어

입력

호스트 주소

라인과 직접

연결될 수 있다.

HBIL 내부메모리 전송 제어DSP 입력제어레지스트리의

와 연결BOB bit

HPIENA 인터페이스HPI Enable 입력 VDD

인터페이스2.

음성 인터페이스 의 를 가지며 변- : 64kbps A-law or u-low PCM interface PCM

조된 음성신호를 입력 출력하는 기능을 담당한다/ .

Page 131: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 131 -

인터페이스 와 할 수 있는 로 로- HPI : Host processor interface 8-bit port , HOST

부터의 모든 는 를 통하여 이루어진다 는 로 내access HPI . HPI 8-bit AC481xxA-C

부에 내장된 을 통하여 압축된 음성데이터를 받거나 압축된 음성을dual port ram

복원하도록 데이터를 전송한다 또한 동작을 제어하기 위한 명령어 코드 및. kernel

및 도 를 통하여 로 전송한다program code HPI AC481xxA-C .

메모리 인터페이스 의 을 할 수 있으며- : 64K word(128 Kbyte) SRAM access ,

은 음성압축 알고리즘을 포함한 구동 의 적재와 음성 압축 복원 및SRAM program ,

의 화를 위한 작업 공간으로 사용된다fax data packet .

테스트 액세스 포트 규격의 기능을 가지고 있으- : IEEE 1149.1 boundary scan

며 외부에 연결되어 있는 테스트 헤더를 이용하여 의 내부 동작을 제, AC481xxA-C

어할 수 있다.

제 절 의 인터페이스3 VolP daughter card

그림 데이터 경로5-2. DSP

전화상의 시리얼 데이터는 방식 혹은 방식이거나 의 형태PCM 8bit-u A 16bit-linear

로 되어있다 각 채널은 초당 개의 데이터 샘플을 만들어 전송한다 시리얼 채. 8000 .

널은 프레임 동기 시그널 시리얼 클럭 전송 데이터 신호 수신 데이터 신호로 이, , ,

루어져 있다.

위 그림에서 패킷 교환 네트워크는 호스트의 주변장치로서 동작한다.

데이터패킷은 와 호스트사이에 고정된 프로토콜에 따라 전송된다 헤더에 관한DSP .

정보는 각 패킷에 부가된다.

회로는 함수블럭과 인터페이스로 이루어진다DSP .

Page 132: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 132 -

표 회로의 함수블럭과 형태5-2. DSP -2

신호 함수 형태 비고

HD[7::0]Byte-wide

데이터 포트입 출력/

HR/W Read(1)/Write(0) 입력

/HCS Active low chip-select 입력

/HDS1 데이터 스트로브1 입력 사용 안함

/HDS2 데이터 스트로브2 입력 사용 안함

/HAS 주소 스트로브 입력 사용 안함

/HINT로부터 호스트DSP

프로세서로의 인터럽트출력 사용 안함

/HRDY Ready 출력 사용 안함

HCNTL[1:0]

Control register Address

등을register, Data register

선택하기 위한 액세스 제어

입력호스트 주소 라인과

직접 연결될 수 있다.

HBIL 내부메모리 전송 제어DSP 입력제어레지스트리의

와 연결BOB bit

HPIENA 인터페이스HPI Enable 입력 VDD

Page 133: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 133 -

그림 전체 인터페이스 환경5-3. DSP

인터페이스1. HPI

인터페이스는 호스트 프로세서 환경에서 를 부팅하고 를 다운로드HPI DSP , CODEC

하고 설정 및 단절 와 디지털 패킷 네트워크와의 압축된 데이터 전송하, CALL , DSP

는데 사용된다 여기서 사용한 칩인 로 호스트 프로세서에. DSP TMS320VC5402 8

비트의 병렬포트를 이용하여 인터페이스를 한다 다음은 신호설명이다HPI . HPI .

Page 134: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 134 -

표 신호5-3. HPI

신호 함수 형태 비고

HD[7::0]Byte-wide

데이터 포트입 출력/

HR/W Read(1)/Write(0) 입력

/HCS Active low chip-select 입력

/HDS1 데이터 스트로브1 입력 사용 안함

/HDS2 데이터 스트로브2 입력 사용 안함

/HAS 주소 스트로브 입력 사용 안함

/HINT로부터 호스트DSP

프로세서로의 인터럽트출력 사용 안함

HRDY Ready 출력 사용 안함

HCNTL[1:0]

Control register Address

등을register, Data register

선택하기 위한 액세스 제어

입력

호스트 주소 라인과

직접 연결될 수

있다.

HBIL 내부메모리 전송 제어DSP 입력제어레지스트리의

와 연결BOB bit

HPIENA 인터페이스HPI Enable 입력 VDD

칩에서 인터페이스의 두드러진 특징TMS320UV5402 HPI

호스트는 모든 내부 메모리를 액세스할 수 있다- DSP .

호스트 전용모드가 없다 레지스터에 가 없다- ( HPIC SMOD bit ).

가 리셋이 되는 상태에서 내부메모리에 호스트가 액세스 할 수 없다- DSP DSP .

Page 135: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 135 -

는 우선 주소를 지우고 호스트가 이곳을 쓸 때를 결정하기 위해 모니터DSP 007Fh ,

하는 작은 프로그램을 시작한다 그리고 호스트는 리셋상태가 아닐 때 코드를. DSP

다운로드한다.

부팅전 호스트의 마지막 동작은 위치에 코드의 시작주소를 쓰는 것DSP 007Fh DSP

이다.

부트 프로그램은 의 내용에 변화를 감지하고 여기에 쓰여진 포인트 주DSP 007Fh ,

소로 점프 하게 된다.

액세스 속도 고려(1) HPI

호스트는 코드를 다운로드하기위해 초기 액세스를 실행할 때 소프트웨DSP , DSP

어는 아직 내부 클럭주파수로 프로그램하기위한 레지스터를 변경하지PLL CLKMD

않았다.

가 리셋상태가 아닐DSP 때 주파수와 핀의 상태가 내부 클럭주파수CLKIN CLKMD

를 결정한다.

표 5-4. CLKMD Settings and Initial PLL Multiplier

과 주파수의 조합이 만일 기본 에 가까운 클럭을CLKMD[1:3] CLKIN 100MHz DSP

만드는데 선택되어질 수 없다면 호스트는 그에따라 데이터의 전송 속도를 줄여야

한다.

Page 136: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 136 -

가장 좋은 방법으로는 호스트 액세스로 들어가는 대기상태를 첨가하기 위한HW

신호를 사용하는 것이다 이것을 수행하는 또 다른 의미는 각각의 액세스RDY . HPI

최대주기를 증가시키는 것이다 만일 가 사용되어지지 않으면 호스트는 항상. HRDY

내부 클럭에서 결정되어지는 가장 낮은 전송 속도로 에 액세스하게 된다DSP HPI .

만일 호스트가 액세스와 관련된 대기상태를 수정할 수 있다면 와 관련HPI SW , HPI

된 호스트 대기상태는 내부 클럭이 낮은 리셋 값부터 의 최종 주파수, DSP 100MHz

까지 수정되어진 후에 단축되어질 수 있다 이러한 방식은 칩이 한 개일 경우. DSP

에만 효과적이다.

메모리 매핑(2)

호스트 프로세서가 액세스하는 내부 메모리는 이므로 호스트는 워드DSP 16bit ,

당 번의 액세스를 수행하여 워드를 액세스하게된다 이때 하나는 이(word) 2 . HBIL

가 되고 다른 하나는 가 된다 이러한 이유로 은 호스트 프로세1(high) , 0(low) . HBlL

서의 주소버스의 가장 덜 중요한 비트에 연결되어져야 한다 비트는 다. HCNTL[1:0]

음으로 중요한 주소 비트들과 연결되어져야 한다.

인터럽트(3)

신호는 가 제어 레지스터의 실행비트를 사용할 때 에 의해 만들HINT DSP HPI DSP

어진다.

와 대기상태(4) HRDY

의 목적은 가 데이터 전송을 하는 동안 호스트가 액세스하지 못하게 하HRDY DSP

는 것이다 이것은 를 의 에 액세스시 대기상태를 사용하여 수행할. HRDY DSP HPI

수 있다.

Page 137: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 137 -

다채널 버퍼 시리얼 포트(Multi Channel Buffered Serial Ports)

칩은 두 개의 를 가지고 있다 는 스위칭된 전화 인터페이스의DSP MCBSP . MCBSP0

데이터를 인터페이스하는데 사용되어 진다 데이터는 초당 프레PCM . PCM 8000Hz

임으로 정해진 동기 펄스를 사용한 직렬 시분할 멀티플렉스 스트림 형태로(TDM)

전송된다 즉 데이터는 먼저 개의 시분할 영역을 할당해야 한다. PCM 4 TDM .

각 는 개의 채널까지 선택되어 설계가 가능하다 하지만 내부메모리MCBSP 128 TDM .

리소스 를 소비하므로 여기에서는 개의 채널만 사용하였다(16KW) 4 .

은 패킷 데이터에 대해 직렬 인터페이스로서 사용되어진다MCBSP1 .

이 패킷데이터 전송으로 사용되어질 때 는 여전히 부팅과 코드 다운로MCBSP1 HPI

드로 사용되어진다 의 신호 타이밍은 와 같을 수 있으나 클럭은. MCBSP1 MCBSP0

다를 수 있다 또한 각각의 프레임 동기도 또한 위상이 다를 수 있다 하지만. .

동기프레임은 여전히 매 를 발생시킨다MCBSP1 125us(8000Hz) .

와 의 인터페이스 신호는 다음 테이블과 같다MCBSP0 MCBSP1 .

Page 138: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 138 -

표 와 의 인터페이스 신호5-5. MCBSP0 MCBSP1

신호 이름 함수 형태

BFSR0(1) 버퍼 프레임 동기 수신 채널 데이터의 시작 입력

BCLKR0(1) 버퍼 수신 클럭 직렬클럭 입력

BFSX0(1) 버퍼 프레임 동기 전송 채널 데이터의 시작 입력

BCLKX0(1) 버퍼 전송 클럭 직렬클럭 입력

BDR0(1) 버퍼데이터 수신 로 직렬데이터 전송DSP 입력

BDX0(1) 버퍼데이터 전송로부터 직렬데이터DSP

전송출력

패킷을 전송하기위해 을 사용할 때 두 연속적인 타임슬럿HDLC MCBSP1

은 채널당 데이타 스트림을 사용한다 타임슬럿 할당은 변경가(even-odd) 128kbps .

능하다 데이터 패킷은 다음 형식의 프레임으로 이루어져 있다. HDLC .

<flag> <flag> <AAL2 packet> <16bit CRC> <flag>

호환flags=0x7E AAL2 packet=CPS packet 16bit CRC=HDLC CRC

일반적인 동작(5)

프레임 동기시그널은 여러 채널의 프레임이 전송되어 질 때 나타나게 된다 수신.

및 전송 동기프레임은 각 직렬 채널 데이터가 전송되어지고 동시에 수신되어지기, ,

위해 함께 묶여져야한다 같은 식으로 송수신 직렬 클럭도 함께 묶여져야 한다 동. .

기 프레임신호가 클럭의 폴링엣지에서 로 샘플링될 때 첫 번째 타임슬럿의high

가 직렬클럭의 폴링엣지로 동작한다 모든 데이터는 비트의MSB . PCM 8 A-law.

이다 직렬데이터는 상승클럭 지일 때 변하게되고 하강 클럭엣지일 때 샘u-law . dpt ,

플링된다 모든 데이터는 가장 중요한 비트 가 우선 이동하게 된다 일단 동기. (MSB) .

프레임을 검출하게 되면 다음 클럭이 채널 을 정의하고 다음 클럭이 채널 을8 0 , 8 1

정의하는 식으로 되어있다.

Page 139: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 139 -

시분할 멀티플렉싱(6)

개의 채널까지 단일 인터페이스에 시분할 멀티플렉싱이 가능하다4 PCM MCBSP0 .

전형적인 데이터 샘플은 매 마다 한PCM 125us(8000sample/sec) 번씩 전송된다.

호스트가 채널을 하나씩 열거나 닫을 때마다 호스트는 채널 변호를 에게 지정DSP

하여준다 는 이 정보를 해석하여 에 적당한 시분할 영역을 할당하여. DSP MCBSP0

준다 는 단지 매 의 프레임 동기 신호를 받는다 그런 다음 채널 변. MCBSP 125us .

화를 위해 직렬 클럭을 사용한다.

아래 그림은 의 타이밍을 나타낸다DSP MCBSP0 .

그림 5-4. MCBSP0 Interface Timing

이러한 인터페이스의 최대 주파수는 신호가 로 연결되어 있는가에 영향을BDX OR

받는다 몇 개의 가 같은 신호를 동작시키도록 신호가 동작하지 않. DSP BDX BDXn

을 때는 의 신호가 하이 임피던스를 내보내도록 한다 로 연결된 신호BDX . OR BDX

가 같이 사용될 때 최대 클럭 속도는 로 줄어든다 이것은 다른 들과9MHz . DSP

신호사이의 충돌을 방지하기위해 필요하다BDX .

Page 140: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 140 -

메모리(7) DSP

는 워드의 메모리가 필요하다 대기상태 를 위해DSP 128k SRAM . (one wait state)

에는 의 이 필요하고 시스템에는 가 필요하다80Mhz 15ns SRAM , 100MHz 12ns .

메모리 맵(8) DSP

내부 메모리는 프로그램과 데이터 영역에서 매핑되기 때문에DSP (OVLY=1) , DSP

내부 은 에서부터 매 까지 매핑되어진다RAM 16KW(bottom) 64KW .

매 중에서 두 번째 블럭은 사용되지 않는다 외부 메모리는 그림에서처64KW 16KW .

럼 중에서 매 가 위치해 있다32KW(top) 64KW .

그림 메모리 맵5-5. DSP

Page 141: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 141 -

내부와 외부 메모리는 프로그램과 데이터 영역 둘 다 매핑되어진다 그리고Page0( ) .

그 외의 외부 메모리 들은 단지 프로그램 메모리 영역에 있다Page .

칩 어드레스선(9) SRAM

외부 메모리는 디바이스 혹은 디바이스 혹은 디SRAM 128Kx16 , 256Kx16 128Kx8

바이스로 이루어졌다 외부 메모리 매핑은 아래와 같이 와 어드레. SRAM DSP SRAM

스 라인을 연결하여 이루어진다.

- DSP_A[0:14] to SRAM_A[0:14]

- DSP_A15 NC

- DSP_A16 to SRAM_A15

- DSP_A17 to SRAM_A16

- DSP_A18 to SRAM_A17(256Kx16)

클럭(10) DSP

는 까지 입력 클럭 주파수를 증가시키기 위해 내부 을 사용5402 DSP 100MHz PLL

하도록 내부 레지스터를 가진다 최종 곱셈기는 에게 입력 클럭의CLKMD . PLL DSP

변화를 허용하도록 하기위해 부팅하는 동안 호스트 프로세서로부터 다운로드되어진

다.

파워(11) DSP

는 입 출력 과 코어 를 사용한다5402DSP 3.3V( / ) 1.8V( ) .

외부인터페이스(12)

인터페이스- PCM

이는 에 있는 버퍼직렬포트 를 통한 전화 데이터를 주고받는데 사용DSP (BSP) PCM

된다.

Page 142: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 142 -

인터페이스- HPI

이는 호스트 프로세서와 통신을 하기 위한 듀얼포트 으로 사용된다RAM .

제어 메시지와 데이터는 이 인터페이스를 통하여 교환되어진다.

그림 외부 인터페이스5-6. DSP

인터페이스(13) PCM

의 에서 가장 큰 특징은 직렬 스트림이 채널까지 독립적으5402DSP MCBSP PCM 32

로 가능하다는 것이다 그리고 이 채널들은 신호 프레임 동기 펄스에 기초하여 동.

기화되어진다는 것이다 이러한 방식으로 신호는 프레임 칩의 직렬 신. MCBSP T1/E1

호에 직접적으로 연결되어진다.

그림 단일 프레임 동기 펄스로 동기화한 채널들5-7.

하드웨어 디자인에서 개의 시분할보다 더 적게 사용하도록 하였다 다채C5402 16 .

널 구성과 채널 선택이 채널이 열리고 닫힐때가 아닌 초기화할 때 발생하, MCBSP

여야한다 는 처음 번째의 시분할 영역에 구성되어진다 여기서 은 동기. MCBSP N . N

프레임당 타임 슬럿의 수이며 메시지 파라메터와 에서 만들어진 채, hw_config DSP

널과 대응되는 것이다.

Page 143: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 143 -

아날로그(14)

모듈은 다음과 같이 튜닝된다DSP .

입력 방향-

선형구간으로 변형되고 로 스케일되어져 레벨의 아날로그 신호는, 16bit +3dBm

의 수치적 범위로 되어진다±32767 .

출력 방향-

의 수치적 범위는 의 아날로그 신호레벨로 출력되어진다±32767 +3dBm .

인터페이스(15) HPI

는 호스트 프로세서 와 통신하는데 사용하는 병렬 인터페이스이다HPI (BCM3310) .

메모리 맵에서 는 주소범위에서 메모리 공간을 사DSP HPI 1000h-17ffh 2k x 16

용하게 된다.

를 위한 호스트 는 병렬 포트로 간접 주소 할당시 사용한다5402DSP HPI 8-bit .

는 의 을 사용하여 의 모든 내부 메모리를 액세DSP 8bit HPI(HP18) 5402(16Kwords)

스할 수 있다 하지만 가 리셋이 되어지면 내부 메모리를 액세스 할 수 없다. DSP .

전 내부 메모리가 액세스할 수 있을 지라도 기본적인 동작을 하는 동안에는 는HPI

주소 범위의 메모리 공간으로 보여지게 된다1000h-17ffh 2k x 16 .

는HPI

코딩 로드를 위해 사용된다- DSP .

와 호스트간의 제어 및 상태 메시지 전송을 위해 사용된다- DSP .

와 호스트간의 패킷화된 음성이나 데이터의 전송을 위해 사용된다- DSP .

다음은 를 통한 정보흐름을 나타낸다HPI .

Page 144: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 144 -

그림 호스트와 사이의 정보 흐름5-8. DSP

메모리 구성(16) HPI

메모리는 호스트모드 나 분할액세스모드HPI (Host Only Mode) (Shared Access

의 두가지 모드 중 한가지로 동작하도록 구성되어져 있다 에서는Mode) . 5402DSP

모드는 동작 때문에 이용되지 않는다 부팅을 위해서 메모리는HOM HPI8 . HPI , HPI

이 된 후 로딩되어져야 한다RESET .

가 초기 다운로드( )

메모리 구조는 아래 그림과 같이 의 다운로드를 시작하도록 되어있다 코드 로DSP .

더 가 다운로드 되어 질 때 주소 는 클럭 정보를 운반하는(Code loader) 7FEh DSP

데 사용되어진다 코드를 다운로드동안 이러한 필드는 필드. DSP DOWNLOAD_DATA

의 일부분으로 가정한다.

Page 145: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 145 -

그림 코드 다운로드를 위한 메모리 형식5-9. DSP HPI

나 기본적인 동작( )

이러한 구조에서 와 호스트 프로세서는 이용 가능한 메시지와 명령 인터페이스DSP

를 사용하여 메모리를 통해 통신한다 이 인터페이스구조는 호스트가 를 다HPI . DSP

운로드한 후 자동적으로 입력되어진다 이 인터페이스는 를 리셋하게되면 다시. DSP

다운로드 형식으로 되돌아가게 된다 기본적인 동작동안 메모리는 두 가지 주요. HPI

한 영역으로 나뉘어지게 된다 하나는 메시지 통신이고 또 하나는 패킷화 된 음성.

과 팩스데이터의 교환을 위한 것이다 메시지통신을 위한 영역은 양방향의 규칙적.

이고 신호적인 메시지의 교환을 위해 개의 동일화된 구조의 버퍼로 이루어 졌다4 .

여기서 신호메시지는 시간에 매우 민감한 메시지들이다.

음성 및 팩스 구성을 위해 기본적인 동작을 하는 동안 음성 데이터 버퍼 두 가지,

즉 고정 슬럿 매핑과 매핑이 지원되어진다 두 가지다 메시지 버퍼 매핑은 동FIFO .

일하다 사용되어지는 음성 데이터 버퍼 중 하나는 하드웨어 구성 메시지를 통해.

가 스타트 업 하는 동안 형성되어진다DSP (Start-up) .

Page 146: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 146 -

음성 데이터 버퍼의 고정 슬럿 매핑 구조는 채널까지 동작을 지원한다 그리고 아4 .

래 그림에서 이와 같은 형태가 보여진다.

그림 기본 동작을 위한 메모리 포맷5-10. HPI

고정슬럿 매핑 음성데이터( )

음성 데이터 버퍼의 매핑 구조는 수 채널의 동작을 지원하도록 되어있다FIFO .

Page 147: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 147 -

그림 기본 동작을 위한 메모리 형식5-11. HPI

음성 데이터 버퍼 매핑( FIFO )

다 타이밍( ) HPI

기본적인 메시지들은 인터페이스하는 양쪽모두 폴링 모드에서 수행되어진(polling)

다 호스트 프로세서의 음성데이터 수행도 역시 인터럽트가 사용되어지는 폴링모드.

에서 수행되어진다 데이터 전달 인터럽트는 단지 고정 슬럿 버퍼로 지원되어진다. .

의 음성데이터 프로세스는 폴링으로 수행되어 진다DSP .

Page 148: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 148 -

표 음성데이터 프로세스 형식5-6. DSP

메시지 형식메시지 수행

호스트 프로세서 DSP

기본 제어 메시지 인터럽트 혹은 폴링 폴링

시그널링 메시지 인터럽트 혹은 폴링 폴링

음성 팩스 패킷 데이터/ 인터럽트 혹은 폴링 폴링

폴링속도는 그 정보가 제 시간에 프로세스 되도록 하기위해 충분히 높아야 한다.

는 보통 한 프레임 당 최소 하나의 메시지를 폴링하는데 가 걸린다DSP 10-20 ms .

음성 패킷이나 신호 메시지를 폴링하는데는 매 로 폴링하게된다2.5ms .

스타트 업(17) DSP

호스트가 를 리셋하면 는 입력 신호가 로 바뀌어져DSP(5402) , DSP INT2 low HPI

부트 모드가 인식하게 된다 는 를 액세스 하기위해 호스트에게 지정자. DSP HPI

로서 로 비트를 리셋하고 코드 로더 프로그램을(indication) HPI HINT (code loader)

로딩한다.

가 리셋된 후 메모리는 으로 구성되어진다 그런 후 호스트는 코DPS(5402) HPI SAM .

드 로더 프로그램을 메모리가 스타팅되는 주소로 복사한다(code loader) HPI 0x1000 .

는 호스트로부터 진행을 위한 신호를 기다리는 대기상태를 유지하고 있다 이DSP .

신호는 메모리 위치에 을 쓴다 일단 호스트가 코드 로더프로그램을0x7F 0x0 . HPI

로 쓰면 호스트는 스타팅 벡터 를 위치에 쓰게 된다 이 말은 는(0x1000) 0x7F . DSP

위치의 벡터에서부터 진행이 시작된다는 의미이다0x7F .

Page 149: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 149 -

호스트 프로세서 초기 다운로드 시퀀스

호스트 프로세서는 다음과 같이 초기 다운로드를 수행한다.

가 리셋된다- DSP .

을 으로 셋한다- HINT 0 .

에서 시작하는 코드로더 프로그램으로 메모리를 로드- HPI SAM (0x1000) DSP HPI

하여 클럭 멀티플라이어 필드를 초기화하고 로더상태를 로 놓는다, DSP , BUSY .

주소벡터 에 메모리 영역 를 로드한다- 0x1000 0x7F HPI 0x7F .

로더 상태영역 을 업데이트하기위해 를 기다린다- (Loader Status field) DSP .

가 로더 상태영역을 로 업데이트할 경우 데이터의 또 다른 블록을- DSP IDLE HPI

메모리로 복사하고 로더 상태영역을 로 바꾼다BUSY .

전 코드가 복사될 때까지 위 항목들을 반복한다- DSP .

메시지를 받으면 호스트 프로세서는 로더 상태영역을 일반- CORE_COMPLETE ,

통신이 시작되었다고 에게 알리기 위해 로 놓는다DSP BUSY .

가 초기 다운로드 시퀀스( ) DSP

메모리로부터 외부 램으로 코드로더 프로그램을 로딩하- HPI DSP (code loader)·

고 실행시키기 시작한다, .

내부 및 외부 메모리 둘다 테스트를 실행한다- .

메모리 테스트가 올바르면 로 로더상태필드를 설정- , BOOTLOAD_COMPLETE

그렇지 않으면 로 설정한다(set), ERROR .

로더 상태필드가 할 때 상태로 바꾸고 진행시킨다- BUSY , IDLE .

로더 상태필드가 할 때 코드의 워드를 으로 복사한다- BUSY , DSP 2047 DSP RAM .

그리고 로더 상대필드를 로 설정한다IDLE .

전 코드가 로드되어질 때까지 번을 반복한다 호스트 프로세서로부터 다운- DSP 4 .

로드 되는 블록 설명자 를 모니터링 함으로써 는 언제 코드(block descriptor) DSP

다운로드가 끝나는지 결정할 수 있다 마지막 코드블럭을 읽은 후에 는 메. DSP HPI

모리를 초기화하고 코드를 체크한다 만일 체크가 올바르면 로더(code checksum). ,

상태필더를 로 설정한다 그렇지 않으면 로 설정한다CORE_COMPLETE . ERROR .

는 로더상태필드를 모니터 한다 로더 상태필더가 로 되었을 때- DSP . BUSY , DSP

는 초기화를 진행한다 일단 초기화가 성공적으로 끝나고 가 일반적인 동작을. , DSP

시작하면 는 을 호스트 프로세서에게 보낸다, DSP restart_indication .

Page 150: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 150 -

그림 의 초기 다운로드5-12. DSP(5402)

Page 151: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 151 -

나 채널 상태천이도( ) DSP

스타트업 을 한 후 모든 채널은 상태이다(start-up) , CLOSED .

메시지는 몇몇 채널들을 상태로 만든다 상태에서 부터open_channel IDLE . IDLE

채널은 상태로 구성되어 질수 있다DTMF, CLEAR CHANNEL, VoICE/ FAX . close

메시지는 어떤 다른 상태로부터 상태로 채널을 되돌리게 한다channel CLOSED .

상태에서 인터럽트는 액티브 하므로 레벨을 평가하고 루프IDLE , PCM , PCM , PCM

백 을 실행하고 음성을 생성하며 다른 함수를 실행하는 것이 가능하다(Ioopback) , , .

메시지는 상태로 채널을 구성한다 이 상태에서 채널은 검dtmf_mode DTMF . DTMF

출을 하도록 구성된다.

메시지는 음성압축과 압축해제를 실행하는 채널로 구성된다voice_mode .

메시지는 팩스 함수를 실행하는 채널로 구성된다fax_mode .

메시지는 채널 데이터 프로세싱을 정리 하기 위한 채널로 구channel_mode (clear)

성된다 아래 그림은 이에 대한 설명을 담은 음성 및 팩스 함수를 위한 상태천이도.

이다.

그림 상태천이도 음성 및 팩스 함수5-13. DSP ,

Page 152: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 152 -

제 장 소프트웨어 설계6 MoIP

제 절 구현 환경1

컴파일 환경은 다음과 같다VoIP .

컴파일러- pSOS Diab

컴파일러 툴- : Cygnus toolset

-> Cygnus version : Release B20

-> Cygnus toolset platform : Win32

이렇게 컴파일된 이미지는 라이브러리화 되어 케이블 모뎀 소프트웨어와 함께 컴파

일 되고 케이블 모뎀의 메시지 태스크에서 인 를 호출VoIP start point appCreate()

하게 된다.

Page 153: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 153 -

제 절 초기화 과정2 MoIP

아래의 코드와 같이 케이블 모뎀의 태스크 중 메시지 태스크에 의해 appCreate()

함수가 호출된다 즉 에 의해 케이블 모뎀의 등록이 성공적으로 이루어졌다는. CMTS

메시지 를 받으면 케이블 모뎀은 소프트웨어 모듈을 생성한(MSG_REG_RSP) VoIP

다.

함수의 기능을 보면 다음과 같다appCreate() .

메모리 초기화- : gg_app_create_mem ()

와 를 위해 사용되는 메모리 공간의 크Permanent allocations dynamic allocations

기와 주소 설정

하드웨어 초기화- : hwu_init()

값을 얻는다- IMMR .

리셋을 통해 를 활성화- FPGA

로부터 인터럽트 마스크- Framer

와 에 인터럽트 연결- Framer oab

인터페이스를 찾는다 레지스터를 읽고 보드가 연결되어 있는- Telephony . (status

지 확인한다.)

초기화- DSP type : hwu_dsp_type_init()

- DSP channel mapping

네트워크 인터페이스 초기화- : nw_create()

을 할당하고 초기화- Connection control block

네트워크 디버그 함수와 태스크 초기화- : nwdbg_create()

와 저장- Local IP address MAC address

초기화- Debug ports

파라메터 초기화- DSP : init_dsp_params()

에서 하드웨어 정보 초기화- Image list DSP

에 정의된 파라메터에서 정보 참조- ggparam.h

태스크 생성- Root : gg_app_create()

구성 모듈을 생성하고 초기화한다- VoIP .

Page 154: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 154 -

제 절 소프트웨어 구성3 MoIP

소프트웨어는 아래의 그림과 같다 크게 두 부분으로 나누어지는데VoIP .

와 사이에서 의 형태를 변형시키는 역Telephony network Data network voice data

할을 하는 와 프로토콜에 의하여 와 교신을 하면서 을 셋DSP MGCP Call agent call

업하고 를 로 보내는 역할을 하는voice packet data Data network Microprocessor

가 그것이다 와 사이에는 을 통해 인터페이스를 한다. DSP Microprocessor DIM .

동작 절차를 모듈 레벨로 살펴보면 다음과 같다VoIP .

만약 송신자나 수신자가 전화 수화기를 들었을 때 가 발생하게 되off-hook event

는데 이때 하드웨어 드라이브가 를 통해TIU Telephony interface

과 같은 를 감지하게 된다 이렇게 감지된 이벤트를 모off-hook/on-hook event . TIU

듈이 으로 전달하게 된다 그러면 은 지속적으로MGCM . MGCM NOTIFICATION

메시지를 보낸 에게 메시지를 보내서 에 대REQUEST Call agent NOTIFY off-hook

한 상태를 알리게 된다 당 들을 축적하고 을 하라는. Dial Map digit dial tone playout

의 를 받으면 은 을 셋업하Call agent NOTIFICATION REQUEST MGCM DSP channel

고 을 생성하기 위해 와 인터페이스 한다 는 을 통하여dial tone CCU . CCU DIM DSP

를 하게 된다 은 송신자에 의해 된 들을 에게 보내서access . MGCM dial digit DCM

결과를 받으면 그 들을 에게 보낸다 각 세션에 대해서는match digit Call agent .

라는 로써 구별하게 되는데 각 는 과 매핑 되며 소TCID ID TCID DSP channel VoIP

프트웨어 전체에서 고유한 하나의 인 를 통해서 구별하게 된다 만약 개의ID TCID . 4

포트를 지원한다면 개의 가 존재할 수 있으며4 TCID TCID0, TCID1, TCID2, TCID3

로 나타낸다 이후 로부터 메시지와. Call agent CREATE CONNECTION MODIFY

메시지를 받으면 연결이 설정된다CONNECTION .

Page 155: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 155 -

는 로부터 를 받으면 그 를 압축 처리DSP Telephony interface voice/fax data data ,

하고 를 으로 만들어서 로 전달한다 이때voice/fax data packet Microprocessor .

로부터 전달된 은 된 형태이다DSP voice data packet RTP encapsulation .

는 이 를 의 네트워크 프로토콜 스택Microprocessor RTP voice packet data pNA+

을 이용하여 네트워크 패킷을 만들게 된다 이때 을 사용하여 만들게. UDP socket

되는데 패킷 형태는 다음과 같다encapsulation .

그림 패킷 형식6-1. VoIP

로부터 받는 패킷은 로부터의 메시지 패킷과 세션이 연결된Data network call agent

후에 주고받는 음성 패킷으로 나누어 볼 수 있다 이 패킷들은 프로토콜 스택을 통.

하여 되어 로 전달되는데 로부터 받은 메시decapsulation Microprocessor call agent

지 패킷은 그 종류에 따라 적절한 처리과정이 일어나고 음성 패킷은 로 전달해DSP

주게 되는데 가 로 부터 을 받으면 그것을DSP Microprocessor voice packet

화하고 압축을 해제하고 를 통해서 전송하게 된다de-packet Telephony interface .

1. DSP

는 의 으로 전화나 팩스로부터 받은 으로 인코딩된DSP T1 TMS320C5402 chip PCM

아날로그나 디지털 신호들을 패킷 망으로 보낼 수 있도록 음성이나 팩스의 패킷으

로 만든다 에서 제공하는 기능은 다음과 같다. DSP .

- Simultaneous Multi-channel processing of Voice and Fax signals

- DTMF Relay

- Multi-Protocol support with Voice/Fax packetization

Page 156: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 156 -

그림 모듈 구성6-2. VoIP

- Echo cancellation

- Packet payload encryption/decryption and packet authentication

- Acoustic echo suppression

- Voice compression

- Call processing support

- Fax/Modem signal detection

- High performing voice activity detection with programmable level comfort

noise generation

- Integrated packet arrival time de-jittering capabilities

- Fax relay protocol

- Interface with the microprocessor through the host port interface

- Caller ID

- Conferencing capability

- Resampling

- Grant synchronization

- Diagnostics

- Power management

Page 157: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 157 -

에서 만든 를 에게 보내는 것은 의DSP packet data Microprocessor DSP Host Port

의 메모리를 통하여 의 을 통해 이루어진다 아래Interface(HPI) Microprocessor DIM .

의 그림과 같다 는 와 나. DSP Microprocessor message Fax/Voice/Modem data

들을 교환한다packet .

그림 6-3. DSP-Microprocessor

2. Microprocessor

가. Root Task

다음 그림은 의 의 모듈을 나타낸다 는 구성VoIP Microprocessor . Root task VoIP

모듈을 초기화하는 작업을 하는데 이때 메모리와 하드웨어 등의 초기화도 함께 일

어난다 아래의 그림은 가 초기화하는 구성 모듈을 나타낸다. Root task VoIP .

나 모듈. MGCM

모듈은 소프트웨어의 가장 핵심적인 모듈로 기능이 구현MGCM VoIP MGCP client

되어 있다 은 프로토콜에 의해 각 의 상태를 감시하며. MGCM MGCP TCID call

에서 요청된 리스트에 의해 에서 발생한 들을 보고하는agent event endpoint event

역할을 한다 은 크게 환경설정 부분의 와 프로토콜 구현 부분. MGCM CPMU MGCP

인 로 나누어진다 아래의 그림과 같이 는 과 인터페이스 하면서MSPU . CPMU NMM

환경 설정 작업을 한다.

는 로부터 받는 와 에 따른 작업을 처리하게 된다MSPU call agent event message .

Page 158: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 158 -

그림 구성 모듈6-4. Microprocessor

모듈의 기능은 다음과 같이 요약할 수 있다MGCM .

과- Event detection Reporting

는 의 현재상태에서 발생할 수 있는 이벤트들의 리스트를 모니터하기Call agent call

위해서 에게 요청한다 는 에게 나MGCM . Call agent MGCM event discard event

에 의한 축적과 같은 요청을 한다 는 에 의해report Digit Map event . MGCM event

처리된다 하나의 예로 만약 들이 에 기반하여 축적 되었을 때. DTMF digit Digit Map

은 들을 에 전달해 준다 이 은 에 의해MGCM dialed digit DCM . DCM Digit Map

를 반환하는데 은 이것을 에게 통보하고 전달해match/dismatch MGCM Call agent

준다.

- Signal generation

Page 159: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 159 -

그림 모듈 구성도6-5. MGCM

는 에게 생성할 것을 요청한다 이 은Call agent MGCM signal . signal ring

과 생성을 들 수 있다 생성 기간은 명세된 특별한 기generation busy tone . signal

간이나 들과 같은 기간동안 계속되거나 감지를 통해 에DTMF digit event Call agent

의해 종료될 때까지 계속 된다.

- Creating connection

는 발생 하는 에 대해 에게 의Call agent call MGCM RTP connection create/modify

를 요청한다 로부터 를 받으면 은 요청된 과 함께. Call agent request MGCM coding

을 셋업한다 이 은 을 사용하여 셋업DSP channel . network connection UDP socket

된다 은 로부터 요청된 로 받은 을 라우팅한다. MGCM DSP UDP port audio packet .

그리고 또한 의 로 받은 모든 을 라우팅 한다DSP channel UDP port audio packet .

Page 160: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 160 -

- Deleting connection

는 을 하기 위한 요청을 한다 만약 이 를Call agent RTP connection delete . request

받으면 은 를 로 셋업하고 를 해제한다 그리고MGCM DSP idle mode UDP port . Call

에게 을 보고한다agent connection statistic .

- Modifying connection

일단 이 이루어진 후에 는 에게 이미 존재 하는Create connection call agent MGCM

의 들을 하기 위해 요청을 한다 요청된connection parameter modify . modification

의 유형에 따라 다음을 수행한다.

새로운 과 함께 로딩- coding DSP

를- connection receive/send mode modify

(1) CPMU

는 으로 과CPMU MGCM management unit MGCM configuration management

를 구현한다 를 통해서 가 각 에 환경설정interface . CPMU MSPU, CCU, TIU TCID

된다.

(2) MSPU

은 을 구현한다 이MSPU(MGCP Signaling Processing Unit) MGCP protocol stack .

것은 다음과 같은 요소로 구성되어 있다.

- Inbound Message Handler

로부터 받은 메시지 처리Call agent

- Outbound Message Handler

로 보낼 메시지 처리Call agent (ACKS, NOTIFY, AUDIT)

- Event Manager

Page 161: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 161 -

를 처리하고 로부터의 요청들을 등록MGCP event Call agent NOTIFY

- Connection Manager

과 같은 에 관련된 들을 처리Creation, deletion, modification connection command

- Data Manager

와 같은 들을 구현Protocol timer, retransmission threshold MGCP MIB parameter

- DSP Manager

작업과 다른 을 용이하게 함DSP Codec loading low level DSP interaction

- MGCP Message Syntax Parser

- Dynamic retransmission timer adjustment algorithm

- RTP Port Manager

- Signal Manager

적용된 들을 관리MGCP signal

- Notified Entity Manager

를 통해서 된 를 하고DNS Notified Entity IP address naming MGCP retransmission

를 구현state machine

이나 와 같은 들- Error Logging Memory Management utility

다. DCM

은 된 들을 에 의해 요청DCM(Digit Collection Module) dial digit Telephony channel

된 에 시켜 유효한 번호인지를 판단하는 모듈로 에 의해Digit Map matching MGCM

된다 은 과 유사한 형태를 하고 있control . Digit Map Unix command egrep syntax

다.

은 의 요청에 의해 시작점에서 을 초기화한다MGCM DCM session digit collection .

이 들을 할 때 에게 들을 한번에 하나씩 전MGCM digit collection DCM dialed digit

달해준다 은 이 보내준 들을 버퍼링하고 에 명세된 룰에. DCM MGCM digit Digit Map

의해 작업을 하게 된다 그리고 룰에 따라 를 감지하고comparing . match/dismatch

이것을 에게 메시지로서 통보한다 은 다음과 같은 중에MGCM . DCM determination

하나를 제공한다.

Page 162: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 162 -

들의 는 적어도 하나의 룰에 한다- digit sequence match .

들의 는 여러 룰 중에 적어도 하나의 룰에 하고 진행한다- digit sequence match .

들의 는 의 어느 룰들과 할 수 없다- digit sequence Digit Map match .

이 작업이 진행되면 은 를 시작시키고 가 만DCM inter-digit timer inter-digit timer

료될 때마다 에게 보고한다MGCM .

그림 모듈 구성도6-6. DCM

라. CCU

은 모듈이 을 셋업하고CCU(Control and Coordination Unit) MGCM DSP channel

데이터를 전송할 수 있도록 한다 즉 을 셋업하는 메커니즘이 구현되. DSP channel

어 있다 또한 과 같은 을 생성하기 위해 에게. busy tone supervisory tone DSP tone

메시지를 보낸다or tone off .ν

Page 163: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 163 -

그림 모듈 구성도6-7. CCU

마. DIM

은 의 자원들을 하는 중계기 역할을 하며DIM(DSP Interface Module) DSP access

와 직접 통신을 한다 에 관련된 정보들은 이 생성될 때 전달된다DSP . DSP DIM .

은 로부터 오는 혹은 로 보내야 할 의 전송을 맡고DIM DSP DSP Voice packet data

있다 의 역할은 모든. DSP Voice compression, decompression, echo

등이다 를 다운로드 후 메모리는 각 마다cancellation . DSP code HPI channel

와 로 파티션된다message buffer voice data buffer .

는 이 어떤 로 설정되었는지에 따라 다르게 되는Voice data buffer DIM mode handle

데 는 다음의 두 가지 로 설정될 수 있다voice data buffer mode .

- fixed mode

가 각 마다 개의 로 분할된다 이것은 가Voice data buffer direction 4 channel . DSP

개의 을 제공하게 하기 위함이다4 full-duplex voice/fax channel .

- FIFO mode

임의의 개수의 이 될 수 있다full duplex voice/fax channel handle .

Page 164: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 164 -

각 를 위한 들이 을 통해 에TCID DSP operational parameter DIM Microprocessor

의해 조정될 수 있는데 이 들은 다음을 포함한다parameter .

그림 모듈 구성도6-8. DIM

- Echo cancellation

- Voice activity detection

- Voice mode/FAX transfer mode

나 와 같은- maximum data rate jitter buffer size FAX operational parameter

- Tone Detection

- DTMF Digit Recognition

Page 165: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 165 -

에 표현된 의- Telephony interface input/output gain control

- DTMF tone detection

의 생성과 감지- Caller ID signals

통계- collection

여러 종류의 의 개수와 를 포함하는- data packet event Voice packet statistics

상에서 일어나는 과- DSP alarm error

- Voice play out statistics

은 외부로부터 호출됨으로써 수행된다 로부터의 와 같은 나DIM . DSP interrupt event

주기적으로 호출되게 되는데 이로써 와 를 와 교환할 수 있다data message DSP .

이 호출되는 는 에 의해 되는 의 에DIM rate DIM control DSP voice coding parameter

의해 결정된다 설정된 에 의한 의 는. VIF size voice codec coding rate packet rate

를 결정한다.

는 에게 적절한 소프트웨어로 를 로드하라는 명령을 한다Microprocessor DIM DSP .

로드되는 소프트웨어의 종류는 에 의해 만들어진다 은 여러 종류DSP allocator . DIM

의 다수개의 를 할 수 있다DSP handle .

바. TIU

는 와 사TIU(Telephony Interface Unit) Telephony interface device driver MGCM

이의 를 제공한다 이것은 에서의interface . Telephony channel Hook

의 변화를 감지하고 그것을 한다State(off-hook/on-hook) report .

Page 166: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 166 -

그림 모듈 구성도6-9. TlU

사. NMM

은 소프트웨어를 구성하는 모듈들에 대NMM(Network Management Module) VoIP

한 를 담당한다control, configure, monitor .

제 절 구현 프로토콜4 MoIP

본 과제의 소프트웨어는 프로토콜에 의해 처리를 하고 있다VoIP MGCP call . Call

은 로 의 명령에 의해 처리된다signaling processing MGCP client call agent .

와 는 패킷으로 네트워크에 보내지게 되는데 로MGCP command data UDP/IP UDP

는 의 통신이 어려우므로 를 사용 한다real time voice RTP .

1. MGCP

개요(1) MGCP

는 의 약자로서 의 에 버전MGCP Media Gateway Control Protocol IETF RFC 2750

이 명세되어 있다 는 와 에 근거한 프로토콜로 나1.0 . MGCP SGCP IPDC call agent

라고 불리는 외부의 요소에 의해 를media gateway controller call control VolP

한다 즉 구조로 는 외부의 요소에 있control . server-client call control intelligence

고 에는 상대적으로 가 없다media gateway intelligence .

Page 167: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 167 -

에 근거 하여 에서RFC 2750 MGCP 1.0 CableLab PacketCable Network-based

프로토콜을 만들었다 이번 보고서에서는 에 대Call Signaling(NCS) . 1.0 MGCP 1.0

해 기술하도록 한다.

는 와 으로 구성된다 은 형식으MGCP endpoint connection . endpoint name e-mail

로 나타낸다 와 같다 은. local-endpoint-name@domain-name . endpoint name

파 의 두 가지 형식을 제공하는데 은 으로aaln Video aaln "An analog access line"

이라고 알려져 있는 일반적인 아날로그 전화라인을 뜻하고 는 차기 버PSTN Video

전인 을 나타낸다 는 생성 요청이 있video device-type . connection ID connection

을 때 게이트웨이에 의해 생성된다.

은 사용자에 의해 된 들을 얼마나 축적해야 하는지 알 수 있는Digit Map dial digit

방법을 제공해주며 에 요청된 숫access code, credit number, call control service

자들을 수집하는데 사용된다 이 은 시스템의 명령어로부터. digit map UNIX egrep

유도된 문법을 사용하여 표현된다 가 등을 감지 할 때. gateway digit, letter, timer

이들의 를 에 첨가시킨다 그리고 이것event parameter code "current dial string" .

을 에 적용하여 매칭시킨다 만약 의 순서대로 매칭이 일어났digit map table . string

을 경우 계속 매칭 작업을 진행하고 그렇지 않은 경우는 결과를 도출한dismatch

다.

(2) MGCP command

의 과 는 와 와 유MGCP connection handling endpoint handling service SGCP IPDC

사하며 EndpointConfiguration, CreateConnection, Modifyconnection,

DeleteConnection, NotificationRequest, Notify, AudiEndpoint, AuditConnection,

와 같이 개의 명령어를 제공한다 모든 명령어는 명령어 헤더와RestartlnProgress 9 .

으로 구성되며 응답은 응답 헤더와 으로 구session description session description

성된다 헤더와 은 의 셋으로 된다 또한 트랜. session description text line encode .

잭션 는 명령과 응답을 연관시키기 위해 사용되는 것으로 명령어 헤더 안에ID

된다encoding .

Page 168: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 168 -

- EndpointConfiguration command(EPCF)

가 로부터 받은 들의 을 명세하기 위한 명령이Call agent endpoint signal encoding

다 이 은 와 기술을 말한다 이 명령어는 아래와 같은 파라. encoding -law A-law .μ

메터를 포함하여 에게 보낸다gateway .

안에서의 의 이름의 만약 와일드카드 가-> Endpoint ID : gateway endpoint ID. (*)

사용된다면 모든 를 가리킨다endpoint .

명세된 의 라인으로부터 받은 의 기-> Bearer Information : endpoint data coding

술을 명세한다 즉 인 지 를 명세한다. -law A-law .μ

- NotificationRequest command (RQNT)

가 의 에게 보내는 명령어로 에서 일어나는Call agent endpoint gateway endpoint

들을 해 달라는 요청이다 는 에게 들의 리스트event notify . call agent gateway event

를 다운로드한다 이 명령어는 다음과 같은 필드들을 포함한다. .

가 실행되는 안의 의-> Endpoint ID : request gateway endpoint ID

만약 이 필드가 존재한다면 을 받을 곳을 명세하고-> Notified Entity : notification

존재하지 않으면 은 로 보내진다notification originator .

의-> Request Identifier : Notify command ID

-> Digit Map

가 상에서 감지하라고 요청된 들의-> Requested Events : gateway endpoint event

리스트, fax tone, modem tone, on-hook transition, off-hook transition, flash

등이 될 수 있으며 각 들은hook, DTMF digit event Notify the event immediately,

Accumulate the event, Accumulate according to Digit Map, Ignore the event,

Keep Signal active, Encoding NotificationRequest, Encoding ModifyConnection

등의 등과 연결 될 수 있다action .

Page 169: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 169 -

에게 요청된 들의-> Signal Requests : gateway signal set. Ring, Busy tone, Call

이 될 수 있다waaiting tone, Off hook warning tone, Ringback tone .

가 들이 처리되어야 할지-> Quarantine Handling : Call agent quarantined event

버려져야 할지 명세한다.

가 감지해야 할-> Detect Events : gateway event.

-> Embedded Endpoint Configuration

- Notify command(NTFY)

는 로부터 받은 안에 요청된 나Gateway call agent notification request event

로부터 관찰된 에 기반한 를 에게 보낸다endpoint event Notify command call agent .

는 다음과 같은 파라메터를 포함한다Notify command .

안의 의 이름이다-> Endpoint ID : gateway endpoint .

-> Notified Entity

-> Requested Identifier

가 감지하고 축적해야 하는 들의 리스트 이-> Observer Events : gateway event

다 즉 에 의. "accumulate", "accumulate according to digit map", "notify" action

한 들이다event .

- CreateConnection command(CRCX)

두 사이의 을 생성하는 명령어이다 다음과 같은 파라메터를endpoint connection .

포함한다.

이 속한 의 이다 이 파라메터는 같은 를-> Call ID : connection call ID . gateway

하는 들의 안에서 유일해야 한다control call agent collection .

Page 170: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 170 -

이 실행되는 안의 이다-> Endpoint ID : CreateConnection gateway endpoint ID .

-> Notified Entity

-> Local connection Options - encoding method, packetization period, echo

cancellation, type of service, silence supperssion, D-QoS GateID, D-QoS

Resource Reservation, ResourceID, ReserveDestination, Secret, RTP

등을 포함한다ciphersuite, RTCP ciphersuite .

-> Mode : send only, receive only, send/receive, conference, inactive,

등의 를 기replicate, network loopback, network continuity test connection mode

술한다.

의 다른 쪽 즉 의-> RemoteConnectionDescriptor : IP network , connection

를 위한 의 이다remote side connection descriptor .

-> SecondEndpointID

-> Encapsulated NotificationRequest

-> Encapsulated Endpointconfiguration

- ModifyConnection command(MDCX)

은 과 같은 파라메터 필드를 가지며ModifyConnection CreateConnection

가 추가되었다 이는 에 의해 연결된Connection ID . CreateConnection connection

의 를 바꾼다 파라메터는 하나의 안에서characteristics . Connection ID call

을 구별하는 유일한 이다connection ID .

-> Call ID

-> Endpoint ID

-> Connection ID

-> NotifiedEneity

-> LocalConnectionOptions

-> Mode

-> RemoteconnectionDescriptor

-> Encapsulated NotificationRequest

-> Encapsulated EndpointConfiguration

Page 171: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 171 -

- DeleteConnection command(DLCX)

와 는 을 종료 시키고자 할 때 이 명령어를 사용한Call agent gateway connection

다 는 두 간의 을 종료시키거나 모든 을. Call agent endpoint connection connection

종료시키고자 할 때 사용하고 는 자기의 가 더 이상 를 보내gateway endpoint audio

거나 받을 수 없다는 것을 감지할 때 사용한다 가 이 명령어를 사용하게. Gateway

될 때는 메시지 안에 를 포함시킨다 이 종료된 후에는reason code . connection

는 를 로 놓고 다음 세션을 형성시키기 위해 대기gateway endpoint inactive mode

상태로 만들어야 한다 와 는 다음과 같다 사. Return code error code . 100 ~ 199

이의 값은 를 가리키고 사이의 값은provisional response 200 ~ 299 successful

을 가리키며 사이 의 값은 를 가리키고 마지completion 400 ~ 499 transient error

막으로 는 를 가리킨다500 ~ 599 permanent terror .

-> Call ID

-> Endpoint ID

-> Connection ID

-> Encapsulated NotificationRequest

-> Encapsulated Endpointconfiguration

- AuditEndpoint command(AUEP)

가 의 상태를 알기 위해 사용하는 명령어이다 다음의 파라메터Call agent endpoint .

를 포함한다.

-> Endpoint List

-> Notified Entity

Page 172: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 172 -

-> Requested Events

-> Digit Map

-> Signal Requests

-> Connection Identifier

-> Detect Events

-> Local Connection Options

- AuditConnection command(AUCX)

가 에 대한 정보를 검색하기 위해 사용하는 명령어이다 다Call agent connections .

음과 같은 파라메터를 포함한다.

-> Call ID

-> Notified Eneity

-> Local connection Options

-> Mode

-> Remote Connection Descriptor

-> Local Connection Descriptor

-> Connection Parameters

- RestartInProgress command(RSIP)

-> Endpoint ID

-> Restart Method

-> Restart Delay

Page 173: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 173 -

2. RTP

통신의 실시간성을 만족시키기 위해 는 된다Voice voice data RTP encapsulation .

는 전송 계층 프로토콜로 를 사용하지 않고 를 사용한다MGCP TCP UDP . MGCP

명령어들은 나 를 위해 에 명세된 주소를 사용하여 보내call agent endpoint DNS IP

게 된다 또한 전송의 효율성을 위하여 동시에 여러 메시지를 하나의 패킷에. UDP

보내는 피기백 기법을 사용한다.

는 오디오 비디오 및 시뮬레이션 데이터와 같은 실시간 데이터를 멀티캐스트RTP ,

또는 유니캐스트 네트웍을 이용해서 전송하는 응용 서비스에 알맞은 단말 대 단말- -

네트웍 전송 기능을 제공한다 는 자원 예약을 수행하지 않으며 따라서 적시. RTP ,

전달 순차 전달과 같은 서비스 품질도 보장하지 않는다 데이터 전송 기능은, . RTP

제어 프로토콜에 의해 확장되는데 라 불리우는 이 제어 프로토콜은 데이터의, RTCP

전달 상황을 감시하며 최소한의 제어 기능과 매체 식별 기능을 제공한다 와, . RTP

는 하위의 전송 및 네트웍 계층에 무관하게 설계되었다RTCP .

는 별개의 독립 계층으로 구현되기 보다는 특정 응용에서 요구되는 정보를 제RTP

공하여 프로토콜의 처리가 응용의 처리 과정으로 통합될 수 있도록 설계되었다 따.

라서 기존의 프로토콜과는 달리 는 응용의 필요에 따라 헤더를 변경하거나 추RTP

가하여 응용에 맞는 프로토콜이 될 수 있도록 하는 일종의 맞춤형 프로토콜이다.

이 문서에서는 를 이용할 수 있을 것으로 추정되는 모든 응용들이 공통적으로RTP

필요로 할 기능을 만을 명시하고 있다 따라서 특정 응용 서비스에 필요한 를. , RTP

구현하기 위해서는 이 문서 이외에 페이로드의 종류와 형식을 정의하는 프로RTP

파일 문서 와 페이로드의 전송 방법을 정의한 페이로드 형식(Profile Specification)

문서 가 필요하다 는 데이터와 제어(Payload Format Specification) . RTP RTP RTCP

스트림의 분리를 하위 프로토콜에 의존한다 및 비슷한 프로토콜들의 경우. UDP ,

는 짝수 포트 번호를 이용하고 에 해당하는 스트림은 바로 상위의RTP RTP RTCP

홀수 포트 번호를 이용한다 데이터 패킷들은 길이 필드나 경계를 포함하지. RTP

않기 때문에 길이 확인은 하위 프로토콜에 의존한다 패킷의 최대 길이는 오. RTP

직 하위 프로토콜에 의해서만 제한된다.

Page 174: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 174 -

패킷들이 메시지 단위가 아닌 연속된 바이트 스트림으로 추상화하는 하위 프RTP

로토콜에 수송되어야 할 경우 패킷의 캡슐화는 프레이밍 기법을 지원하도록, RTP

정의되어야 한다 프레이밍 기법은 여기서 정의하지 않는다. .

3. SDP

는Session Description Protocol(SDP) IP address, UDP port, RTP profile,

와 같은 들을 기술한다multimedia conference capabilities session parameter .

에 정의되어 있으며 는 다음과 같은 파라미터를 사용한RFC 2327 call agent SDP

다.

들을 상호 교환하기 위한- IP addresses RTP packet remote gateway, local

gateway, multicast audio conference address.

로부터 들을 받기 위한- UDP port remote gateway RTP packet transport port.

을 포함한- Audio Media codec audio media.

파라메터는 다음과 같다SDP .

Page 175: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 175 -

제 절 절차5 Call Setup

는 다음과 같다VoIP call flow .

만약 여기서 송신자의 가 이고 수신자는 라고 하VoIP cable modem RGW cm1 cm2

면 다음과 같다.

는 송신자와 수신자의 에게 에 대한1. Call agent MGCM off-hook notification

를 지속적으로 보낸다request .

Page 176: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 176 -

그림 6-10. MGCP Call Flow

만약 송신자가 수화기를 들면 송신자의 가 를 감지하고 송2. TIU off- hook event

신자의 에게 한다MGCM report .

송신자의 은 에게 메시지를 보낸다3. MGCM call agent notify .

는 송신자의 에게 된 변호를 얻기 위해 당 모아4. Call agent MGCM dial Digit Map

진 들을 요청하기 위해 를 보내게 된다digit notification request .

송신자의 은 을 셋업하고 을 생성하기 위해 와5. MGCM DSP channel dial tone CCU

한다interface .

송신자의 은 에게 된 들을 전달하고 이 과6. MGCM DCM dial digit DCM Digit Map

시킨 후 만약 한 들이라는 결과를 리턴하면 이 에match valid digit MGCM call agent

게 그 번호들을 송신한다.

Page 177: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 177 -

는 송신자 에게 메시지를 보내고7. Call agent MGCM CREATE CONNECTION

을 로 셋업한다connection receive mode .

송신자의 은 요청된 과 함께 를 로드하고 로 셋업8. MGCM Codec DSP Voice mode

한다.

는 메시지를 송신자의 에게 보내고9. Call agent CREATE CONNECTION MGCM

을 로 셋업한다connection semi/receive mode .

수신자의 은 를 로드하고 로 셋업한다10. MGCM DSP Voice mode .

는 수신자 측의 과 을 요청하기11. Call agent ring generation off-hook notification

위해 수신자의 에게 를 보낸다MGCM NOTIFICATION REQUEST .

는 수신자의 주소와 번호와 함께 송신자의 에게12. Call agent IP port MGCM

메시지를 보낸다MODIFY CONNECTION .

송신자의 은 네트워크 연결 파라미터를 수정하고 로13. MGCM send/receive mode

셋팅한다 그러면 이제부터 실제 이 활성화 된다. call .

는 송신자측의 을 위해 송신자 에게14. Call agent ring back tone MGCM

를 보낸다NOTIFICATION REQUEST .

는 송 수신자 측의 를 감시하기 위해 양측에15. Call agent / on-hook event

메시지를 보낸다 는 송신자의 에게NOTIFICATION REQUEST . call agent MGCM

생성을 멈추게 하기 위해 요청한다ring back tone .

송 수신자 중 어느 한쪽이 전화를 끊게 되면 전화를 끊은 쪽의 이16. / MGCM

를 감지하고 에게 한다on-hook event call agent notify .

는 양측의 에게 메시지를 보낸다17. Call agent MGCM DELETE CONNECTION .

들은 을 해제한다18. MGCM DSP channel .

는 다시 발생할 에 대비해 양쪽의 에게19. Call agent off-hook MGCM NOTIFICA

를 보낸다TION REQUEST .

Page 178: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 178 -

제 장 실험결과7

제 절 실험에 사용할 단말기의 전체 블록도1

그림 하드웨어의 전체 블록도7-1. MoIP

위 그림은 의 하드웨어에 대한 전체적인 블록도이다 케이블 모뎀과 두MoIP . MoIP

가지 모듈을 합하여 놓은 형태이며 는 카드형식으로 케이블 모뎀위, MoIP daughter

에 올려놓는 형태로 구성되어 진다 망을 이용하여 신호에 데이터를 보내는. HFC RF

방식이므로 로 거쳐서 단말기 안으로 들어오거나 나가게 된다 여기RF Transceiver .

에 나 가 내장된 칩과 연결되어 로 데Demodulator Modulator MAC CPU(BCM3310)

이터를 제어할 수 있게 되어있다 여기에서 얻은 데이터 음성패킷 를. ( ) MoIP

카드로 보내어 에서 음성 압축 및 해제가 진행되고 을daughter CODEC(DSP) SLAC

통해 데이터가 아날로그로 바꿔주거나 혹은 그 반대의 역할을 하게 된다 여기PCM .

에 연결된 은 를 통해 비트의 입력을 받아 제어되며 과전압 방지SLIC CPU 4 , Ring, ,

라인감시등의 역할을 하게 되며 직접 전화선 과 연결 되어지게된다, RJ11( ) .

Page 179: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 179 -

그림 소프트웨어 구성도7-2. MoIP

윗부분에서 설명된 하드웨어 구성을 통해 실행되어 운용되는 소프트웨어의 구성도

는 아래그림과 같이 가 전체적인 시스템의 관리를 하게되고Real Time OS(pSOS) ,

케이블 모뎀의 부분이 전체적인 시스템의 부분을 담당하고 시스템의BSP BSP , MoIP

부분을 그 위에 첨가하는 식으로 되어있다BSP .

Page 180: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 180 -

제 절 실험 환경 설정2

그림 외부 실험 환경 설정7-3.

실험실의 환경으로 실제 환경과 비슷하게 만들기 위해서 CMTS(Cable Modem

와 업컨버터 감쇠기 등을 사용하였으Terminal System) (Upconverter), (attenuation)

며 집이나 사무실에서 사용하는 일반 전화기를 커넥터에 연결하여 실험하였, RJ11

다 여기에 실제 사용되어지는 전화번호와 비슷하게 만들기 위해서 라는. Call Agent

소프트웨어를 사용하여 와 실제 전화번호 를 연결하여 줄 수 있게IP Call Number ( )

하였다 여기서 사용한 는 제어 관리자로서 네트워크상에 전화. Call Agent1.2 Call IP

나 팩스 등의 여러 가지 멀티미디어 서비스를 수행할 수 있게 중계자 역할을 할 수

있는 소프트웨어이다 즉 전화벨소리나 전화 상대 소리 신호음 통화중 신호음 등. ( , )

를 만들어 낼 수 있다.

Page 181: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 181 -

제 절 테스트 결과3

제작된 케이블 모뎀을 시험하기 위해 다음과 같은 상태를 유지하였다 환MoIP . LAN

경은 설제 사용중인 망이며 케이블 망은 실험실 내의 간이 망이다 에는, . LAN

및 등을 접속하고 시험 대상 케이블 모뎀CMTS, DHCP Server Call Agent , MoIP

과 간에는 사의LAN Hub SPIRENT COMM SmartBit2000, Layer Performance

를 접속하여 트래픽이 존재하고 있는 망에 인위적으로 시험 대Analyzer , Normal IP ,

상 케이블 모뎀을 목적지로 하는 데이터 패킷을 발생시켜 주입시키고 이때MoIP ,

케이블 모뎀에서의 패킷지연 패킷 손실등을 측정하였다MoIP Throughput, , .

음성 코덱 알고리즘 및 패킷 크기에 따른 통화품질1. Traffic

다음 그래프는 트래픽의 패킷 크기에 따라서 의 통화품질이 어떻게 변화하는MoIP

지에 대한 실험을 한 것이다 당연히 트래픽이 증가할수록 통화품질이 점점 떨어지.

는걸 알수 있으며 패킷의 길이가 길수록 통화 품질의 저하가 줄어드는 것을 알 수,

있다.

그림 통화 품질7-4.

트래픽(%)

Page 182: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 182 -

표 정상적인 평가 설정 값7-1.

다음은 음성통화를 할 경우의 음성 코덱 알고리즘에 대한 케이블 모뎀의 하MoIP

향 및 상향 채널에 대한 의 변화를 각각 나타낸 것으로 음성통화를 하Throughput

지 않는 경우에 대한 상대치로 표시하였다.

2. VoIP CM Throughput(U/S)

그림 7-5. VolP CM Throughput

결과를 살펴보면 네트워크의 트래픽 상황에 따라 변화가 심하지만 음성 통화를 함,

으로써 일반 데이터에 대한 이 전반적으로 낮아지며 상향 채널의 경우Throughput

음성 코덱을 사용할 경우가 의 경우보다 이 좀 더 낮아G.711 G.729AB Throughput

지는 경향을 보였다 또한 를 을 사용한 케이블 모뎀이 기능을. CPU MPC860 MoIP

추가하였을 때 더 나은 성능을 가지는 것을 볼 수 있다.

Page 183: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 183 -

제 장 결론8

본 과제에서는 프로토콜을 이용한 다채널 케이블모뎀을 구현하였다MGCP MoIP .

하드웨어 및 소프트웨어 구조를 기술하였고 시험 결과를 고찰하였다 의, . MCNS

관련 표준 규격인 규격에 맞는 케이블모뎀 소프트웨어 구조를VoIP PacketCable

채택하였고 그에 따른 여러 가지 시험 결과를 보였다 성능 측정은 주로, . Layer

를 이용하여 수행했으며 음성 코덱 알고리즘은 과Performance Analyzer , G.711

를 채용하였다 측정 결과 은 일반 데이터만을 처리할 경우보G.729AB . , Throughput

다 전반적으로 낮아지며 음성 코덱을 사용할 경우가 음성 코덱을G.711 G.729AB

사용할 경우보다 좀 더 낮았다 음성 코덱 알고리즘에 따른 데이트 처리 지연을 제.

외한 간 평균지연은 의 경우 일정 이상의 트래픽에서 약End-to-End G.711 ,

에서는 정도로 양호한 음성통화가 가능한 지연조30-60 ms, G.729AB 20-30ms ,

건을 만족하였고 패킷 손실은 일정 수준이하의 트래픽에서는 거의 없다가 어느 수,

준 이상의 트래픽에서 급격히 증가하는 경향을 보였다 음성 코덱 알고리즘 및 망.

트래픽에 따른 통화 시험 결과 통상적인 망 트랙픽 상황에서, IP Layer

의 패킷 소스 발생률이 낮은 경우에는 이나Performance Analyzer G.711 G.729AB

음성 코덱 모두 양호한 통화 품질의 음성통화가 가능하였다.

본 과제에서 개발된 다채널 에 이용되는 케이블모뎀 시스템의 개발 목표 규격MoIP

은 국내 외 시장 현황을 고려하여 미국 의 규격을 따랐으며 규, MCNS DOCSIS1.0 ,

격 자체에 대한 검토 분석은 최근 발표된 까지 수행하였다 실시간 운영1.1version .

체계는 개발 후의 및 기술 지원 접근성 양산시의 기술료 등을 고려하여Upgrade , ,

케이블모뎀 과 를 채택 하였으며 케이블모뎀 하드웨어는pSOS( ) QNX(CMTS) ,

사의 칩을 이용하여 설계 제작하였다 본 시스템의Broadcom Transceiver and MAC .

및 전자 서명 등의 기능 수행을 위해 자체적으로 개발한Network Security DES,

를 포팅하여 호환성 시험을 하였으며 를 제RSA, SHA S/W , COS(Class of Service)

공하기 위한 상향 채널 대역폭 할당 도 개발하여 통합하였다 또한 본 시스템S/W . ,

을 이용하여 서비스 사업을 하고자 하는 통신서비스 사업자를 위해 서비스센터에,

서 망상의 요소 각 케이블모뎀 들을 운용 관리할 수 있도록 하는 망 관리 소HFC ( ) ,

프트웨어 대한 솔루션도 아울러 개발하였다 개발된 시작품을. Cable Modem

과 을 통해 접속하여 인터넷 액CMTS, Lacal server(Web, DHCP, TFTP, TOD) LAN

세스 시험을 한 결과 양호하게 동작하였으며 평균적으로 약 의 실질 데, , 2.4Mbps

이터 전송률을 보였다 또한 의 을 받은 사의. , MCNS DOCSIS qualification Cisco

시리즈 라우터와 사의 장비와의 연결하여UBR7200 Nortel CMTS DOCSIS

시험을 수행한 결과 양호한 상호 운용성을 보였다interoperability .

Page 184: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 184 -

망을 이용한 고속 데이터 서비스 시스템은 실시간 서비스 관련기술 발전CATV , IP

에 따라 초고속 인터넷 억세스 뿐 아니라 전화 화상회의 서비스가 가, , , Fax Relay,

능한 광대역 멀티미디어 통신 시스템으로 발전하고 있으며 이러한 시스템은 방송, ,

통신 컴퓨터 시스템 소프트웨어 등 다양한 첨단 기술 분야가 복합되어 있어서 국, , ,

내 관련 업체들이 단 시간 내에 핵심 부품에서부터 시스템에 이르기까지 자체 개발

하여 기술 경쟁력을 갖춘 상용제품을 적기에 시장에 출시하는 데에는 많은 어려움

이 따른다.

따라서 이를 극복하기 위해서는 등 관련기술에 대한, M/VoIP, Broadband Access

지속적인 선행 기술 개발 국내 관련 기술 개발 업체간의 컨소시엄 및, Partnership

강화 관련 기술 인력의 정보교환 체계 공용 인력 등 구축 정부 차, ( Web site, DB ) ,

원의 핵심 부품 및 원자재 공동 구매 국제 규격 인증 획득 지원 등이 복합적으로,

이루어져야 할 것으로 판단된다.

Page 185: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 185 -

참고문헌

[1] Data-Over-Cable Service Interface Specifications-Radio Frequency

Interface Specification SP-RFI-I02-971008, MCNS

[2] BCM93210 QAMLink Cable Modem Termination System Reference Design

User's Manual, Broadcom corporation, June, 1998.

[3] BCM3210 MCNS Cable Modem Termination System Media Access

Controller Advance Specification, Broadcom corporation, June, 1998.

[4] BCM3220 MCNS Cable Modem Media Access Controller Advance

Specification, Broadcom corporation, February, 1998.

[5] BCM3137 User's Manual

[6] BCM3209 User's Manual

[7] Walter S. Ciciora, Cable Television in the United States- An Overview,

CableLabs, 1995.

[8] High-Speed Cable Data Service(HSCDS) RFP, CableLabs, 1995.

[9] IEEE Project 802.14/a Draft 2 Revision 2, IEEE, 1997.

[10] John Davison and Robin Hearn, Cable Modems Stealing the Broadband

Market, Ovum Reports, 1997.

[11] Microsoft and Compaq Join Time Warner Cable and MediaOne in

High-Speed Online Venture

[12] Mike Schwartz, Cable Industry Formalizes DOCSIS Modem Certification

Plan, CableLabs, 1998

[13] William Stallings, SNMP, SNMPV2, and RMON, 2nd Edition, ISBN

0-201-63479-1, Addison Wesley Publishing Company, Inc.., 1996.

[14] Mark A. Miller, P. E. , Managing Internetworks with SNMP , 2nd Edition,

ISBN 1-55851-561-5, M&T Books, 1997.

Page 186: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 186 -

[15] David Perkins and Evan McGinnis, Understanding SNMP MIBs, ISBN

0-13-437708-7, Prentice Hall PTR, 1997.

[16] James D. Murray, Windows NT SNMP, ISBN-56592-338-3, OREILLY,

1998.

[17] Schoffstall, M., Fedor, M., Davin, J., A Simple Network Management

Protocol(SNMP), IETF RFC-1157, May 1990.

[18] K. McCloghrie and M. Rose, Structure and Identification of Management

Information for TCP/IP-based internets: MIB-II, IETF RFC-1155, May 1990.

[19] K. McCloghrie and M. Rose, Management Information Base for Network

Management of TCP/IP-based internets: MIB-II, IETF RFC-1213, March 1991.

[20] Data-Over-Cable Service Interface Specifications, Operation Support

System Interface Specification, SP-OSSI-I01-970403, MCNS

[21] CCITT Recommendation X.209, Specification of Base Basic Encoding

Rules for Abstract Syntax Notation One(ASN.1), Melbourne, 1998.

[22] Product Data-Book: FEC Concatenated Decoder Preliminary

Specifications Draft, LSI Logic Corporation, May, 1995.

[23] Product Data-Sheet: Digital Down_converter and Bit Syncronizer/QPSK

Demodulator For CATV Applications, Stanford Telecom, Inc., Feb, 1995.

[24] Product Data-Book: Reed-Solomon Encoder/Decoders Technical Manual,

LSI Logic Corporation, Jan, 1995.

[25] Kamilo Feher, Advanced Digital Communications: Systems and Signal

Processing Techniques, Prentice-Hall, 1987, pp.318-332, pp.387-393.

Page 187: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 187 -

[26] Bernard Skalar, Digital Communications Fundamentals and Applications,

Prentice Hall, 1988, pp.357-373.

[27] Man Young Rhee, Error Correcting Coding Theory, McGraw-Hill, 1989,

pp.219-238.

[28] B. Daneshrad, and H. Samueli, "A 1.6Mbps Digital-QAM System for DSL

Transmission," IEEE J. Select. Areas Commun., vol.11, no.7, December, 1995,

pp1600-1610.

Page 188: KETI-RD-2001036 HFC MOIP 망용다채널 단말기개발 () · 그림 소프트웨어구성도7-2.MoIP 그림 외부실험 환경설정7-3. 그림 통화품질7-4. 그림7-5.VoIPCMThroughput-12-제장서론1

- 188 -