노무현 대통령 배너


2007. 4. 5. 12:56

VME 보드 설계자료-1

Termination을 하는 목적
ㆍBackplanes 종단으로부터의 reflection을 줄인다.
ㆍOpen-collector driver에 high state pull-up 저항 역할을 한다.
ㆍThree-state devices가 disable 되었을 때 신호 라인을 high state로 유지시킨다.
ㆍ신호라인의 positive transi-tion 시간을 빨리 한다.
VMEbus 신호들을 전기적인 성격과 termination 여부를 표 6에 나타내었다.
(표 6) Bus Driver요약

VMEbus 보드 개발
Signal MnemonicSignal NameDriver TypeBused and
Terminated ?
A01-A31(31 lines)
ACFALL*
AM0-AM5 (6 lines)
AS*
BBSY*
BCLR*
BERR*
BG0IN*-BG3IN*
BG0OUT*-BG3OUT*
(Daisy-chain)
BR0*-BR3* (4 lines)
D00-D31 (32 lines
)DS0*-DS1* (2 lines)
DTACK*
IACK*
IACKIN*/IACKOUT*
(Daisy-chain)
IRQ1*-IRQ7* ( 7 lines)
LWORD*
RESERVED
SERCLK
SERDAT*
SYSCLK
SYSFAIL*
SYSRESET*
WRITE*
Address bus
AC power failure
Address modifier
Address strobe
Bus busy
Bus clear
Bus error

Bus grant daisy-chain

Bus request
Data bus
Data strobes
Data transfer acknowledge
Interrupt acknowledge
Interrupt acknowledge
Daisy-chain
Interrupt request
Longword
Reserved
Serial clock
Serial 데이타
System clock
System failure
Sustem resetWrite
3 STD
OC
3 STD
3 HC
OC
TP HC
OC
TP STD


OC
3 STD
3 HC
OC
3 STD or OC
TP STD

OC
3 STD
-
TP HC
OC
TP HC
OC
OC
3 STD
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No


Yes
Yes
Yes
Yes
Yes
No

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

VMEbus 보드를 개발하는 방법은 몇 가지가 있다.
우선 TTL을 써서 구현하는 방법(VMEbus Handbook에 자세히 나와 있다.)이고, GAL이나 기타 PLD를 사용하여 로직 방정식을 써서 구현하는 방법, 상품화되어 나와 있는 VMEbus 컨트롤러를 쓰는 방법이 있다.
우선 고려할 사항은 설계하려고 하는 보드를 슬레이브 전용의 보드로 할 것인가, 마스터 전용의 보드로 하 것인가 혹은 마스터/슬레이브 전용의 보드로 할것인가를 정해야 한다. 즉, 구현하려고 하는 보드를 기능적으로 규정하고, 그에 맞는 설계 방법을 찾아야 하는 것이다.

TTL을 사용하여 구현하는 방법

비교적 간단한 VMEbus 슬레이브 보드를 개발할 때 유리하다.

PLD를 사용하여 구현하는 방법
PLD(Gal, FPGA, EPLD, PLSI 등)를 사용하여 사용자가 하는 로직만을 구현한다. VMEbus의 여러 가지 기능 중에서 필요한 기능만을 구현할 수 있어서 최적의 설계가 가능하다. VMEbus 슬레이브 전용의 보드라든지 마스터 전용의 보드를 구현할 때는 VMEbus 컨트롤러를 사용하는 것보다 로직 구현이 오히려 간단할 수 도 있다. 차후에 기능을 더 추가할 경우에는 즉각적인 대응이 곤란할 수도 있다.

VIC068A)를 사용하는 방법
VMEbus의 모든 기능이 컨트롤러 내부에 존재하므로 사용자는 칩 인터페이스만 해주면 간단하게 구현할 수 있다. 사용하지 않는 기능을 나중에 쓸 수도 있다는 장점이 있으나 컨트롤러의 가격이 비싸다. 표 7에 VMEbus 인터페이스 컨트롤러를 나타내었다.

VMEbus 보드의 설계시 전제 조건

우선적으로 전제되어야 할 조건은 개발하려고 하는 보드에 MPU(마이크로 프로세서 유닛)가 있는가 없는가 하는 것이 중요하다.
보통 로컬 MPU가 있는 경우에는 마스터 기능과 슬레이브 기능을 둘 다 지원하도록 설계하나 슬레이브 기능만 또는 마스터 기능만을 하도록 설계하기도 한다.
이것은 개발하려고 하는 보드가 시스템에서 어떤 역할을 수행하는지에 따라서 달라진다.
하드웨어적으로는 가능하면 마스터/슬레이브 기능을 둘 다 구현해 두면 좋지만 슬레이브 기능만의 설계는 비교적 쉽게 할 수 있다.
로컬 MPU가 없는 경우(DRAM 메모리 보드 등)는 슬레이브 보드로만이 구현된다. 로컬 MPU가 있는 경우에 VMEbus 슬레이브 보드를 구현할 때 주의할 점은 VMEbus의 어느 마스터가 타킷 보드의 리소스를 액세스할 대 로컬 MPU의 동작에 영향을 줄 수 있는지를 확인하여야 한다. 즉, local bus aribtration 이 필요한지를 확인한다.

