FPGA USB FX2 데이터 루프백 테스트 드라이버 CY7C68013A 구현은 엔지니어링 소스 코드 및 기술 지원을 제공합니다.

1. 소개

현재 USB2.0 구현 방식이 많이 있지만 단순성과 사용 편의성 측면에서 볼 때 Cypress의 CY7C68013A가 가장 좋은 방식이어야 합니다. 간단하고 작동 순서가 간단합니다.소프트웨어 드라이버는 간단하고 공식은 FPGA 드라이버를 포함한 풍부한 드라이버 소스 코드 및 테스트 소프트웨어를 제공합니다.

이 설계는 FPGA를 사용하여 Cypress의 CY7C68013A 칩을 구동하여 USB2.0 데이터 루프백 실험을 구현하고 SlaveFIFO 모드 통신을 사용합니다.우리는 CY7C68013A의 구성 펌웨어 및 소스 코드를 제공합니다.일반적으로 펌웨어 소스 코드는 수정할 필요가 없으며, 공식 도구를 통해 직접 다운로드할 수 있습니다.공식 도구도 함께 제공하여 데이터 패키지에 넣습니다. SlaveFIFO 인터페이스를 기반으로 하는 데이터 루프백 테스트는 FX2를 통해 PC에서 FPGA로 보낸 데이터를 실현할 수 있습니다. FX2 칩을 통해 PC로. FPGA에 간단한 상태 머신을 작성하여 CY7C68013A 데이터 볼륨 루프백 송수신을 실현하고 ILA를 통해 송수신 데이터 신호를 포착하고 파형을 확인하여 정확성을 확인합니다. 코드가 컴파일되고 보드 디버깅 및 검증을 통과한 후 , 프로젝트를 직접 이식할 수 있어 학교 학생에게 적합합니다. 졸업 디자인 및 대학원 프로젝트 개발은 현장 엔지니어가 프로젝트 개발을 수행하는 데 적합하며 USB2.0 통신 및 이미지 전송 분야에 적용할 수 있습니다. 의료, 군사 및 기타 산업, 완전하고 원활한 엔지니어링 소스 코드
및 기술 지원 제공,
엔지니어링 소스 코드 및 기술 지원을 얻는 방법 및 보드 디버깅 데모 비디오는 기사 끝에 있습니다. 끝까지 기다려주십시오.

2. 내가 가지고 있는 FPGA USB 통신 솔루션

내 기존 FPGA는 CY7C68013A의 USB3.0 통신 솔루션을 기반으로 하며 주로 데이터 루프백 테스트, 사진 송수신 테스트, 비디오 송수신 테스트, 비디오 송수신은 OV5640 카메라를 기반으로 합니다. 내 USB2.0 통신 칼럼으로 이동하여 읽으십시오. 칼럼 주소는 다음과 같습니다.
클릭하면 해당 칼럼으로 바로 이동합니다.

또한 여기에 있는 FPGA는 FT601 및 FT602 USB3.0 통신 솔루션을 기반으로 하며 주로 간단한 속도 측정 솔루션과 이미지 전송 솔루션을 포함합니다.이미지 전송 솔루션에는 간단한 컬러 바 전송 및 수집, OV5640 카메라 전송 및 수집이 포함됩니다. 및 HDMI 비디오 획득.HDMI 비디오 캡처 및 캡처, USB3.0 UVC 비디오 등 모든 엔지니어링 솔루션에는 FPGA 엔지니어링 및 QT 호스트 컴퓨터 소스 코드가 포함됩니다. , 열 주소는 다음과 같습니다. 클릭하면 해당
열로 바로 이동합니다.

3. CY7C68013A 칩 해석 및 하드웨어 설계

FX2 소개

Cypress의 EZ-USB FX2는 USB2.0 트랜시버, SIE(Serial Interface Engine), 향상된 8051 마이크로컨트롤러 및 프로그래밍 가능한 주변 장치 인터페이스를 통합한 세계 최초의 통합 USB2.0 마이크로프로세서입니다. FX2의 이 독창적인 구조를 통해 데이터 전송 속도는 480MBit/s에 도달할 수 있습니다. FX2에서 지능형 SIE는 하드웨어에서 많은 USB1.1 및 USB2.0 프로토콜을 처리할 수 있으므로 개발 시간이 단축되고 USB 호환성이 보장됩니다. 장치에는 다음과 같은 기능이 있습니다. 1: 내장형 480MBit/s 트랜시버, 위상 고정 루프 PLL, 직렬 인터페이스 엔진 SIE— 전체 USB 2.0 프로토콜의 물리적 계층을
통합합니다 . 2: 48MHz에서 작동할 수 있는 내장된 향상된 8051, 8051 컨트롤러에는 다음과 같은 기능이 있습니다. (1) 256Byte 레지스터 공간, 2개의 직렬 포트, 3개의 타이머 및 2개의 데이터 포인터가 있습니다. (2) 4개의 머신 사이클(48MHz에서 작동할 때 83.3ns)은 하나의 명령 사이클을 구성합니다. (3) 특수 기능 레지스터(I/O 포트 제어 레지스터 포함)는 고속으로 액세스할 수 있습니다. (4) USB 벡터 인터럽트의 적용은 ISR 응답 시간이 매우 짧습니다. (5) USB 트랜잭션 관리 및 제어에만 사용되며 데이터 전송에 참여하지 않으므로 USB 고속 모드의 대역폭 문제를 더 잘 해결합니다. 3: "소프트 구성" - USB 펌웨어는 USB 버스에서 다운로드할 수 있으며 칩에 ROM을 통합할 필요가 없습니다. 4: 4개의 FIFO 인터페이스가 있으며 내부 또는 외부 클록에서 작동할 수 있습니다. 엔드포인트와 FIFO 인터페이스를 적용하면 외부 로직과 USB 버스 간의 고속 연결이 가능합니다. 5: 외부 프로토콜 물리적 계층이 필요하지 않은 단일 칩 USB 2.0 주변 장치 솔루션 FX2는 모든 기능을 하나의 칩에 통합합니다.











