KR0151931B1 - 개인용 컴퓨터를 이용한 사설 전화교환장치 - Google Patents

개인용 컴퓨터를 이용한 사설 전화교환장치 Download PDF

Info

Publication number
KR0151931B1
KR0151931B1 KR1019950006977A KR19950006977A KR0151931B1 KR 0151931 B1 KR0151931 B1 KR 0151931B1 KR 1019950006977 A KR1019950006977 A KR 1019950006977A KR 19950006977 A KR19950006977 A KR 19950006977A KR 0151931 B1 KR0151931 B1 KR 0151931B1
Authority
KR
South Korea
Prior art keywords
pcm
tone
line
board
data
Prior art date
Application number
KR1019950006977A
Other languages
English (en)
Other versions
KR960036494A (ko
Inventor
이장현
조재만
Original Assignee
이헌일
주식회사삼정
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이헌일, 주식회사삼정 filed Critical 이헌일
Priority to KR1019950006977A priority Critical patent/KR0151931B1/ko
Publication of KR960036494A publication Critical patent/KR960036494A/ko
Application granted granted Critical
Publication of KR0151931B1 publication Critical patent/KR0151931B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q1/00Details of selecting apparatus or arrangements
    • H04Q1/18Electrical details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/005Interface circuits for subscriber lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/30PCM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)

Abstract

본 발명은 개인용 컴퓨터를 이용하여 자동으로 구내 전화를 교환하는 사설 전화 교환 장치로서, 확장슬롯을 가진 개인용 컴퓨터 시스템 PC과; 국선 및 내선과 연결되고, 상기 PC의 확장 슬롯에 결합되어 시스템과 연결되도록 카드에지코넥터를 가지고 있고, 전화선의 회선관리부회로와 교환부회로가 설치된 하나 이상의 구내교환장치보드를 포함하여 이루어진다.
구내 교환 장치 보드는, 메인 보드와 라인 인터페이스 보드로 구성되고, 상기 메인 보드는 내선 및 국선을 상호 연결하는 PCM 스위칭 기능을 수행하고, PCM 이득 변환, 디지털 톤 발생 등을 위한 PCM 데이타 합성 기능 등을 수행하며, 상기 라인인터페이스 보드는 내선의 아날로그 통화신호와 PCM 데이타 신호를 상호 변환하고 연결상태를 관리하는 내선 Interface부와, 국선의 아날로그 통화신호와 PCM 데이타 신호를 상호 변환하고 연결상태를 관리하는 국선 Interface부 및 PCM 하이웨이 코넥터, 그리고 PCM 하이웨이 인터페이스 및 타임슬롯 배당 기능을 하는 DBID를 포함한다.

Description

