계획 및 재료. 프로그래머 펌웨어 업데이트

극장이 옷걸이로 시작되듯이 마이크로컨트롤러 프로그래밍도 좋은 프로그래머를 선택하는 것부터 시작됩니다. 회사의 마이크로 컨트롤러를 마스터하기 시작했기 때문에 ATMEL, 그런 다음 제조업체가 제공하는 제품을 철저히 숙지해야 했습니다. 그들은 엄청난 가격으로만 흥미롭고 맛있는 것들을 많이 제공합니다. 예를 들어, 한 쌍의 저항기와 다이오드를 하네스로 사용하는 20개의 다리가 있는 마이크로 컨트롤러 1개를 갖춘 스카프는 "비행기"와 비슷합니다. 따라서 프로그래머의 자체 조립 문제가 발생했습니다. 숙련된 라디오 아마추어의 개발에 대한 오랜 연구 끝에 검증된 프로그래머를 모으기로 결정했습니다. USBASP , 그 두뇌는 마이크로 컨트롤러입니다.Atmega8 (atmega88 및 atmega48에 대한 펌웨어 옵션도 있습니다). 마이크로 컨트롤러의 배선을 최소화하면 플래시 드라이브처럼 항상 가지고 다닐 수 있는 아주 작은 프로그래머를 조립할 수 있습니다.

소형 프로그래머를 조립하기로 결정한 후 하우징의 Atmega8 마이크로 컨트롤러 회로를 다시 그렸습니다. TQFP32(마이크로컨트롤러의 핀아웃은 DIP 패키지의 핀아웃과 다릅니다):

점퍼 J1은 클록 주파수가 1.5MHz 미만인 마이크로컨트롤러를 플래시해야 하는 경우에 사용됩니다. 그런데 이 점퍼는 MK의 25번째 다리를 땅에 놓으면 완전히 제거될 수 있습니다. 그러면 프로그래머는 항상 감소된 주파수에서 작동합니다. 개인적으로 저는 느린 속도로 프로그래밍하는 데 1초도 안되는 시간이 더 걸린다는 것을 알았습니다. 따라서 이제는 점퍼를 당기지 않고 계속 바느질합니다.
제너 다이오드 D1 및 D2는 프로그래머와 USB 버스 간의 레벨을 일치시키는 데 사용되며, 제너 다이오드 없이도 작동하지만 모든 컴퓨터에서 작동하는 것은 아닙니다.
파란색 LED는 회로를 프로그래밍할 준비가 되었음을 나타내며 빨간색 LED는 프로그래밍 중에 켜집니다. 프로그래밍 접점은 IDC-06 커넥터에 있으며 핀아웃은 6핀 ISP 커넥터에 대한 ATMEL 표준을 준수합니다.


이 커넥터에는 프로그래밍 가능 장치에 전원을 공급하기 위한 접점이 포함되어 있습니다. 여기서는 컴퓨터의 USB 포트에서 직접 연결되므로 주의하고 합선을 피해야 합니다. 동일한 커넥터는 제어 마이크로 컨트롤러 프로그래밍에도 사용됩니다. 이렇게 하려면 커넥터와 마이크로 컨트롤러의 재설정 핀을 연결하기만 하면 됩니다(다이어그램의 빨간색 점선 참조). 저자의 회로에서는 점퍼를 사용하여 수행하지만 보드를 어수선하게 만들지 않고 제거했습니다. 단일 펌웨어의 경우 간단한 와이어 점퍼로 충분합니다. 보드는 45x18mm 크기의 양면으로 밝혀졌습니다.


프로그래머의 속도를 줄이기 위한 프로그래밍 커넥터와 점퍼가 장치 끝에 위치하므로 매우 편리합니다.


제어 마이크로 컨트롤러의 펌웨어

따라서 장치를 조립한 후 가장 중요한 것은 제어 마이크로 컨트롤러를 플래시하는 것입니다. 아직 LPT 포트가 있는 컴퓨터를 가지고 있는 친구는 이러한 목적에 매우 적합합니다. :)AVR을 위한 가장 간단한 5선 프로그래머
마이크로컨트롤러(29 레그)의 리셋 핀과 커넥터를 연결하여 프로그래밍 커넥터에서 마이크로컨트롤러를 플래시할 수 있습니다. Atmega48, Atmega8 및 Atmega88 모델용 펌웨어가 있습니다. Atmega48 버전에 대한 지원이 중단되고 최신 펌웨어 버전이 2009년 이후이므로 마지막 두 개의 스톤 중 하나를 사용하는 것이 좋습니다. 그리고 8번, 88번 스톤의 버전은 지속적으로 업데이트되고 있으며, 작성자는 기능에 인서킷 디버거를 추가할 계획인 것으로 보입니다. 독일어 페이지에서 펌웨어를 얻습니다. 제어 프로그램을 마이크로 컨트롤러에 업로드하기 위해 PonyProg 프로그램을 사용했습니다. 프로그래밍할 때 크리스털이 12MHz의 외부 클록 소스에서 작동하도록 설정해야 합니다. PonyProg의 퓨즈 점퍼 설정이 포함된 프로그램 스크린샷:


펌웨어를 플래시한 후 마이크로컨트롤러의 레그 23에 연결된 LED가 켜집니다. 이는 프로그래머가 성공적으로 프로그래밍되었으며 사용할 준비가 되었다는 확실한 신호입니다.

드라이버 설치

