[Microchip]/PIC322011. 12. 15. 16:36

PIC32 소형(28, 44Pin) 출시

PIC32 소형(28, 44Pin) 출시



PIC32MX1/2(28/44pin) 제품군이 새롭게 출시되었다고 한다.
기존 PIC32는 64핀 이상 이었는데... 이번에 소형으로 나왔다고 하니 여러곳에 적용해 볼만곳이 많을것 같다.

기존 diPIC33과 핀맵도 호환되니 PCB는 그대로 사용할 수 있을것 같다.



PIC32MX2x 핀맵




Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC322011. 9. 11. 11:58

[PIC32-SM EVM] TFT LCD [LCD-IF MODULE] 보드 테스트

[PIC32-SM EVM] TFT LCD  [LCD-IF MODULE] 보드 테스트



PIC32로  SM-Type 형태의 모듈에서  최소 핀으로 TFT LCD를 제어 할 수 있는 [LCD-IF MODULE] 보드를 테스트 했다.






PIC32-SM EVM TFT LCD  [LCD-IF MODULE] 드라이버 코드
//-----------------------------------------------------------------------------
//TFT LCD
#define TFT_DRV_HD66791                 0
#define TFT_DRV_COM44                   1

#define LCD_LAT_BIT      BIT5
#define LCD_LAT_PORT     LATF
#define LCD_LAT_ON()     Sbi(LCD_LAT_PORT, LCD_LAT_BIT)
#define LCD_LAT_OFF()     Cbi(LCD_LAT_PORT, LCD_LAT_BIT)
#define LCD_DATA_LATCH()    LCD_LAT_ON();LCD_LAT_OFF();

#define LCD_EN_BIT      BIT5
#define LCD_EN_PORT      LATD
#define LCD_ENABLE()     Cbi(LCD_EN_PORT, LCD_EN_BIT)
#define LCD_DISABLE()     Sbi(LCD_EN_PORT, LCD_EN_BIT)

#define LCD_RST_BIT      //BIT8
#define LCD_RST_PORT     //PORTB
#define LCD_RST_ON()     //Sbi(LCD_RST_PORT, LCD_RST_BIT)
#define LCD_RST_OFF()     //Cbi(LCD_RST_PORT, LCD_RST_BIT)

#define LCD_RS_BIT      BIT6
#define LCD_RS_PORT      LATD
#define LCD_RS_OFF()     Cbi(LCD_RS_PORT, LCD_RS_BIT)
#define LCD_RS_ON()      Sbi(LCD_RS_PORT, LCD_RS_BIT)

#define LCD_WR_BIT      BIT7
#define LCD_WR_PORT      LATD
#define LCD_WR_OFF()     Cbi(LCD_WR_PORT, LCD_WR_BIT)
#define LCD_WR_ON()      Sbi(LCD_WR_PORT, LCD_WR_BIT)

#define LCD_RD_BIT      //BIT5
#define LCD_RD_PORT      //LATD
#define LCD_RD_OFF()     //Cbi(LCD_RD_PORT, LCD_RD_BIT)
#define LCD_RD_ON()      //Sbi(LCD_RD_PORT, LCD_RD_BIT)

#define LCD_BL_BIT      BIT4
#define LCD_BL_PORT      LATD
#define LCD_BL_OFF()     Cbi(LCD_BL_PORT, LCD_BL_BIT)
#define LCD_BL_ON()      Sbi(LCD_BL_PORT, LCD_BL_BIT)

#define _LCD_DAT_OUT(Data)    LATE = (LATE&0xFF00) | (Data>>8);\
                                     LCD_DATA_LATCH();\
                                     LATE = (LATE&0xFF00) | (Data&0xFF);

#define TFTGpioInit()     TRISE=0;TRISD=0;TRISF=0;
//-----------------------------------------------------------------------------



Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC322011. 9. 10. 16:42

[PIC32-SM EVM] 이더넷을 이용한 전자 액자 테스트

[PIC32-SM EVM] 이더넷을 이용한 전자 액자 테스트


PIC32와 W5200을 이용하여 이더넷으로 전자 액자의 이미지 출력 하는 테스트를 해 보았다.
이더넷을 이용하면 원격지에서 TFT-LCD의 이미지를 고속으로 전송해 출력 할 수 있기 때문에 여러가지 장점이 많다.

PIC32는 저렴하고, Flash/RAM 이 풍부하며 고속이기 때문에 임베디드 이더넷 예제로 사용하기에 좋다. 이더넷 처리는 SPI방식의 하드웨어 TCP/IP스택을 지원하는 W5200을 이용였고 PIC32의 20Mhz SPI로 구동시 양방향 8Mbps정도 이므로 충분히 처리 가능하다.