개인용 컴퓨터를 이용한 사설 전화교환장치
제1도는 종래의 개인용 컴퓨터 개략도.
제2도는 본 발명의 구내교환장치보드의 개략도.
제2도의 (a)는 메인보드의 개략도.
제2도의 (b)는 라인인터페이스보드의 개략도.
제3도는 본 발명의 구내교환장치보드의 메인보드 블록다이아그램.
제4도는 본 발명의 구내교환장치보드의 라인인터페이스보드 블록다이아그램.
제5도는 PCM 하이웨이 구조를 설명하기 위한 도면.
제6도는 DBID 회로의 블록도.
제7도는 CGMD 회로의 블록도.
제8도 내지 제11도는 본 발명의 동작 설명을 위한 플로우챠트.
표1:메인보드 및 라인인터페이스보드가 사용할 수 있는 베이스 어드레스 조합을 보인 표.
표2:Frame Store SRAM의 memory map을 표시한 표.
표3:Control SRAM의 parameter format을 나타낸 표.
표4:Control SRAM의 memory map을 보인 표.
표5:Gain/Tone ROM의 memory map을 보인 표.
본 발명은 개인용 컴퓨터를 이용한 사설 전화교환장치로서, 개인용 컴퓨터인 PC를 이용하여 국선이나 구내의 전화선을 교환할 수 있는 기능을 가진 인터페이스 보드를 PC에 장착하여 전화를 교환하는 기능을 하도록 한 개인용 컴퓨터를 이용한 사설 전화교환장치 PABX에 관한 것이다.
일반적인 소형 PABX는 전화교환수 없이 자동으로 구내 전화번호로 절환되는 장치로서 중소기업이나 규모가 작은 사무실용으로 널리 이용되고 있다.
이 소형 PABX의 기본 구성은 국선과 내선을 상호 접속시키기 위하여 복잡한 전자회로로 구성되어 있고 가격도 고가여서 설치하기가 용이하지 않은 경우도 많다.
본 발명의 목적은 최근에 널리 보급되고 있는 개인용 컴퓨터인 PC를 이용하여 국선이나 구내의 전화선을 교환할 수 있는 기능을 가진 인터페이스 보드를 PC에 장착하여 PABX를 구현시키려는 것이다.
본 발명의 PABX는 PC 본체(Mother Board)에 있는 확장 슬롯(SLOT)에 구내 전화선 및 국선의 회선관리부와 구내 전화선 및 국선의 교환부를 설치한 카드 형태의 기능 모듈(module)을 장치하여 PC의 CPU에 의해서 통화를 관리하는 교환장치(switching system)이다.
이하에서 본 발명의 실시예를 설명한다.
개인용 컴퓨터 또는 개인용 컴퓨터는 주로 IBM 호환 기종을 많이 사용하고 있는데, 제1도에 개략적으로 도시한 바와 같이, 컴퓨터본체(1)에 키보드(2)와 모니터(3)가 연결되어 있고 내장 모뎀 등이 있는 경우에는 전화선(4)도 연결되어 있다.
표준 AT급 PC에는 컴퓨터마더보드에 확장 슬롯이 8개 정도 있으며 대개의 경우 비디오카드, HDD/FDD 콘트롤카드, I/O 카드, 네트워크(LAN)카드 등이 설치되어 사용되므로 사용가능한 슬롯이 3-4개 정도는 있게 마련이다. 따라서 본 PABX 구현에서는 카드하나에 모든 전자부품을 실장하여 슬롯 하나만 이용할 수도 있지만 회로 구성의 편의상 카드 두장에 나누어서 구성한다.
일반 사무실이나 연구실 환경에 적합한 교환장치의 결정을 위해서 시판되고 있는 중소형 PABX(또는 Key Telephone System)의 국선 대 내선비율을 참고하였다. 중소형 PABX 시장의 국선 대 내선의 비율은 1:2.5정도였으며 본 발명의 시스템 구현에서도 이 비율이 적용된다. 최소 시스템 구성은 국선 3회선/내선 8회선으로 하며, 제한된 수의 슬롯을 사용하므로 국선과 내선 인터페이스 회로를 하나의 기능 블록으로 생각하여 1장의 카드인 라인인터페이스보드(Line Interface Board)에 수용하였다. 라인인터페이스보드 1장은 한 카드 슬롯을 점유하며 국선 3회선 내선 8회선을 수용한다. 용량 확장시 다수의 라인인터페이스보드를 사용할 수 있으나 가용 슬롯 수나 CPU성능 등을 고려하여 두장으로 한다. 톤발생기, DTMF 수신기, 톤검출기, 양방향성 페이징 포트, 음악발생기 등 PABX 구현에 부가적으로 필요한 시스템의 공통소오스(COMMON RESOURCE)부를 메인스위칭(MAIN SWITCHING)부와 함께 하나의 기능 블록으로 처리하여 1장의 메인 보드(MAIN BOARD)에 수용하였다.
제2도의 (a) 및 제2도의 (b)는 메인보드와 라인인터페이스보드의 개략적인 구성을 보인 것이다.
본 시스템 구현에는 금성통신(주) 연구소에서 그간 디지털 키텔레폰 시스템(digital key Telephone System) 개발에서 얻은 경험과 노우 하우를 바탕으로 자체 개발한 디지털 교환기 전용 ASIC 디바이스인 CGMD 및 DBID로 불리는 IC 2종을 사용하였다. 이 ASIC 디바이스는 디지털 PABX 구현에는 필요한 통합적인 해결책을 제공한다. 시판되고 있는 상용 스위칭디바이스에서 찾아볼 수 없는 무제한 3자 회의 통화, 디지털 게인 컨트롤(Digital gain control), 디지털 톤 발생(digital tone generation), ISDN 호환되는 PCM 하이웨이(highway) 구조 등 확장성과 이식성이 매우 뛰어난 스위칭 구조(Mechanism)를 제공한다. 제한된 공간내에서 다양한 기능을 구현해야 하는 본 발명의 PC에 기초한 PABX(PC-based PABX)의 경우, 이러한 ASIC 디바이스를 사용한 접근은 시스템의 구조를 단순화하며 reliable한 시스템 구현을 가능하게 해준다.
본 예에서 메인보드 및 인터페이스보드 제작에는 시스템의 복잡도를 고려하여 거의 모든 부품에 표면실장(surface mounting) 디바이스(SMD)를 사용하였으며, 높은 집적도와 신뢰도를 얻을 수 있는 4층 에폭시 PCB를 사용하였다.
메인보드는 본 PABX의 구내 전화선 및 국선을 상호 연결하는 교환기능을 담당하는데, PCM 스위칭 기능을 수행하고, PCM 이득 변환, 디지털 톤 발생, 회의 통화(Conference Call)를 위한 PCM 데이타 합성(Summation)을 수행하는 PCM 데이타 조작부이다. 이러한 동작은 앞에서 설명한 ASIC 디바이스인 CGMD(Conference Gain Modification Device)에 의해 이루어진다. 한편 공통자원(Common Resource)인 DTMF 수신기, 통화용 톤검출기, 대기음악기능, 양방향 페이징 포트, 상태표시 LED, 등은 PCM 하이웨이 인터페이스 및 타임슬롯배당 기능을 갖는 ASIC 디바이스인 DBID(Digital Backplane Interface Device)에 연결된다. 부가 회로로는 내부회로와 PC 버스 인터페이스를 위한 어드레스/컨트롤 버퍼, 데이타 버포, 보드 어드레스 섹션을 위한 어드레스 비교기 회로, 시스템 기본 타임 발생을 위한 3.3ms 인터럽트 리궤스트 회로, CGMD 억세스를 위한 웨이트 스테이트발생기 등이 있다.
CGMD와 주변회로에 대하여 설명하면, CGMD의 컨트롤(Control) SRAM은 PCM 데이타조작에 필요한 여러 가지 파라메타(parameter)를 저장하는 레지스터 뱅크(register bank)이다. 이 parameter들은 CPU에 의해서 로드(load)된다. CGMD는 Input PCM highway로 입력되는 PCM 데이타를 Frame Store SRAM에 저장하고 Control SRAM으로부터 PARAMETER를 읽어 저장된 PCM 데이타의 gain을 변환하거나, 톤 데이타를 발생시킬 수 있으며, 원하는 두 PCM 데이타를 summation하는 기능을 가지고 있다. Gain/Tone ROM은 PCM data의 게인 조작에 필요한 게인 변환 테이블과, 톤 발생을 위한 톤데이타를 저장하고 있는 lookup table이다. Conference summation ROM은 두 PCM 데이타를 summation하기 위한 lookup table을 내장하고 있다. CGMD의 상세한 동작은 다음에 자세히 설명한다.
다음은 DBID와 그 주변회로에 대하여 설명한다. DBID는 PCM highway와 Port 디바이스(CODEC)를 연결하기 위한 highway interface 및 PCM 타임슬롯 배당(assignment) 회로를 내장하고 있다. DBID는 12개의 B채널 디바이스(CODEC)를 접속할 수 있으며, 12개의 general purpose in/out port를 제공한다. DBID의 상세한 동작은 다음에 설명한다. 메인 보드에는 2개의 DBID를 사용하며 DTMF receiver와 call progress tone detector, bidirectional paging port등 analog 디바이스들이 접속된다. general purpose input output port는 이 아날로그 디바이스 제어에 필요한 in/out port로 활용하고 있다.
DTMF Receiver:본 시스템의 최대 용량은 두 장의 라인인터페이스보드를 사용하는 경우, 국선 6회선 내선 16회선으로 총 22 line port를 지원한다. 일반적으로 소형 PABX의 DTMF receiver 개수 대 총 port수의 비율은 1:5 이하이다. Call 처리 능력 면에서는 충분한 여유가 있도록 설계된 시스템이라 할지라도 DTMF receiver가 부족할 경우, user가 느끼는 시스템 성능은 급격하게 떨어진다. 이러한 현상은 통화가 폭주하는 시간대에서는 더욱 두드러진다. 따라서 본 시스템에서는 이러한 문제를 배제하기 위하여 충분한 개수인 8개의 DTMF receiver를 사용하였다.
Call Progress Tone Detector:Automatic redial, DISA(Direct Inward System Access), unsupervised conference등 부가 service를 위해서는 국선의 call progress tone 검출(dial tone, error tone, busy tone, ring back tone등)이 필수적이다. 본 시스템에서는 이를 위해 call progress tone detector 4회로를 사용한다.
MOH(Music on Hold):국선보류 중 국선으로 보류음악 송출을 위한 2종류의 MOH channel이 마련되어 있다. 첫번째 MOH channel은 메인 보드 내부에 있는 melody IC에서 발생되는 melody music(iMOH) channel이다. 두 번째 channel은 단조로운 melody음을 싫어하는 사용자를 위하여 외부 음악원을 접속할 수 있는 external MOH(eMOH)이다. 이 두 MOH channel은 call progress tone detect용 CODEC의 analog input을 사용한다.
Bidirectional Paging Port:PABX가 Key Telephone System과 비교하여 가장 불편한 기증중의 하나는 국선전환이나 내선호출시 handsfree 응답이 불가능하다는 점이다. Key Telephone System의 경우 handsfree 응답이 가능한 Speaker Phone이 내장된 전용 Keyset을 사용하므로 paging을 통하여 수신자의 위치를 확인하거나 의사전달을 할 수 있다. 그러나 PABX에서는 국선전화(call transfer)이나 내선호출시 상대방 내선 가입자가 지정된 좌석에 없을 경우 통화가 불가능하다. 이점은 PABX의 가장 치명적인 결점이 아닐 수 없다. 따라서 본 PC-based PABX 구현에서는 이러한 결점을 보완할 수 있는 4개의 bidirectional paging port를 두었다. 각 bidirectional paging port는 송신과 수신에 독립된 두 개의 transformer를 사용하며 phantom feeding 및 DC loop 감지회로가 있어서 스피커 폰 기능이 있는 외부 페이징 모듈을 사용하면 All Call이나 Zone Page Port로 사용될 수 있다. DSP 실험실에서 다용도 Analog I/O Port로 사용할 수 있도록 feeding 회로를 분리할 수 있는 jumper가 마련되어 있다.
Option Switch/Status LED:Board의 동작상태를 시각적으로 확인할 수 있도록 8개의 LED indicator가 있으며, 선택적인 시스템 동작이 필요할 경우를 대비하여 8개의 option switch를 장착하고 있다. 본 시스템 DSP 응용 실험에 사용할 경우 이 option switch와 LED indicator는 매우 편리한 실험환경을 제공하게 될 것이다.
Base Time Generation:PC의 내부 timer interrupt에 의해서 얻을 수 있는 최소 시간 unit는 HDD control에 사용되는 IRQ0(8259A Timer output 0)의 18.2ms이다. 일반적으로 PABX의 내부 resource관리를 위해서 10ms 단위의 base time이 필요하며, 특히 정확한 outpulse dial generation(66.6ms break/33.3ms make)을 위해서는 보다 세밀한 base time을 필요로 한다. 따라서 PC에서 제공되는 18.2ms base time은 부적절하며 별도의 base time generation 방안이 마련되어야 한다. 본 시스템 구현에서는 메인보드상에 3.33ms base time generation 회로를 두었으며, 이 출력은 PC의 reserved interrupt request line(IRQ9, IRQ10, IRQ11, IRQ12, IRQ15)중 하나로 제공된다. 해당 interrupt service routine에서는 interrupt의 개수를 count하여 필요한 base time을 만들 수 있도록 하였다.
AT Bus(ISA BUS) Interface:PC의 확장 슬롯 interface에는 16bit ISA bus(AT bus)가 사용된다. 두 개의 card edge connector를 통하여 16bit data bus, address/control bus 및 power bus가 제공된다. PC-base PABX에서 사용하는 모든 디바이스는 8bit 디바이스이므로 data bus의 경우 16bit 중 하위 8bit(D0-7)만 사용된다. 필요한 모든 signal은 Buffer를 통하여 in/out되므로 fan out 부족으로 야기될 수 있는 문제를 배제하였다. 한편, PC의 CPU로 사용되는 INTEL 8088/86 계열의 microprocessor의 address mode는 real address mode와 protected address mode가 있다. protected address mode시 최대로 사용할 수 있는 physical address range는 16Mbyte이다. 그러나, 일반적으로 MS-DOS 상에서 동작하는 software package는 real address mode로 동작하며 이 경우 address range는 1Mbyte로 제한된다. AT급 PC의 경우, 1Mbyte real address range중 하위 640Kbyte는 program memory 영역으로 사용하고 나머지 상위 384Kbytes는 ROM BIOS와 Graphic display buffer 및 reserved area로 이루어져 있다. 본 PC-based PABX의 메인보드 및 라인인터페이스보드는 이 상위 384Kbyte의 일부 영역을 사용하도록 설계하였다. PC에 사용되는 Video card와 I/O adapter의 종류에 따라 사용가능한 영역이 가변적이다. 따라서, Board의 address를 선택적으로 바꿀 수 있도록 segment 및 offset address를 select할 수 있는 8개의 switch와 address comparator logic을 사용하였다. 표 1은 메인보드 및 Line Interface Board가 사용할 수 있는 base address 조합을 나타내고 있다. 각 board는 설정된 base address로부터 4Kbyte(0-FFFh)의 address 영역을 점유한다.
Analog Connector:Analog connector는 메인보드에 있는 4개의 bidirectional paging port를 외부의 speaker phone paging 디바이스로 연결하기 위한 connector이다. 또한 라인인터페이스보드에 필요한 +24V feeding power와 20Hz ring signal 및 ring zero cross signal을 외부로부터 공급받기 위한 용도로도 사용된다.
+24V feeding power 및 20Hz ring signal은 PC 내부 power supply 전원을 이용하여 generation 할 수도 있으나, 이 경우 약 40W의 전력이 필요하며 충분한 용량의 power supply를 탑재하고 있는 PC가 아닌 경우 PC 동작 자체가 불안정해질 가능성이 매우 높아진다. 뿐만 아니라, DC/DC converter 및 ring generation 회로를 위한 별도의 board가 필요하며 한 card slot을 점유하게 될 것이다. 따라서 본 시스템 구현에서는 이러한 문제점들을 고려하여 외부 전원 및 외부 ring source을 사용하도록 설계하였다.
PCM Highway Connector:Board에 상단에 있는 PCM highway connector는 메인보드와 라인인터페이스보드간의 PCM 데이타 및 동기신호 전송과 analog connector로 입력된 +24V feeding power 및 20Hz ring signal을 라인인터페이스보드로 전송하기 위한 것이다. 각 board는 이 connector에 접속되는 ribbon cable을 통하여 서로 연결된다.
PCM highway는 8.192MHz의 clock signal을 비롯한 4.096MHz의 PCM 데이타가 전송되는 일종의 high speed transmission line이다. 따라서 적절한 line termination을 하지 않으면 각 line의 종단에서 발생하는 reflection으로 인하여 신호의 왜곡이 발생하게 된다. 이러한 문제를 방지하기 위하여 라인인터페이스보드에 termination ON/OFF switch를 두었다. 메인 보드에서 가장 멀리 설치되는 라인인터페이스보드에서만 이 switch를 ON시킨다.
Reserved B channel I/O Port:본 시스템을 DSP lab에서 hardware platform으로 활용할 경우를 대비하여 8개의 B channel과 4개의 output port 및 3개의 input port를 reserve해 두었다. 이 reserved channel과 I/O port는 외부로 쉽게 interface할 수 있도록 connector로 처리하였다. 필요시, piggyback type의 test board를 만들어 메인 보드에 직접 장착할 수 있도록 배려하였다.
다음은 라인인터페이스보드의 구성에 대하여 설명한다.
이 board는 국선 및 내선 접속을 위한 3개의 국선회로와 8개의 내선회로를 수용하고 있다. DBID는 PCM highway connector에서 입력되는 8.192MHz clock signal과 frame signal에 동기되어 CODEC interface에 필요한 clock과 sync signal을 만들어 주며, time slot assignment 기능을 수행한다. AT bus interface부는 메인 보드와 동일한 회로로 구성되어 있다.
내선 Interface부(40):음성 회로부는 analog signal coupling을 위한 matching transformer(42) 및 hybrid network과 CODEC(44)으로 구성된다. 전화기 측으로 feeding 전원을 제공하는 feeding 회로부는 off hook 감지회로를 내장하고 있다. Ring signal에 정확히 동기시켜 제어함으로서 ring relay 제어시 발생할 수 있는 surge 전압 발생을 최소화하였다. 또한 내선 사용상태를 표시할 수 있는 8개의 LED indicator(45)가 있다. SLT interface에 필요한 모든 control signal은 DBID(46)의 general purpose I/O port를 사용한다.
국선 Interface부:음성 회로부는 SLT interface부와 마찬가지로 analog signal coupling을 위한 matching transformer 및 hybrid network과 CODEC으로 구성되어 있고, DC HOLD 회로는 loop supervision을 위한 LOOP detection을 포함하고 있다. LOOP detection과 ring signal detection은 opto coupler를 사용하여 국선과 시스템의 전원을 완전히 isolation시켰다. LOOP/PULSE relay는 loop seizure 및 outpulse dial시 발생하는 click noise 제거를 위한 relay이다. 또한 국선 사용 상태를 표시할 수 있는 3개의 LED indicator가 마련되어 있다. Ring detect signal은 DBID의 general purpose input port로 입력되며, Loop detection signal은 buffer를 통하여 직접 data bus에 연결된다. LED와 relay는 데이타 bus에 연결된 Latch driver를 통하여 제어된다.
PCM HIGHWAY의 구조:PCM 데이타를 전송하는 PCM highway는 각각 5개의 transmit 및 receive highway set이 있어 총 10개의 PCM highway로 구성된다. PCM switching을 담당하는 메인보드와 라인인터페이스보드간의 PCM 데이타 전송은 각 board 상단에 있는 Card Edge Connector(PCM CONNECTOR)에 연결된 ribbon cable을 통하여 이루어진다. 이 5개의 highway set은 4.096Mbps의 동일한 전송능력을 가지고 있으며, 각 highway는 48개의 B type channel(64Kbps)과 32개의 D type channel(16Kbps) 및 1개의 HDLC channel(512Kbsp)로 세분되어 있다. 따라서, 총 240개의 B channel과 160개의 C channel 및 5개의 HDLC channel(512Kbps)을 제공한다. 제5도에 본 시스템에서 사용되는 PCM Highway의 구조를 도시하였다.
channel의 할당:동일한 기능을 갖는 5개 highway를 사용함으로서 얻는 이점은 이들중 어느 한 highway가 고장났을 경우, 이로 인한 전체 시스템에 미치는 영향을 최소화할 수 있다는 점이다. 즉, 만약 어느 한 highway의 고장상태가 감지되면 즉시 다른 highway로 대치함으로서 전체 시스템 동작에 영향이 거의 없는 신뢰성이 높은 통신 시스템을 만들 수 있다. 또한, ISDN interface를 위한 D channel이 마련되어 있어 ISDN 2B+D format을 그대로 수용할 수 있다. Board간 정보 교환을 위한 별도의 512Kbps HDLC channel이 제공된다.
PCM Highway의 유연성:PCM highway 구조는 모든 port에 대해 B channel과 D channel을 dynamic하게 allocation할 수 있다. 각 port의 transmit 및 receive timeslot은 서로 독립적으로 240개의 B channel중 어느 한 timeslot에 자유롭게 할당할 수 있다. 이는 160개의 D channel에 대해서도 동일하게 적용된다. 이러한 open PCM highway 구조는 매우 flexible한 시스템의 구현을 가능하게 해준다. 이는 240Port내에서는 완전한 non-blocking 시스템 구현이 가능함을 의미한다. 어느 한 highway에서 fault 발생이 감지될 경우, 다른 highway를 사용함으로서 부분적인 blocking을 감수한다면 전체 시스템의 동작을 중단시키지 않고 service의 level만 낮추어 degraded 시스템으로 동작시킴으로서 연속적으로 통화가 가능하다. 이는 통신 시스템의 본래 특성을 생각할 때 매우 바람직한 특징중의 하나이다.
DBID(Digital Backplane Interface Device):DBID는, 제6도에 DBID 내부 logic에 대한 Block Diagram으로 도시된 바와 같이, board간 high speed synchronous data channel(B,D,HDLC)과 B 및 D channel에 대한 timeslot assignment mechanism을 내장하고 있다. 한 DBID는 12개의 B channel과 6개의 D channel을 제어할 수 있으며, 각 B channel은 240개 timeslot중 어느 한 timeslot에 자유롭게 할당할 수 있고 각 D channel은 160개의 timeslot중 어느 한 timeslot에 자유롭게 할당할 수 있다. 모든 channel은 full duplex로 동작하며 transmit 및 receive timeslot assign은 서로 완전히 독립적으로 이루어질 수 있다. 또한 2B+D channel format을 갖는 port 디바이스가 연결될 경우를 대비하여 D channel 역시 2B channel과 완전히 독립적으로 제어할 수 있다. 이러한 특성은 ISDN environment에서 D channel information을 한 개의 LAPD processor로 처리하고자 할 때 매우 유용한 기능이 될 것이다.
DBID HDLC channel:BOARD간 control data 전송이 필요한 경우, 5개의 PCM highway중 어느 하나의 highway를 선택하여 512Kbps synchronous data(HDLC) 전송 path를 제공할 수 있다. DBID 내부에서는 단순히 Layer 1(the physical of ISO reference model) 기능만 수행된다.
Layer 2(the data link layer of ISO reference model) 기능을 위해서는 외부에 HDLC controller가 추가적으로 필요하다. 그러나 본 PABX에서는 모든 board들이 PC의 단일 CPU에 의해 직접 제어되므로 board간 HDLC communication은 필요하지 않다.
DBID D channel:DBID는 6개의 16Kbps D channel을 support한다. 이 6개의 저속 데이타 채널은 ISDN의 Link Access Procedure D channel(LAPD)을 위한 것이다. DBID는 단순한 전송 mechanism만을 제공한다. Layer 2 처리는 접속될 Terminal Equipment(TE)나 Terminal Adaptor(TA)내에서 제공해야 한다. DBID는 highway로 6개의 2bit D CHANNEL data(16Kbps)를 추출/전송할 수 있다. 내부에는 transmit 및 receive timeslot 선택용 register가 각각 6개씩 있다. 이 register는 사용하고자 하는 highway와 timeslot을 선택하게 된다. DBID는 TXD RXD pin을 통하여 이 D channel data를 port측으로 송수신하게 된다. 한편, D channel을 사용할 필요가 없는 non-ISDN 환경에서는 이 TXD RXD pin을 port 제어용 general purpose input output port로 사용할 수 있으며 본 시스템에서는 이 mode를 사용하고 있다.
DBID B channel:DBID는 연결된 12port(CODEC)로부터의 8bit PCM data(또는 data word)를 PCM highway상의 12개 timeslot에 실어주며 지정된 timeslot으로부터 8bit PCM data(또는 data word)를 추출하여 각 port로 내보내는 기능을 갖고 있다. 내부에는 transmit 및 receive timeslot 지정용 register가 각각 12개씩 있다. 이 register는 사용하고자 하는 highway number와 timeslot number값을 가지고 있다. 이 값은 DBID의 microprocessor port를 통하여 CPU에 의해서 load된다. Channel을 disable 시키고자 할 경우 NULL value(FFh)를 load할 수 있다. DBID에는 12개의 port 디바이스(CODEC)를 연결할 수 있으며, 각 디바이스는 전체 switching matrix 240 timeslot에 대해 자유롭게 할당될 수 있다는 특징을 가지고 있다. 이러한 특성은 240port내에서 완전한 non-blocking 시스템 구현이 가능함을 의미한다.
CGMD(Conference Gain Modification Device):제7도에서 블록으로 도시된 바와 같은 CGMD의 주요 기능은 다음과 같다:
-PCM switching(from any input highway/timeslot to any output highway/timeslot)
-PCM data의 Gain Modification
-DTMF 및 Call Progress Tone Generation
-회의통화 구현을 위한 PCM data summation
위의 기능을 위해서 CGMD는 frame store용 high speed(25ns access time SRAM 1개와 CGMD 제어용 high speed(25ns access time) SRAM 1개, Lookup table용 ROM 3개를 필요로 한다.
Conference(회의통화) 구현 방법:CGMD는 conference를 부가적인 hardware나 timeslot 점유가 필요 없는 완벽한 mechanism을 제공하고 있다. 또한 전 user가 동시에 3자 회의통화가 가능한 매우 독특한 구조를 가지고 있다. 이는 두 port(confree's)로부터의 PCM data output highway로 직접 송출되거나 frame store SRAM에 저장되어 3자 이상의 회의통화시 2차 summation을 위한 데이타로 사용될 수 있다.
port A,B,C로 구성된 3자 회의를 가정해 보자. 각 port는 서로 다른 두 port의 summation 값을 필요로 한다. Port A의 입장에서 보면, Port B와 Port C가 summation되어 그 결과가 Port A의 receive highway/timeslot에 실려야 한다. Port B의 입장에서 보면, Port A와 Port C가 summation되어 그 결과가 Port b의 receive highway/timeslot에 실려야 한다. Port C의 입장에서 보면, Port A와 Port B가 summation되어 그 결과가 Port C의 receive highway/timeslot에 실려야 한다. 이 논리는 3자 conference를 위해서는 부가적인 timeslot 점유 없이도 무제한 3자 conference가 가능함으로 보여준다. CGMD의 이러한 특징은 별도의 conference용 디바이스와 time slot 점유를 필요로 하는 일반적인 PABX 구조에서는 볼 수 없는 매우 독특한 것이다.
3자 이상의 conference 경우에도 위에서 설명한 scheme과 유사한 논리가 적용된다. 즉, frame store SRAM에 저장된 summed data가 2차 summation 입력 데이타로 사용됨으로서 3자 이상의 다자간 conference 구현이 실현될 수 있다. A, B, C, D로 구성된 4자 conference를 가정해 보자. 각 Port receive highway/timeslot에 실려야 하는 PCM 데이타는 A=B+C+D, B=A+C+D, C=A+B+D, D=A+B+C이다. 이를 구현하기 위해서는 먼저 (A+B) term과 (C+D) term을 생성한 후 frame store SRAM 내의 conference location에 저장한다. 125 micro sec 후 다음 frame에서 저장된 각 Port 데이타 값과 2차 summation을 수행하여 해당 highway/timeslot에 실어주면, 결과적으로 A=B+(C+D), B=A+(C+D), C=D+(A+B), D=C+(A+B)를 만들 수 있다. 이 예에서 보인 바와 같이 4자 conference의 경우 (A+B) 및 (C+D) 2개의 summed 데이타만이 conference location에 저장되고 2차 summation 결과값은 frame store SRAM에 저장하지 않고 직접 해당 highway/timeslot으로 송출된다.
PCM Gain 변환 방법:CGMD는 PCM 데이타의 gain을 digital domain에서 변환하는 mechanism을 내장하고 있다. Frame store SRAM에 저장된 PCM 데이타가 output timeslot으로 송출되기 직전에 변환이 이루어지며, Conference 경우에는 summation 직전에 각 Conferee의 gain을 변환하여 summation을 수행한 후 Frame store SRAM에 재 저장된다.
conference 관점에서 볼 때 gain 변환 기능은 매우 중요한 의미를 갖는다. 만약 gain 변환 기능이 없다면 conference summation PCM value가 saturation될 가능성이 높아지며 3자 이상의 다중 conference일 경우에는 매우 심각한 음절 distortion이 발생하게 된다. CGMD에서는 이러한 문제를 해결할 수 있도록 summation 직전에 각 conferee의 gain을 software control에 의해 감쇄시킬 수 있는 mechanism을 가지고 있다.
시스템 관점에서 보면, 이러한 Programmable gain 변환 기능은 부가적인 hardware없이 digital volume control 구현이 가능함을 의미한다.
이는 내선-내선간 통화시와 내선-국선간 통화시 서로 다른 gain 조정이 필요로 하는 PABX나 Key Telephone System 구현시 매우 유용한 기능이다.
이러한 programmable Gain 변환은 감쇄(Attenuation)뿐만 아니라 증폭(Amplification)도 가능하다. 증폭/감쇄의 step은 CGMD에 연결된 2개의 ROM(GAIN/TONE ROM)에 의해 결정된다.
다음은 CGMD의 내부 동작원리와 회로 구성에 대한 상세한 설명이다.
Input to Frame Store SRAM:CGMD 외부에 연결된 frame store SRAM은 이전한 frame 기간동안(125us) input highway로 입력된 모든 PCM 데이타를 저장하는 장소이다. 즉, 5개의 highway에 각각 48개의 B channel timeslot이 존재하므로 240개의 memory location이 필요하다. conference summed value 저장용으로 80개의 memory location이 필요하다. 따라서 총 320bytes high speed SRAM이 필요하다. 이를 위해 본 시스템 구현에서는 2Kbytes high speed SRAM(25nsec access time)을 사용하며 전체 2kbytes중 앞쪽 일부 영역만을 사용한다. 표 2에 Frame Store SRAM의 memory map을 표시하였다.
Input highway를 통해 들어오는 모든 serial PCM 데이타는 serial to parallel(S/P) converter를 거쳐 8bit parallel data로 변환되어 sequential address generator가 지정하는 Frame store SRAM address에 순차적으로 저장된다. 이러한 일련의 동작은 sequential logic block에서 제공되는 동기 제어 신호에 의해 이루어진다.
Output from Frame Store SRAM:CGMD 외부에 연결된 또 하나의 SRAM인 control SRAM은 CGMD 동작은 제어하기 위한 parameter 값을 유지하고 있는 register bank이다. 이 parameter는 gain factor와 conference member이고 이 값들은 PC의 CPU에 의해서 load된다. CGMD는 이 Parameter를 읽어서 Gain 변환과 conference member를 결정하게 된다. 표 3은 Control SRAM의 parameter format을 나타낸다. 표 4는 Control SRAM의 memory map을 보여주고 있다. Conference member parameter는 Frame Store SRAM에 기 저장된 PCM 데이타들중 어느 데이타를 추출하여 highway/timeslot(또는 Frame Store SRAM의 conference location)에 출력할 것인지를 지시하게 된다. 현재의 highway/timeslot 시점에 대한 conference member parameter는 Control SRAM에서 Fetch되어 Frame store SRAM의 address로 제공된다. 이 주소에 해당하는 SRAM 데이타는 Gain ROM 및 conference summation ROM을 거쳐 5개의 parallel to serial(P/S) converter중 하나로 보내져 latch된 상태로 대기된다. 한편 이 데이타는 Control SRAM에도 동시에 저장되며, 필요시 output timeslot으로 송출되는 모든 PCM 데이타를 CPU가 직접 monitoring 할 수도 있다. 이러한 동작은 1 timeslot 시간 동안(1.953us)에 5회(5개의 output highway에 대해)가 순차적으로 이루어지며, Latch된 데이타는 그 다음 타임slot 시간의 시작점에서 일제히 output highway로 송출된다.
여기서 한가지 주목할 사항은 output highway로 송출되는 PCM 데이타는 항상 gain ROM과 conference summation ROM을 경유한다는 점이다. 만약 output PCM data가 두 PCM data의 sum값이 될 필요가 없는 경우에는 가상적인 한쪽 party(dummy conferee)에 negative infinite gain을 주어 완전히 감쇄시켜 PCM zero value로 만들어 summation을 행하게 된다.
Gain 변환 Mechanism:CGMD의 Programmable gain 변환은 외부에 연결된 2개의 ROM(Gain/Tone ROM A,B)에 의해서 이루어진다. 이 ROM은 Gain 변환용 lookup table을 보관하고 있다. ROM의 address line에 PCM 데이타와 gain factor를 주면 data line으로 gain이 변환된 PCM 데이타를 출력하게 된다. CGMD block diagram에서 보인바와 같이 Frame store SRAM에서 읽힌 PCM 데이타와 Control SRAM에서 읽혀진 gain factor parameter가 조합되어 Gain/Tone ROM의 address값으로 제공되며 Gain/Tone ROM은 이에 해당하는 새로운 PCM value를 data line으로 내보낸다.
Gain ROM의 data Value:Gain/Tone ROM에 내장되는 data value를 생성하기 위한 algorithm은 나중에 설명할 conference ROM의 경우와 매우 유사하다. 다만, Gain/Tone ROM의 경우는 8bit로 표현되는 256가지의 PCM value에 대해 각각 64가지 gain step에 해당하는 PCM value를 가진다. 이때 PCM code의 특성을 고려하여 12bit linear code로 먼저 변환하여 gain 계산을 한 다음 다시 PCM code로 conversion한다.
Tone Injection:CGMD의 중요한 기능중의 하나는 다양한 종류의 Tone을 발생시켜 이를 원하는 output highway/timeslot에 제공할 수 있다는 점이다. Gain/Tone ROM의 일부 영역에는 이를 위한 dgitized된 tone data를 내장하고 있다. 각 Gain/Tone ROM은 64종의 tone data를 가지고 있으며 각 tone은 512 sample로 이루어져 있다. 따라서 각 Gain/Tone ROM은 tone data 저장을 위해 256Kbit memory location이 필요하다. 표 5는 Gain/Tone ROM의 memory map을 보여주고 Tone 발생을 위해서는 Gain/Tone ROM의 address line에 frame store SRAM으로부터의 PCM 데이타 대신에 sequencer logic에 의해 발생되는 TONE-SEQ-ADDR signal을 제공하게 된다. 이와 동시에 Control SRAM에서 제공되는 gain factor parameter도 gain table이 아닌 tone 데이타 영역을 access하기 위한 address로 작용한다.
각 Gain/Tone ROM은 64종의 Tone을 저장하고 있어 총 128종의 tone이 존재한다. 그러나 항상 두 개의 Gain/Tone ROM output이 summation되어 출력되므로 실제로는 4096(64*64)종의 tone 발생이 가능하다. 이 summation을 적절히 이용하며 dual frequency tone인 DTMF tone도 쉽게 얻을 수 있다.
Tone ROM의 데이타 값:Gain/Tone ROM에 내장되는 tone data value를 생성하기 위한 algorithm은 나중에 설명할 Conference ROM의 경우와 매우 유사하다. 다만, 중요한 차이점은 Tone 데이타 생성시 각 tone의 start 및 end 점에서 zero crossing이 일어나도록 적절한 조절이 필요하다는 점이다.
Summation Mechanism:Conference summation은 CGMD 외부에 연결된 conference sum ROM에 의해서 이루어진다. 이 ROM에는 미리 계산된 summed PCM 데이타 값을 내장하고 있다. PCM의 데이타 format은 일반적으로 liner 데이타가 아니라 일정한 규칙(A/u law)에 의한 compressed data format으로 되어 있으므로 두 PCM data의 단순합(addition)은 적절히 못하다. ROM data 생성시 이 점을 고려하여 linear value로 변환하여 summation 한 후 다시 해당 PCM value로 변환하는 과정을 거친다. Summation 하고자 하는 두 PCM 데이타 값을 ROM의 address line에 주면 내장된 summed PCM value를 얻을 수 있다.
A B C로 구성된 자 conference를 위해서는 두 conferee의 PCM 데이타(A와 B)가 Conference summation ROM으로 입력되어야 하며 이 summed PCM value 세 번째 member(C)의 receive highway/timeslot에 실려야 한다. 이를 위해서 CGMD는 Control SRAM에 기 load되어 있는 conference member와 gain factor parameter를 각각 2회씩 참조하게 된다. Conference member parameter는 sum될 member(A와 B)의 PCM valuve가 저장되어 있는 Frame store SRAM상의 memory location 정보를 의미하며, gain factor는 sum될 member(A와 B)에 대한 gain 값을 의미한다. Conference member parameter에 의해 Frame Store SRAM에서 추출된 각 PCM value는 Gain/Tone ROM A와 Gain/Tone ROM B의 address input latch에 순차적으로 각각 latch된다. 한편 Gain factor도 Gain/Tone ROM의 나머지 address input latch에 각각 latch된다. Conference summation ROM 출력 데이타는 P/S converter로 보내진다.
각 Input highway는 64개의 timeslot으로 구성되어 있으나 순수 PCM 데이타 transmission에는 48 timeslot만 사용된다. 나머지 16timeslot 시간동안(HDLC, D timeslot)에는 Conference summation ROM의 output이 frame Store SRAM의 input으로 multiplex되며 이 시간동안에 conference summation이 수행된다. 따라서 1 Frame 시간동안(125us)에 총 80(16*5)회의 summation이 가능하다. 3자 이상의 conference시에는 Frame store SRAM에 저장된 summed value를 그 다음 frame에서 summation input data로 사용된다.
Conference summation ROM 생성시 사용된 기본 algorithm은 다음과 같다.
CGMD Internal Timing:본 시스템에 사용되는 4.096Mbps PCM highway 구조는 8KHz로 sampling 64개의 timeslot을 수용할 수 있다. 즉 1frame은 125μsec이며, 한 timeslot(8bit PCM data)의 길이는 1.953μsec이다. CGMD는 48 B timeslot시간 동안 input highway로 들어오는 모든 PCM data를 저장하고 이전 Frame 동안에 저장된 PCM data를 output highway/timeslot으로 출력하게 된다. 나머지 16 timeslot(HDLC, D)시간 동안에는 conference summation과 이 summed data storing이 수행된다. 이 sum and store timing은 앞의 48 timeslot에서의 timing과 유사하다. CGMD의 내부 모든 timing은 외부 clock generator에서 제공되는 16.384MHz clock signal에 의해 동기된다. 이 clock은 한 timeslot을 균등한 64 timeslice로 세분하게 되며 이 timeslice의 duration은 30.52nsec이다.
Input from Input highway:Input highway로부터의 PCM 데이타는 IN-CLK Serial에 의해 serial to Parallel(S/P) converter로 shift-in된다. 이때 input highway의 time skew를 보상하기 위해 clock을 highway bit cell의 center에 위치시킨다. Input highway data는 Frame Store SRAM에 저장되기 한 timeslot전에 S/P converter로 입력되므로 이 delay를 위해 S/P converter로 입력되는 데이타는 IN-LATCH signal에 의해 매 timeslot의 끝 시점에서 latch된다. S/P convert에 latch된 PCM 데이타는 INPUT MUX로 입력되며 INPUT MUX는 FRAME-DATA-DIR signal에 의해 enable된다. 동시에 SEQ-ADDR-#2 bus FRAME STORE ADDRESS MUX를 경유하여 Frame Store SRAM의 address bus로 가해진다. 매 highway/timeslot 데이타는 SEQ-ADDR-#2 address에 의해 Frame Store SRAM의 각각 다른 address에 저장된다.
Output to Output Highway:Output P/S converter에 latch된 PCM 데이타는 OUT-CLK signal에 의해 output highway로 shift-out된다. 이 clock timings kew를 최소화하기 위하여 highway bit cell의 start점에 위치하고 있다. Output highway로 송출되는 PCM 데이타는 conference Summation ROM에서 fetch되어 그 다음 timeslot시간에 송출된다. 이 delay는 5개 highway에 대한 Frame Store SRAM으로부터 fetch된 데이타의 gain 변환과 summation 시간에 기인한다. Conference Summation ROM에서 출력된 PCM 데이타는 OUT-LAT-CLK signal에 의해 각 P/S converter에 latch된다.
Conference Summation:Conference summation 수행에는 4회의 Control SRAM access와 2회의 Frame Store SRAM access가 필요하다. 여기에서 얻어진 데이타는 두 Gain/Tone ROM의 address로 제공되며, Gain/Tone ROM에서 출력되는 데이타는 다시 Conference summation ROM의 address로 사용되어진다.
Control SRAM은 16.384MHz의 clock의 매 rising edge마다 출력되는 SEQ-ADDR-#1에 의해 access된다. Control SRAM에서 읽혀진 Conference Member 'A'데이타는 FRAME STORE ADDRESS MUX와 latch를 경유하여 Frame Store SRAM의 address input으로 latch된다. Gain factor 'A'가 Control SRAM에서 읽혀짐과 동시에 Frame Store SRAM에 저장되어 있는 Member 'A' PCM 데이타가 access되며 이 두 parameter는 Gain/Tone 'A' LATCH signal에 의해 Gain/Tone ROM A의 address로 latch된다. Conference member 'B'와 Gain factor 'B'의 경우도 동일한 sequence로 진행된다. 이렇게 얻어진 네가지 value는 GAIN/TONE 'AB' LATCH signal에 의해 Gain/Tone ROM A B의 address input으로 latch된다. Gain/Tone ROM과 Conference Summation ROM의 충분한 access time이 경과한 후 CONFERENCE DATA LATCH signal에 의해 Conference Summation ROM의 output 데이타가 latch된다.
48 B timeslot 동안에는 Conference Summation ROM의 output이 DEMUX를 통하여 5개의 highway중 하나로 직접 출력된다. 한편 나머지 16timeslot 동안에는 INPUT MUX 닫혀지고 Conference Summation ROM의 output 데이타가 Frame Store SRAM의 input으로 제공된다. Frame Store SRAM에 저장된 summed PCM value는 앞에서 설명한 48 B timeslot PCM data 경우와 동일한 경로로 처리된다.
Tone Generation:Tone generation은 Control SRAM에 저장된 Gain Factor중 1bit을 set함으로서 개시된다. 이 bit는 TONE MUX 제어용으로 사용되며 현시점에 처리해야 할 데이타는 Frame Store SRAM에 저장된 PCM이 아니라, Gain/Tone ROM에 저장되어 있는 Tone 데이타임을 의미한다. 이 bit이 set되면 TONE-SEQ-ADDR가 Gain/Tone ROM의 address로 제공된다. TONE-SEQ-ADDR와 Gain Factor의 나머지 bits의 조합이 원하는 Tone data를 지정하게 된다. 앞에서 설명한 바와 같이 Gain/Tone ROM에는 64종의 gain step과 64종의 tone이 내장되어 있다. 이를 선택하기 위해서 7bit address가 필요함을 의미한다. 7bit중 1bit은 gain/tone을 선택하며 나머지 6bit은 gain/tone의 page를 선택하게 된다. 27512 ROM을 사용할 경우 나머지 9bit은 512 digitized tone sample의 address가 된다.
Software 구조:본 시스템 구현에 사용된 software는 제작된 board의 기본적인 동작에 필요한 routine을 포함하고 있다. 전체적인 구성은 call task를 처리하는 main routine과 3.3ms interrupt handler에서 제공되는 base time을 이용하여 hardware resource의 time 관련 service를 수행하는 scheduler로 구성되어 있다.
Software 구성은 PABX 구현시 많이 사용되는 State-Event 기법을 사용하여 C 언어로 구현하였으며 Compiler는 Boland C++ 2.0을 사용하였다. 본 논문에서 구현한 PC-based PABX는 반드시 real time으로 동작해야 하므로 hardware access시 상대적으로 긴 시간이 요구되는 DOS call이나 BIOS call을 사용하지 않고, program상에서 직접 hardware를 access하는 방법을 취하였다. 이러한 방법은 program의 readability와 다른 DOS program과의 호환성을 떨어뜨리고 maintenance를 어렵게 만드는 결점이 있다. 그러나 이것은 real time 동작을 필요로 하는 시스템에서는 피할 수 없는 사항이다.
Interrupt handler는 PC의 reserved IRQ(9,10,11,12,15)에서 발생하는 매 3.3ms interrupt에 의해 activate되며 이 interrupt의 개수를 count하여 필요한 basetime을 만든다. DTMF receiver, call progress tone detect, ring detect, off hook등 주기적인 scan을 필요로 하는 task는 매 10ms 단위로 scan 하며 이 결과를 event화하여 event queue에 쌓는다. Call processing routine은 event queue로부터 event를 추출하여 해당 state에 대한 service를 수행하게 된다. Pulse dialing과 같이 critical 시간제어를 필요로하는 hardware 제어는 interrupt routine 내에서 처리하였다.
본 시스템의 동작을 제8 내지 11도의 플로챠트를 참조하면서 자세하게 설명한다.
제1도의 본 시스템의 전체동작을 보인 것인데, 먼저 전원이 투입되고 시작되면, 보드의 초기화과정이 수행된다(100단계).
PC based PABX Main 보드와 Line Interface보드를 access하기 위해서 상위 64KB-IMB 사이의 영역중 일부를 매핑해서 사용한다.
각 보드는 이 어드레스를 선택할 수 있도록 스위치가 제공되어 선택된 번지에 대해 메모리 읽기와 쓰기 동작을 함으로써 칩 셀렉트나 데이타의 전송을 수행한다.
예를 들어 Main 보드가 세그먼트 어드레스로 D000(Hex), 오프셋 어드레스로 0000(Hex)이 선택되어지고, Line interface 보드가 세그먼트 어드레스로 D000(Hex), 오프셋 어드레스로 2000(Hex)이 선택되어진다면 아래와 같은 C 소스 코드(C언어)에 의해 메인 보드의 LEC 첫 번째를 켤 수가 있다.
Main보드의 LED는 DBID2라 불리는 칩에 연결되어 있고 그 칩의 12개의 포트중 TXD0-7까지 이므로 LED를 제어할 수 있는 어드레스는 다음과 같다.
위의 코드에 의해 LED0을 켜게 되고 6번째 LED를 켜려면 다음과 같다.
그러므로 보드의 초기화 과정에서는 각 보드의 칩, LED, 릴레이, 등 시스템이 access할 필요가 있는 각각의 어드레스를 미리 구한다. 그 다음에는 모든 LED와 릴레이를 Off시킨다.
초기화 단계가 완료되면, 다음에는 내/국선 감시 루틴을 설치하여(110) 전화자동교환업무를 수행하고 컴퓨터시스템은 별도의 PC 서비스 수행을 하며(120) 모든 작업을 종료하면(130) 끝난다.
내/국선 감시 루틴은 ISR(Interrupt Service Routine)로써 Main 보드가 PC의 마더(Mother)보드로 인터럽트를 걸음으로써 해당 루틴이 수행된다.
Main 보드에는 IRQ 9,10,11,12,15중 하나를 선택할 수 있도록 스위치가 제공되고, 이 인터럽트는 매 3.3ms마다 active되어진다.
이 루틴에서 이 시간을 카운트하여 Line Interface에 있는 모든 라인(내/국선)이 균등하에 10ms마다 감시하도록 되어 있다.
이 루틴은 프로그램의 주 모듈과는 독자적으로 수행되어지므로, 매 10ms마다 각 라인이 어떤 사건이 일어났는가를 프로그램의 주 모듈에 알려주기 위해서 QUEUE라는 데이타 스트럭쳐를 사용한다.
제9도는 국선 감시루틴의 플로우챠트이다.
먼저 국선 링(Ring) On/Off 체크를 하는데(210), 국선의 링이 On인지 Off인지를 알기 위한 링 Detect 회로가 준비되어 있고, 이는 Line Interface의 DBID에 연결되어 있으며, CPU는 다음과 같이 포트 RXD8-10을 체크함으로써 이를 알 수가 있다.
그러므로 위에서 구한 어드레스를 가지고 메모리 읽기 동작을 수행해서 얻어진 값을 가지고 링의 On/Off를 알 수 있다.
위에서 Bit 6이 1의 값을 가지므로 즉 RXD10이 1이므로 세 번째 국선에 링이 왔다는 것을 알 수 있다.
링이 왔다는 것이 확인되면, 루프/펄스 릴레이를 온시킨다(220). Loop/Pulse 릴레이를 On시키기 위해서는 아래에서 구한 어드레스에 대응되는 Bit 위치에 1을 세팅시킴으로써 수행될 수 있다.
그러므로 위에서 구한 어드레스를 가지고 메모리 쓰기 동작을 수행하면 된다. Bit 0, Bit 1 그리고 Bit 2가 국선의 Loop/Pulse 릴레이와 상관한다.
위의 코드를 수행하면 첫번째 국선의 Loop/Pulse 릴레이가 On이 됨으로써 전화국(외부)와의 연결이 이루어진다.
국선릴레이를 온시킨 후에는 다이얼 톤 전송한다(230). 톤 발생은 Main 보드의 CGMD라 불리는 칩이 담당하고 있는데, 보드의 초기화시 Gain Tone ROM A, B를 사용해서 다이얼 톤을 만들어내고 이를 지정된 타임슬롯(Time slot)에 실어주도록 만들어준다. 이와 같은 일을 하기 위해서는 control SRAM에 있는 값을 참고해서 CGMD가 송신 하이웨이(Highway)에 해당 톤을 흘려준다. 그러면 Line Interface보드에 있는 각 라인(내/국선)의 타임슬롯을 톤이 들어있는 타임슬롯으로 세팅하면 해당 라인으로 톤이 나간다.
톤 발생은:Control SRAM에는 각 타임슬롯이 고정된 위치에 자신의 정보를 가지는데 이는 5바이트로 구성되어진다.
다이얼 톤은 350HZ와 400HZ의 합성으로 만들어지므로 parameter 0,2에는 이 주파수가 들어 있는 Gain Tone ROM A, B의 값을 세팅하고 톤 발생이므로 Parameter 1,3에는 0을 세팅해준다. 그러면 특정 타임슬롯에 다이알톤이 계속 흘러가게 된다.
톤 연결은:어떤 라인에 특정 타임슬롯과 연결시키기 위해서는 Line Interface 보드에 있는 DBID라는 칩을 CONTROL함으로써 이와 같은 일을 수행한다. 즉 DBID 내에 있는 컨트롤 레지스터에 타임슬롯 번호를 써주면 된다.
톤을 전송한 다음에는 DTMF 톤을 검출한다(240). Main 보드에는 8개의 DTMF 톤 리시버가 있다. 이 DTMF 리시버도 하나씩 정해준 타임슬롯을 갖는데, 라인에서 들어오는 신호를 이 타임슬롯에 실리도록 DBID의 컨트롤 레지스터를 세팅하면 DTMF 리시버가 이 신호를 보고 버퍼에 다이얼 번호를 저장한다. 그러면 프로그램에서 이 값을 읽어와서 어떤 버튼이 눌리어졌는지를 알 수 있다.
value에는 눌리어진 버튼의 값이 저장되어진다. 그러면, 눌리어진 버튼의 값이 내선 번호중 어느 것인지를 확인하고 내선 번호가 아니면 잘못된 것이므로 에러 톤 전송을 전송한다(260). 이 에러톤의 전송방법은 다이알톤 전송과 같은 방법으로 만들어지며, 에러톤은 425Hz 하나로 만들어진다.
에러톤을 전송 후에는 Loop/Pulse 릴레이를 Off시킨 후(270) 종료한다. 국선의 Loop/Pulse 릴레이를 Off시키는 일은 On을 시키는 것과 유사하다. 즉 해당되는 Bit 위치에 1 대신 0의 값을 세팅해주면 된다.
240단계에서 내선 번호가 맞으면 내선 ON hook/OFF hook를 체크한다(280). 내선의 인터페이스 회로에는 전화기의 ON hook/OFF hook 상태를 체크해서 이 값을 DBID의 RxD0-7에 세팅시켜주는데, 프로그램에서는 이 값을 읽어와서 전화기의 상태를 알 수 있다. 즉,
위에서 보면 첫번째, 다섯 번째 그리고 일곱 번째의 전화기가 현재 Off hook 상태, 즉 전화기의 송수화기를 들고 있다는 사실을 알 수가 있다.
여기서 OFF hook 상태이면 통화중이므로 통화중 톤을 전송한 후(290), 270단계로 가서 루프릴레이를 오프시키고 끝낸다.
그리고 OFF hook이 아니고 ON hook 상태이면 링톤을 전송하고(300), 링릴레이를 온(310)한다. 통화중 톤은 400Hz 하나로 만들어져서 전송되고, 링 톤은 480Hz과 450Hz로 만들어져서 전송된다. 링 릴레이 On/Off는 국선의 Loop/Pulse 릴레이 On/Off와 동작하는 방법은 같고 어드레스는 아래와 같다.
이 어드레스는 내선의 Onhook/Offhook과 같은데 여기서는 다만 쓰기 동작을 수행함으로써 릴레이의 On/Off를 수행할 수 있다. 즉 Bit이 1이면 두 번째 전화기 릴레이가 On됨으로써 링을 울릴 수 있게 된다.
링릴레이를 온 시킨 후에는 내선 온 후크인지를 체크한다(320). 이 방법은 280단계와 같이하면 된다.
이렇게 되면 다음에는 국선을 내선과 연결하고(330) 통화가 되게 한다(340). 내선과의 연결은 톤 발생과 유사하다. 즉 톤을 발생하는 주파수의 값 대신에 어떤 라인(어떤 타임슬롯)을 입력으로 할 것인지를 세팅하면 된다. Parameter 0에는 신호의 Gain값을 Parameter 1에는 어떤 타임슬롯인지 써주기만 하면 된다. Parameter 2,3에는 0을 세팅함으로써 무음을 흘려주면 된다. 만약 두 라인의 음을 합성할 때는 Parameter 2,3에도 값을 세팅하면 한 라인으로 두 라인의 음을 합성해서 내보낼 수 있다.
통화가 계속되고 있는 동안에는 내선 온 후크인지를 체크해서 온 후크 상태가 아니면 계속 통화하게 하고, 온 후크상태로 되면 루프 릴레이를 오프시켜서 끝낸다(360).
다음으로 내선의 통화 감시 루틴을 제10도를 참조하면서 설명한다.
내선 온 후크 상태인지를 체크해서 온 훅이면 끝내고, 온 훅이 아니면 내선 링 On/Off 체크는 하드웨어적으로 처리하는 것이 아니라, 프로그램에서 처리한다. 각 라인마다 변수를 두어서 그 라인으로 전화를 건다면 그 변수에 특정 값을 세팅해두는데 이를 보고 링이 울렸는지를 판별할 수 있다.
여기서 링이 아니면 DTMF 톤을 검출한(420), 다음 국선번호인지를 체크해서(430), 국선번호가 맞으면 빈 국선 유무 체크한다(440). 빈 국선의 유무 체크도 내선 링의 On/Off 체크와 마찬가지로 프로그램에서 이를 처리한다. 각 국선마다 변수를 두어서 empty라는 값을 주고 국선이 사용되어질 때마다 이 변수에 사용중임을 표시함으로써 빈 국선이 어느 것인지를 알 수 있다.
국선이 풀이 아니면 국선과 연결하여(480), 통화가 이루어지게 한다(460). 통화가 계속되는 동안 온 후크 상태인지를 체크해서 온 후크 상태가 되면 끝내고, 온 후크 상태가 아니면 온 훅이 될 때까지 기다린다.
410단계에서 링이면 전화를 건 측과 연결시켜서(415) 통화가 이루어지게 하고(425), 통화 중에는 온 후크 상태인지를 체크해서(435) 온 후크 상태가 될 때까지 기다렸다가 온 훅이 되면, 통화를 건 측인지를 체크해서(445) 받은 측이면 그대로 끝내고, 전화를 건 측이면 통화중 톤 신호를 전송한(455) 후 끝낸다.
430단계에서 국선 번호가 아니면 DTMF 톤을 검출하고(442), 내선 번호인지를 체크해서(452), 내선 번호가 아니면 에러 톤을 전송한 후(462) 끝낸다.
452단계에서 내선이면 상대방이 온 후크 상태인지를 체크해서 상대방이 오프 훅 즉 통화중이면 통화중 톤을 전송하고(515) 끝낸다.
상대방이 온 후크 상태이면 링톤을 전송하고(520) 링 릴레이를 온 하여(530) 상대방이 오프 훅을 하는지를 체크해서 오프훅이 될 때까지 링톤을 보내고 오프후크가 되면 상대방과 연결하고(550) 통화하게 하며(560) 통화 중에는 온 후크가 되는지를 체크해서(580) 온 후크가 되면 끝내고 상대방에게 통화중 톤을 전송하고 끝낸다(590).
이상에서 설명한 바와 같이 본 발명의 시스템은 기구 및 전기적인 제약이 비교적 적은 독립형의 PABX나 Key Telephone System과는 달리, PC라는 제한적인 환경에서 동작하는데 필요한 제반 사항들을 고려하여 system 구조를 설계하였고, 또한 system을 DSP lab등에서 편리하게 사용할 수 있는 시험용 간이 전화방 simulator나 coding algorithm 검증용 hardware plateform으로 활용할 수 있다.

Claims (2)

  1. 확장 슬롯을 가진 컴퓨터 시스템의 확장 슬롯에 삽입하여 전화를 교환하기 위하여 사용되는 컴퓨터용 구내 전화 교환 장치 보드로서, 상기 구내 교환 장치 보드는 국선 및 내선을 상호간에 교환하기 위한 메인회로부와 인터페이스회로부를 구비하고, 카드 에지 코넥터와 전화선 코넥터를 포함하여 이루어지며, 상기 카드 에지 코넥터를 통하여 컴퓨터와 연결되고, 전화선 코넥터를 통하여 국선 및 내선과 연결되도록 구성된 것이 특징인 컴퓨터용 구내 전화 교환 장치 보드.
  2. 제1항에 있어서, 상기 메인회로부는 내선 및 국선을 상호 연결하는 PCM 스위칭 기능을 수행하고, PCM 이득 변환, 디지털 톤 발생 등을 위한 PCM 데이터 합선 기능 등을 수행하는데, ASIC 디바이스인 CGMD와 DTMF 수신기, 통화용 톤검출기, PCM 하이웨이 인터페이스 및 타임 슬롯 배당 기능을 갖는 DBID, 내부 회로와 PC 버스 인터페이스를 위한 어드레스/컨트롤 버퍼, 데이터 버퍼, 보드 어드레스 섹션, 그리고 PCM 하이웨이 코넥터를 포함하여 구성되고, 상기 인터페이스회로부는 내선의 아날로그 통화 신호와 PCM 데이타 신호를 상호 변환하고 연결 상태를 관리하는 내선 Interface부와, 국선의 아날로그 통화 신호와 PCM 데이터 신호를 상호 변환하고 연결 상태를 관리하는 국선 Interface부 및 PCM 하이웨이 커넥터, 그리고 PCM 하이웨이 인터페이스 및 타임 슬롯 배당 기능을 하는 DBID를 포함하여 이루어지는 것이 특징인 컴퓨터용 구내 전화 교환 장치 보드.
KR1019950006977A 1995-03-30 1995-03-30 개인용 컴퓨터를 이용한 사설 전화교환장치 KR0151931B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950006977A KR0151931B1 (ko) 1995-03-30 1995-03-30 개인용 컴퓨터를 이용한 사설 전화교환장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950006977A KR0151931B1 (ko) 1995-03-30 1995-03-30 개인용 컴퓨터를 이용한 사설 전화교환장치

Publications (2)

Publication Number Publication Date
KR960036494A KR960036494A (ko) 1996-10-28
KR0151931B1 true KR0151931B1 (ko) 1998-11-02

Family

ID=19410876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950006977A KR0151931B1 (ko) 1995-03-30 1995-03-30 개인용 컴퓨터를 이용한 사설 전화교환장치

Country Status (1)

Country Link
KR (1) KR0151931B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100493076B1 (ko) * 1998-03-05 2005-08-01 삼성전자주식회사 분산 구조형 교환망을 위한 국선 정합 모듈

Also Published As

Publication number Publication date
KR960036494A (ko) 1996-10-28

Similar Documents

Publication Publication Date Title
US5291479A (en) Modular user programmable telecommunications system with distributed processing
US5033062A (en) Digital modem
KR100204076B1 (ko) 데이터 전송용 어댑터
US4740955A (en) Communications system having voice and digital data capability and employing a plurality of voice and data buses in main service unit and serial packetized transmission to and from telephones
US5832240A (en) ISDN-based high speed communication system
US4893310A (en) Digital key telephone system
CA2095508C (en) Digital switching system connecting buses with incompatible protocols and telephone answering system and private automatic branch exchange with integrated voice and textual message recording
US6067349A (en) Dialing using caller ID
EP0659007A2 (en) System and method for communicating with digital and analog devices via a single digital interface
US3997727A (en) Time division multiplexed digital switching apparatus
TW215980B (en) Apparatus for interfacing analog telephones and digital data terminals to an ISDN line
EP1243129A2 (en) Audio conferencing system
US6343263B1 (en) Real-time signal processing system for serially transmitted data
JPH0685926A (ja) 付属処理装置を有する電気通信交換システム及びその付属処理装置
GB2128446A (en) Telecommunication exchange
JPH07312767A (ja) Isdnに基づく通信システムおよびそのための構内交換機
US6058180A (en) Automatic person-following communication system
US4640992A (en) Speech response interface circuit
CA1311286C (en) Digital key telephone system
CA2051895C (en) A message arrangement and method for implementing a digital telephone system
KR0151931B1 (ko) 개인용 컴퓨터를 이용한 사설 전화교환장치
US7221741B1 (en) Dialing using caller ID
US5805570A (en) Method of simulating an ISDN-BRI central office switch using a single microcomputer
US6289089B1 (en) Key telephone system with cordless terminals
GB2263846A (en) Method and system for interfacing a computer to a digital telephone network or to other digital transmission systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030625

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee