PCI9052 인터페이스 칩의 성능 특성 및 응용 사례 분석

업데이트: 23년 2024월 XNUMX일

"PCI 버스 프로토콜은 매우 복잡합니다. PCI 확장 보드를 개발하고 프로그래머블 로직 어레이 칩을 사용하여 PCI 프로토콜 구현을 완료하면 작업 부하와 어려움이 크며 일반적으로 PCI 전용 인터페이스 칩이 사용됩니다. PCI9052 인터페이스 칩은 아래에 소개되어 있습니다.

"

저자: Wei Wenhua

PCI(Peripheral Component Interconnect) 버스는 메인 CPU 및 주변 장치에 고성능 데이터 버스를 제공할 수 있는 로컬 버스입니다. 1992년에 INTEL이 이끄는 많은 그룹이 PCI 버스를 설계하기 시작했으며 V2.0 사양은 1993년 132월에 공식적으로 발표되었습니다. PCI 버스는 사양이 엄격하여 호환성이 우수합니다. PCI 사양을 준수하는 확장 카드는 모든 PCI 시스템에 삽입하여 안정적으로 작동할 수 있습니다. PCI 버스는 매우 높은 데이터 전송 속도(XNUMXMB/S)를 제공할 수 있습니다. PCI 버스는 CPU와 아무런 관련이 없으며 클록 주파수와도 관련이 없습니다. 다양한 플랫폼에 적용 가능하며 다중 프로세서 및 동시 작업을 지원합니다. PCI 버스는 확장성도 좋습니다. PCI-PCI 브리지를 통해 무제한 확장이 가능합니다. PCI 버스 VESA 로컬 버스를 플러그 앤 플레이 기능으로 대체합니다. PCI 인터페이스에는 일련의 레지스터가 포함되어 있습니다. 이러한 레지스터의 정보를 통해 컴퓨터는 PCI 카드를 자동으로 구성할 수 있습니다. PCI 버스는 현재 PC에서 가장 발전된 버스입니다.

PCI 버스 프로토콜은 매우 복잡합니다. PCI 확장 보드를 개발하고 프로그래머블 로직 어레이 칩을 사용하여 PCI 프로토콜 구현을 완료하면 작업 부하와 어려움이 크며 일반적으로 PCI 전용 인터페이스 칩이 사용됩니다. PCI9052 인터페이스 칩은 아래에 소개되어 있습니다.

1 PCI9052 칩 소개

PCI9052는 PLX에서 개발한 인터페이스 칩입니다. Technology 하이브리드 고성능 PCI 버스 타겟(슬레이브) 모드를 제공할 수 있는 확장 어댑터 보드 전문 기업입니다. 이 칩은 다양한 로컬 버스에 연결될 수 있으며 PCI 버스에서 132MB/S의 버스트 전송 속도로 비교적 느린 로컬 버스를 지원합니다. 9052의 프로그래밍 가능한 구성은 다중화 또는 비다중화 8/16/32비트 로컬 버스에 직접 연결됩니다. 8비트 및 16비트 모드를 사용하면 ISA 카드를 PCI 카드로 직접 변환할 수 있습니다.

1.1 주요 기능

(1) PCI V2.1 프로토콜 기능과 호환됩니다. 9052 칩은 PCI 프로토콜 V2.1과 호환되며 저렴한 개발 비용 슬레이브 모드 어댑터 장치를 지원합니다. 이 칩은 ISA 어댑터 카드에서 PCI 어댑터 카드로의 변환을 지원합니다.

(3) 인터럽트 생성기. 9052는 두 개의 로컬 버스 인터럽트 입력에서 PCI 인터럽트를 생성할 수 있습니다.

(4) 시계. 9052 로컬 버스 인터페이스는 TTL 클록에서 실행되며 필요한 내부 클록을 생성합니다. 로컬 TTL 클록은 PCI 클록과 비동기적으로 작동하며 로컬 버스가 PCI 클록과 독립적으로 작동하도록 합니다. 버퍼링된 PCI 버스 클록 BCLKO는 로컬 버스 클록 LCLK에 연결될 수 있습니다.

