CNK-HUD(PIC)

CNK HUD 좀 이해가 안가네...

엠쿠스 2018. 11. 9. 08:50
이글의 전부 또는 일부, 사진, 소스프로그램 등은 저작자의 동의 없이는 상업적인 사용을 금지합니다. 또한, 비상업적인 목적이라하더라도 출처를 밝히지 않고 게시하는 것은 금지합니다.


 

 

(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는 처음이라 생소하기는 하지만...

여러가지로 이해가 안 갑니다.

 

이주일간 회로 분석해 본 결과를 근거로 아는 범위 안에서 주저리주저리...

회로도는 중요한 부품만 가지고 대충 그려 봤는데 혹시 시비가 걸릴까봐 여기에 올리는 것은 꺼림직해서 안돌릴 예정입니다.