Windows 7이 설치된 컴퓨터에서 설치가 수행되었으며 문제가 발생하지 않았습니다. 컴퓨터에 처음 연결하면 새 장치가 감지되었음을 알리는 메시지가 나타나 드라이버를 설치하라는 메시지가 나타납니다. 지정된 위치에서 설치를 선택합니다.


장작이 있는 폴더를 선택하고 다음을 클릭하세요.


설치 중인 드라이버에 작은 소프트 드라이버에 대한 디지털 서명이 없다는 경고가 포함된 창이 즉시 나타납니다.


경고를 무시하고 설치를 계속합니다. 잠시 후 드라이버 설치 작업이 성공적으로 완료되었음을 알리는 창이 나타납니다.


이제 프로그래머를 사용할 준비가 되었습니다.

Khazama AVR 프로그래머

프로그래머와 함께 작업하기 위해 저는 Khazama AVR Programmer 플래셔를 선택했습니다. 최소한의 인터페이스를 갖춘 훌륭한 프로그램입니다.


널리 사용되는 모든 AVR 마이크로 컨트롤러와 함께 작동하며 플래시 및 eeprom을 플래시하고, 메모리 내용을 보고, 칩을 지우고, 퓨즈 비트 구성을 변경할 수도 있습니다. 일반적으로 완전히 표준 세트입니다. 퓨즈 설정은 드롭다운 목록에서 클럭 소스를 선택하여 수행되므로 실수로 크리스탈을 잠글 가능성이 크게 줄어듭니다. 퓨즈는 하위 필드에 체크박스를 배치하여 변경할 수도 있지만 존재하지 않는 구성에는 체크박스를 배치할 수 없으며 이는 보안 측면에서도 큰 장점입니다.


짐작할 수 있듯이 Write All 버튼을 누르면 퓨즈가 MK 메모리에 기록됩니다. 저장 버튼은 현재 구성을 저장하고 로드 버튼은 저장된 구성을 반환합니다. 사실, 나는 이 버튼들을 실제로 사용할 수 있는 방법을 찾지 못했습니다. 기본 버튼은 마이크로컨트롤러가 공장에서 제공되는 표준 퓨즈 구성(일반적으로 내부 RC에서 1MHz)을 기록하도록 설계되었습니다.
일반적으로 이 프로그래머를 사용하는 동안 안정성과 작동 속도 측면에서 최고임을 입증했습니다. 오래된 데스크톱 PC와 새 노트북 모두에서 문제 없이 작동했습니다.

PCB 파일 다운로드SprintLayout에서 이 링크를 따라갈 수 있습니다

라디오 아마추어가 마이크로컨트롤러에 회로를 조립하기로 결정한 경우 첫 번째 단계는 무엇입니까? 당연히 프로그래머뿐만 아니라 "펌웨어"라는 제어 프로그램도 필요합니다.

그리고 첫 번째 사항에 문제가 없다면 완성된 "펌웨어"는 일반적으로 회로 작성자가 업로드하지만 프로그래머에게는 상황이 더 복잡해집니다.

기성품 USB 프로그래머의 가격은 상당히 높으며 가장 좋은 솔루션은 직접 조립하는 것입니다. 다음은 제안된 장치의 다이어그램입니다(사진을 클릭할 수 있음).

주요 부분.

MK 설치 패널.

원본 다이어그램은 저자의 허락을 받아 LabKit.ru 웹사이트에서 가져왔습니다. 그에게 많은 감사를 드립니다. 이것은 독점 PICkit2 프로그래머의 소위 복제품입니다. 장치 버전은 독점 PICkit2의 "경량" 복사본이므로 저자는 자신의 개발 이름을 PICkit-2 라이트, 이는 초보자 무선 아마추어를 위한 이러한 장치의 조립 용이성을 강조합니다.

프로그래머는 무엇을 할 수 있나요? 프로그래머를 사용하면 가장 쉽게 사용할 수 있고 널리 사용되는 PIC 시리즈 MCU(PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A 등)와 24LC 시리즈 EEPROM 메모리 칩을 플래시할 수 있습니다. 또한 프로그래머는 USB-UART 변환기 모드에서 작동할 수 있으며 로직 분석기의 일부 기능을 갖습니다. 프로그래머가 갖는 특히 중요한 기능은 일부 MCU(예: PIC12F629 및 PIC12F675)에 내장된 RC 생성기의 교정 상수를 계산하는 것입니다.

필요한 변경.

PICkit-2 Lite 프로그래머를 사용하여 24Cxx 시리즈의 EEPROM 메모리 칩에서 데이터 쓰기/삭제/읽기가 가능하도록 회로에 몇 가지 변경이 필요합니다.

계획에 적용된 변경 사항에서. DD1(RA4)의 핀 6에서 ZIF 패널의 핀 21로 연결이 추가되었습니다. AUX 핀은 24LC EEPROM 메모리 칩(24C04, 24WC08 및 아날로그) 작업에만 사용됩니다. 데이터를 전송하기 때문에 프로그래밍 패널 다이어그램에 "데이터"라는 단어가 표시되어 있습니다. 마이크로 컨트롤러를 프로그래밍할 때 AUX 핀은 일반적으로 사용되지 않지만 LVP 모드에서 MK를 프로그래밍할 때는 필요합니다.

메모리 칩의 SDA와 Vcc 핀 사이에 연결된 2kOhm 풀업 저항도 추가되었습니다.

