1. PIC 프로그래머

내 기사가 일부 무선 아마추어가 디지털 기술에서 마이크로 컨트롤러로의 문턱을 넘는데 도움이 되기를 바랍니다. 인터넷과 아마추어 라디오 잡지에는 많은 프로그래머가 있습니다. 가장 단순한 것부터 매우 꼬인 것까지. 광산은 그다지 복잡하지 않지만 신뢰할 수 있습니다.

프로그래머의 첫 번째 버전은 18 및 28 "핀" PIC 컨트롤러를 프로그래밍하도록 설계되었습니다. 프로그래머는 2007년 라디오 잡지 No. 10의 다이어그램을 기반으로 합니다. 그러나 C7 커패시터를 선택하고 ICprog, PonyProg, WinPic 및 읽기-쓰기 속도의 다양한 버전을 사용한 실험에서는 원하는 결과를 얻지 못했습니다. 매번 성공적인 프로그래밍을 얻을 수 있었습니다. 그리고 이것은 프로그래밍 가능한 미세 회로의 + 5V 전원 공급 장치가 12V 안정기 이후가 아니라 별도로 만들어 질 때까지 계속되었습니다. 그런 계획이 나왔습니다.

실패가 두려워 보드가 Com-port에 직접 삽입되도록 인장을 그렸습니다. 온갖 "끈"과 케이스와의 거리가 멀기 때문에 쉽지 않습니다. 불규칙한 모양의 시그넷으로 밝혀졌지만 정상적으로 COM 포트에 삽입되어 오류 없이 프로그램됩니다.

시간이 지남에 따라 약 1m 길이의 연장 코드를 만들었습니다. 이제 프로그래머는 모니터 옆에 누워 COM 포트에 연결됩니다. 잘 작동: PIC16F84A, PIC16F628A, PIC16F873A 마이크로컨트롤러는 여러 번 프로그래밍되었습니다.

참고: Max 칩과 LED는 인쇄된 도체의 측면에 설치됩니다. 소켓 - ZIF-28, 그 중 하나는 18핀 PIC에 사용됩니다. 패널에는 첫 번째 다리와 숫자 "18" 및 "28"이 표시되어 있습니다. 220 15볼트, 4와트 변압기가 어댑터 플러그 하우징에 설치됩니다. 소켓에 마이크로컨트롤러를 설치한 후 콘센트에 연결해야 합니다. NPN 트랜지스터 to-92 패키지의 저전력 고주파(300MHz).

임시로 XP 커넥터를 설치하지 않았더니 특별히 필요하지 않은 것으로 나타났습니다. 어떻게든 납땜된 MK를 프로그래밍해야 했기 때문에 전선을 ZIF에 직접 삽입하고 고정했습니다. 재프로그래밍에 성공했습니다.

ICprog 및 WinPic-800 프로그램으로 작업합니다.

IC-prog 1.05D에서 다음 설정프로그램 제작자:

  • 프로그래머 – JDM 프로그래머
  • 포트 -Com1
  • 포트에 대한 직접 액세스.
  • 반전: 입력, 출력 및 클럭(틱).

WinPic-800 –v.3.64f에서는 모든 것이 동일하지만 MCLR을 사용하려면 "새"를 설정해야 합니다.

인터넷에서 이러한 프로그램을 무료로 다운로드할 수 있습니다. 그러나 삶을 더 쉽게 만들기 위해 필요한 모든 것을 첨부하려고 노력할 것입니다. 나는 방금 인터넷에서 얼마나 많은 "쓸모없는 것들"을 다운로드했으며이 모든 것을 해체하는 데 얼마나 많은 시간을 보냈는지 기억했습니다.

  • PCB 프로그래머
  • WinPic-800 프로그램( )
  • IC-Prog() 프로그램
  • IC-Prog에 대한 기사.

2. PIC 컨트롤러용 PROGRAMMER-2

시간이 지남에 따라 14개 및 40개의 "핀" 피크를 프로그래밍해야 했습니다. 나는 PIC의 전체 평균 가족을 위한 프로그래머를 만들기로 결정했습니다. 구성표는 동일하며 두 개의 패널만 추가되었습니다. 이 모든 것이 이전 멀티미터의 케이스에 들어 있습니다.

2014년 2월 13일에 인쇄 회로 기판이 수정되었습니다. RS232 커넥터의 5번째 핀에서 트랙은 마이너스 전원 공급 장치로 이동합니다(이전 공급 장치에서는 MAX 미세 회로의 6번째 핀까지). "programer2-2"의 새 인장.

