본문 바로가기

[MCU]/CANTUS

[CANTUS EVM] WiFi 모듈 테스트 - 무선랜을 이용한 DAQ (24bit ADC) 테스트

[CANTUS EVM] WiFi 모듈 테스트 - 무선랜을 이용한 DAQ (24bit ADC) 테스트


Serial to WiFi Module (WIZ6100wi)을 이용하여 무선 데이터 수집 장치를 만들어 보았다.
무선랜을 간편하게 사용할 수 있는 WiFi모듈을 이용하면 고속의 데이터를 인터넷으로 손쉽게 수집할 수 있다.

MCU는 저렴하고 RAM이 풍부한 ADChip사의 CANTUS를 이용하고 USB2Serial 커넥터에 WiFi모듈을 연결 하였다.


데이터 수집은 SPI인터페이스의 24비트 ADC모듈을 이용하고 펑션으로 사인파를 입력 하여 테스트 했다.



무선랜 접속
WIZ610은 AP기능이 있어 PC에서 클라이언트 형태로 접속 가능하다. 자세한 환경 설정은 . [WiFi to Serial 모듈 설정]  부분을 참고 한다.

WiFi모듈의 기본 IP는 192.168.1.254 로 접속해서 TCP/IP통신을 하면 MCU쪽에서는 시리얼 형태로 데이터를 수신 할 수 있다. 최대 전소 속도는 1Mbps까지 가능하다.


PC프로그램 작성
무선랜 모듈에 접속하기 위해 TCP/IP프로그램을 작성하면 되는데... 여러 형태로 작성 가능하지만 우선 간단하고 UI 를 쉽게 작성할 수 있는 C#을 이용하였다.


테스트를 위해 간단히 CANTUS EVM의 LED를 On/Off하고 수집한 24bit ADC값을 그래프로 표시하도록 했다.



펌웨어 작성
MCU(CANTUS EVM)쪽 펌웨어는 WiFi모듈을 시리얼로 인식하기 때문에 간단하게 작성할 수 있다.
시리얼 포트로 특정 커멘드를 받으면 동작하도록  처리한다.

  if(U0_IsGetByte())
  {
   switch(U0_GetByte())
   {
    case '2':
     DebugPrint("Led1 Off\r\n");
     Led1Off();
     break;

    case '3':
     DebugPrint("Led1 On\r\n");     
     Led1On();
    break;
    
    case '4':
     DebugPrint("Led2 Off\r\n");
     Led2Off();
     break;

    case '5':
     DebugPrint("Led2 On\r\n");
     Led2On();
    break;
        
    case '6':
     //ADC값 전송 시작
     adc_send_flag ^= 1;
    break; 


ADC값은 타이머 인터럽트를 이용하여 시리얼 포트로 보내면 WiFi로 전송이 된다. 아주 간단하게 WiFi 통신이 가능하다.
  if(adc_send_flag)
  {
   //ADC값 전송
   if(gTimeTick1_1ms>10)
   {
    DebugPrint("ADC=%d\r\n", GetAdc24(0));
    gTimeTick1_1ms = 0;
   }
  }


CANTUS WiFi 테스트 동영상
WiFi를 이용하여 네트웍으로 LED제어하고 24bit ADC데이터 수집 테스트

반응형