저자의 원래 다이어그램에 따라 PICkit-2 Lite를 조립한 후 인쇄 회로 기판에서 이러한 모든 수정 사항을 이미 적용했습니다.

24Cxx 메모리 칩(24C08 등)은 가정용 무선 장비에 널리 사용되며, 예를 들어 CRT TV를 수리할 때 플래시를 사용해야 하는 경우도 있습니다. 24Cxx 메모리를 사용하여 설정을 저장합니다.

LCD TV는 다른 유형의 메모리(플래시 메모리)를 사용합니다. 나는 이미 LCD TV의 메모리를 플래시하는 방법에 대해 이야기했습니다. 관심 있는 사람이 있다면 살펴보세요.

24Cxx 시리즈 마이크로회로 작업이 필요했기 때문에 프로그래머를 "마무리"해야 했습니다. 새로 인쇄회로기판을 에칭한 것이 아니고 인쇄회로기판에 필요한 요소만 추가했을 뿐입니다. 이것이 일어난 일입니다.

장치의 핵심은 마이크로 컨트롤러입니다. PIC18F2550-I/SP.

이것은 장치의 유일한 칩입니다. MK PIC18F2550은 "플래시"되어야 합니다. 이 간단한 조작은 소위 "닭과 달걀" 문제가 발생하면서 많은 사람들에게 혼란을 야기합니다. 조금 있다가 제가 어떻게 해결했는지 말씀드리겠습니다.

프로그래머를 조립하기 위한 부품 목록입니다. 모바일 버전에서는 표를 왼쪽으로 드래그(왼쪽에서 오른쪽으로 스와이프)하면 모든 열을 볼 수 있습니다.

이름 지정 등급/매개변수 브랜드 또는 품목 유형
프로그래머의 주요 부분
마이크로컨트롤러 DD1 8비트 마이크로컨트롤러 PIC18F2550-I/SP
바이폴라 트랜지스터 VT1, VT2, VT3 KT3102
VT4 KT361
다이오드 VD1 KD522, 1N4148
쇼트키 다이오드 VD2 1N5817
LED HL1, HL2 3볼트, 빨간색그리고 녹색글로우 색상
저항기 R1, R2 300옴
R3 22kΩ
R4 1k옴
R5, R6, R12 10kΩ
R7, R8, R14 100옴
R9, R10, R15, R16 4.7k옴
R11 2.7k옴
R13 100k옴
커패시터 C2 0.1μ K10-17(세라믹), 수입 유사품
C3 0.47미크론
전해 콘덴서 C1 100uF * 6.3V K50-6, 수입 유사품
C4 47uF * 16V
인덕터(초크) L1 680μH 통합 유형 EC24, CECL 또는 자체 제작
석영 공진기 ZQ1 20MHz
USB 소켓 XS1 USB-BF 유형
점퍼 XT1 모든 유형의 "점퍼"
마이크로 컨트롤러 설치 패널(MK)용
ZIF 패널 XS1 모든 40핀 ZIF 패널
저항기 R1 2k옴 MLT, MON(0.125W 이상의 전력), 수입 아날로그
R2, R3, R4, R5, R6 10kΩ

이제 세부 사항과 목적에 대해 조금 설명합니다.

녹색프로그래머에 전원이 공급되면 LED HL1이 켜지고, 빨간색 HL2 LED는 컴퓨터와 프로그래머 사이에 데이터가 전송될 때 빛납니다.

장치의 다양성과 신뢰성을 제공하기 위해 XS1 유형 "B"(사각형) USB 소켓이 사용됩니다. 컴퓨터는 Type A USB 소켓을 사용합니다. 따라서 연결 케이블의 소켓을 혼동하는 것은 불가능합니다. 이 솔루션은 장치의 신뢰성에도 기여합니다. 케이블이 사용 불가능하게 된 경우 납땜이나 설치 작업을 하지 않고도 쉽게 새 케이블로 교체할 수 있습니다.

680μH 인덕터 L1의 경우 기성품(예: EC24 또는 CECL 유형)을 사용하는 것이 좋습니다. 하지만 완제품을 찾을 수 없다면 스로틀을 직접 만들 수도 있습니다. 이렇게 하려면 CW68 유형 인덕터의 페라이트 코어에 PEL-0.1 와이어를 250~300회전 감아야 합니다. 피드백이 있는 PWM이 있기 때문에 인덕턴스 정격의 정확성에 대해 걱정할 필요가 없다는 점을 고려해 볼 가치가 있습니다.

+8.5~14V의 고전압 프로그래밍(Vpp)용 전압은 키 레귤레이터에 의해 생성됩니다. 여기에는 VT1, VD1, L1, C4, R4, R10, R11 요소가 포함됩니다. PWM 펄스는 PIC18F2550의 핀 12에서 VT1 베이스로 전송됩니다. 피드백은 분배기 R10, R11에 의해 제공됩니다.

ICSP(In-Circuit Serial Program) 모드에서 USB 프로그래머를 사용할 때 프로그래밍 라인의 역전압으로부터 회로 요소를 보호하기 위해 VD2 다이오드가 사용됩니다. VD2는 쇼트키 다이오드입니다. P-N 접합에서의 전압 강하가 0.45V 이하인 상태에서 선택해야 합니다. 또한 VD2 다이오드는 프로그래머가 USB-UART 변환 및 로직 분석기 모드에서 사용될 때 역전압으로부터 요소를 보호합니다.