하나의 KREN-ku를 저장할 수 있습니다. 저것들. 하나의 5 볼트 안정기에서 전체 회로를 연결하십시오. VR3, C9를 설치하지 말고 점퍼(다이어그램에서 점선으로 표시)를 설치하십시오. 그러나 나는 아직 Krenka를 마시지 않았습니다. 반복적으로 프로그래밍된 PIC16F676, 628A, 84A 및 873A. 그러나 아직 877을 시도하지 않았습니다.

일부 커패시터는 인쇄된 도체의 측면에 설치됩니다. 롤은 수평 위치에 있습니다. 도체를 깔지 않기 위해 C7 - 2개와 R12 - 3개를 설치했습니다.

매우 중요: RS232 커넥터의 하우징은 마이너스 전원 공급 장치에 연결해야 합니다.

전원(15V) 및 프로그램은 첫 번째 버전과 동일합니다.

라디오 요소 목록

지정 유형 명칭 수량 메모점수내 메모장
반응식 1
DD1 RS-232 인터페이스 IC

MAX232E

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

2N3904

4 TO-92 메모장으로
VDS1 다이오드 브리지

DB157

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

1N4148

1 메모장으로
VR1, VR3 선형 레귤레이터

L7805AB

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

KA78R12C

1 메모장으로
C1 470미크로포맷 35V1 메모장으로
C2, C3, C5, C6 전해 콘덴서10미크로포맷 50V4 메모장으로
C4, C8 전해 콘덴서470uF 16V2 메모장으로
C7 전해 콘덴서1미크로포맷 25V1 메모장으로
C11 콘덴서0.1mF1 메모장으로
R1, R7 저항기

10k옴

2 메모장으로
R2 저항기

470옴

1 메모장으로
R3, R5, R11 저항기

4.7k옴

3 메모장으로
R4, R10 저항기

2k옴

2 메모장으로
R6, R8, R9 저항기

1k옴

3 메모장으로
R12 저항기

240옴

1 메모장으로
HL1 발광 다이오드 1 빨간색 메모장으로
HL2 발광 다이오드 1 녹색 메모장으로
반응식 2
DD1 RS-232 인터페이스 IC

MAX232E

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

2N3904

4 TO-92 메모장으로
VDS1 다이오드 브리지

DB157

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

1N4148

1 메모장으로
VR1, VR3 선형 레귤레이터

L7805AB

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

KA78R12C

1 메모장으로
C1, C2, C4, C5 콘덴서10미크로포맷 50V4 메모장으로
C3 전해 콘덴서470미크로포맷 35V1 메모장으로
C6, C9 전해 콘덴서470uF 16V2 메모장으로
C7.1-C7.3 콘덴서0.1uF3

일단 pic16f628a에 간단한 LC 미터를 조립하기로 결정하고 당연히 무언가로 깜박여야 했습니다. 예전에는 물리적 COM 포트가 있는 컴퓨터가 있었지만 지금은 USB와 pci-lpt-2com 보드만 사용할 수 있습니다. 우선 간단한 JDM 프로그래머를 조립했지만 결과적으로 pci-lpt-com 보드나 usb-com 어댑터(RS-232 신호의 저전압)와 함께 작동하고 싶지 않았습니다. 그러다가 급히 usb pic 프로그래머를 찾아다녔는데, 거기다 보니 원래 없던 고가의 pic18f2550 / 4550만 사용하게 되었고, 거의 사용하지 않는 경우에 이렇게 비싼 MK를 사용하게 되어 안타깝습니다. 정점에 있는 것(저는 Avrs를 선호합니다. 플래시하는 것은 문제가 되지 않으며 훨씬 저렴하고 프로그램을 작성하는 것이 더 쉬운 것 같습니다). EXTRA-PIC 프로그래머와 그 다양한 옵션에 대한 많은 기사 중 하나에서 인터넷에서 오랫동안 파헤친 후 저자 중 한 명은 extrapic이 모든 com 포트 및 USB-com 어댑터에서도 작동한다고 썼습니다.

이 프로그래머의 체계는 max232 논리 레벨 변환기를 사용합니다.

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

그리고 그는 그렇게 했습니다. CH340G 칩(8개의 통신 포트 신호가 모두 있음)을 max232 대신 연결했습니다. 그리고 그 일이 일어났습니다.

내 회로에는 추가 피크가 아닌 점퍼 jp1이 있습니다. TTL 레벨에서 TX 출력이 어떻게 동작할지 모르기 때문에 넣었습니다. 그래서 나머지 자유 NAND 요소에서 반전할 수 있게 했습니다. TX 핀은 논리적인 핀이므로 전원을 켤 때 VPP 핀에 12볼트가 있으며 프로그래밍 중에는 아무 일도 일어나지 않습니다(프로그래밍 방식으로 TX를 반전할 수 있음).