(5) 프로그래밍 가능한 로컬 버스 구성. 9052는 다중화 또는 다중화되지 않은 8/16/32비트 로컬 버스를 지원합니다. 이 칩에는 활성화할 4바이트, 26개의 주소 라인 및 32/16/8비트 데이터 라인이 있습니다.

(6) 먼저 읽기 모드. 9052는 읽기 우선 모드를 지원합니다. 즉, 사전 래치된 데이터는 로컬 버스 전에 9052 내부 FIFO 레지스터에서 읽을 수 있습니다.

(7) 버스 운전사. 모든 제어, 주소 및 데이터 신호는 추가 구동 회로 없이 PCI 및 로컬 버스를 구동하는 데 사용되는 9052에 의해 직접 생성됩니다.

(8) 직렬 EEPROM 인터페이스. 9052에는 특정 장치 정보를 로드하기 위해 구성 정보를 로드하기 위한 직렬 EEPROM 인터페이스가 포함되어 있습니까? 이것은 매우 유용합니다. 9052를 ISA 인터페이스 모드로 변환할 때도 직렬 EEPROM이 필요합니다.

(9) 9052개의 로컬 칩 선택 신호. XNUMX는 XNUMX개의 로컬 칩 선택 신호를 제공하며 기본 주소와 각 칩 선택의 범위는 직렬 EEPROM 또는 메인 컨트롤러에 의해 독립적으로 프로그래밍될 수 있습니다.

(10) XNUMX개의 로컬 주소 공간. 기본 주소와 각 로컬 주소 공간의 범위는 직렬 EEPROM 또는 메인 컨트롤러에 의해 독립적으로 프로그래밍될 수 있습니다.

(11) 읽기/쓰기 저장 지연 및 쓰기 주기 유지. ISA 버스의 경우 읽기/쓰기 신호가 클록 주기 시작부터 지연될 수 있습니다.

(12) 로컬 버스 대기 상태. 추가 LRDYi 핸드셰이크 신호는 다양한 대기 상태를 생성하는 데 사용되며 9052에는 내부 대기 상태 생성기가 있습니다.

(13) 프로그래밍 가능한 사전 래치 카운터. 로컬 버스 사전 래치 카운터는 0(사전 래치 없음), 4, 8, 16 또는 연속 값(사전 래치 카운터 꺼짐) 모드로 프로그래밍할 수 있습니다.

1.2 핀 기능

PCI9052는 160핀 플라스틱 PQFP 패키지 구조입니다. 각 핀의 기능은 기능 블록에 따라 표 1 ~ 표 7에 나열되어 있습니다.

2 PCI9052 칩 사용

PCI9052 인터페이스 칩은 일반 PCI 인터페이스로 응용 사례와 범위가 광범위합니다. PC의 ISA 확장 슬롯이 폐지될 때까지 점차적으로 감소하면서 PCI 확장 슬롯은 PC 마더보드 구성의 주류가 되었으며 향후 확장 보드의 개발은 PCI 인터페이스를 기반으로 해야 합니다.

하지만 기존에 ISA 인터페이스가 있는 확장보드가 많았는데, 특히 일부 특수기능을 자체적으로 개발한 확장보드를 PCI 슬롯에서 계속 사용하게 하는 방법이 매우 의미가 있는 것 같습니다. 다음은 ISA 확장 보드를 PCI 확장 보드로 직접 변환하는 PCI9052 인터페이스 칩의 응용에 중점을 둡니다.

2.1 ISA 인터페이스 모드 소개

PCI9052의 내부 구조에는 독립적인 ISA 로직 인터페이스가 포함되어 있어 이를 통해 ISA에서 PCI로의 원활한 변환을 완료할 수 있습니다. 메모리 매핑 또는 I/O 매핑이 가능한 8비트 및 16비트 데이터 너비의 ISA 장치를 지원합니다. 읽기 우선 모드는 데이터 읽기의 처리량을 개선하는 데 사용됩니다. ISA 인터페이스 모드가 활성화되면 PCI9052는 단일 주기 작업만 수행합니다. 특히 직렬 EEPROM은 ISA 인터페이스 모드를 활성화해야 합니다.

2.1.1 구성 방법

ISA 인터페이스 모드에 대해 PCI9052를 구성하는 두 가지 방법이 있습니다.