ICSP를 사용하지 않고 패널에서 마이크로컨트롤러 프로그래밍 전용 프로그래머를 사용하는 경우 VD2 다이오드를 완전히 제거하고(제가 했던 작업입니다) 대신 점퍼를 설치할 수 있습니다.

장치의 컴팩트함은 범용 ZIF 패널(제로 삽입력 - 설치 노력 없음)을 통해 구현됩니다.

덕분에 마이크로컨트롤러를 거의 모든 DIP 패키지에 "하드와이어"할 수 있습니다.

"마이크로컨트롤러(MK) 설치 패널" 다이어그램은 하우징이 다른 마이크로컨트롤러를 패널에 설치하는 방법을 나타냅니다. MK를 설치할 때 칩의 키가 ZIF 패널 잠금 레버 측면에 오도록 패널의 마이크로컨트롤러가 배치되어 있다는 사실에 주의해야 합니다.

18핀 마이크로컨트롤러(PIC16F84A, PIC16F628A 등)를 설치하는 방법은 다음과 같습니다.

그리고 여기에는 8핀 마이크로 컨트롤러(PIC12F675, PIC12F629 등)가 있습니다.

표면 실장 패키지(SOIC)에서 마이크로컨트롤러를 플래시해야 하는 경우 어댑터를 사용하거나 일반적으로 프로그래밍(Vpp, 클록, 데이터, Vcc, GND)에 필요한 5핀을 마이크로컨트롤러에 납땜하면 됩니다.

기사 끝 부분의 링크에서 모든 변경 사항이 포함된 인쇄 회로 기판의 완성된 도면을 찾을 수 있습니다. "인쇄" 모드를 사용하여 Sprint Layout 5.0 프로그램에서 파일을 열면 인쇄 도체 패턴이 있는 레이어를 인쇄할 수 있을 뿐만 아니라 인쇄 회로 기판의 요소 위치도 볼 수 있습니다. DD1의 핀 6과 ZIF 패널의 핀 21을 연결하는 절연 점퍼에 주의하세요. 보드 도면을 인쇄해야 합니다. 거울 이미지에.

LUT 방법을 사용하여 인쇄 회로 기판을 만들 수 있을 뿐만 아니라 tsaponlak(제가 했던 방법) 또는 "연필" 방법을 사용하여 인쇄 회로 기판용 마커를 만들 수 있습니다.

다음은 인쇄 회로 기판의 요소 위치에 대한 그림입니다(클릭 가능).

설치 시 첫 번째 단계는 주석 도금 구리선으로 만든 점퍼를 납땜한 다음 로우 프로파일 요소(저항기, 커패시터, 석영, ISCP 핀 커넥터), 트랜지스터 및 프로그래밍된 MK를 설치하는 것입니다. 마지막 단계는 ZIF 패널, USB 소켓을 설치하고 전선을 절연체(점퍼)로 밀봉하는 것입니다.

PIC18F2550 마이크로컨트롤러의 "펌웨어".

펌웨어 파일 - PK2V023200.hex PIC 마이크로컨트롤러(예: Extra-PIC)를 지원하는 프로그래머를 사용하여 PIC18F2550I-SP MK를 메모리에 작성해야 합니다. 저는 JDM Programmator인 JONIC PROG와 프로그램을 사용했습니다. WinPic800.

동일한 독점 프로그래머 PICkit2 또는 새 버전 PICkit3을 사용하여 PIC18F2550 MCU에 펌웨어를 업로드할 수 있습니다. 당연히 친구 중 한 명이 당신보다 먼저 조립했다면 집에서 만든 PICkit-2 Lite를 사용하여 이 작업을 수행할 수 있습니다 :).

PIC18F2550-I/SP 마이크로컨트롤러의 "펌웨어"(파일 PK2V023200.hex)는 PICkit 2 Programmer 프로그램을 프로그램 자체의 파일과 함께 폴더에 설치할 때 작성됩니다. PK2V023200.hex 파일의 대략적인 위치 - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . PC에 32비트 버전의 Windows가 설치되어 있는 경우 위치 경로가 다릅니다. "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

글쎄, 제안된 방법을 사용하여 "닭고기와 달걀" 문제를 해결할 수 없다면 AliExpress 웹 사이트에서 기성품 PICkit3 프로그래머를 구입할 수 있습니다. 거기 비용이 훨씬 저렴해요. AliExpress에서 부품 및 전자 키트를 구입하는 방법에 대해 썼습니다.

프로그래머 펌웨어 업데이트 중.

진행 상황이 멈추지 않고 때때로 Microchip은 PICkit2, PICkit3 프로그래머를 포함한 소프트웨어 업데이트를 출시합니다. 당연히 직접 만든 PICkit-2 Lite의 제어 프로그램도 업데이트할 수 있습니다. 이를 위해서는 PICkit2 프로그래머 프로그램이 필요합니다. 그것이 무엇이며 어떻게 사용하는지 - 조금 나중에. 그동안 펌웨어 업데이트를 위해 수행해야 할 작업에 대해 몇 마디 말씀드리겠습니다.

