본문 바로가기

FX2

(8)
[FX2 EVM] HighSpeed USB Bulk 전송 테스트 - USB를 이용한 이미지 출력 [FX2 EVM] HighSpeed USB Bulk 전송 테스트 - USB를 이용한 이미지 출력 FX2는 USB2.0 Hispeed 를 지원하므로 TFT LCD에 이미지 출력하는 예제는 USB전송 속도 테스트 하기에 좋다. USB Hispeed는 한번에 512Byte를 전송할 수 있으므로 확실히 속도차이를 볼 수 있다. 하지만 8051코어라 이미지 출력을 GPIO로 하다보니 전송속도는 빠르지만 TFT LCD출력이 느리다. 추후 GPIF나 BUS방식으로 LCD를 제어하면 좀더 빠른 속도를 볼수 있을것 같다. USB로 이미지 전송 테스트 동영상 참고로 STM32를 이용하여 USB로 이미지 전송하는 예제와 비교하면 확실히 전송속도 차이를 확인할 수 있다. Hispeed USB Bulk 이미지 전송 PC 프로그램
[FX2 EVM] Ez-USB CY7C68013 TFT LCD 테스트 [FX2 EVM] Ez-USB CY7C68013 TFT LCD 테스트 [FX2 EVM] 보드는 M-Type의 핀맵으로 [EXP-LCD]보드에 연결하여 TFT-LCD 를 테스트 할 수 있다. FX2 EVM 핀맵 EXP-LCD 핀맵 [FX2 EVM] TFT LCD 드라이버 코드 원래 8051의 페리 속도가 느리고, 특히나 PORTE는 비트제어 명령이 지원되지 않기 때문에 Address로 접근해야 해서 속도가 더 느려지는것 같다. //----------------------------------------------------------------------------- // TFT LCD Driver #define TFT_DRV_HD66791 0 #define TFT_DRV_COM44 1 #define LC..
[FX2 EVM] 8051에서 unsigned long사용시 주의 [FX2 EVM] 8051에서 unsigned long사용시 주의 테스트 하는중에 코드량이 좀 늘어니 이상한 동작을 하는경우가 발생한다. 코드가 멈추거나 리셋 되는 현상이 있다. Delay 함수를 쓰고나면 이상한 동작을 한다. system.c 에 있는 Delay() 함수는 아래와 같고 지금까지 잘 사용 했었는데... void Delay(unsigned long Time) { volatile unsigned int delay = 0; for(; Time != 0; Time--) { for(delay=0;delay 옵티마이즈 문제는 아닌것 같다. 아무튼 long을 사용하지 않고 unsigned int로 하니 잘 동작한다.
[FX2 EVM] CY7C68013 USB 벌크 전송 테스트 [FX2 EVM] CY7C68013 USB 벌크 전송 테스트 FX2 Ez-USB를 이용하여 USB Bulk전송 테스트를 해 보았다. 먼저 CY7C68013쪽 펌웨어 에서 TD_Pool() 함수를 수정하여 USB로 데이터를 수신하거나 전송할 수 있다. 아래 코드는 USB로 PC에서 받은 데이터를 처리하는 부분이다. 주석을 보면 쉽게 이해할 수 있다. void TD_Poll(void) { WORD i; WORD count; //EndPoint로 데이터가 들어오면 if(!(EP2468STAT & bmEP2EMPTY)) { //받은 데이터가 들어 있는 포인터의 주소를 Auto Buffer1로 할당한다. APTR1H = MSB( &EP2FIFOBUF ); APTR1L = LSB( &EP2FIFOBUF ); //내..
[FX2 EVM] UART 테스트 [FX2 EVM] UART 테스트 FX2에는 2개의 UART가 있다. 그냥 8051용 UART이므로 별 다른건 없는것 같다. [serial.c] 에 Rx, Tx 드라이버 함수만 수정하면 기존 코드를 그대로 사용할 수 있다. unsigned char U0_GetByte(void) { while (!RI); RI = 0; return SBUF0; } void U0_PutByte(unsigned char Data) { while (TI == 0) ; TI = 0 ; SBUF0 = Data ; } USB2UART에 연결하면 쉽게 디버깅 가능하다. FX2 Ez-USB Serial 테스트 프로그램 소스코드 void main(void) { int cnt = 0; SystemInit(); Led1Init(); Led1..
[FX2 EVM] GPIO 속도 측정 [FX2 EVM] GPIO 속도 측정 24Mhz로 구동시 650ns 750kHZ가 출력된다. 상당히 느리군.. void main(void) { Led1Init(); Led1On(); while(1) { //Led1Toggle(); PC7 ^= 1; } } 000C ?C0001: ; SOURCE LINE # 12 ; SOURCE LINE # 13 ; SOURCE LINE # 14 000C A2A7 MOV C,PC7 000E B3 CPL C 000F 92A7 MOV PC7,C ; SOURCE LINE # 15 0011 80F9 SJMP ?C0001 ; FUNCTION main (END) [참고] MCU속도 측정 결과
[FX2 EVM] Ez-USB FX2(CY7C68013) 개발환경 설정 [FX2 EVM] Ez-USB FX2(CY7C68013) 개발환경 설정 Cypress Ez-USB FX2(CY7C68013)는 기본적으로 USB로 펌웨어 다운로드 하는 기능이 있기 때문에 개발할때 편리하다. USB캐이블 연결하면 기본 드라이버를 검색한다. 디바이스 드라이버는 아래 드라이버를 사용하면 된다. 정상적으로 설치되면 장치관리자에서 확인할 수 있다. 펌웨어 다운로드는 CyConsole.exe 프로그램을 사용하면 된다. "Download" 버튼을 클릭하여 펌웨어 hex파일을 다운로드 할 수 있다. 새로운 프로그램을 다운로드 하려면 리셋을 누르지 않고 그냥 Re-Load버튼으로 다운로드 할 수 있다. 테스트 예제: Keil을 용한 프로그램 작성 FX2는 8051코어 이므로 8051컴파일러인 Keil ..
[FX2 EVM] Ez-USB CY7C68013 보드 제작 [FX2 EVM] Ez-USB CY7C68013 보드 제작 USB 2.0-USB-IF high speed 를 지원하는 Cypress사의 Ez-USB FX2 CY7C68013A 테스트 보드를 제작했다. [M-Type EVM] 표준 핀맵으로 제작해 여러 테스트 보드에서 테스트 가능하도록 했다. TFT LCD 확장 테스트 보드 [FX2 EVM] 회로도 Ez-USB FX2 테스트 동영상 LED제어 펌웨어 다운로드 하여 FX2 EVM 동작 테스트 [FX2 EVM] Hispeed USB Bulk 테스트

반응형