방법 1: 직렬 EEPROM 방법 굽기. 라이터를 사용하여 직렬 EEPROM에 데이터를 쓰십시오. 적절한 데이터를 사용하려면 표 8을 참조하십시오. ISA 모드의 경우 LRESET#(132) 핀이 항상 하이여야 하며 MODE(68) 핀이 다중화되지 않은 모드인 0으로 설정되어 있는지 확인해야 합니다.

방법 2: 열 구성 방법. 방법 9052과 동일한 데이터를 사용하여 PCI 버스에서 PCI132 칩을 통해 직렬 EEPROM을 프로그래밍합니다. 이 방법은 ISA 모드에서 LRESET#(68) 핀의 극성이 낮음에서 높음으로 변경된다는 점에 주의해야 하며 MODE(0) 핀이 XNUMX으로 설정되어 있는지 확인해야 합니다.

2.1.2 구성 참고 사항

ISA 인터페이스 모드로 구성할 때 다음 사항에 주의해야 합니다.

①ISA 인터페이스 핀에 접근할 때 PCI9052 핀의 C/ISA 모드 핀 다이어그램을 참조하여 연결하십시오.

②Space 0은 ISA 인터페이스의 메모리 접근에 할당됩니다.

③Space 1은 ISA 인터페이스의 I/O 액세스를 위해 할당됩니다.

④ 0번 공간의 로컬 주소가 CS0# 범위에 있거나 1번 공간의 로컬 주소가 CS1# 범위에 있더라도 ISA 액세스는 유효합니다.

⑤표준 슬레이브 사이클은 2번 공간, 3번 공간 및 직렬 EEPROM을 사용하여 액세스할 수 있습니다.

2.2 적용 사례

의 적용 예 전자 전환 스위치 컨트롤러는 다음과 같습니다. 컨트롤러의 기능은 제어 코드 C0H를 제어하기 위한 트리거 조건이 감지될 때 포트 200H로 보내는 것입니다. 계전기 전환 작업을 완료합니다. 이 예제는 PCI9052를 사용하여 ISA 확장 보드에서 PCI 확장 보드로 변환하는 방법을 설명하기 위한 것입니다.

2.2.1 하드웨어 설계

하드웨어 회로 컨트롤러의 구조도는 그림 1과 같습니다.

회로는 세 부분으로 나뉩니다. 첫 번째 부분은 9052와 PCI 슬롯 사이의 연결 신호선입니다. 이들 신호는 어드레스 데이터 다중화 신호 AD? 31:0? , 버스 명령 신호 C/BE? 3:0? # 그리고 PCI 프로토콜 제어 신호 PAR, FRAME#, IRDY#, TRDY#, STOP#, IDSEL, DEVSEL#, PERR#, SERR#. 두 번째 부분은 직렬 EEPROM과의 연결입니다. EESK, EEDO, EEDI 및 EECS의 네 가지 신호 라인이 있습니다. 직렬 EEPROM 데이터는 라이터 또는 온라인으로 미리 레코딩할 수 있습니다. 세 번째 부분은 9052와 응용 회로 간의 연결입니다. 이 예에서는 ISA 로컬 버스 신호를 주로 사용합니다. 데이터 라인 LAD가 있습니까? 7:0, 어드레스 라인 ISAA? 1:0? , 라? 23:2? , I/O 읽기 및 쓰기 신호 라인 IOWR#, IORD#, 어드레스 래치 BALE.

2.2.2 소프트웨어 설계

프로그램은 두 부분으로 나뉩니다. 한 부분은 PCI9052의 각 구성 레지스터에 값을 할당하고 칩을 초기화합니다. 다른 부분은 주요 프로그램입니다. 작업은 레지스트리에서 관련 키 값을 지속적으로 쿼리하는 것입니다. 조건이 충족되면 포트에 제어 코드를 보냅니다. 프로그램은 DELPHI 언어로 완성됩니다. DELPHI를 선택한 주된 이유는 동적 링크 라이브러리 없이 독립적인 실행 파일로 컴파일할 수 있고 프로그램이 짧고 강력하며 DELPHI 버전 간의 호환성이 비교적 좋기 때문입니다. 프로그램 흐름도는 그림 2와 같다.

링크:   SKIP31NAB12T11 TPS24751RUVR