프로그래머 소프트웨어를 업데이트하려면 컴퓨터에서 연결이 끊어졌을 때 프로그래머의 점퍼 XT1을 닫아야 합니다. 그런 다음 프로그래머를 PC에 연결하고 PICkit2 Programmer를 시작하십시오. XT1이 닫히면 모드가 활성화됩니다. 부트로더새 펌웨어 버전을 다운로드하려면 그런 다음 PICkit2 프로그래머에서 "도구" - "PICkit 2 운영 체제 다운로드" 메뉴를 통해 이전에 준비한 업데이트된 펌웨어의 16진수 파일을 엽니다. 다음으로 프로그래머 소프트웨어 업데이트 프로세스가 발생합니다.

업데이트 후에는 프로그래머를 PC에서 분리하고 XT1 점퍼를 제거해야 합니다. 일반 모드에서는 점퍼가 열려 있습니다.. PICkit2 프로그래머 프로그램의 "도움말" - "정보" 메뉴를 통해 프로그래머 소프트웨어 버전을 확인할 수 있습니다.

이것은 모두 기술적인 문제에 관한 것입니다. 그리고 이제 소프트웨어에 대해.

프로그래머와 함께 일합니다. PICkit2 프로그래머.

USB 프로그래머를 사용하려면 컴퓨터에 PICkit2 프로그래머 프로그램을 설치해야 합니다. 이 특별한 프로그램은 간단한 인터페이스를 가지고 있으며 설치가 쉽고 특별한 구성이 필요하지 않습니다. MPLAB IDE 개발 환경을 사용하여 프로그래머와 함께 작업할 수 있다는 점은 주목할 가치가 있지만 MK를 플래시/삭제/읽기 위해서는 간단한 프로그램인 PICkit2 Programmer이면 충분합니다. 추천합니다.

PICkit2 Programmer 프로그램을 설치한 후 조립된 USB 프로그래머를 컴퓨터에 연결합니다. 동시에 불이 켜질 것이다 녹색 LED(“전원”)이며 운영 체제는 장치를 다음과 같이 인식합니다. "PICkit2 마이크로컨트롤러 프로그래머" 그리고 드라이버를 설치해 보세요.

PICkit2 프로그래머 프로그램을 실행합니다. 프로그램 창에 비문이 나타납니다.

프로그래머가 연결되어 있지 않으면 프로그램 창에 "무엇을 해야 할까요?"라는 무서운 메시지와 간단한 지침이 표시됩니다. 영어로.

프로그래머가 MK가 설치된 컴퓨터에 연결되어 있으면 프로그램이 시작될 때 이를 감지하고 PICkit2 프로그래머 창에 이에 대해 알려줍니다.

축하해요! 첫 번째 단계가 이루어졌습니다. 그리고 PICkit2 Programmer 프로그램을 사용하는 방법에 대해서는 별도의 글에서 다루었습니다. 다음 단계 .

필수 파일:

    PICkit2 사용자 설명서(러시아어) 또는을 사용하세요.

컴퓨터 기술이 발전함에 따라 COM 및 LPT 포트를 갖춘 컴퓨터의 수가 점점 줄어들고 있습니다. 이는 특히 마이크로 컨트롤러 프로그래밍 도구를 개인용 컴퓨터와 페어링하는 것과 관련된 무선 아마추어에게 어려움을 초래합니다.

이 기사에서는 사용자가 직접 조립할 수 있는 AVR 마이크로컨트롤러용 USB 프로그래머에 대해 설명합니다. Atmega8 마이크로컨트롤러를 기반으로 구축되었으며 컴퓨터의 USB 커넥터에서 작동할 수 있습니다. 이 프로그래머는 STK500 v2와 호환됩니다.

USB 프로그래머 설명

USB 프로그래머는 단면 호일 유리 섬유로 만들어진 보드 위에 제작되었습니다. 보드에는 2개의 점퍼가 있습니다. 하나는 SPI 커넥터 아래에 있고 두 번째 점퍼는 동일한 커넥터 근처에 있습니다.

모든 부품을 밀봉한 후 기사 마지막 부분에 제공된 펌웨어로 Atmega8 마이크로 컨트롤러를 플래시해야 합니다. Atmega8 마이크로 컨트롤러를 프로그래밍할 때 설정해야 하는 퓨즈는 다음과 같습니다.

  • SUT1 = 0
  • 부츠Z1 = 0
  • 부츠Z0 = 0
  • CKOPT = 0
  • 스피엔 = 0

일부 프로그램에서는 퓨즈 설정이 이와 반대 방향으로 설정되어 있다는 점을 기억해야 합니다. 예를 들어, CodeVisionAVR 프로그램에서는 위에서 언급한 퓨즈 옆에 있는 상자를 선택해야 하고, PonyProg 프로그램에서는 그 반대의 확인란을 선택해야 합니다.

컴퓨터의 LPT 포트를 통해 Atmega8 프로그래밍

Atmega8을 프로그래밍하는 가장 빠르고 저렴한 방법은 AVR용 LPT 프로그래머를 사용하는 것입니다. 유사한 다이어그램이 아래에 나와 있습니다.

마이크로컨트롤러는 간단한 78L05 전압 조정기로 전원을 공급받습니다. UniProf 프로그램을 프로그래밍 셸로 사용할 수 있습니다.

프로그램을 처음 켰을 때 컨트롤러가 연결되지 않았을 때 “LPTpins” 버튼을 눌러 LPT 포트 핀을 다음과 같이 구성해야 합니다.

UniProf가 시작되면 자동으로 마이크로컨트롤러 유형을 결정합니다. Atmega8_USB_prog.hex 펌웨어를 UniProf 메모리에 로드하고 EEPROM 파일 연결을 거부합니다.