보드를 조립한 후 테스트할 차례입니다. 그리고 가장 큰 실망이 찾아왔습니다. 프로그래머는 즉시(ic-prog 프로그램으로) 결정되어 벌었지만 매우 느렸습니다! 기본적으로 예상할 수 있습니다. 그런 다음 내가 설정한 com 포트 설정에서 최고 속도(128 킬로보드) JDM에 대해 발견된 모든 프로그램을 테스트하기 시작했습니다. 결과적으로 PicPgm이 가장 빠른 것으로 판명되었습니다. 내 pic16f628a가 완전히 플래시되었고(hex, eeprom 및 config) 약 4-6분 정도 검증이 완료되었습니다(게다가 읽기는 쓰기보다 느림). IcProg도 작동하지만 느립니다. 프로그래밍 오류는 없었습니다. 나는 또한 eeprom 24c08을 플래시하려고 시도했지만 결과는 동일합니다. 모든 것이 재봉되지만 매우 느립니다.

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

다음은 완성된 장치의 사진입니다.

노래가 말하듯이 "나는 그에게 있는 것을 눈멀게 했다." 부품 세트는 smd와 DIP 모두 가장 다양합니다.

감히 그 계획을 반복하는 사람들을 위해 거의 모든 것 (ft232, pl2303, cp2101 등)이 usb-uart 변환기로 적합합니다. 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

이제 마이크로컨트롤러를 연구하고 프로그래밍할 때입니다. 또한 마이크로컨트롤러에 장치를 조립하고 싶었습니다. 그 회로는 현재 인터넷에 있습니다. 음, 그냥 바다입니다. 글쎄, 우리는 회로를 발견하고 컨트롤러를 구입하고 펌웨어를 다운로드했습니다 .... 그리고 무엇으로 깜박입니까 ??? 그리고 여기 마이크로 컨트롤러를 마스터하기 시작하는 무선 아마추어에게 질문이 생깁니다. 프로그래머의 선택입니다! 다양성 - 회로의 단순성 - 신뢰성 측면에서 최상의 옵션을 찾고 싶습니다. "브랜드" 프로그래머와 그 아날로그는 프로그래밍해야 하는 동일한 마이크로 컨트롤러를 포함하는 다소 복잡한 회로로 인해 즉시 제외되었습니다. 즉, "악순환"이 나타납니다. 프로그래머를 만들기 위해서는 프로그래머가 필요합니다. 그래서 검색과 실험이 시작되었습니다! 처음에는 PIC JDM이 선택했습니다. 이 프로그래머는 com 포트에서 작동하며 거기에서 전원이 공급됩니다. 시도되었습니다 이 옵션, 별도의 전원 공급 장치로 10개의 컨트롤러 중 4개를 자신 있게 프로그래밍하여 상황이 개선되었지만 일부 컴퓨터에서는 아무 것도 하기를 거부했으며 "바보"로부터 보호하지 못합니다. 다음으로 Pony-Prog 프로그래머에 대해 공부했습니다. 원칙적으로는 JDM과 거의 동일하며, Pony-prog 프로그래머는 간단한 회로, 포럼, 인터넷과 관련하여 컴퓨터 com 포트에 의해 구동되며 하나 또는 다른 마이크로 컨트롤러를 프로그래밍 할 때 실패에 대한 질문이 매우 자주 있습니다. 결과적으로 "Extra-PIC" 모델이 선택되었습니다. 나는 다이어그램을 보았습니다-매우 간단하고 유능합니다! 입력에는 RS-232 직렬 포트 신호를 다음에서 사용하기에 적합한 신호로 변환하는 MAX 232가 있습니다. 디지털 회로 TTL 또는 CMOS 레벨을 사용하면 RS232 작동 표준을 사용하므로 전류에 의해 컴퓨터 COM 포트에 과부하가 걸리지 않으며 COM 포트에 위험을 초래하지 않습니다.여기가 첫 번째 플러스입니다!
표준(±12v; ±10v) 및 비표준 COM 포트, 저전압 신호 라인, 최대 ±5v가 있는 일부 최신 노트북 모델의 모든 COM 포트와 함께 작동합니다. 공통 프로그램 IC-PROG, PonyProg, WinPic 800(WinPic800) 및 기타 프로그램 지원 - 세 번째 플러스!
그리고 그것은 모두 자체 전원으로 구동됩니다!
결정되었습니다 - 수집해야 합니다! 그래서 잡지 Radio 2007 No. 8에서 이 프로그래머의 수정된 버전이 발견되었습니다. 두 가지 모드에서 마이크로컨트롤러를 프로그래밍할 수 있습니다.
PICmicro 마이크로컨트롤러를 프로그래밍 모드로 전환하는 두 가지 방법이 있습니다.
1. 공급 전압 Vcc가 켜진 상태에서 전압 Vpp(-MCLR 핀에서)를 0에서 12V로 올립니다.
2. Vcc를 끈 상태에서 Vpp를 0에서 12V로 올린 다음 Vcc를 켭니다.
첫 번째 모드는 주로 초기 개발 장치를 위한 것으로 -MCLR 핀의 구성에 제한을 가합니다. 이 경우 초기 설정 신호의 입력으로만 사용할 수 있으며 많은 마이크로컨트롤러에서 이 핀을 돌릴 수 있습니다 포트 중 하나의 일반 라인으로. 이것은 이 프로그래머의 또 다른 장점입니다. 다이어그램은 다음과 같습니다.

