(2014.11.22.에 다음 블로그(http://blog.daum.net/microcontroller/13651138)에 적었던 글을 옮겨왔습니다.)
CNK HUD 내부를 들여다 보니까 ROM이 두 개 들어있습니다.
하나는 EN25F16-100HIP입니다.
이 제품은 flash rom으로 용량이 16 mega bit이나 됩니다.
MPU(PIC 18F67J10)과 SPI 통신하도록 회로가 구성되어 있습니다.
대강 프로그램 작성해서 읽어봤는데 아무 것도 기록되어 있지 않은 것 같습니다.
프로그램이 잘못된 것이 아니라면...
쓰지도 않는 이런 큰 용량의 flash rom을 왜 넣어 놨을까?
아마 폰트 같은 것을 만들어 넣을 예정이었는데 채 완성하지 못한 것일까?
하여간 앞으로 CNK HUD의 성능을 만들어 넣을 때에 font를 넣어 사용할까 합니다.
2 mega byte이니까, 한글이 가능하도록 16*16(32 byte) 폰트를 넣는 다면
64K개를 넣을 수 있을 것 같습니다.
또 하나의 ROM은 AT25C256B입니다.
이 것은 용량이 256 kilo bit(32 kilo byte)인 I2C serial EEPROM입니다.
아직 읽어 보지는 않았습니다만, 회로를 보니까 이해가 안 갑니다.
18F67J10는 SPI와 I2C가 가능한 MSSP가 두 개 있습니다.
이중에 MSSP1(18F67J10의 34,35,36번 핀)은 위에 언급한 ENS25F16-100HIP와 통신에 사용하고 있으니까
AT24C256B는 남아있는 MSSP2(18F67J10의 50, 51번 핀)을 이용해서 I2C 통신하면
프로그램하기가 간단했을 것 같은데 왜 굳이 RC0(30번 핀)과 RC1(29번핀)을 썼을까?
전원, 전화기, P 등의 스위치와 LED가 있는 터치 패널에는 CT1N07 칩을 사용했는데,
이것과의 통신도 I2C인데 역시 같은 핀 RC0와 RC1로 연결되어 있습니다.
18F67J10의 MSSP 기능을 이용하면 터치 패널에 입력이 있을 때에 인터럽트 걸리도록해서
프로그램할 수도 있겠는데...
RC0, RC1을 사용하면 입력을 감지하려면 polling하는 방법 밖에 없을텐데...
왜 I2C통신에 50, 51번 핀을 안 썼을까? 갸우뚱...
EN25F16-100HIP에는 무엇을 기록하려고 했을까?
AT24C256B에는 무엇을 기록해 놓았을까?
더 큰 의문...
밝기 조절을 하기위해서는 통상 Timer를 이용해서 PWM 제어하는데
이제품은 그냥 74HC42를 통해 PB0 - PB3로 제어하는 듯...
AVR은 좀 써봐서 익숙한데, PIC는 처음이라 생소하기는 하지만...
여러가지로 이해가 안 갑니다.
이주일간 회로 분석해 본 결과를 근거로 아는 범위 안에서 주저리주저리...
회로도는 중요한 부품만 가지고 대충 그려 봤는데 혹시 시비가 걸릴까봐 여기에 올리는 것은 꺼림직해서 안돌릴 예정입니다.
'CNK-HUD(PIC)' 카테고리의 다른 글
CNK HUD, serial 통신(UART communication) (0) | 2018.11.11 |
---|---|
CNK HUD, I2C 프로그래밍 - AT24C256 Serial EEPROM(2) (0) | 2018.11.11 |
CNK HUD, I2C 프로그래밍 - AT24C256 Serial EEPROM(1) (0) | 2018.11.11 |
CNK HUD, PIC로 하는 SPI 프로그래밍 - 25F16-100HIP 제어 (0) | 2018.11.11 |
CNK HUD 기능 구현 준비 (1) | 2018.11.09 |