"FUSE" 버튼을 눌러 퓨즈를 다음과 같이 설정합니다(UniProF 프로그램의 경우).

설정을 기억하려면 "쓰기" 버튼 3개를 모두 누르세요. 그런 다음 "지우기"를 클릭하면 먼저 플래시되는 마이크로 컨트롤러의 메모리가 지워집니다. 그런 다음 "Prog"를 클릭하고 펌웨어가 완료될 때까지 기다립니다.

USB 프로그래머 설정

마이크로컨트롤러를 플래시한 후에는 USB 프로그래머 보드에 설치해야 합니다. 다음으로 프로그래머를 컴퓨터의 USB 포트에 연결하지만 아직 전원을 공급하지 않습니다.

포트 설정:

터미널 설정:

ASCII 설정:

이제 모든 절차가 완료되면 USB 프로그래머에 전원을 공급합니다. HL1 LED가 6번 깜박인 다음 계속 켜져 있어야 합니다.

USB 프로그래머와 컴퓨터 사이의 연결을 확인하려면 하이퍼터미널 프로그램에서 “Enter” 키를 2번 누르십시오. 모든 것이 정상이면 다음 그림이 표시됩니다.

그렇지 않은 경우 설치, 특히 TxD 라인을 다시 확인하십시오.

다음으로 프로그래머 버전 2.10을 입력합니다. 이 버전이 없으면 프로그래머는 "최상위" 프로그램을 사용할 수 없기 때문입니다. 이렇게 하려면 "2"를 입력하고 "Enter"를 누른 다음 "a"(영어)를 입력하고 "Enter"를 누르십시오.

USB 프로그래머는 프로그래밍 가능한 마이크로컨트롤러의 연결을 인식할 수 있습니다. 이는 전원에 대한 재설정 신호의 "풀업"을 모니터링하는 형태로 수행됩니다. 이 모드는 다음과 같이 켜지고 꺼집니다.

  • "0", "Enter" - 모드가 비활성화됩니다.
  • "1", "Enter" - 모드가 활성화됩니다.

프로그래밍 속도 변경(1MHz):

  • "0", "Enter" – 최대 속도.
  • "1", "Enter" – 속도가 감소합니다.

이것으로 준비 작업이 완료되었습니다. 이제 일부 마이크로 컨트롤러를 플래시해 볼 수 있습니다.

(다운로드: 1,203)

어느 날 나는 pic16f628a용 간단한 LC 미터를 조립하기로 결정했고 당연히 무언가로 플래시를 켜야 했습니다. 나는 물리적인 COM 포트가 있는 컴퓨터를 가지고 있었지만 지금은 USB와 pci-lpt-2com 보드만 가지고 있습니다. 우선 간단한 JDM 프로그래머를 조립했지만 결과적으로 pci-lpt-com 보드나 usb-com 어댑터(RS-232 신호의 저전압)와 함께 작동하고 싶지 않았습니다. 그런 다음 서둘러 USB 사진 프로그래머를 찾았지만 결과적으로 모든 것이 값 비싼 pic18f2550/4550 사용으로 제한되어 있었고 당연히 가지고 있지 않았으며 매우 값 비싼 MK를 사용하는 것이 유감입니다. 피크에서는 거의 아무것도하지 않습니다 (나는 av를 선호합니다. 예, 플래시하는 것은 문제가 아니며 훨씬 저렴하며 프로그램을 작성하는 것이 더 쉬운 것 같습니다). EXTRA-PIC 프로그래머와 그 다양한 변형에 대한 많은 기사 중 하나를 인터넷에서 오랫동안 조사한 후 저자 중 한 명이 extrapic이 모든 com 포트 및 심지어 usb-com 어댑터에서도 작동한다고 썼습니다.

이 프로그래머의 회로는 max232 로직 레벨 변환기를 사용합니다.

USB 어댑터를 사용하는 경우 USB에서 RS232 포트의 TTL 신호를 가져올 수 있다면 USB를 usart TTL로, TTL을 RS232로, RS232를 다시 TTL 레벨로 두 번 변환하는 것은 매우 어리석은 일이라고 생각했습니다. usart 변환기 칩.

그래서 나는 그랬다. 저는 CH340G 칩(8개의 COM 포트 신호가 모두 포함되어 있음)을 가져와 max232 대신 연결했습니다. 그리고 이것이 일어났습니다.

제 회로에는 extra peak에 없는 점퍼 jp1이 있는데, TX 출력이 TTL 레벨에서 어떻게 동작할지 모르기 때문에 설치해서 남은 free NAND에서 반전이 가능하도록 만들었습니다. 결과적으로 TX 핀에 논리 요소가 있으므로 전원을 켰을 때 VPP 핀에 12V가 있지만 프로그래밍 중에는 아무 일도 일어나지 않습니다 (소프트웨어에서 TX를 반전시킬 수 있음) .

보드를 조립한 후 테스트 시간이 되었습니다. 그리고 여기에 가장 큰 실망이 왔습니다. 프로그래머는 즉시 식별되어(ic-prog 프로그램을 사용하여) 작업을 시작했지만 매우 느렸습니다! 원칙적으로 - 예상대로. 그런 다음 COM 포트 설정에서 최대 속도(128킬로보드)를 설정하고 JDM에 대해 발견된 모든 프로그램을 테스트하기 시작했습니다. 결과적으로 PicPgm이 가장 빠른 것으로 나타났습니다. 내 pic16f628a는 완전히 플래시(16진수, eeprom 및 구성)되었으며 약 4~6분 동안 확인되었습니다(읽기가 쓰기보다 느림). IcProg도 작동하지만 속도가 느립니다. 프로그래밍 오류가 없었습니다. 나는 또한 eeprom 24c08을 플래시하려고 시도했지만 결과는 동일합니다. 모든 것이 바느질되지만 매우 느립니다.