더 크게
모든 것은 브레드보드에 조립되고 테스트되었습니다. 모든 것이 잘 작동하고 안정적이며 결함이 발견되지 않았습니다!
이 프로그래머의 인장이 그려졌습니다.
depositfiles.com/files/mk49uejin
모든 것이 열린 케이스에 조립되었으며 사진은 아래에 있습니다.




연결 케이블은 8코어 케이블 및 표준 Komovsky 커넥터의 세그먼트와 독립적으로 만들어졌으며 제로 모뎀 커넥터는 여기에서 작동하지 않습니다. 즉시 경고합니다! 케이블 조립은 신중하게 이루어져야하며 미래에 두통을 즉시 제거해야합니다. 케이블의 길이는 1.5미터를 넘지 않아야 합니다.
케이블 사진


따라서 프로그래머가 조립되고 케이블도 조립되었으며 작동 가능성, 결함 및 오류 검색에 대해 이 모든 경제를 점검할 때입니다.
먼저 개발자 웹사이트 www.ic-prog.com에서 다운로드할 수 있는 IC-prog 프로그램을 설치하고 별도의 디렉토리에 압축을 풉니다. 결과 디렉토리에는 세 개의 파일이 포함되어야 합니다.
icprog.exe - 프로그래머 셸 파일.
icprog.sys - Windows NT, 2000, XP에서 작동하는 데 필요한 드라이버. 이 파일은 항상 프로그램 디렉토리에 있어야 합니다.
icprog.chm - 도움말 파일.
설치, 이제 구성해야 합니다.
이를 위해:
1.(Windows XP 전용): 마우스 오른쪽 버튼으로 클릭 icprog.exe 파일을 클릭합니다. 속성 >> 호환성 탭 >> "다음의 호환성 모드에서 이 프로그램 실행:" 옆의 확인란을 선택하고 >> "Windows 2000"을 선택합니다.
2. icprog.exe 파일을 실행합니다. "설정" >> "옵션" >> "언어" 탭을 선택하고 >> 언어를 "러시아어"로 설정하고 "확인"을 클릭합니다.
"지금 IC-Prog를 다시 시작해야 합니다"라는 문구에 동의합니다("확인" 클릭). 프로그래머 셸이 다시 시작됩니다.
설정" >> "프로그래머

1. 설정을 확인하고 사용 중인 COM 포트를 선택하고 "확인"을 클릭합니다.
2. 다음으로 "설정" >> "옵션" >> "일반" 탭 선택 >> "켜기. NT/2000/XP 드라이버" >> "확인" 클릭 >> 이전에 시스템에 드라이버가 설치되지 않은 경우 나타나는 창 "확인"에서 "확인"을 클릭합니다. 드라이버가 설치되고 프로그래머 셸이 다시 시작됩니다.
메모:
매우 빠른 컴퓨터의 경우 I/O 대기 시간 설정을 늘려야 할 수 있습니다. 이 매개변수를 높이면 프로그래밍의 신뢰성이 증가하지만 마이크로 회로를 프로그래밍하는 데 소요되는 시간도 늘어납니다.
3. "설정" >> "옵션" >> "I2C" 탭 선택 >> "MCLR을 VCC로 활성화" 및 "블록 녹화 활성화" 확인란을 선택하고 "확인"을 클릭합니다.
4. "설정" >> "옵션" >> "프로그래밍" 탭 선택 >> "프로그래밍 후 확인" 항목의 선택을 취소하고 "프로그래밍 중 확인" 상자를 선택합니다. 확인을 클릭합니다.
여기가 설정되었습니다!
이제 IC-prog를 사용하여 프로그래머를 테스트하고 싶습니다. 여기 모든 것이 간단합니다.
다음으로 IC-PROG 프로그램의 메뉴에서 다음을 실행합니다. 설정 >> 프로그래머 테스트

