본문 바로가기

개발/통신

nuvoton-M483 PWM 으로 Nec 방식 IrDA 수신기, example source

반응형

 

 

 

1. M480-LAN_M483-CAN\M480_BSP_CMSIS_V3.05.003\SampleCode\StdDriver\EPWM_Capture 에서 출발함

2. CPU 는 M483, IrDA 수신기 TSOP34456SB1  를 사용

3. Editor 는 ?

 

 

NEC IrDA 프로토콜은 다른데서 찾아 보시면 되는데,

 간단히

 

  Lead code​  Custom code  Custom code   Data code Data code
  (8bit)  (8bit) (8bit) (반전된 8bit)

 

 

NEC IrDA 기본

시작  = 9ms + 4.5ms = 13.5 ms 

데이타 = 8 x 4 data bit , bit 가 0 이면 1.125ms,  이고, bit 가 1이면 2.25ms 이다.

 

이후 반복 되면 아래가 반복으로 들어 온다

반복 = 9+2.25ms = 11.25 ms

 

즉 처음에 기본이 들어 오고 이후 반복이 들어 와서 아래와 같다.

그리고 데이타는 

 

 

 

CPU연결 포트는 PC6(pic 19)를 EPWM1-CH3 로 함

 

오실로로 찍으면 위아래 뒤집어 보면 된다... 즉평상시 1로 되다 입력 들어오면 0이 되는 형태.

실제 오실로로 찍은 TSOP34456SB1  출력단 사진 

시작 과 데이타 

Data

 

Repeat 신호

 

 

프로그램

nuvoton pc6 을 pwm capture 로 쓴다.

pwm 주기를 1 us 로 하여 ( EPWM_ConfigCaptureChannel(EPWM1, 3, 1000, 0);  //  1000=1us )

(#define _Work_Mode   1) 로 하여 측정을 해보면 

38 개:

       24502     13570     // 첫 숫자 24502는 쓰레기, 13570 는 시작: 얼추 13.5ms

      2133      1088      2134      1087      1088      1087      1088      2134   // byte 0 :  8 bit

         1            0              1          0            0             0            0           1

      1087      1087      2134      2134      2134      2134      1087      1087  // 1

      2134      1088      1087      2134      1087      1088      1087      1088   //  2

      1087      2134      2134      1087      2134      2134      2134      2134   // 3

      44469     11277     31681     11276  // 나머지.


38 개:   한번더

    64010     13571

      2134      1088      2133      1088      1087      1088      1087      2133

      1088      1088      2133      2134      2133      2134      1088      1088

      2133      1088      1087      2134      1088      1087      1087      1087

      1087      2134      2133      1089      2133      2134      2133      2134

     44473     11278     31685     11277

 

시작 은 13.5ms  가 13570  비슷한 값이 들어 오고

bit 는 0 일때 1.125ms  가 1088  비슷한 값이 들어 오고

bit 가 1 일때 2.25ms  가 2133 비슷한 값이 들어 오는 것을 볼 수 있다.

 

그래서 코드는

1. 시작( 13570  ) 비슷한 숫자가 오면 이후 32 비트를 처리 하도록 하였다.

2. 즉 1088 비슷한게 오면 비트를 0으로 설정, 2133 비슷한게 오면 비트를 1로 설정

3. 32 개가 오면 4 byte가 다 들어  왔다고 처리 했다.

4. 다른 것들은 뭐 볼 필요 없는 거 같아 다 무시 ? 했다나..   

  - 단 , 오다 만거는 처리 했고

  - 반 짤려 올때가 있던데 해 놓고 보니 무의미

 

 

어째든 만든거 올립니다.

TSOP34456SB1-IrReceiverModule.pdf
0.17MB

IrDA 수신기 TSOP34456SB1 자료

 

 

 

소스.

m483_NecIrDA-231109.zip
0.87MB

 

 

기타

 

반응형