안녕하셔요 .
Atmega16 을 사용하기 위한 기본 인터페이스를 구성해 보았는데요 .
외부 클럭 16MHz 를 공급받아 동작하고 ..
ISP 커넥터를 두어 hex 파일을 다운로드 할 수 있도록 ..
구성한 간단한 회로인데 .. 동작이 되질 않네요 .
회로도는 OR CAD 로 작성했는데 .. 이제 막 입문한 사람이라,
회로 지식이 많지 않아 이쁘게 그리지 못했어요 .. ^^ ;;
회로는 강사님의 지시대로 구성했는데요 ..
결선의 문제인가 싶어 멀티미터로 수차례 테스트 했는데,..
ISP 는 정상이었고,
풀업 저항이 걸린 리셋 회로도 정상임을 확인했습니다 .
전원부에 있는 바이패스 캐패시터 (22uF x 5) 와 1N4002, 104pF 의 정확한
용도는 모르겠지만 ..
어쨌든 오실로스코프로 테스트한 결과 MCU 에 전원은 안정적으로 공급이 이
루어지고 있더군요 .
그 외 다른 부분들도 쇼트/오픈은 없는 없는 걸로 확인 됐습니다.
다만, 오실로스코프가 외부 크리스탈의 16MHz 클럭을 감지하지 못했는데 ..
이는 MCU 가 내부 클럭을 사용하게끔 설정되어 있어서 일 수도 있다고 합니
다 .
그런대도 ..
ToastProg2005 에서는 MCU 를 제대로 인식하지 못합니다 .
ToastProg2005 의 상단 메뉴에서 AVR / Atmega16 을 선택 한 후,
Command > Configurations and Security bits 에서 Read 하면 ..
MCU 의 구성 정보를 읽어와야 할 텐데 ..
"디바이스가 틀립니다 (0x2002)" 라고 메시지가 뜹니다 ;;
마찬가지로, Command > Auto Device Check 를 하더라도 ..
"Device is not detected. Check your Hardware."
라고 메시지가 뜹니다 ;;
강사님께선 결국 MCU 가 고장인 걸로 결론을 내리셨는데요 ;;
혹시, 외부 크리스탈이 망가져도 MCU 가 인식이 안 될 수 있는 건가요?
납땜 과정에서 크리스탈에 열이 다소 가해졌고, 땜이 잘못 된 곳의 납을
털어내는 과정에서 .. 약간의 충격이 가해졌을 수도 있거든요 ;;
만약, 정말로 MCU 가 망가진 거라면 정말 절망적입니다 .. ㅜㅜ
엘레파츠에서 DIP 타입으로 구입한 건데 ..
요즘 DIP 타입의 공급 수량이 많지 않아 ..
택배로 받아 데만 일주일이 걸렸거든요 ^^;;
가격도 결코 저렴한 편이 아니구요 ㅠㅠ
그래서 .. 혹시나 MCU 고장 외에 .. 회로에 뭔가 빠져 있다거나 ..
혹은 다른 부분에 문제가 있어서 일 수도 있는지 궁금해서 ..
마이컴박스에다 글 올려봅니다 ㅠㅠ
긴 글 읽어주셔서 대단히 감사합니다 ^ㅡㅡㅡㅡ ㅡ^ㅋ
ATmega를 사용하는데 있어 회로가 정상적으로 구현되고 외부크리스탈발진기를 이용한
동작을 할 때 연동 때 퓨즈비트 설정을 잘 못하게되면 그 순간 칩이 망가지게 됩니다.
만약 퓨즈비트를 잘 못 설정하신 상태에서 동작을 하셨다면 고장났을 가능성이 높으며
연동 프로그램인 AVRstudio로 해보시고 그래도 안되신다면 확실히 하드웨어적인 문제가
있는 것입니다. (설마 가르치시는 분이 S/W설정을 못하시겠어요?) 다른 이야기로
배우실 때 Atmega16으로 하셨는데 Atmega128로 해보시는 것을 추천드립니다. 사실
Atmega128이 기능이 많아서 복잡할 것 같은데 그렇게 복잡하지 않습니다. 그리고 구입하실때는
ATmega128보드 완성형을 구입하시는게 오히려 이익이니 추천합니다.
마지막으로 회로를 봐드리고 싶어도 이미지가 안뜨는군요? 파일 이름을 영문으로 고쳐서
올려주세요.
그림 이미지가 안 뜨셔요 ? 이상하네요 ;;
에디터 상단 그림 올리기 기능을 이용해 ..
정상적인 과정으로 이미지를 올렸는데도 ... 로컬 pc 내의 경로로 링크가 되어 버리네요 ;;
그냥 .. 외부에 업로드 하고 .. url 끌어 와 다시 작성했습니다 ^ ^
본론으로 들어가 ..
회로 구성 후 .. 다른 작업 없이 ..
일단은 ToastProg 로 ... ISP 를 통해 현재 세팅되어 있는 설정 내용 (퓨즈비트 CKSEL0 ~ 4 를 포함)을 읽어 오는 .. 작업만 했는데요 ..
그 작업 만으로도 MCU 가 파손될 수 있는 건가요 ?
그리고 .. ATmega16 으로 구입한 건 ..
학교 다닐 땐 ATmega128 로 배웠는데 .. 개판으로 공부를 해 놔서 ..
이번엔 DIP 타입으로 구입해 .. 빵판에다 직접 회로 구성해 가며 ..
차근차근 학습 하려는 의도 ... 입니다 .....
(ATmega32 까지가 DIP 타입으로 생산되는데 .. 요 녀석은 구하기가 쉽지 않더군요)
헌데 .. 크리스탈을 비롯해 .. 회로 상에 안정적으로 자리해야 할 부품들 때문에 ..
결국 다시 납땜질로 ... ^^ ;;
아무래도 제 생각에도 모듈이 낫다고 생각하지만 ..
하나하나 직접 회로 꾸려보라고 ... 강사님 지령이 떨어져서 .. ^^ ;;;
아 .. 그리고 ... 당근이 카페에 같은 질문을 올렸더니 어떤 분께서 회로도를 지적해 주셨는데 ..
Atmega16 에서 ISP 는 128과 달리 ... RXD , TXD 단자가 아닌 .. MISO, MOSI 에 연결해줘야 한다는군요 ;;
아마도 그것 때문에 장치 인식을 못했던 게 아닐까 .. 싶기도 합니다 ;;
혹시 .. MISO, MOSI 에 접속할 것을, RXD / TXD 에 접속해 놓고 ..
ToastProg 로 퓨즈 비트 설정값 읽여 들이려 시도했던 걸로 ...
MCU 가 망가지거나 하진 않겠지요 ? ^^ ;;;;;
(내일 가서 RXD / TXD => MISO / MOSI 로 변경하고 .. 재시도 해 봐야겠네용 ..)
혹시, 동작이 되질 않는 다른 이유가 있어 보이시면 ..
죄송하지만 ... 댓글 좀 ... 부탁드립니다 .
친절한 댓글에 다시 한번 감사의 말씀 드립니다 . ^ ^
해결 됐습니다 ..
역시 RXD-TXD 를 MOSI-MISO 로 바꿔주니 ...
되는군요 ... 룰루 ...