결론: 프로그래머는 매우 간단하며 값비싼 부품(CH340 - 0.3-0.5 $, k1533la3은 일반적으로 라디오 정크에서 찾을 수 있음)을 포함하지 않으며 모든 컴퓨터, 노트북에서 작동합니다(Windows 8/10에서도 태블릿을 사용할 수 있습니다) ). 단점: 매우 느립니다. 또한 VPP 신호를 위한 외부 전원이 필요합니다. 결과적으로 피크가 드물게 깜박이는 경우 필요한 포트가 있는 고대 컴퓨터가 없는 사람들에게는 반복하기 쉽고 저렴한 옵션인 것 같았습니다.

완성된 장치의 사진은 다음과 같습니다.

노래에 따르면 "나는 그를 원래 있던 것에서 만들었습니다." 부품 세트는 SMD와 DIP 모두 매우 다양합니다.

감히 회로를 반복하려는 사람들에게는 거의 모든 것이 usb-uart 변환기(ft232, pl2303, cp2101 등)로 적합할 것이며 k1533la3 대신 k555가 적합할 것입니다. k155 시리즈 또는 외국 아날로그도 적합할 것입니다. 74als00인 경우 k1533ln1 유형의 논리적 NOT 요소와도 작동할 수 있습니다. 나는 내 자신의 인쇄 회로 기판을 부착하고 있지만 누구나 사용 가능한 요소에 대해 배선을 다시 그릴 수 있습니다.

방사성 원소 목록

지정 유형 명칭 수량 메모가게내 메모장
IC1 CH340G1 메모장으로
IC2 K1533LA31 메모장으로
VR1 선형 레귤레이터

LM7812

1 메모장으로
VR2 선형 레귤레이터

LM7805

1 메모장으로
VT1 바이폴라 트랜지스터

KT502E

1 메모장으로
VT2 바이폴라 트랜지스터

KT3102E

1 메모장으로
VD1-VD3 정류다이오드

1N4148

2 메모장으로
C1, C2, C5-C7 콘덴서100nF5 메모장으로
C3, C4 콘덴서22pF2 메모장으로
HL1-HL4 발광 다이오드어느4 메모장으로
R1, R3, R4 저항기

1k옴

3
2011년 9월 22일 오후 8시 11분

AVR 마이크로컨트롤러용 소형 USB 프로그래머

  • 마이크로컨트롤러 프로그래밍

극장이 옷걸이로 시작되듯이 마이크로컨트롤러 프로그래밍도 좋은 프로그래머를 선택하는 것부터 시작됩니다. 저는 ATMEL에서 마이크로컨트롤러를 마스터하기 시작했기 때문에 제조업체가 제공하는 기능을 철저히 숙지해야 했습니다. 그들은 엄청난 가격으로만 흥미롭고 맛있는 것들을 많이 제공합니다. 예를 들어, 한 쌍의 저항기와 다이오드를 하네스로 사용하는 20개의 다리가 있는 마이크로 컨트롤러 1개를 갖춘 스카프는 "비행기"와 비슷합니다. 따라서 프로그래머의 자체 조립 문제가 발생했습니다. 숙련된 라디오 아마추어의 개발에 대한 오랜 연구 끝에 Atmega8 마이크로 컨트롤러의 두뇌인 잘 입증된 USBASP 프로그래머를 조립하기로 결정했습니다(atmega88 및 atmega48에 대한 펌웨어 옵션도 있음). 마이크로 컨트롤러의 배선을 최소화하면 플래시 드라이브처럼 항상 가지고 다닐 수 있는 아주 작은 프로그래머를 조립할 수 있습니다.

이 프로그래머의 저자는 다이어그램, 인쇄 회로 기판 파일 및 드라이버가 포함된 개발 페이지인 독일인 Thomas Fichl입니다.
소형 프로그래머를 조립하기로 결정한 후 TQFP32 패키지의 Atmega8 마이크로 컨트롤러용 회로를 다시 그렸습니다(마이크로 컨트롤러의 핀아웃은 DIP 패키지의 핀아웃과 다릅니다).

점퍼 J1은 클록 주파수가 1.5MHz 미만인 마이크로컨트롤러를 플래시해야 하는 경우에 사용됩니다. 그런데 이 점퍼는 MK의 25번째 다리를 땅에 놓으면 완전히 제거될 수 있습니다. 그러면 프로그래머는 항상 감소된 주파수에서 작동합니다. 개인적으로 저는 느린 속도로 프로그래밍하는 데 1초도 안되는 시간이 더 걸린다는 것을 알았습니다. 따라서 이제는 점퍼를 당기지 않고 계속 바느질합니다.
제너 다이오드 D1 및 D2는 프로그래머와 USB 버스 간의 레벨을 일치시키는 데 사용되며, 제너 다이오드 없이도 작동하지만 모든 컴퓨터에서 작동하는 것은 아닙니다.
파란색 LED는 회로를 프로그래밍할 준비가 되었음을 나타내며 빨간색 LED는 프로그래밍 중에 켜집니다. 프로그래밍 접점은 IDC-06 커넥터에 있으며 핀아웃은 6핀 ISP 커넥터에 대한 ATMEL 표준을 준수합니다.