테스트 방법론의 각 항목을 실행하기 전에 위 그림과 같이 모든 "필드"를 원래 위치로 설정하는 것을 잊지 마십시오(모든 "틱"은 선택 취소됨).
1. "켜기" 필드에서 "체크"를 설정합니다. Data Out”과 동시에 “Data Input” 필드에 “Tick”이 나타나야 하고 X2 커넥터의 접점(DATA)에 로그 레벨이 설정되어야 합니다. "1"(최소 +3.0볼트). 이제 X2 커넥터의 접점(DATA)과 접점(GND)을 서로 닫고 접점이 닫혀 있는 동안 "Data Input" 필드의 표시가 사라져야 합니다.
2. "켜기" 필드에서 "틱"을 설정할 때. Clocking”, X2 커넥터의 접점(CLOCK)에서 로그 레벨을 설정해야 합니다. "하나". (+3.0볼트 이상).
3.필드 "켜기"에서 "틱"을 설정할 때. Reset(MCLR) ", X3 커넥터의 접점(VPP)에서 레벨은 +13.0 ... +14.0 볼트로 설정되어야 하고 D4 LED(보통 빨간색)가 켜져야 합니다. 모드 스위치가 설정된 경우 위치 1에 HL3 LED가 켜집니다.
테스트하는 동안 신호가 통과하지 못하면 컴퓨터의 COM 포트에 연결하는 케이블을 포함하여 이 신호의 전체 경로를 주의 깊게 확인해야 합니다.
EXTRAPIC 프로그래머의 데이터 채널 테스트:
1. DA1 칩의 13개 출력: -5 ~ -12볼트의 전압. "틱"을 설정할 때: +5 ~ +12 볼트.
2. Da1 칩의 12개 출력: 전압 +5 볼트. 확인란을 선택할 때: 0볼트.
3. 6 출력 칩 DD1: 전압 0볼트. "틱"을 설정할 때: +5볼트.
3. 1 및 2 출력 칩 DD1: 전압 0볼트. "틱"을 설정할 때: +5볼트.
4. 3개의 출력 칩 DD1: 전압 +5볼트. 확인란을 선택할 때: 0볼트.
5. DA1 칩의 14개 출력: -5 ~ -12볼트의 전압. "틱"을 설정할 때: +5 ~ +12 볼트.
모든 테스트가 성공적이면 프로그래머가 작동할 준비가 된 것입니다.
마이크로컨트롤러를 프로그래머에 연결하려면 적절한 소켓을 사용하거나 ZIF 소켓 기반 어댑터를 만들 수 있습니다(예: radiokot.ru/circuit/digital/pcmod/18/).
이제 ICSP에 대한 몇 마디 - 인-서킷 프로그래밍
PIC 컨트롤러.
장치 보드에서 ICSP를 사용할 때 프로그래머를 연결할 수 있는 가능성을 제공해야 합니다. ICSP를 사용하여 프로그래밍할 때 5개의 신호 라인을 프로그래머에 연결해야 합니다.
1. GND(VSS) - 공통 와이어.
2. VDD(VCC) - 플러스 공급 전압
3. MCLR"(VPP) - 마이크로컨트롤러 리셋 입력/프로그래밍 전압 입력
4. RB7(DATA) - 프로그래밍 모드의 양방향 데이터 버스
5. RB6(CLOCK) 프로그래밍 모드에서 클럭 입력
마이크로 컨트롤러의 나머지 핀은 회로 내 프로그래밍 모드에서 사용되지 않습니다.
DIP18 패키지의 PIC16F84 마이크로컨트롤러에 ICSP를 연결하기 위한 옵션:

1. 라인 MCLR"은 ICSP(회로 내 프로그래밍) 모드에서 열리는 점퍼 J2에 의해 장치 회로에서 분리되어 MCLR 출력을 프로그래머의 독점 제어로 전송합니다.
2. ICSP 프로그래밍 모드의 VDD 라인은 점퍼 J1에 의해 장치 회로에서 분리됩니다. 이것은 소자 회로에 의한 VDD 라인의 전류 소모를 피하기 위해 필요합니다.
3. 라인 RB7(프로그래밍 모드의 양방향 데이터 버스)은 공칭 값이 1kOhm 이상인 저항 R1을 사용하여 장치 회로의 전류에 의해 절연됩니다. 이와 관련하여 이 라인이 제공하는 최대 유입/배출 전류는 저항 R1에 의해 제한됩니다. 최대 전류를 제공해야 하는 경우 저항 R1을 점퍼로 교체해야 합니다(VDD의 경우와 같이).
4. 라인 RB6(프로그래밍 모드의 PIC 동기화 입력)과 RB7은 최소 1kOhm의 공칭 값으로 저항 R2에 의해 장치 회로에서 전류가 분리됩니다. 따라서 이 라인이 제공하는 최대 싱킹/싱킹 전류는 저항 R2에 의해 제한됩니다. 최대 전류를 제공해야 하는 경우 저항 R2를 점퍼로 교체해야 합니다(VDD의 경우와 같이).
PIC 컨트롤러용 ICSP 핀 위치:


