마음 속 하늘은 항상 맑음~!

PIC Progammer 제작. 본문

기타

PIC Progammer 제작.

파르셀수스 2012. 1. 7. 11:26
 인쇄기판까지 그러놓고 결국엔 만능기판으로 만들었다. 인쇄기판은 여러가지 손이 많이가고 시도해보지 않아 또다른 난관이 있을지도 모른다는 핑계로 이번에는 만류. 사실 회로의 완성도가 부족하다는 이유도 있다.

 일단 만능기판으로 손톱을 태워가며 만들어서 이리저리 고친 후에야 완성을 했다. 의외의 제약들도 있어서 결국엔엔 많이 고쳐야 했다. 아직 해결 못한 부분이 전원부인데 레귤레이터가 많이 따스해진다. 방열판의 도움을 받고 있지만 그정도의 소비전력은 아닌 것 같은데 활활 타오르려 한다.

 

 
 기본 설계는 크게 문제되는 부분이 없는 것 같고 100오옴의 저항들을 출력단에 안전을 위해 배치했는데 3번과 4번, 그리고 5번에는 빼는 것은 좋을 것 같다. SI Prog의 확장 인터페이스들을 이용하는데 트랜지스터의 스위칭 전압이 약간 적어지는 것 같다는 추정.

 설계상에서 많이 변화된 부분은 하나의 출력을 제외한 다른 I/O입출력은 16F627의 B포트를 사용한다. 왜냐면 이 포트가 입력으로 TTL 신호를 받아들이는데 문제가 없다. 포트 A는 슈미트트리커(ST)신호를 입력으로 사용하는데 이는 보다 더 높은 전압을 1(0.8VDD)과 0(0.2VDD)의 구분 신호로 받아들인다. 반면 TTL은 2V 이상이면 1로 인식하기에 더 편하다.

 처음에는 많은 실패가 있었다. 많은 문서를 읽어봤지만 프로그래밍 상태로 들어가는 조건을 엉터리로 명시하고 있었기 때문인데 그 때문에 상당히 오랜 기간동안 고민을 했다. MCLR을 먼저 인가하고 그 다음 VDD를 인가하는 것이 일반적인 순서인데 실제로는 VDD를 인가하고 MCLR을 인가해야만 프로그래밍 모드로 들어간다. 몹쓸 기술 문서들 =_=;

 그 외의 다른 큰 문제들은 없었다.

 내부 펌웨어의 동작은 간단하다. 특정 시간동안 데이터를 받아들이고 혹시 끊기거나 중단되면 VDD인가 전압이 끊어지도록 만들었다. 250밀리초의 무응답 시간을 설정하고 있으며 내부적으로 테스트를 위해 그 기능을 끄는 기능도 포함하고 있다. 입출력은 기본적으로 낮은 비트를 먼저 출력 클럭과 함께 내보내거나 읽으며, 데이터를 읽는 타이밍은 상승엣지와 하강엣지 둘인데 기본적으로는 상승엣지에서 읽도록 되어 있으며 하강 엣지로 설정도 가능하다. 하강엣지에서의 읽는 것은 AVR을 위한 것인데 아직 테스트하지는 못했다.

 일단 PIC를 위한 프로그래밍 툴을 만들고 나서 다른 칩셋들에 대한 적용을 재고해봐야겠다. 

 아래 첨부 파일에는 회로도, 펌웨어, 간단한 테스트 프로그램(16F676으로 실험)을 포함한다.
 

'기타' 카테고리의 다른 글

아마도 실패 =_=;  (0) 2012.02.03
새로운 PIC 프로그래밍 툴 mikroPascal  (0) 2012.01.18
Wiz C - PIC 프로그래밍 툴.  (0) 2011.12.11
일일 점점 커진다.  (0) 2011.12.03
LED 회로 다 만들다.  (0) 2011.06.26