CY7C68013A의 내부 구조와 같은 일반적인 FX2 컨트롤러는 다음과 같습니다.
여기에 이미지 설명 삽입

SlaveFIFO 모드 및 구성

FX2-FPGA 인터페이스는 데이터 수집, 산업 제어 및 모니터링, 이미지 처리와 같은 고속 USB 연결을 구현하는 FPGA 기반 애플리케이션을 위한 매우 사용하기 쉬운 인터페이스를 제공합니다. FX2는 SlaveFIFO 모드에서 작동하며 FPGA는 마스터 장치로 사용됩니다.
SlaveFIFO: 이 모드에서는 FX2에 연결된 외부 시스템이 읽기 및 쓰기 제어 신호를 생성할 수 있으므로 FX2의 마스터 장치 역할을 할 수 있습니다. FPGA 기반 애플리케이션에서 FX2는 일반적으로 SlaveFIFO 모드로 구성됩니다. 아래 그림은 FX2가 슬레이브 디바이스 FIFO 인터페이스를 통해 외부 FPGA와 연결될 때의 시스템 블록 다이어그램입니다.
여기에 이미지 설명 삽입
이와 같이 FX2에 내장된 8051 펌웨어의 기능은 Slave FIFO 관련 레지스터를 구성하고 FX2가 Slave FIFO 모드에서 작동할 때 제어하는 ​​것뿐입니다. 8051 펌웨어가 관련 레지스터를 구성하고 슬레이브 FIFO 모드에서 작동하게 되면 외부 로직(예: FPGA)은 슬레이브 FIFO의 전송 타이밍에 따라 호스트와 고속으로 통신할 수 있으며 8051은 필요하지 않습니다. 통신 과정 중 펌웨어 관련. SlaveFIFO 모드의 구성은 CY7C68013A에서 제공하는 공식 도구 세트를 설치하여 관련 펌웨어를 다운로드해야 완료됩니다.이 세트를 패키징하고 특별히 도구 설치, 드라이버 설치, 도구 사용 및 펌웨어 다운로드에 대한 문서를 작성했습니다. 데이터 패키지에서 다음과 같이:
여기에 이미지 설명 삽입
아래 그림은 SlaveFIFO 모드에서 FX2와 FPGA 간의 연결에 대한 개략도입니다.
여기에 이미지 설명 삽입
특정 신호 핀은 다음과 같이 설명됩니다.
여기에 이미지 설명 삽입
IFCLK 신호는 방향 설정이 가능한 신호로 FX2에 의해 출력되어 FPGA와 같은 외부 장치에 연결되거나 외부 장치로부터 클록 신호를 받기 위한 입력으로 구성될 수 있다. 즉, 데이터 및 제어 신호에 대한 동기 클럭으로 FX2에 의해 FPGA로 출력됩니다.

4. 세부 엔지니어링 설계 계획

자세한 설계 계획은 다음과 같습니다.
여기에 이미지 설명 삽입
Cypress 공식 호스트 컴퓨터 소프트웨어를 사용하여 데이터를 CY7C68013A로 보내고 FPGA는 CY7C68013A에서 보낸 데이터를 수신하고 데이터를 FIFO로 보내고 상태 시스템의 제어하에 FIFO에서 데이터를 읽은 다음 보냅니다. 데이터 루프백을 실현하기 위해 CY7C68013A로 변경합니다. 상태 머신의 핵심 코드는 다음과 같습니다.
여기에 이미지 설명 삽입

5. 비바도 프로젝트

개발 보드 FPGA 모델: Xilinx-XC7A35T-2FGG484C-2,
개발 환경: vivado2019.1, 입력 : USB2.0 인터페이스 데이터 루프백,애플리케이션
/출력: FT601–USB2.0 인터페이스,


여기에 이미지 설명 삽입

여기에 이미지 설명 삽입

6. 보드 디버깅 및 검증

먼저 보드에 전원을 공급한 다음 CY7C68013A 펌웨어를 다운로드합니다.일반적으로 CY7C68013A의 회로도 설계에는 일반적으로 외부 e2prom이 있기 때문에 펌웨어는 한 번만 다운로드하면 됩니다.FPGA 비트 스트림을 다운로드하고 호스트 컴퓨터 소프트웨어를 열어 데이터를 전송합니다. , 그리고 vivado의 ILA를 호출합니다. 파형 인터페이스는 파형을 보고 분석하는 데 사용할 수 있습니다. 다음은 다음과 같습니다.
여기에 이미지 설명 삽입

7. 복리후생 : 공학코드 습득

이점 : 엔지니어링 코드 얻기
코드가 너무 커서 이메일로 보낼 수 없으며 특정 네트워크 디스크에 대한 링크로 전송됩니다
데이터 수집 방법 1: 개인 또는 기사 끝에 있는 V 명함.
네트워크 디스크 정보는 다음과 같습니다.
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

추천

출처blog.csdn.net/qq_41667729/article/details/131230263