[B423] 광전자 도트매트릭스 KLM-162CAN 활용 휴즈 설정 추가 및 소스 파일
페이지 정보
작성자 나름이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일09-02-01 21:51 조회330,447회 댓글2건첨부파일
- KLM-162CAN.zip (116.2K) 623회 다운로드 DATE : 2009-02-11 00:27:59
- KLM_162_VC.zip (999.2K) 149회 다운로드 DATE : 2009-02-11 00:27:59
본문
코멘트가 달리면 수정을 할 수가 없어서, 답변으로 올립니다.
휴즈 비트 설정에 관한 이야기를 하지 않아서 번거롭게 해드렸습니다.
ATmega32에서는 C 포트의 일부를 JTAG으로 사용하기 때문에 키트에서 도트매트릭스를 제어할 때에 휴즈비트를 설정해야 합니다.
ATmega32에서 C 포트의 2, 3, 4, 5 비트를 JTAG 기능으로 사용하는데, 키트에서는 C포트의 0, 1, 2, 3 비트를 도트매트릭스 행제어에 사용하므로 2, 3 번 핀이 중복됩니다.
휴즈에서 JTAG를 활성화 시키면 DDR의 설정과 상관없이 JTAG 기능을 가진 핀은 JTAG으로 동작하기 때문에 정상적인 I/O가 이루어 지지 않습니다.
(제가 만들 때는 이 사실을 기억하고 JTAG를 비활성화 시켜 놓고서는 , 글을 올릴 때에 이 내용을 깜빡하는 바람에 쓸데없는 일을 만들어 드렸습니다. 죄송....)
또한 이 프로그램에는 시리얼 입력을 받아서 EEPROM에 저장하기 위해서 EEPROM에 기록하는 루틴이 들어 있습니다. 이 루틴이 들어 있을 때에는 전원이 나갈 때에 의도하지 않게 EEPROM에 엉터리 내용을 기재하는 일이 발생할 수도 있습니다.
이를 방지하기 위해서 일정 전압 이하로 내려가면 리셋 상태로 가도록 BROWN OUT DETECT 기능을 활성화 시켜야 합니다. 이 내용은 제가 만든 다른 프로젝트들도 마찬가지 입니다.
(ex: VFD 15번을 이용한 HUD 등...)
AVR 휴즈 비트 중, JTAG 기능은 JTAGEN의 체크를 해제하여야 하고, BROWN OUT DETECT는 BODEN 비트의 체크를 설정하면 됩니다. BODLEVEL은 BROWN OUT 기능이 2.7V에서 동작할 것인지, 4.0v에서 동작할 것인지를 정한는 것입니다.
다음은 AVR Sutdio와 Ponyprog에서 도트매트릭스를 제어하기 위해서 설정한 휴즈 상태입니다.
(AVR Studio)
(Ponyprog)
파일 첨부로 두 개의 파일을 올립니다.
1. KLM-162CAN.zip : avr에 기록하는 프로그램 소스와 hex, eep, elf 파일
hex, eep, elf 파일은 default 폴더 안에 있습니다.
WinAVR 20080610 버젼으로 AVR Studio 4.14에서 프로젝트 만들었습니다.
2. KLM_162CAN_VC.zip
PC 측 프로그램 소스와 실행 파일. (Visual Studio 2008에서 C++로 작성했습니다.)
실행파일은 Release 폴더 안에 있습니다.
휴즈 비트 설정에 관한 이야기를 하지 않아서 번거롭게 해드렸습니다.
ATmega32에서는 C 포트의 일부를 JTAG으로 사용하기 때문에 키트에서 도트매트릭스를 제어할 때에 휴즈비트를 설정해야 합니다.
ATmega32에서 C 포트의 2, 3, 4, 5 비트를 JTAG 기능으로 사용하는데, 키트에서는 C포트의 0, 1, 2, 3 비트를 도트매트릭스 행제어에 사용하므로 2, 3 번 핀이 중복됩니다.
휴즈에서 JTAG를 활성화 시키면 DDR의 설정과 상관없이 JTAG 기능을 가진 핀은 JTAG으로 동작하기 때문에 정상적인 I/O가 이루어 지지 않습니다.
(제가 만들 때는 이 사실을 기억하고 JTAG를 비활성화 시켜 놓고서는 , 글을 올릴 때에 이 내용을 깜빡하는 바람에 쓸데없는 일을 만들어 드렸습니다. 죄송....)
또한 이 프로그램에는 시리얼 입력을 받아서 EEPROM에 저장하기 위해서 EEPROM에 기록하는 루틴이 들어 있습니다. 이 루틴이 들어 있을 때에는 전원이 나갈 때에 의도하지 않게 EEPROM에 엉터리 내용을 기재하는 일이 발생할 수도 있습니다.
이를 방지하기 위해서 일정 전압 이하로 내려가면 리셋 상태로 가도록 BROWN OUT DETECT 기능을 활성화 시켜야 합니다. 이 내용은 제가 만든 다른 프로젝트들도 마찬가지 입니다.
(ex: VFD 15번을 이용한 HUD 등...)
AVR 휴즈 비트 중, JTAG 기능은 JTAGEN의 체크를 해제하여야 하고, BROWN OUT DETECT는 BODEN 비트의 체크를 설정하면 됩니다. BODLEVEL은 BROWN OUT 기능이 2.7V에서 동작할 것인지, 4.0v에서 동작할 것인지를 정한는 것입니다.
다음은 AVR Sutdio와 Ponyprog에서 도트매트릭스를 제어하기 위해서 설정한 휴즈 상태입니다.
(AVR Studio)
(Ponyprog)
파일 첨부로 두 개의 파일을 올립니다.
1. KLM-162CAN.zip : avr에 기록하는 프로그램 소스와 hex, eep, elf 파일
hex, eep, elf 파일은 default 폴더 안에 있습니다.
WinAVR 20080610 버젼으로 AVR Studio 4.14에서 프로젝트 만들었습니다.
2. KLM_162CAN_VC.zip
PC 측 프로그램 소스와 실행 파일. (Visual Studio 2008에서 C++로 작성했습니다.)
실행파일은 Release 폴더 안에 있습니다.
댓글목록
김경연님의 댓글
김경연 이름으로 검색 작성일서은규님의 댓글
서은규 이름으로 검색 작성일Ponyprog << 이프로그램은 몇버전을 사용하고 있는건가요?