표 7) VMEbus 인터페이스 컨트롤러
VMEbus 인터페이스 IC
























B
u
s

R
q
u
e
s
t
e
r












Company Device
Arrow/Schweber Electronics
(모토로라 ICs)
MC68153
MVME6000
MVSB2400
































Cypress Semiconductor
(VITA Consortium)
VIC068
VAC068





















Mizar VME1000
Newbridge Microsystems CA91C014
CA91C015
CA91C064


























Performance Technologies
PLX Technology VME12XX
VME2000
VME3000
VME4000
































Signetics SCB68172
SCB68154
SCB68155



















VMEbus 어드레스 디코더의 구성
VMEbus 슬레이브 보드를 구현하기 위해서는 우선 어드레스 디코더가 필요하다. VMEbus에서는 어드레싱 범위가 AM 코드에 따라서 달라지므로 어드레스 디코더를 구성하기 위해서는 VMEbus의 어느 어드레스 범위에 대해서 구현할 것인지를 우선 고려 해야 한다.
일반적으로는 확장된 어드레스 (A32 어 드 FP TM)나 Standard 어드레스(A24 어드레스), Short 어드레스 (A16 어드레스)중 하나를 선택하여 디코더를 구성하지만 (Short 어들스는 어드레싱 범위가 64Kbyte로 제한되므로 잘 사용되지 않는다.) 상품화를 위한
보드라든지 혹은 특수하게 한 보드에 둘 이상의 어드레싱 범위를 두는 경우도 있다.

A32 어드레스 디코더의 구성 예

가장 간단하며 많이 쓰이는 방법이 74ALS320 등의 comparator와 딥 스위치를 쓰는 방법이 일반적이다.
① 디코더할 VMEbus 상위 어드레스는 보통 VA31-VA24까지의 8bit가 상용된다.
② VMEbus AM 코드는 필요한 AM5, AM4, AM2, AM0의 4bit만을 선택하여 사용할 때 VMEb us 확장된 어드레스 중에서 프로그램영역 혹은 데이터 영역 중 선택하여 사용할 수 있다.

A24 어드레스 디코더
그림 14에서 VMEbus 상위 어드레스가 VA23, VA22, VA21, VA20 등을 사용한다.

어드레스 디코더 구성시 주의점
VMEbus에서 액세스할 수 있는 로컬 보드의 리소스(메모리 등)의 어드레스가 디코더의 어드레스에 포함되어서는 안된다. 예를 들면 로컬 보드의 메모리가 128MBytes라면 VME bus 디코더의 어드레스는 VA31, VA30, VA29, VA28, VA28의 5bit만을 사용하여야 한다.

그림 15는 슬래이브 디코더를 로직으로 나타낸 것으로 디코딩 어드레스는 보통 4bit 또는 8bit를 사용하지만 그림 15는 A31, A30, A29만 사용한 경우이다.

(그림 15)슬레이브 디코더 로직
// AMSEL →VAS가 유효할 때 AM 코드값이 0E, 0A, 0D, 0A 일 때 select 된다.
// SW31-SW29→DIP Switch로 부터의 값이다.
// VA31-VA29→VMEbus 어드레스이다.
// BDSEL은 슬레이브 select 신호로 AM코드와 어드레스가 셋팅과 일치할 때 된다.



AMSEL = !VAS & !AM5 & !AM4 & AM3 &AM1 & !AM0         ///0E.0A        # !VAS & !AM5 & !AM4 & AM3 & !AM1 & AM0 ;    ///0D.0A		BDSEL = AMSEL  & (SW31 & SW30 & SW29 &VA31 & VA30 &VA29 		# SW31 & SW30 & !SW29 & VA31 & VA30 & !VA29		# SW31 & !SW30 & SW29 & VA31 & !VA30 & VA29		# SW31 & !SW30 & !SW29 & VA31 & !VA30 & !VA29		# !SW31 & SW30 & SW29 & !VA31 & VA30 & VA29		# !SW31 & SW30 & !SW29 & !VA31 & VA30 & !VA29		# !SW31 & !SW30 & SW29 & !VA31 & !VA30 & VA29		# !SW31 & !SW30 & !SW29 & !VA31 & !VA30 & !VA29);

'Interface > VME Bus' 카테고리의 다른 글

VME 보드 설계자료-3  (0) 2007.04.05
VME 보드 설계자료-2  (3) 2007.04.05
인터럽터의 동작  (3) 2007.04.05
VME Bus에서의 Data Transfer 규격  (0) 2007.04.05
VME Bus에서의 신호규격  (2) 2007.04.05