VMEbus에 대하여
1.VMEbus의 소개
2.왜 VMEbus는 시장을 선점하였는가 ?
3.VMEbus의 일반적인 특징
4.VMEbus 적용분야
5.초기의 VMEbus (IEEE-1014-1987)
6.VME64
7.VME64 Extensions (VME64x)
8.VME320
9.VMEbus 소프트웨어
10.VMEbus 데이터 전송 속도
11.VMEbus의 구조
12.기구적인 하드웨어
13.복수랙의 연결동작
14.유도냉각방식의 VMEbus 모듈
15.P1/J1, P2/J2 커넥터
16.Mezzanine Modules
1.VMEbus의 소개
VMEbus는 컴퓨터 구조의 하나로 'VME'라는 용어는 VERSA Module Eurocard를 지칭하며, 이는 VMEbus를 정의한 1980년 VME 제조자 협회에 의해 처음 등장하였다. 이협회는 Motorola, Mostek, Signetics와 같은 표준버스를 정의하는데 협력한 회사들로 구성되었으며, 'bus'라는 용어는 컴퓨터상의 데이터 전송로를 가리키는 용어로, 따라서 VMEbus라고 명명하게 되었다.
실제로, 'VME'라는 용어는 공식적으로 정의된바 없다. 다른 알려진 정의를 보면, VERSAbus-E, VERSA Module Europe,VERSA Module European등이 있다. 그러나 'Eurocard'라는 말이 적절하다 할것이며, VMEbus는 본래 VERSAbus의 전기적인 표준과 Eurocard의 기구적인 기준을 혼합한 의미라 볼수 있다.
VERSAbus는 Motorola에 의해1979년 그들의 68000 microprocessor를 위해 기안되었으며, 초기에 Multibus™, STD Bus, S-100, Q-bus등과 경쟁상태에 있었으나, 이들은 더 이상 시장에서 지속되지 못하였다.
Microcomputer bus 분야는 microprocessor의 출현과 함께 시작되었으며, 1980년대에 많은 버스들이 등장하게 된다. 그들중 대부분은 하나 또는 두가지의 microprocessors에서는 잘 작동하였으나, 작은 addressing범위와 낮은 스피드라는 단점을 가지고 있었다.
그에 비해 VMEbus는 1)microprocessor들에 독립적이고, 2)쉽게 데이터버스를 16에서 32-bit로 업그레이드할 수 있고, 3)신뢰성있는 기구적 표준을 채택하였으며, 4)각각의 독립적인 제조업체들이 호환성있는 제품을 만들수 있는 새로운 버스구조로 정의되게 되었다. 이 새로운 버스에는 특정기업의 특허권이 할당되지 않았으며, 이는 제조업체들이 이 버스에 기초하여 호환제품을 만들도록 자극하게 되었다. 즉, 누구나, 기술 로열티나 특허료를 내지 않고도 VMEbus에 기초한 제품을 만들 수 있게 된 것이다.
VERSAbus에 이미 많은 작업이 이루어지면서, 이는 새로운 표준의 토대로 사용되었다. 추가적으로, Eurocard형태의 표준이 채택되어졌다. Eurocard는 포괄적으로 DIN 41612 and IEC 603-2 에 기초한 표준 커넥터, the IEEE 1101의 표준PCB, DIN 41494와 IEC 297-3의 표준기구(랙)를 사용하는 제품군을 지칭한다. VMEbus가 처음 개발되었을 때, Eurocard형태의 구조(3U, 6U카드)는 유럽에서 이미 수년 전부터 잘 사용되고 있었다. 따라서, 카드 케이지(카드랙), 커넥터, 서브랙 등의 기구나 부품들은 이미 출시되어 있었다. Pin-socket형태의 커넥터는 과거 카그에지 커넥터에 비해 기구적으로 더 탄력있게 이용된다.
VERSAbus의 전기적인 기준과 Eurocard의 기구적인 형태는 1981년 VMEbus Revision A 규격의 확정을 통해 결합되게 된다.
그후, VMEbus기준은 Revisions B, C, C.1, IEC 821, IEEE 1014-1987, ANSI/VITA 1-1994를 통해서 새로워지게 된다. ANSI, VITA, IEC, IEEE의 표준들은 VMEbus를 공식적으로 정의한 국제표준이기에 중요하다. 특정기업에 특허권이 할당되지 않아서, 공급업체와 사용자들은 특정기업의 입김에 따라 자신들의 제품이 사양되는 것을 걱정할 필요가 없어졌다.
VMEbus의 도입이후, 수천가지의 시스템 및, 관련된 보드제품들, 기구제품, 소프트웨어, 타버스와 접속용 칩 등의 제품들이 출시되었다. 그 시장은 성장하고 있으며, 산업용 통제시스템, 군수용, 전자통신, 사무자동화, 계측장비 등의 분야를 지원하고 있다.
2. 왜 VMEbus는 시장을 선점하였는가 ?
VMEbus가 시장을 선점하게 된 데에는 몇 가지 이유가 있다. 이를 이해하기 위하여, 우리는 1975년도의 컴퓨터산업을 돌아볼 필요가 있다. 이시기에 컴퓨터를 사기위해서는, Control Data, Cray Research, Data General, Digital Equipment, IBM, Sperry-Univac, 그리고 다른 몇몇 회사를 통해야 했다. 이 컴퓨터들은 메인프레임이나 미니컴퓨터라 불리는 크고 비싼 제품이었다.
1970년대 후반 새로운 계층의 데스크톱 PC가 등장하게 된다. 이들은 극적으로 크기와 가격을 줄인 소형에 저가의 microprocessor에 의해 힘을 받게 된다. 이 PC들이 유행하면서 여러 회사에서 산업용 콘트롤시스템에 적용 시험하게 된다. 이 데스크톱 PC들은 그 분야에서 대단한 역할을 하였으나, 내구성의 문제와 사양변경의 난점이라는 문제에 부딪히게 된다. 이는 그시기에 Microprocessor 내장형 시스템에 아주 치명적인 문제점이었고, 이것이 1981년 VMEbus구조가 탄생했을 때의 상황이었다.
VMEbus구조는 microprocessor 기술에 기초한 VERSAbus의 전기적 기준에 견고하고 모듈화 되어있는 Eurocard 시스템형태를 결합한 것이었다. 이 두가지 모두 이미 시장에서 입증된 것이었고, 누구나 채택할 수 있는 기술이었다. 그 결과는 내구성과 여러 분야에 적용될 수 있다는 점으로 인해 성공적이었다.
그러나 이는 스토리의 일부분 일뿐, VMEbus의 뒤에는 어려운 시장상황을 해결하려는 사업전략이 있었다.
1981년 VMEbus가 출현하기 전에, 컴퓨터 산업은 성숙하고 있었고, 경쟁력 부족으로 고전하고 있었다. 고객들이 여러 그룹의 공급자들로부터 컴퓨터 장비와 소프트웨어를 선정할 수는 있었지만 경쟁력이 아주 부족한 실정이었다. 많은 이유들이 있지만, 큰 이유는 기술 표준이 없다는 점이다.
만일 IBM 360을 이용하여 회계시스템을 구축한다면, 나중에 Digital Equipment Corporation사의 VAX기종으로 변경할 경우, 많은 시간과 자금을 들이지 않는다면, 이는 매우 어려운 것이다. IBM 360은 VAX기종에 연결이 되지 않을 뿐더러, 소프트웨어의 호환성도 없다. 이 상황은 컴퓨터 회사에게는 누구나 시장을 장악할 수 있게 하는 좋은 기회였으며, 표준기술에 기초한 규격이 거의 없는 상황에서, 직접적인 경쟁이 무너지는 ‘판매자’가 주도하는 시장이었다. 한편, 소비자나 SI업체에게 있어서는 고가에 장비와 소프트웨어를 구매해야 하는 나쁜 상황으로, 그들은 그들 스스로의 아이디어로 시장에 대응하는데 선택의 폭이 줄어들 수 밖에 없었다.
VMEbus에 있어서는 다른 상황이었다. 초기의 기안자들은 VMEbus규격을 공동의 도메인에 놓았다. 이 의미는 같은 기술규격을 따른다는 것 외에도 가격 성능 품질 시장출하시기 등의 관점에서 서로의 직접적인 경쟁을 뜻한다. 이는 공급자에게는 적은 마진을, 소비자에게는 낮은 비용을 초래하는 구매자 주도의 시장을 의미한다. 공동의 도메인상의 표준으로서의 VMEbus 채택은 다수의 경쟁자들이 VMEbus를 쉽게 채택하도록 하려는 계산된 정치적 움직임 이었다. 또한 이렇게 조성된 새로운 시장은 제3의 호환품 공급자들도 쉽게 시장에 출시하도록 진입장벽이 낮았다.
초기에 많은 이들은 이 새롭고 공개된 시장이 실패할 것이라 예측하였다. 당시 많은 사업상 이유에서 오는 잡음이 있었으나 결과적으로는 성공하였다. 왜냐하면, SI업체나 또는 적어도 시스템통합구축에 비용을 지출하는 회사들은 구매자 주도의 시장을 좋아했기 때문이다. 이는 저가의 제품이 수요증가를 야기함으로 인하여 공급자들에게도 좋은 결과를 가져와서, 저가에 많은 물량의 생산이 가능하게 되었다.
3. VMEbus의 일반적인 특징
아래의 도표1은 VME64와 VME64x 규격에서의 일반적인 특징을 보여주고 있다. 추가적으로는 여기에는 소개되지 않았으나, 독자적인 추가모듈, 크로스바 스위치, 시리얼 채널, 고기능타입의 제품등에 대한 추가적인 규격들이 있다.
도표1. 일반적인 VMEbus의 특징 | ||
항목 |
규격 |
Notes |
구조 |
Master/slave |
|
전송 메커니즘 |
비대칭으로 다중화 또는 비다중화된 버스 사이클 |
중앙 대칭용 클락 없슴 |
Addressing 범위 |
16, 24, 32, 40, 64-bit |
동적으로 Address범위선택 |
Data 전송폭 |
8, 16, 24, 32, 64-bit |
동적으로 데이터 전송폭 선택 |
비정열 데이터 전송 |
Yes |
대부분 CPU에 호환 |
Error 탐지 |
Yes |
BERR* 신호사용 |
Parity 보호 |
No |
백플레인에는 parity 신호가 없으나, 보통 보호되는 것이 일반적임 |
Data 전송 속도 |
0 - 500+ Mbyte/sec |
|
Interrupts (인터럽트) |
7 levels |
수선순위방식으로 8, 16, 32-bit STATUS/ID(interrupt vector)사용 |
Multiprocessing 기능 (다중프로세싱) |
1 - 21 processors |
True peer-to-peer 다중처리방식의 유연한 버스중재 |
시스템 진단기능 |
Yes |
SYSFAIL* 신호사용. 또는 VME64x 시험 및 보수버스 사용 |
Geographical Addressing |
Yes |
VME64x에서만 가능 |
Yes |
필요에 따라 기능추가 | |
Control & Status Registers |
Yes |
VME64, VME64x에서 가능 |
기구적 규격 |
3U Eurocard |
160 x 100 mm Eurocard |
User Defined I/O |
Yes |
전면판넬과 P2/J2의사용자정의용핀사용 |
열유도식 냉각방식 |
Yes |
IEEE 1101.2 규격 |
백플레인 최대슬롯 |
21 |
카드수는 19”랙안에 장착하는 보드수로 결정 |
4. VMEbus 적용분야
VMEbus는 여러분야에 적용되어 사용되고 있으며, VMEbus 시스템 디자인은 특정분야까지도 지원하도록 다듬어져 왔다.
많이 적용되는 분야는 다음과 같다.
· 산업용 콘트롤장비 : 공장자동화, 로보틱스, 사출성형기, 자동차 몸체조립 및 도장, 절단기, 금속가공기,
제철, 카드보드 절단기 등
· 군수용 : 전투 지휘 통제 시스템, 지상 및 항공 레이다 통제 장비, 탱크 및 총 통제장비, 통신, 관제 등
· 항공 : 관제, 유선비행통제장비, 우주선실험장비, 미사일 발사 통제장비 등.
1998년, 화성탐사선에서 VMEbus컴퓨터를 화성에서 우주선 콘트롤용으로 사용.
· 운송 : 철도통제시스템, 지능형 고속도로 시스템, 경전철 전이 시스템 등
· 전자통신 : advanced intelligent node (AIN) 스위치 기어, 이동전화 기지국, 위성 송수신 장비,
VMEbus live insertion 기능이 이 분야를 위해 디자인됨.
· 모의시험 : 항공기 비행, 지진, 금속 피로도, 등 다양한 군사목적 모의시험.
· 의료 : CATSCAN 이미징, MRI 이미징 등의 다양한 시스템 체계.
· High Energy Physics : 분자 가속기. 분자 감지기.
· 일반사업분야 : 네트워크 라우터, 서버, 복사기, 고속프린터.
1997년, VMEbus 상용보드(백플레인, 랙, 파워, 소프트웨어, 기타 자사 소모용으로 생산한 제품은 제외하고)의 시장은 $US 13억이었다. 1997년 보드레벨의 총 시장규모가 $US 24억이었음을 감안할 때, VMEbus의 시장규모가 54%였음을 말한다. VMEbus는 다른 어떤 microcomputer 버스(ISA, PCI, cPCI 등)보다도 큰 시장규모를 가지고 있었으며, 1998년에 VMEbus 시스템의 시장규모는 $US 37.5억에 달했다.
5. 초기의 VMEbus (IEEE-1014-1987)
초기의 VMEbus 규격(IEEE-1014-1987)은 탄탄한 특징들을 가지고 있었다. 다음은 현재 VMEbus가 제공하고 있는 몇가지이다.
· MASTER/SLAVE 구조.
· 비대칭버스 (데이터 전송을 조율하는 clock이 없슴).
· 다양한 속도연결(speed handshaking) 프로토콜.
· 비다중화버스.
· Addressing 범위 : 16, 32-bit.
· 데이터 전송폭 : 8, 32-bit.
· 40 Mbyte/초까지 대역폭 지원
· 다중 프로세싱 지원.
· 인터럽트 지원.
· IEEE 1101 표준에 기초한 다양한 기구적인 하드웨어 지원.
· 단일 백플레인에서 21슬롯까지 지원.
주목할만한 기능에는 1)32-bit 어드레스 및 데이터 버스지원, 2)다중 프로세싱지원, 3)7레벨의 인터럽트 프로토콜이 있다.
1)의 경우, 어드레스와 데이터 버스의 폭이 자동적으로 구성 및 변경된다는 점이다. 이로 인하여 microcomputer 기술이 발달함에 따라 시스템 확장이 가능해지고, 데이터 전달속도는 초당 40 Mbytes까지 가능한 것이다.
VMEbus는 마스터/슬레이브 구조를 사용한다. 마스터라 불리우는 모듈은 슬레이브 모듈에 데이터를 주고 받는다. 버스상에 여러 마스터가 있을 수 있는데, 이 경우 다중 프로세싱 버스라고 한다. 마스터는 데이터를 보내기 전에 중앙 아비터(버스 중재자)를 사용하여 버스를 취하여야 한다. 이 아비터는 시스템 콘트롤러라고 부르는 모듈의 일부로, 그 기능은 어떤 마스터가 해당 버스를 취할 것인지를 결정하는 것이다. 모든 버스는 다섯 가지의 하위 버스로 나뉘어지는데, 이는 1)데이터 전송 버스, 2)데이터 전송 중재 버스, 3)우선순위 인터럽트 버스, 4)유틸리티 버스, 5)시리얼 버스 이다.
VMEbus는 비대칭버스 이다. 즉, 데이터 전송을 조율하는 클럭이 없어서, 서로 맞물려있는 연결신호를 통해 데이터가 모듈간에 전송된다. 데이터 전송시 각각의 사이클 속도는 사이클내에서 가장 느린 모듈의 속도로 정해진다.
비대칭버스의 최대속도는 백플레인과 버퍼 IC상에서의 전달지연시간에 의해 결정된다. 하나의 VMEbus 백플레인은 길이가 최대 500 mm (19.68")로, 상대적으로 신호선에서 높은 인덕턴스(유도기전력)와 캐패시턴스 부하를 가지고 있다. 만일 VMEbus가 대칭버스라면, 대략 10 MHz의 시스템 클럭속도를 가지게 될 것이다. 이경우, 하나의 신호가 버스의 한쪽 끝 마스터에서 백프레인과 접속용 IC를 통해 전달되어 다시 돌아오는데 약 100 나노초정도 걸리게 된다.
다음으로, VMEbus의 초기규격이 VME64, VME64x, VME320 기술을 통해 얼마나 많이 확장되었는지 살펴보게 된다.
6. VME64
VMEbus의 가장 최근판은 ANSI/VITA 1-1994인데, 보통 VME64로 알려져 있다. 1995년 승인된 이래, 다양한 보드와 칩들이 이 규격을 지원하기 위하여 도입되었다. VMEbus의 차세대 구조로서, VME64는 VMEbus의 유용성을 21세기까지 연장할 것이다. 이 새로운 규격으로 더 우수한 대역폭과 어드레스 공간, 그리고 쉽게 사용할 수 있는 카드들 등 대단히 향상되었다. VME64는 초기 IEEE 1014-1987 VMEbus 규격의 상위버전으로 다음과 같은 새로운 특징이 있다.
· 6U 카드에서 64-bit 데이터 지원.
· 6U 카드에서 64-bit addressing 지원.
· 3U 카드에서 32-bit 데이터와 40-bit addressing 모드 지원.
· 80 Mbytes/초로 기존의 두 배 대역폭.
· 기존보다 적은 노이즈형의 커넥터 사용.
· Cycle retry 기능 추가.
· Bus LOCK cycle 추가.
· 첫 슬롯 인지기능.
· 자동으로 'plug-and-play' 기능.
· ROM / CSR 구성기능.
· SERCLK, SERDAT 핀의 반복정의.
실제로 'VME64'는 어색한 이름인데, 이는 모든 IEEE-1014-1987규격을 따르는 VMEbus 모듈들이 데이터 전송 용량에 관계없이 ‘VME64 호환’이기 때문이다. 예를 들면, 기존 규격에 따라 설계된 16/32-bit CPU 보드들이 모두 ‘VME64 호환제품’으로 정의되기 때문이다. VME64와 VME64x에서 향상된 점들은 선택적으로 채택될 수 있으며, 따라서 시스템을 구현하는 사람에게 큰 어려움 없이 기존 버전에 대한 업그레이드 경로를 제공한다.
7. VME64 Extensions (VME64x)
1997년VITA Standards Organization (VSO.VME 규격 협회)는 VME64규격의 상위버젼을 채택하였다. 새로운 규격의 이름은 VME64 Extensions (VME64x)이라 불리며, 새로운 기능은 다음과 같다.
· 160핀 커넥터의 채택.
· 95핀 P0/J0 커넥터 채택.
· 3.3 V 전원핀 추가.
· +5 V 전원핀수 증가.
· Geographical addressing 추가.
· 160 Mbytes/초의 고속 대역폭.
· 141개의 추가된 사용자 정의용 핀.
· 후면 장착용 카드 (transition module).
· Live insertion / hot-swap 기능 추가.
· Injector / ejector (locking 핸들로 지정).
· EMC (ElectroMagnetic Compatible)전자파간섭 호환용 전면판.
· ESD (Electrostatic Discharge)전자파 배출기능 추가.
VME64x 규격은 향상된 기능과 Live Insertion (Hot Swap) VME64x 규격에 기초하였으며, 이들은 앞으로 진행되고 있는 규격이다. 초기의 모든 VME/VME64 모듈들은 VME64x 백플레인 및 서브랙에 호환되게 되어있으며, 이는 과거 제품들이 이 새로운 버스 시스템에서 사용될 수 있음을 의미한다.
일반적으로, 그 반대의 경우도 가능한데, VME64x 규격의 모듈들은 과거의 백플레인이나 서브랙에서도 사용될 수 있다. 예를 들면, 160 pin 커넥터는 과거 96핀 커넥터를 사용한 백플레인에 접속될 수 있다. 그러나 예외적인 경우도 있는데, +3.3 VDC 전원을 사용하는 최신의 보드는 기존 +3.3V가 없는 백플레인에서는 사용될 수 없다.
VME64x 규격에서는 많은 옵션 기능들이 있다. 그러나 규격에서는 그 기능이 VME64x 호환이 되기 전까지는 최소의 옵션을 보드나 백플레인에 적용하도록 주장한다. 규격상에서, 다른 모든 특징들은 옵션사항이며, 예를 들면, 6U 보드를 기준으로 다음의 최소한의 기능이 충족되어야 한다.
· 160 pin 커넥터를 사용할 것.
· 그라운드로 정의된 모든 핀은 연결되어 있을 것('d'열은 옵션).
· Monolithic PCB일 것(즉, J1/J2 일체형).
· Geographical address 핀.
· 모든 VME64/VME64x 에서 연결된 신호선은 경로를 거쳐 종단할 것.
· +5V, +3.3V, +/- 12V, +/- V1, +/- V2, VPC에 대한 전원연결및 분배.
· 후면에서 사용자 정의용 I/O핀을 사용할 경우, IEEE 101.11 rear I/O transition 보드규격을 따를 것.
8. VME320
1997년, Arizona Digital, Inc에 의해 제시된 VMEbus의 새로운 수정본 규격이 VME320이다. VME320 구조는 320 Mbyte/초 이상 최고 대역폭 500 Mbyte/초를 지원하도록 설계되었다. 이 VME320은 새로운 백플레인 디자인 및 버스 프로토콜을 사용한다.
이는 제안사에 특허가 나있는 버스 구조로, 미국내 시장에서 이 백플레인에 대하여 법적 특허보호가 요청되었다. 그러나 카드모듈에 대해서는 라이센스 없이 제작 판매가 가능하다.
VME320 백플레인에서는 속도향상을 위해 'star' interconnection method(성형 상호연결법)을 이용한다. 백플레인상에서 상호간 연결은 그 중간슬롯에서 이루어진다. 작게 보면, 이 백플레인의 기본 아이디어는 슬롯간 전이되는 첨단의 신호가 그 목적지에 이르기까지 단 한 슬롯만을 거치게 한다는 점이다. 이로 인해, 백플레인상에서 핀간 속도지연(signal screw)을 최소화하고 시스템 속도를 향상시키게 된다.
VME320 에서는 2eSST라는 새로운 버스 프로토콜을 사용한다. 이 프로토콜은 VME320 호환모듈들이 훨씬 빠른 속도로 상호 동작하게 한다.
9. VMEbus 소프트웨어
VMEbus는 어느 컴퓨터 구조보다 다양한 소프트웨어 베이스를 가지고 있다. 현재까지 알려진 VMEbus를 지원하는 운영체제(OS.operating system)로는 103여가지가 있다. 도표2는 몇몇의 사례이다.
도표2. 잘 알려진 VMEbus 운영체제 | ||
UNIX Style OS (UNIX용) |
WINTEL Style OS (PC용) |
Real Time OS (실시간 처리용) |
Solaris |
DOS |
VxWorks |
VMEbus 규격에서 소프트웨어에 대하여는 많은 부분이 없지만, 그 규격에 대하여 점차 강조되어 왔다. Embedded Software Association (ESOFTA) 에는 이에 대한 추가적인 정보가 있다.
10. VMEbus 데이터 전송 속도
VMEbus는 매우 빠르며, 사실상, 현재 알려진 Microcomputer 버스중에서, 특히 8슬롯이상의 상용 백플레인중에서는 가장 빠르다. 도표3은 VMEbus 모듈에서 구현할 수 있는 최대 데이터 전송속도를 보여주고 있다. 실제의 전송속도는 더 늦은 경우도 있으며, 사용자는 이 경우 보드 생산자에게 조언을 구할 필요가 있다.
도표3. 최대 데이터 전송 속도 | ||
버스 |
버스 사이클 |
최대 속도 |
VMEbus |
BLT |
40 Mbyte/초 |
VME64 |
MBLT |
80 Mbyte/초 |
VME64x |
2eVME |
160 Mbyte/초 |
320 - 500+ |
11. VMEbus의 구조
VME64/VME64x 규격에 기초하여 VMEbus구조에 대하여 설명하고자 한다. VMEbus구조는 개념적인 도구라고 할 수 있는 기능적 모듈의 개념을 통해 설명하고자 한다. 도표4는 VMEbus에서 사용되는 기능적 모듈을 보여주고 있다.
도표4. VMEbus의 기능적 모듈 | |
기능적 모듈 |
기능 설명 |
Master |
DTB상에서 버스 사이클 초기화. |
Slave |
DTB cycles을 감지하고 참여. |
Location Monitor |
DTB 감시. 특정 어드레스가 선택되면 보드상 신호 요청. |
Bus Timer |
DTB cycle 길이 측정. 너무 긴경우 BERR*신호 요청. 이종의 watchdog timer. |
Interrupter |
인터럽트 요청. |
Handler |
Interrupter의 요청에 응답. |
IACK* daisy chain신호발생. 항상 1슬롯의 system controller module의 일부임. | |
Requester |
DTB의 소유권을 요청. |
Arbiter |
DTB의 소유권을 감시, 승인. |
System Clock Driver |
안정적인 16 MHz utility clock 제공. |
Power Monitor |
SYSRESET*, ACFAIL*신호 생성 |
이 다양한 기능적 모듈들은 도표5의 6가지 하위 버스상에서 서로 통신하는 데 , 이들 역시 개념적인 도구들이며, 서로 자주 상호작용을 한다.
도표5. VMEbus 하위버스(sub-buses) | |
하위버스 |
설명 |
Data Transfer Bus (DTB) |
어드레스와 데이터 정보 보낼 때 사용 |
Data Transfer Arbitration Bus |
DTB 소유권을 얻을 때 사용. |
Priority Interrupt Bus |
모듀간에 인터럽트를 보낼 때 사용. |
Utility Bus |
Utility기능의 집합. system reset 신호, utility 클럭등. |
Serial Bus |
2개의 선을 이용한 시리얼 버스. |
버스사이클은 하위의 버스에서 중요한데, 표준 VMEbus 사이클에는 READ/WRITE cycle이 있어서, 모든 사이클중에 8, 16, 24, 32-bit의 데이터를 전송한다. 좀더 특정하게 , 또는 좀 더 빠른 동작을 하기 위하여 도표6과 같은 다른 버스들이 있다.
도표 6. VMEbus Bus Cycle | |
버스 사이클 |
설명 |
Data Transfer Bus Cycles(데이터 전송용) | |
매 버스 사이클마다 한 덩어리만의 데이터를 보내는데 사용되는 기본 데이터 전송 사이클 | |
Read-modify-write Cycle |
다중 프로세싱 시스템에서 타이밍용 공통 데이터(세마포어)에 대한 정보를 보내는데 사용되는 일체의 버스 사이클 |
Block Transfer Cycle |
방해 또는 파열상태에 있는 데이터를 이동시키는 버스 사이클. 보통 read/write 사이클보다 빠르다. |
Multiplexed Block Transfer Cycles |
어드레스와 데이터 라인이 넓은 버스를 형성하기 위해 연결되어 있다는 점을 빼고는 BLT 사이클과 유사하며, MBLT와 MD32 사이클을 포함하고 있다. |
Two-edge Cycles |
2변연결two-edge handshaking)이 사용되었다는 점을 빼고는 MBLT 사이클과 유사하며, 2eVME와 2eSST 사이클을 포함. |
Address-only cycle |
어드레스만을 전달하는 사이클의 일종으로, ADO와 ADOH 사이클을 포함한다. |
Data Transfer Arbitration Bus Cycles(데이터 전송 중재용) | |
버스의 소유권을 승인한다. | |
Priority Interrupt Bus Cycles(우선순위 인터럽트 버스 사이클) | |
IACK* Cycle |
인터럽트가 백플레인을 통해 전달되도록하는 사이클 |
VMEbus 규격에 의하면, 적용분야에 따라 다른 어드레스와 데이터폭을 사용할 수 있다(address and data widths). 모든 조합이 가능하지만, 아주 일반적인 조합도 있다.
예를 들면, A16/D8은 단순한 입출력 보드에서 일반적이고, A32/D32나 A32/D64는 고성능의 컴퓨터보드(CPU)에서 일반적이다.
전에 언급했듯이, A24는 과거 6U보드에서만 사용되었으며, 곧 A32로 대체되어 사용되었다.
VME64와 VME64x의 다양한 성능향상과정에서, 추가적인 사이클들이 추가되었는데, 이는 VMEbus에서 각 버스 사이클에 꼬리표를 붙여주는 address modifier codes를 사용함으로써 가능해졌다. 새로운 사이클이 생길 때마다, 새로운 어드레스 모디파이어 코드를 통해 꼬리표가 붙게 되고, 따라서 모듈들간의 호환성을 확실하게 하는 것이다. 미래의 버스 사이클도 역시 계획되고 있다.
VMEbus 규격에 따르면, 완벽한 peer-to-peer 방식의 다중 프로세싱 기능을 사용할 수 있다. 이는 한 시스템에 최대 21개의 마스터를 쓸 수 있는 유연한 버스중재(bus arbitration)기능을 통해 가능하다. VMEbus 백프레인의 첫 슬롯에서 시스템 통제보드의 일부로서, 중앙 버스 아비터는 어떤 마스터가 버스를 사용할지를 결정한다. 중재방식은 우선순위방식, 라운드로빈(여러가지를 번갈아가며 부분적으로 처리)방식, 등의 스케쥴링 알고리즘을 사용한다.
12. 기구적인 하드웨어
두 가지의 형태가 사용되는데, P1/J1커넥터만을 사용하는 3U(single height) 모듈과 6U(double height) 모듈이 있다.
전통적으로 3U는 어드레스는 24-bit까지, 데이터는 16-bit까지 지원한다. 그러나 최근 VME64와 VME64x에서 사용될 수 있는 A40/MD32와 2eVME 사이클을 통해 더 큰 어드레스와 데이터의 전송이 가능하다. 3U는 소형으로 공간제한이 있는 곳에 보통 쓰이고 있으며, 6U보드에 비해 진동이나 충격에 강하다.
6U모듈은 더 크고 많이 쓰이고 있다. 이는 전기적으로 P1/J1만을 사용하는 3U보드와 호환이며, 전통적으로 어드레스는 32-bit까지, 데이터도 32-bit까지 지원한다. 그러나 VME64와 VME64x 규격에서는 MBLT와 2eVME 사이클에서 6-bit까지 전송 가능하다.
VMEbus 는 IEEE 의 마이크로컴퓨터 기구핵심규격의 표준(IEEE 1101)을 밀접하게 따른다. 이 규격은 다양한 보드 사이즈(최대 12UxD400까지)와 서브랙 및 케이스를 가지고 있다. 이 IEEE 1101은 그후 IEEE 1101.1-1991로 개정되었다.
I/O 케이블은 전면판이나 후면의 P2/J2 사용자 정의용 I/O핀을 통해 가능하며, VME64x 규격에서는 IEEE 1101.11에 명시된 후면 transition module을 통해서도 가능하다.
어떤 업체는 9U(triple height)보드도 사용하는데, 엄격히 말하면, 이는 VME64규격에서도 지원되지 않는다. 그러나 어떤 사용자는 하나의 서브랙안에 3U, 6U, 9U보드를 섞어서 쓰는 경우도 있는데, 이 경우 적절한 어댑터를 사용하여 구현할 수 있다. 예를 들면, 9U 슬롯용 어댑터에 6U카드를 결합하여 다른 9U보드와 함께 사용할 수 있다.
최근 9U x 400mm 크기의 카드가 VITA 1.3-1999 규격으로 확정되었다.
VMEbus의 가장 큰 특징중의 하나는 두가지 크기의 보드에 있으며, 사용자는 협소한 공간이 필요하고 진동 충격에 강한 제품이 필요할 경우에는 3U를, 공간이 있는 경우에는 널리 알려진 6U 보드를 채택할 수 있다.
VMEbus 백플레인은 1에서 21슬롯까지 기능하다. 표준의 백플레인에서, 보드들은 0.8" 중심(0.8" 피치=4HP)에 위치하는데, 보통 다음의 3가지가 있다.
· 표준의 3열 커넥터 백플레인.
· VME64x 5열 160핀 커넥터 백플레인.
· VME320 백플레인.
이들은 모두 3U/ 6U의 형태가 있으며, 다음과 같은 여러 옵션이 있다.
· Active termination(동적 종단저항). 대부분의 VMEbus 백플레인은 피동적 종단 네트워크를 하고 있다. 이들은 능동적 종단 네트워크에 비해 단순하고 저렴하다. 그러나 피동적 종단 네트워크가 보통 6U 백플레인에서 1.3A정도 전원을 소모하고, 자동적 종단 네트워크의 경우는 약간 덜 소모한다. 일반적으로, 이 두가지 경우 모두 신호적 특성은 동등하다.
· Automatic daisy chain(자동 데이지체인). 백플레인들은 인터럽트 인가 및 버스승인용 daisy chains을 자동적으로 할 수 있다. 이를 위하여 보통 기구적으로 백플레인에 기구적인 핀을 사용(ADC 커넥터)하거나, 전자적인 방법(Daisy chain 칩)을 사용한다.
· 백플레인 후면 커넥터 shroud. 표준의 3열 커넥터를 사용하는 백플레인은 후면에 shroud나 특별한 커넥터 하드웨어를 필요로 하지는 않는다. 필요시 백플레인 생산자에게 요청하여야 한다. VME64x 백플레인의 경우 IEEE 1101.11 규격에서 명시된 후면 I/O transition 모듈을 지원하여야 하므로 shroud를 필요로 한다.
· 전원부 연결. 연결방법에서의 표준은 없다. 대부분 FASTON(spade terminal)단자, 스크루 조임형 단자 또는 주문형 커넥터를 이용한다.
· 고속의 J2 백플레인. 이 경우, J2의 사용자 정의용 핀이나 백플레인 후면에 추가적인 열의 그라운드핀을 물려준다. 이는 특별한 케이블링 옵션으로, P2/J2의 사용자 정의용 핀에 연결되는 케이블의 유도기전력(inductance)을 줄이기 위해 사용된다. 이러한 백플레인은 아주 드물다.
13. 복수랙의 연결동작
모든 VMEbus 백플레인은 최대 21슬롯이다(19" width). 최대 길이의 제한은 각각의 VMEbus 보드상에서 얼마나 많은 사용전류가 가능하냐는 점과 백플레인상에서의 시간지체에 있다. 더 많은 슬롯이 필요하면, 이경우 두가지 방법이 있다.
1)VME와 VME를 연결시키는 브리지 카드를 2개 사용하여 연결시키는 법과
2)두개의 메모리 반사카드(reflective memory card)를 사용하는 법이 그것이다.
버스에서 버스로 연결하는 브리지는 필수적으로 한쪽 백플레인에서 다른쪽 백플레인으로 버스 사이클을 이동하게 한다. 메모리 반사카드는 한쪽 백플레인의 메모리부분을 다른 쪽에 나타나도록 한다.
14. 유도냉각방식의 VMEbus 모듈
또 하나의 널리 알려진 VMEbus 카드형태는 유도냉각방식의 모듈이다. 이들은 주로 방열판 방식의 냉각이 사용될 수 없는 군수용 및 항공기분야에서 이용되고 있다. 이 경우, 열을 PCB나 백플레인 뒤에 부착한 금속판을 통해 전달되게 하여, 특별한 추가적인 가이드 레일을 통해 밖으로 배출한다.
15. P1/J1, P2/J2 커넥터
VME64x 규격에서는 P0/J0, P1/J1, P2/J2에 세 가지의 커넥터를 정의하고 있다. 여기서 'P' 는 plug connector를, 'J'는 jack connector를 의미한다. 본래 모든 VMEbus 제품들은 96핀 DIN 41612 커넥터를 사용하는데, 신뢰성이 높고 저가이며 여러 생산업체가 있다. VME64 / VME64x 규격에서는 새로운 160핀 커넥터를 사용하며, 그 모양은 그림1과 같다. 160핀 커넥터는 기존에 사용되던 DIN 41612 커넥터의 양쪽에 각각 32핀씩 'z' 열과 'd' 열로 정의되어 위치하고 있다. 이 커넥터가 사용된 데에는 구가지 이유가 있다.
· 추가적인 신호선을 통해 추가적인 백플레인 기능 구현.
· 추가적인 그라운드핀을 통해 그라운드의 불안정성과 상호간섭(cross-talk) 억제.
이 커넥터에는 4개의 접촉부에 4개의 긴핀이 있는데, 이의 FMLB기능을 통해 hot-swap 보드구현 및 1차 버스접속회로 구현에 사용될수 있다.
이 커넥터는 EPT, Harting, AMP에서 공급된다. 이 160핀 커넥터는 VME64 규격에서는 선택사항이다. 이 커넥터 자체는 최근 정의된 규격상의 기능을 지원하는데 꼭 필수적인 것은 아니다. 예를 들면, 64-bit address나 데이터 사이클을 지원하는 데 반드시 필요한 것은 아니며, 단지 VME64x 보드와 랙에서 이 커넥터는 +3.3V 전원이나 geographical addressing을 위해서 꼭 필요한 것이다.
이 160핀 커넥터는 완전히 전후 호환성이 있어서, 과거 초기의 보드를 최근의 백플레인에 탈착하는 데 문제가 없다.
P0/J0 커넥터
VME64x 표준에서는 95핀 P0/J0 커넥터를 사용하는 데, 이는 P1/J1과 P2/J2 커넥터 사이에 위치한다. P0/J0 커넥터는 많은 수의 I/O핀이 VMEbus 시스템에 필요하게 되면서 추가되었다.
군용, 통신용에서는 특히 그러한데, 많은 경우에 있어서 전면판의 케이블이 다음의 이유로 찌그러들게 된다.
· 열유도냉각식의 보드에서 전면부에 커넥터를 위한 공간이 부족.
· 전면판을 통한 케이블은 대부분 진동, 충격에 약함.
· 전면판에 케이블이 부착돼 있을 경우 보드교체가 어려움.
P0/J0 커넥터는 IEC 1076-4-101 표준의 ERNI사 등의 Hard-Metric 커넥터를 사용한다. DIN 41612 커넥터와는 달리, 이 커넥터는 접촉저항, 최대 캐패시턴스값이 지정되어 있어서 고속의 신호에 적합하게 되어있다.
VME64x 규격에서는 또한 P1/J1과 P2/J2 커넥터 사이에 비규격 커넥터로 동축케이블용이나 광커넥터가 사용될 수도 있다. 이경우 VME64x 백플레인과의 호환성문제로 그리 추천되지는 않으나, 비규격 커넥터가 반드시 사용되어야 할 경우, VME64x 규격에서는 전면판넬에 Keying/coding 메커니즘을 사용하여 호환성이 없는 모듈을 구별하여 사용할 것을 권고하고 있다.
P0/J0 코넥터로부터 I/O는 다음과 같이 구현될 수 있다.
· 리본케이블 커넥터를 이용하여 백플레인 후면에 연결.
· 후면카드로 transition module (plug-in unit)을 사용.
· 백플레인 내에 회로로 구성.
언뜻 보기에, P0/J0커넥터를 옵션으로 쓸경우 호환성 문제를 야기할 것처럼 보이나, 그래도 P2/J2 사요아 정의용 핀을 사용하는 것보다는 나쁘지 않다. 또한 VME64x 모듈에서 keying 기능은 특정 VMEbus 모듈이 호환성있는 슬롯에 꽂히는 것을 확실하게 해준다.
16. Mezzanine Modules
Mezzanine modules은 VMEbus card를 사용자에게 용도에 맞게 개정하기 위한 것이다. 이 경우 보통 베이스 보드에 고정 연결하여 사용하는 데, 사용자는 필요한 I/O기능들을 구성하여 mezzanine module을 만든다. 대표적인 것으로 PMC모듈과IP (IndustryPack?) 버스모듈이 있다.
예를 들면, PMC는 VME/VME64, Multibus I, Multibus II, Futurebus+ 등의 일반적인 버스에서 사용되는 카드형태로, local PCI 버스의 구현에 많이 사용된다 하여, PMC(PCI Mezzanine Card)라 불리게 되었다.
http://www.vita.com/home/Learn/vmefaq/vmefaq.html
'[통신]' 카테고리의 다른 글
CAN(Controller Area Network) 개요 (0) | 2012.11.22 |
---|---|
Understanding the VME Interrupt and Signal Acknowledge Cycle (0) | 2012.11.21 |
VME bus Description : VME 버스란? (0) | 2012.11.14 |
bps와 baud (0) | 2012.10.29 |
무선 랜(wireless LAN)의 대역폭(bandwidth) 및 속도 (0) | 2012.10.29 |