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) |
시작 = 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
즉 처음에 기본이 들어 오고 이후 반복이 들어 와서 아래와 같다.
그리고 데이타는
오실로로 찍으면 위아래 뒤집어 보면 된다... 즉평상시 1로 되다 입력 들어오면 0이 되는 형태.
실제 오실로로 찍은 TSOP34456SB1 출력단 사진
시작 과 데이타
프로그램
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. 다른 것들은 뭐 볼 필요 없는 거 같아 다 무시 ? 했다나..
- 단 , 오다 만거는 처리 했고
- 반 짤려 올때가 있던데 해 놓고 보니 무의미
어째든 만든거 올립니다.
IrDA 수신기 TSOP34456SB1 자료
소스.
기타
'개발 > 통신' 카테고리의 다른 글
CoTerm: Serial UART COM (rs232,rs485) 통신 Terminal 프로그램 (4) | 2024.11.13 |
---|---|
DVR 한화비전 (0) | 2024.02.18 |
CH9121 시리얼(ttl) 이더넷 모듈 (CH9121 Serial Ethernet Module) (0) | 2023.10.30 |
CubeIDE STM32 UART 수신 interrupt 처리 및 에러 처리, example source (1) | 2023.04.28 |
com(serial rs232) port data plot chart 화면에 그림 그리기 (0) | 2023.04.04 |