테스트는 이더넷 모듈, TFT LCD모듈, MP3 모듈을 연결할 수 있는 [EXP-NET] EVM보드를 이용하면 쉽게 테스트 가능하다.






PIC32 이더넷 전자 액자 테스트 동영상
PC의 이미지 파일을 열어 16Bit BMP파일로 변환하고 이를 이더넷 UDP로 전송하면 TFT LCD에 출력하는 예제이다. 보드측에서는 이더넷으로 이미지 파일을 전송 받아 출력하므로 별도의 메모리 없이 고속으로 이미지를 업데이트 할 수 있다.



기존 W5100을 이용하여 LCD_EXP EVM]보드와 CANTUS를 이용한 이더넷 전자액자 에서 테스트 했던 것과 비교하면 속도차이을 확인 할 수 있다.

")




이더넷 전송 PC프로그램

이더넷 전송 속도가  더 빨라졌기 때문에 이미지를 버퍼에 저장 했다 전송할 수 있도록 프로그램을 약간 수정하였다.







드라이버 파일


 

Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2011.09.16 17:46 [ ADDR : EDIT/ DEL : REPLY ]

[Microchip]/PIC322011. 9. 2. 22:00

[PIC32] W5200(W5100) TCP/IP Boopback 전송 속도 Test

[PIC32] W5200(W5100) TCP/IP Boopback 전송 속도 Test





마이크로 칩사의 PIC32는 SPI최대 속도가 20Mhz임에도 불구 하고 4MBps정도 까지 출력된다. SPI로 데이터 읽고 쓰는데 다른 MCU보다 상당히 빠른것 같다. 저렴하면서 성능이 좋아 가장 마음에 든다. (SPI 효율은 가장 뛰어난것 같다.)
TCP/IP 전송 속도 테스트 결과 참고 





PIC32 W5200 제어 HAL 드라이버 코드
#define _SPI0_ENABLE    1

//-----------------------------------------------------------------------------
// W5100 HAL
#define W5100_CS_PORT     LATG
#define W5100_CS_BIT     BIT9


#define W5100_RST_PORT     LATD
#define W5100_RST_BIT     BIT1

#define IINCHIP_RSToff()    Cbi(W5100_RST_PORT, W5100_RST_BIT) 
#define IINCHIP_RSTon()     Sbi(W5100_RST_PORT, W5100_RST_BIT)


#define W5100_IO_INIT()     Cbi(TRISG,  W5100_CS_BIT );Cbi(TRISD,  W5100_RST_BIT);

#define IINCHIP_CSoff()     Cbi(W5100_CS_PORT, W5100_CS_BIT)
#define IINCHIP_CSon()     Sbi(W5100_CS_PORT, W5100_CS_BIT)

#define IINCHIP_SPI_INIT()    SPI0_Init();IINCHIP_SpiSpeed()
#define IINCHIP_SpiSendData    SPI0_WriteReadByte
#define IINCHIP_SpiRecvData    SPI0_WriteReadByte
#define IINCHIP_SpiSpeed()              SPI0_SetSpeed(SPI_SPEED_MAX)
//-----------------------------------------------------------------------------


Posted by nexp

댓글을 달아 주세요

[Microchip]/PIC322011. 3. 13. 00:52

[PIC32-SM EVM] W5100을 이용한 USB 메모리스틱 웹서버 테스트

[PIC32-SM EVM] W5100을 이용한 USB 메모리스틱 웹서버 테스트


PIC32의 강점은 저렴하면서도 고성능의 USB호스트 기능이 있기 때문에 웹서버 어플리케이션에 사용하기에 좋다.  웹페이지를 USB메모리 스틱에 저장하기 때문에 페이지 업데이트와 같은 관리가 편리하고 범용성이 좋다. 뿐만아니라 고용량 이기 때문에 웹페이지 제작시 메모리 문제 없이 작성할 수 있다.
물론 고용량 데이터를 처리하기 위해 PIC32의 PMP기능을 이용하여 이더넷 속도를 좀 더 올릴 필요가 있다.

간단히 웹페이지 몇개와 이미지를 이용하여 웹서버를 테스트 해 보았다.
메인페이지



PIC32 보드 LED테스트 페이지



PIC32 USB메모리스틱을 이용한 웹서버 테스트 동영상

Posted by nexp

댓글을 달아 주세요