이 다이어그램은 참조용일 뿐이며 마이크로컨트롤러의 데이터시트에서 프로그래밍 결론을 명확히 하는 것이 좋습니다.
이제 IC-prog 프로그램에서 마이크로컨트롤러의 펌웨어를 고려하십시오. 여기에서 rgb73.mylivepage.ru/wiki/1952/579의 구성 예를 고려할 것입니다.
다음은 장치 다이어그램입니다.


여기 펌웨어가 있습니다
PIC12F629 컨트롤러를 깜박입니다. 이 마이크로컨트롤러는 작업을 위해 osccal 상수를 사용합니다. 이는 MK의 내부 발진기의 16진수 교정 값으로, MK가 프로그램을 실행할 때 이를 보고하는 시간은 마지막 피크 데이터 셀에 기록됩니다. 이 마이크로 컨트롤러를 프로그래머에 연결합니다.
아래 스크린샷은 IC-prog 프로그램의 작업 순서를 빨간색 숫자로 보여줍니다.


1. 마이크로 컨트롤러 유형 선택
2. "칩 읽기" 버튼을 누릅니다.
코드 창에서 맨 마지막 셀은 이 컨트롤러. 각 컨트롤러에는 고유한 상수가 있습니다. ! 지우지 말고 종이에 적어서 칩에 붙이세요!
우리는 더 나아가


3. "파일 열기 ..." 버튼을 누르고 펌웨어를 선택하십시오. 창에서 프로그램 코드펌웨어 코드가 나타납니다.
4. 코드 끝으로 내려가서 마지막 셀을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 "편집 영역"을 선택하고 "16진수" 필드에 적어 둔 상수 값을 입력하고 "확인"을 클릭합니다. .
5. "칩 프로그래밍"을 클릭합니다.
프로그래밍 프로세스가 시작되고 모든 것이 잘되면 프로그램에 해당 알림이 표시됩니다.
프로그래머에서 칩을 꺼내어 조립된 레이아웃에 삽입합니다. 우리는 전원을 켭니다. 시작 버튼을 누르면 만세! 플래셔 작동 영상입니다
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
정리했습니다. 하지만 파일이 있다면 어떻게 될까요? 소스 코드 asm 어셈블러에 있지만 16진수 펌웨어 파일이 필요합니까? 여기에 컴파일러가 필요합니다. 그리고 그것은 - 이것은 Mplab입니다. 이 프로그램에서는 펌웨어를 작성하고 컴파일할 수 있습니다. 다음은 컴파일러 창입니다.


MPlab 설치
설치된 Mplab에서 MPASMWIN.exe 프로그램을 찾습니다. 일반적으로 Microchip - MPASM Suite - MPASMWIN.exe 폴더에 있습니다.
실행해 봅시다. (4) 찾아보기 창에서 (1) .asm 소스 코드를 찾고 (5) 프로세서 창에서 마이크로컨트롤러를 선택하고 조립을 클릭하면 펌웨어가 소스 코드를 지정한 동일한 폴더에 나타납니다. 그것!
이 기사가 PIC 컨트롤러를 마스터하는 초보자에게 도움이 되기를 바랍니다! 행운을 빕니다!

나는 AVR이 있는 마이크로컨트롤러와 친분을 쌓기 시작했습니다. 당분간 PIC 마이크로컨트롤러 - 우회. 그러나 그럼에도 불구하고 그들은 또한 독특하고 반복하기에 흥미로운 디자인을 가지고 있습니다! 그러나 이러한 마이크로컨트롤러도 플래시해야 합니다. 나는 주로 나 자신을 위해 이 글을 쓰고 있다. 기술을 잊지 않기 위해 문제와 무의미한 시간 손실없이 PIC 마이크로 컨트롤러를 플래시하는 방법.

PIC 마이크로컨트롤러 또는 간단한 JDM 프로그래머를 프로그래밍하는 방법

첫 번째 회로의 경우 - 인터넷에서 찾은 회로에 따라 PIC 프로그래머를 만들기 위해 오랫동안 열심히 노력했지만 아무 일도 일어나지 않았습니다. 부끄러운 일이지만 MK를 플래시하기 위해 친구에게 의지해야했습니다. 그러나 이것은 요점이 아닙니다-지인을 끊임없이 돌아 다니는 것입니다! 같은 친구가 COM 포트에서 작동하는 간단한 구성표도 조언했습니다. 하지만 조립을 해도 여전히 작동하지 않았습니다. 결국, 프로그래머를 모으는 것만으로는 충분하지 않습니다. 또한 우리가 플래시할 프로그램도 설정해야 합니다. 그리고 이것은 정확히 내가 얻지 못한 것입니다. 인터넷상의 모든 지침과 그 중 일부는 나를 도왔습니다 ...