이 커넥터에는 프로그래밍 가능 장치에 전원을 공급하기 위한 접점이 포함되어 있습니다. 여기서는 컴퓨터의 USB 포트에서 직접 연결되므로 주의하고 합선을 피해야 합니다. 동일한 커넥터는 제어 마이크로 컨트롤러 프로그래밍에도 사용됩니다. 이렇게 하려면 커넥터와 마이크로 컨트롤러의 재설정 핀을 연결하기만 하면 됩니다(다이어그램의 빨간색 점선 참조). 저자의 회로에서는 점퍼를 사용하여 수행하지만 보드를 어수선하게 만들지 않고 제거했습니다. 단일 펌웨어의 경우 간단한 와이어 점퍼로 충분합니다. 보드는 45x18mm 크기의 양면으로 밝혀졌습니다.

프로그래머의 속도를 줄이기 위한 프로그래밍 커넥터와 점퍼가 장치 끝에 위치하므로 매우 편리합니다.

제어 마이크로 컨트롤러의 펌웨어
따라서 장치를 조립한 후 가장 중요한 것은 제어 마이크로 컨트롤러를 플래시하는 것입니다. 아직 LPT 포트가 있는 컴퓨터를 가지고 있는 친구는 이러한 목적에 매우 적합합니다 :) AVR을 위한 가장 간단한 5선 프로그래머
마이크로컨트롤러(29 레그)의 리셋 핀과 커넥터를 연결하여 프로그래밍 커넥터에서 마이크로컨트롤러를 플래시할 수 있습니다. Atmega48, Atmega8 및 Atmega88 모델용 펌웨어가 있습니다. Atmega48 버전에 대한 지원이 중단되고 최신 펌웨어 버전이 2009년 이후이므로 마지막 두 개의 스톤 중 하나를 사용하는 것이 좋습니다. 그리고 8번, 88번 스톤의 버전은 지속적으로 업데이트되고 있으며, 작성자는 기능에 인서킷 디버거를 추가할 계획인 것으로 보입니다. 독일어 페이지에서 펌웨어를 얻습니다. 제어 프로그램을 마이크로 컨트롤러에 업로드하기 위해 PonyProg 프로그램을 사용했습니다. 프로그래밍할 때 크리스털이 12MHz의 외부 클록 소스에서 작동하도록 설정해야 합니다. PonyProg의 퓨즈 점퍼 설정이 포함된 프로그램 스크린샷:

펌웨어를 플래시한 후 마이크로컨트롤러의 레그 23에 연결된 LED가 켜집니다. 이는 프로그래머가 성공적으로 프로그래밍되었으며 사용할 준비가 되었다는 확실한 신호입니다.

드라이버 설치
Windows 7이 설치된 컴퓨터에서 설치가 수행되었으며 문제가 발생하지 않았습니다. 컴퓨터에 처음 연결하면 새 장치가 감지되었음을 알리는 메시지가 나타나 드라이버를 설치하라는 메시지가 나타납니다. 지정된 위치에서 설치를 선택합니다.

설치 중인 드라이버에 작은 소프트 드라이버에 대한 디지털 서명이 없다는 경고가 포함된 창이 즉시 나타납니다.

경고를 무시하고 설치를 계속합니다. 잠시 후 드라이버 설치 작업이 성공적으로 완료되었음을 알리는 창이 나타납니다.

이제 프로그래머를 사용할 준비가 되었습니다.

Khazama AVR 프로그래머
프로그래머와 함께 작업하기 위해 저는 Khazama AVR Programmer 플래셔를 선택했습니다. 최소한의 인터페이스를 갖춘 훌륭한 프로그램입니다.

널리 사용되는 모든 AVR 마이크로 컨트롤러와 함께 작동하며 플래시 및 eeprom을 플래시하고, 메모리 내용을 보고, 칩을 지우고, 퓨즈 비트 구성을 변경할 수도 있습니다. 일반적으로 완전히 표준 세트입니다. 퓨즈 설정은 드롭다운 목록에서 클럭 소스를 선택하여 수행되므로 실수로 크리스탈을 잠글 가능성이 크게 줄어듭니다. 퓨즈는 하위 필드에 체크박스를 배치하여 변경할 수도 있지만 존재하지 않는 구성에는 체크박스를 배치할 수 없으며 이는 보안 측면에서도 큰 장점입니다.

짐작할 수 있듯이 Write All 버튼을 누르면 퓨즈가 MK 메모리에 기록됩니다. 저장 버튼은 현재 구성을 저장하고 로드 버튼은 저장된 구성을 반환합니다. 사실, 나는 이 버튼들을 실제로 사용할 수 있는 방법을 찾지 못했습니다. 기본 버튼은 마이크로컨트롤러가 공장에서 제공되는 표준 퓨즈 구성(일반적으로 내부 RC에서 1MHz)을 기록하도록 설계되었습니다.
일반적으로 이 프로그래머를 사용하는 동안 안정성과 작동 속도 측면에서 최고임을 입증했습니다. 오래된 데스크톱 PC와 새 노트북 모두에서 문제 없이 작동했습니다.

다음을 사용하여 SprintLayout에서 PCB 파일을 다운로드할 수 있습니다.