그런 다음 하나의 마이크로 컨트롤러를 플래시하는 데 성공했습니다. 하지만 시간이 많이 부족한 상황에서 플래싱을 하고 있었기 때문에 적어도 지침에 대한 링크를 저장할 생각은 하지 않았습니다. 그리고 결국, 나는 그것을 나중에 찾지 못했습니다. 따라서 나는 반복합니다 - 나는 내 자신의 지침을 얻기 위해 기사를 쓰고 있습니다.

그래서, PIC 마이크로컨트롤러를 위한 프로그래머. 5선이 아닌 심플하지만 AVR 마이크로컨트롤러내가 오늘날에도 사용하는 것. 다음은 다이어그램입니다.

여기 인쇄 회로 기판 ().

COM 커넥터는 핀으로 패드에 직접 납땜됩니다(가장 중요한 것은 번호 매기기와 혼동하지 않는 것입니다). 두 번째 줄의 핀은 작은 점퍼로 보드에 연결되어 있습니다. 사진을 드리려고 합니다...무섭긴 해도(지금은 일반 카메라가 없어요).
가장 악랄한 것은 PIC 마이크로컨트롤러의 경우 펌웨어에 12볼트가 필요하다는 것입니다. 그리고 12가 아니라 조금 더 좋습니다. 13. 또는 13.5 (그런데 전문가 - 내가 틀렸다면 의견에서 수정하십시오. 제발.). 12볼트는 여전히 어딘가에서 얻을 수 있습니다. 13은 어디있나요? 방금 상황에서 벗어났습니다. 12.6볼트의 새로 충전된 리튬 폴리머 배터리를 가져갔습니다. 글쎄, 또는 16볼트의 4셀 배터리(이 방법으로 하나의 PIC를 깜박임 - 문제 없음).

그러나 나는 다시 빗나간다. 그래서 - 펌웨어 PIC 마이크로컨트롤러에 대한 지침. 우리는 WinPIC800 프로그램을 찾고 있습니다(불행히도 간단하고 인기 있는 icprog는 저에게 적합하지 않았습니다). 그리고 스크린샷과 같이 구성합니다.

그런 다음 펌웨어 파일을 열고 마이크로 컨트롤러를 연결하고 플래시하십시오.

제안된 프로그래머는 라디오 잡지 No. 2, 2004, "Programming modern PIC16, PIC12 on PonyProg"의 출판물을 기반으로 합니다. 이것은 집에서 PIC 칩을 플래시하는 데 사용한 첫 번째 프로그래머입니다. 프로그래머는 JDM 프로그래머의 단순화된 버전이며, 원래 회로에는 MAX232 칩 형태의 RS-232-TTL 변환기가 있으며 더 다양하지만 "무릎에" 조립할 수는 없습니다. 이 계획에는 활성 성분, 희소 부품을 포함하지 않으며 매우 간단하며 인쇄 회로 기판을 사용하지 않고 조립할 수 있습니다.

쌀. 하나: 회로도프로그램 제작자.

계획에 대한 설명
프로그래머의 계획은 그림 1에 나와 있습니다. 1. CLK(클로킹), DATA(정보), Upp(프로그래밍 전압) 회로의 저항은 흐르는 전류를 제한하는 역할을 합니다. PIC 컨트롤러내장된 제너 다이오드에 의해 고장으로부터 보호되므로 TTL 및 RS-232 로직의 일부 호환성이 확보됩니다. 제시된 회로에는 양의 전압을 "제거"하는 다이오드 VD1, VD2가 있습니다. COM 포트핀 5와 관련하여 컨트롤러의 전원 공급 장치로 전송하여 경우에 따라 추가 전원을 제거 할 수 있습니다.

설립
실제로 이 프로그래머가 처음부터 조정 없이 작업하는 것은 항상 발생하지 않습니다. 이 구성표의 작동은 COM 포트의 매개변수에 크게 의존합니다. 그러나 나는 두 명의 산모에게 기가바이트 보드 XP에서 8IPE1000 및 WinFast는 모든 것이 즉시 작동했습니다. 작동하지 않고 더 복잡한 프로그래머 회로를 다루기에는 너무 게으르다면 이 회로를 조립해야 합니다. 영향을 줄 수 있는 몇 가지 사항은 다음과 같습니다.

최신 매트. 보드의 경우 개발자는 이러한 포트에 관심을 덜 기울입니다. 이러한 포트는 오랫동안 사용되지 않았기 때문입니다. USB-COM 어댑터를 구입하면 이 문제를 해결할 수 있지만 구입한 장치가 적합하지 않을 수 있습니다. 필수 매개변수는 다음과 같습니다. 가변 전압커넥터의 5번째 핀을 기준으로 최소 -10V에서 +10V(log. 0 및 1)로 변경해야 합니다. 출력 전류는 최소한 2.7kΩ 저항이 5번째 핀과 테스트 중인 핀 사이에 연결될 때 전압이 10V 아래로 떨어지지 않도록 해야 합니다(나는 그런 보드를 본 적이 없습니다). 또한 포트는 0V에 가깝지만 2V 이하의 전압 레벨에서 컨트롤러에서 오는 전압을 올바르게 결정해야 하며, 따라서 2V 이상에서는 1이 감지됩니다.

또한 소프트웨어에서 문제가 발생할 수 있습니다.
이것은 특히 LINUX OS에 해당됩니다. 와인과 같은 에뮬레이터가 있기 때문에 VirtualBox 포트가 제대로 작동하지 않을 수 있으며 많은 기능이 필요합니다. 이 문제에 대해서는 다른 기사에서 더 자세히 다루겠습니다.

이러한 기능을 알고 빌드를 시작하겠습니다.
이를 위해 ICProg 1.05D 프로그램이 있는 것이 매우 바람직합니다.
프로그램 메뉴에서 먼저 설정 관련 항목을 선택해야 합니다. 포트(COM1. COM2)에서 JDM 프로그래머를 선택합니다. 그런 다음 "설정" 메뉴에서 "하드웨어 검사" 창을 엽니다. 이 메뉴에서는 체크박스를 차례로 체크하고 연결된 커넥터의 접점에서 전압계로 전압을 측정해야 합니다. 전압 매개 변수가 표준과 일치하지 않으면 불행히도 이것이 작동 불능의 원인이 될 수 있으므로 RS-232 TTL 변환기로 회로를 조립해야 합니다. 모든 확인란을 선택한 후 제너 다이오드에 약 5V의 공급 전압이 형성되어 있는지 확인해야 합니다. 전압이 정상이고 설치 오류가 없으면 모든 것이 작동해야 합니다. 컨트롤러를 소켓에 넣고 펌웨어를 열고 프로그래밍합니다. "Invert data out"과 같은 확인란은 활성화할 필요가 없습니다(모두 선택 취소됨). 또한 컨트롤러의 일부 배치에는 표준 매개변수가 없을 수 있으며 플래시할 수 없다는 것을 잊지 마십시오. 이 프로그래머를 사용하는 경우 해당하는 연결을 통해 공급 전압을 5V에서 3-4V로 줄이려고만 시도할 수 있습니다. 제너 다이오드, LVP 모드(저전압 프로그래밍)의 잘못된 활성화에 대한 컨트롤러를 살펴보고 방지하는 방법은 특정 유형의 컨트롤러에 대해 인터넷에서 읽을 수 있습니다. 추가 전원에서 전원이 공급되는 공통 이미 터가 있는 증폭기 단계를 도입하여 회로를 복잡하게 해야만 문제가 있는 컨트롤러의 프로그래밍 전압을 높일 수 있습니다.

이제 장치의 전원 공급 장치 문제에 대해 자세히 알아보십시오. 프로그래머는 Linux에서 ICProg 프로그램 및 콘솔 picprog로 테스트되었으며 추가 전원을 연결하면 JDM을 지원하는 모든 사람과 함께 작동해야 합니다(1kΩ 저항을 통해 제너 다이오드에 연결되며 이 경우 저항이 있는 다이오드는 완전히 제외된). 사실 개별 소프트웨어에 대한 프로그래머 제어 알고리즘이 다르기 때문에 ICProg 프로그램이 가장 소박합니다. Windows OS에서 사용하지 않은 연락처 2의 이 프로그램이 올바른 전압전원 공급 장치, 다른 매트의 Linux 에뮬레이터에서 동일한 프로그램. 보드는 더 이상 이 작업을 수행할 수 없었지만 프로그래밍 전압에서 전원을 빼서 탈출구를 찾았습니다. 일반적으로 ICProg를 사용하면 이 프로그래머를 추가 전원 없이 사용할 수 있다고 생각합니다. 예를 들어, 다른 소프트웨어에서는 "네이티브"가 보장되지 않을 수 있습니다. 우분투 저장소전원이 없는 picprog는 단순히 프로그래머를 감지하지 못하고 "JDM 하드웨어 찾을 수 없음". 아마도 프로그래밍 전압을 적용하지 않고 일부 데이터를 수신하거나 너무 빨리 수행하여 필터 커패시터가 아직 충전할 시간이 없었을 것입니다.