스스로 최고의 프로그래머. PIC 컨트롤러용 홈메이드 프로그래머. 실제 사용의 특징

그래서 우리는 마음을 정하고 첫 번째 수제 제품을 마이크로 컨트롤러에 조립하기로 결정했습니다. 남은 것은 프로그래밍 방법을 이해하는 것뿐입니다. 따라서 PIC 프로그래머가 필요하며 회로를 직접 조립할 수 있습니다. 몇 가지 간단한 설계를 예로 들어 보겠습니다.

이 회로를 사용하면 마이크로 컨트롤러를 프로그래밍할 수 있으며 EEPROM 메모리 I2C.

IC-PROG v1.05D 유틸리티와 함께 ​​사용할 경우 지원되는 마이크로컨트롤러 목록:

Microchip의 마이크로컨트롤러: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C 61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72 , PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F 84 , PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623 , PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC 16C716, P IC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC 16F877A, P IC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220 , PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

메모:별표(*)가 표시된 마이크로컨트롤러는 ICSP 커넥터를 통해 프로그래머에 연결되어야 합니다.

직렬 EEPROM I2C 메모리(IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.


키의 위치를 ​​엄격히 관찰하면서 마이크로 회로를 소켓에 설치하십시오. 코드를 연결하고 전원을 켜세요. IC-PROG 프로그램을 실행합니다. 드롭다운 목록에서 PIC 마이크로컨트롤러를 선택하세요.

펌웨어가 없으면 만드세요. 이렇게 하려면 표준 메모장 프로그램이나 다른 편집기를 엽니다. 문서에 펌웨어 텍스트를 삽입합니다. *.txt 또는 *.hex 확장자를 가진 이름으로 저장합니다.

그런 다음 IC-PROG 파일 >> 파일 열기 >> 유틸리티에서 펌웨어가 포함된 파일을 찾으세요. 창문 " 프로그램 코드"에는 다른 코드를 입력해야 합니다.

IC-PROG 창에서 "칩 프로그래밍"을 클릭하면 장치 다이어그램의 빨간색 LED가 켜집니다. 프로그래밍에는 약 30초가 소요됩니다. 확인하려면 - 칩과 버퍼 비교를 선택하세요.

기성품의 EXTRA-PIC 프로그래머 회로의 대체 버전 인쇄 회로 기판스프린트 레이아웃에서는 위의 녹색 링크에서 열 수 있습니다.

PIC 마이크로컨트롤러는 소박함과 작동 품질은 물론 사용의 다양성으로 인해 명성을 얻었습니다. 하지만 새로운 프로그램을 작성하는 기능 없이 마이크로컨트롤러가 무엇을 할 수 있을까요? 프로그래머가 없다면 이것은 놀라운 모양의 하드웨어에 지나지 않습니다. PIC 프로그래머 자체는 집에서 만든 것과 공장에서 만든 것의 두 가지 유형이 있습니다.

공장 프로그래머와 집에서 일하는 프로그래머의 차이점

우선, 마이크로 컨트롤러 소유자에게 제공되는 신뢰성과 기능이 다릅니다. 따라서 집에서 만드는 경우 일반적으로 PIC 마이크로 컨트롤러의 한 모델에만 설계되는 반면 Microchip의 프로그래머는 마이크로 컨트롤러의 다양한 유형, 수정 및 모델로 작업할 수 있는 기능을 제공합니다.

Microchip의 공장 프로그래머

가장 유명하고 대중적인 것은 많은 사람들이 사용하고 PICkit 2로 알려진 간단한 PIC 프로그래머입니다. 그 인기는 명백하고 숨겨진 장점 때문입니다. 이것이 갖고 있는 분명한 장점은 USB 프로그래머 PIC의 경우 6핀에서 20핀에 이르는 전체 마이크로 컨트롤러 제품군에 비해 상대적으로 저렴한 비용, 작동 용이성 및 다양성을 오랫동안 나열할 수 있습니다.

Microchip의 프로그래머 사용

사용에 대한 모든 측면을 이해하는 데 도움이 되는 많은 튜토리얼을 찾을 수 있습니다. PIC 프로그래머가 중고품을 구입했을 뿐만 아니라 공식 대리점에서 구입한 것을 고려하면 PIC 프로그래머가 제공하는 지원 품질도 알 수 있습니다. 따라서 사용, 라이선스 개발 환경에 대한 교육 자료와 로우핀 마이크로컨트롤러와 함께 작동하도록 설계된 데모 보드도 있습니다. 이 모든 것 외에도 메커니즘 작업을 더욱 즐겁게 만들고 마이크로 컨트롤러 프로그래밍 및 디버깅 프로세스를 모니터링하는 데 도움이 되는 유틸리티가 있습니다. MK의 작동을 자극하기 위한 유틸리티도 제공됩니다.

다른 프로그래머

공식 프로그래머 외에도 마이크로컨트롤러를 프로그래밍할 수 있는 다른 프로그래머도 있습니다. 구매할 때 추가 소프트웨어를 믿을 필요는 없지만 더 이상 필요하지 않은 사람들에게는 이것으로 충분합니다. 다소 명백한 단점은 일부 프로그래머의 경우 찾기가 어려울 수 있다는 것입니다. 필요한 조항양질의 작업을 수행할 수 있습니다.

수동으로 조립된 프로그래머

그리고 아마도 가장 흥미로운 것은 수동으로 조립되는 PIC 컨트롤러 프로그래머일 것입니다. 이 옵션은 돈이 없거나 돈을 쓰고 싶지 않은 사람들이 사용합니다. 공식 대리점에서 구매하는 경우 기기의 품질이 좋지 않은 것으로 판명되면 기기를 반품하고 새 기기로 교환할 수 있다는 사실을 믿을 수 있습니다. 그리고 납땜 품질이 좋지 않은 경우 "손으로" 구매하거나 게시판을 사용할 때 또는 기계적 손상비용 상환과 우수한 프로그래머 확보를 기대할 수 없습니다. 이제 손으로 조립한 전자제품에 대해 살펴보겠습니다.

PIC 프로그래머는 특정 모델용으로 설계되거나 범용(전체 또는 거의 모든 모델용)으로 설계될 수 있습니다. RS-232 포트의 신호를 MK 프로그래밍을 허용하는 신호로 변환할 수 있는 미세 회로에 조립됩니다. PIC 프로그래머가 제공한 설계를 조립할 때 회로와 결과가 1:1로 일치해야 한다는 점을 기억해야 합니다. 작은 편차라도 바람직하지 않습니다. 이 설명은 전자 분야의 초보자에게 적용됩니다. 경험과 실습이 있는 사람은 개선의 여지가 있는 경우 거의 모든 회로를 개선할 수 있습니다.

PIC용 USB 프로그래머가 제공하고 직접 조립한 소프트웨어 패키지에 대해서도 언급할 가치가 있습니다. 사실 월드 와이드 웹에 제시된 많은 계획 중 하나에 따라 프로그래머 자체를 조립하는 것만으로는 충분하지 않습니다. 또한 컴퓨터가 도움을 받아 마이크로컨트롤러를 플래시할 수 있게 해주는 소프트웨어도 필요합니다. Icprog, WinPic800 및 기타 여러 프로그램이 자주 사용됩니다. 프로그래머 회로의 작성자가 자신의 창작물이 작업을 수행할 수 있는 소프트웨어를 직접 표시하지 않은 경우 무차별 대입으로 스스로 알아내야 합니다. 자신의 회로를 조립하는 사람들에게도 마찬가지입니다. MK용 프로그램을 직접 작성할 수 있지만 이는 실제 곡예 비행입니다.

RIS에만 적합한 범용 프로그래머

마이크로 컨트롤러 프로그래밍에 관심이 있는 사람이라면 지속적으로 한 가지 유형만 사용할 가능성은 거의 없습니다. 별도의 프로그래머를 구매하고 싶지 않은 분들을 위해 다양한 방식다양한 제조업체의 마이크로 컨트롤러, 여러 회사의 MCU를 프로그래밍할 수 있는 범용 장치가 개발되었습니다. 이를 생산하는 회사가 꽤 많기 때문에 한두 개를 선택하고 해당 회사의 프로그래머에 대해 이야기하는 것이 좋습니다. 선택은 마이크로컨트롤러 시장의 거대 기업인 PIC와 AVR에게 떨어졌습니다.

범용 PIC 및 AVR 프로그래머는 다재다능하고 하드웨어 구성 요소를 변경하지 않고도 프로그램 덕분에 작업을 변경할 수 있는 능력이 특징인 장비입니다. 이 속성 덕분에 이러한 장치는 프로그래머 출시 이후 판매용으로 출시된 마이크로 컨트롤러와 쉽게 작동합니다. 가까운 시일 내에 아키텍처가 크게 변하지 않을 것이라는 점을 고려하면 오랫동안 사용하기에 적합할 것입니다. 공장 프로그래머의 추가적인 유쾌한 특성은 다음과 같습니다.

  1. 프로그래밍 가능한 마이크로 회로 수에 대한 상당한 하드웨어 제한으로 인해 하나가 아닌 여러 전자 장치를 동시에 프로그래밍할 수 있습니다.
  2. 다양한 기술(NVRAM, NAND 플래시 등)을 기반으로 마이크로컨트롤러 및 회로 프로그래밍 가능성.
  3. 상대적으로 짧은 프로그래밍 시간. 프로그래머 모델과 프로그래밍된 코드의 복잡성에 따라 20~400초가 걸릴 수 있습니다.

실제 사용의 특징

이와 별도로 실제 사용 주제를 다룰 가치가 있습니다. 일반적으로 프로그래머는 다음과 연결됩니다. USB 포트, 그러나 하드 드라이브와 동일한 전선을 사용하여 작동하는 변형도 있습니다. 그리고 그것을 사용하려면 컴퓨터 덮개를 제거하고 전선을 정리해야하며 연결 ​​과정 자체가 그리 편리하지 않습니다. 그러나 두 번째 유형은 USB를 통해 연결할 때보다 펌웨어 속도가 더 빠르기 때문에 더 다양하고 강력합니다. 두 번째 옵션을 사용하는 것이 항상 USB처럼 편리하고 편안한 솔루션인 것 같지는 않습니다. 사용하기 전에 케이스를 꺼내서 열고 필요한 전선을 찾는 등 여러 작업을 수행해야 하기 때문입니다. 일반적으로 공장 모델에는 특별한 보호 기능이 있으므로 과열이나 전력 서지로 인해 발생할 수 있는 문제에 대해 걱정할 필요가 없습니다.

마이크로컨트롤러 작업

마이크로 컨트롤러를 사용하는 모든 프로그래머가 작업하려면 무엇이 필요합니까? 사실 프로그래머 자체는 독립적인 회로이지만 컴퓨터 신호를 다른 사람에게 전송합니다. 특정 순서. 그리고 정확히 무엇을 보내야 하는지 컴퓨터에 설명하는 방법에 대한 문제는 프로그래머 소프트웨어에 의해 해결됩니다.

꽤 많은 것들이 무료로 이용 가능해요 다양한 프로그램, 집에서 만든 프로그래머와 공장에서 만든 프로그래머와 함께 작업하는 것을 목표로 합니다. 그러나 잘 알려지지 않은 회사에서 제조했거나, 다른 전자 애호가의 설계에 따라 제작했거나, 이 내용을 직접 읽는 사람이 만든 경우에는 소프트웨어를 찾을 수 없을 수도 있습니다. 이 경우, 사용 가능한 모든 프로그래밍 유틸리티를 검색할 수 있으며, 그 중 아무 것도 작동하지 않으면(프로그래머가 잘 작동한다고 확신하는 경우) 다른 PIC 프로그래머를 데려오거나 만들거나 자신의 프로그램을 작성해야 합니다. , 이는 매우 높은 수준의 도선입니다.

가능한 문제

아아, 가장 이상적인 기술이라도 없으면 안 됩니다. 가능한 문제, 아니, 아니, 발생할 것입니다. 이해를 돕기 위해서는 목록을 작성하는 것이 필요합니다. 이러한 문제 중 일부는 프로그래머의 상세한 검사를 통해 수동으로 수정할 수 있지만, 다른 문제는 필요한 테스트 장비가 있는 경우에만 확인할 수 있습니다. 이 경우 PIC 마이크로컨트롤러 프로그래머가 공장에서 제작된 경우에는 수리가 불가능합니다. 찾으려고 노력할 수도 있지만 가능한 이유실패:

  1. 프로그래머 요소의 납땜 품질이 좋지 않습니다.
  2. 장치와 함께 작동하는 드라이버가 부족합니다.
  3. 프로그래머 내부 또는 컴퓨터/USB 내부 배선이 손상되었습니다.

마이크로컨트롤러를 이용한 실험

그래서 모든 것이 거기에 있습니다. 장비 작업을 시작하는 방법, 프로그래머와 함께 마이크로 컨트롤러 플래시를 시작하는 방법은 무엇입니까?

  1. 연결하기 외부 전원 공급 장치, 모든 장비를 연결하십시오.
  2. 처음에는 모든 것이 완료되는 환경이 필요합니다.
  3. 필요한 프로젝트를 생성하고 마이크로컨트롤러 구성을 선택합니다.
  4. 필요한 모든 코드가 포함된 파일을 준비합니다.
  5. 프로그래머에 연결합니다.
  6. 모든 것이 준비되면 마이크로컨트롤러를 플래시할 수 있습니다.

위에는 프로세스가 어떻게 진행되는지 이해할 수 있는 일반적인 다이어그램만 작성되었습니다. 개별 개발 환경에 따라 조금씩 다를 수 있으며, 이에 대한 자세한 내용은 지침에서 확인할 수 있습니다.

이제 막 프로그래머를 사용하기 시작한 분들에게 별도의 호소문을 쓰고 싶습니다. 일부 단계가 아무리 기본적으로 보이더라도 장비가 정상적으로 적절하게 작동하고 설정한 작업을 수행할 수 있도록 항상 해당 단계를 준수해야 한다는 점을 기억하십시오. 전자공학에 행운을 빕니다!

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

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

기성품 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 프로그래밍) 모드에서 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 또는 해당 제품을 사용하여 PIC18F2550 MCU에 펌웨어를 업로드할 수 있습니다. 새로운 버전 PICkit3. 당연히 친구 중 한 명이 당신보다 먼저 조립했다면 집에서 만든 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비트가 설치되어 있는 경우 윈도우 버전, 위치 경로가 달라집니다. "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 사용자 설명서(러시아어) 또는을 사용하세요.

전자제품의 개발은 빠른 속도로 진행되고 있으며, 점점 더 장치의 주요 요소가 마이크로컨트롤러로 자리잡고 있습니다. 이는 대부분의 작업을 수행하고 설계자가 정교한 회로 설계를 작성할 필요가 없도록 하여 인쇄 회로 기판의 크기를 최소한으로 줄입니다. 모두가 알고 있듯이 마이크로컨트롤러는 마이크로컨트롤러로 작성된 프로그램에 의해 제어됩니다. 내부 저장소. 숙련된 전자 프로그래머가 자신의 장치에서 마이크로 컨트롤러를 사용하는 데 문제가 없다면 초보 무선 아마추어의 경우 컨트롤러(특히 PIC)에 프로그램을 작성하려고 하면 큰 실망을 초래할 수 있으며 때로는 작은 불꽃 쇼도 발생할 수 있습니다. 흡연 칩의 형태.

이상하게도 인터넷의 모든 위대함에도 불구하고 펌웨어에 대한 정보가 거의 없습니다. PIC 컨트롤러, 그리고 찾을 수 있는 자료의 품질이 매우 모호합니다. 물론 부적절한 가격에 공장 프로그래머를 사서 마음껏 바느질할 수 있지만 사람이 대량 생산에 참여하지 않으면 어떻게해야합니까? 이러한 목적을 위해 간단하고 저렴한 수제 제품을 조립할 수 있습니다. JDM 프로그래머아래 다이어그램에 따르면 (그림 1):



그림 1 - 프로그래머 회로


다이어그램을 자세히 보기가 너무 귀찮은 분들을 위해 즉시 요소 목록을 제공하겠습니다.

  • R1 - 10kΩ
  • R2 - 10kOhm(절단됨). 이 저항의 저항을 조정하여 프로그래밍하는 동안 핀 4번(VPP)에서 약 13V를 달성해야 합니다. 제 경우에는 저항이 1.2kOhm입니다.
  • R3 - 200옴
  • R4, R5 - 1.5kΩ
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (안정화 전압 5.1V)
  • VD7 - 1N4743A (안정화 전압 13V)
  • C1 - 100nF(0.1μF)
  • C2 - 470uF x 16V(전해)
  • SUB-D9F - COM 포트 커넥터(MAMA 또는 SOCKET)
  • DIP8 소켓 - 사용하는 컨트롤러에 따라 다름

다이어그램은 다음과 같은 일반적인 컨트롤러를 연결하는 예를 사용합니다. PIC12F675그리고 PIC12F629, 그러나 이것이 다른 시리즈의 펌웨어가 전혀 작동하지 않는다는 의미는 아닙니다. 사진불가능할 것입니다. 다른 유형의 컨트롤러에 프로그램을 작성하려면 아래 표시된 그림 2에 따라 프로그래머의 와이어를 연결하기만 하면 됩니다.



그림 2 - 필요한 핀이 있는 PIC 컨트롤러 하우징 옵션


짐작할 수 있듯이 내 프로그래머의 회로는 하우징을 사용합니다. 딥8. 정말로 원한다면 각 유형의 마이크로 회로에 대한 범용 어댑터를 만들어 범용 프로그래머를 얻을 수 있습니다. 하지만 그때부터 PIC 컨트롤러나는 거의 일하지 않습니다. 이 정도면 충분합니다.

회로 자체는 매우 간단하고 조립에 어려움을 일으키지 않지만 존중도 필요합니다. 따라서 인쇄회로기판을 만들어 보면 좋을 것 같습니다. 프로그램을 약간 조작한 후 스프린트 레이아웃, PCB, 드릴, 철 등의 블랭크가 탄생했습니다 (사진 3).



사진 3번 - 프로그래머 회로 기판


프로그램용 PCB 소스 다운로드 스프린트 레이아웃이 링크를 따라갈 수 있습니다:
(다운로드: 670)
원하는 경우 PIC 컨트롤러 유형에 맞게 변경할 수 있습니다. 보드를 그대로 두기로 결정하신 분들을 위해 설치를 용이하게 하기 위해 부품 측면에서 본 모습을 올려드립니다(그림 4).



그림 4 - 장착면의 보드


납땜 인두를 사용하여 좀 더 마법을 사용하면 깜박일 수 있는 기성 장치가 있습니다. PIC 컨트롤러~을 통해 COM 포트너의 컴퓨터. 여전히 따뜻하고 플럭스에서 씻겨 나가지 않은 나의 노력의 결과는 사진 5에 나와 있습니다.



사진 번호 5 - 조립된 프로그래머


이제부터 펌웨어로 가는 첫 번째 단계 PIC 컨트롤러, 끝났습니다. 두 번째 단계에는 프로그래머를 컴퓨터에 연결하고 프로그램 작업이 포함됩니다. IC-프로그.
아쉽게도 전부는 아니네요 현대 컴퓨터그리고 노트북은 진부한 부재로 인해 이 프로그래머와 함께 작업할 수 있습니다. COM 포트, 랩탑에 설치된 것들은 프로그래밍에 필요한 것을 제공하지 않습니다 12V. 그래서 나는 첫 번째로 돌아 가기로 결정했습니다. PC, 오래 전부터 먼지만 쌓이고 최고의 시간을 기다리고 있었습니다(드디어 그렇게 되었습니다).
그럼 컴퓨터를 켜고 우선 프로그램을 설치해 볼까요? IC-프로그. 저자의 웹사이트나 다음 링크에서 다운로드할 수 있습니다.
(다운로드: 769)
우리는 프로그래머를 연결합니다 COM 포트그리고 방금 출시됐어 설치된 애플리케이션. 올바른 작동을 위해서는 여러 가지 조작을 수행해야 합니다. 처음에는 재봉하려는 컨트롤러 유형을 선택해야 합니다. 나는 이것을 가지고있다 PIC12F675. 스크린샷 6번에서는 컨트롤러 선택 필드가 빨간색으로 강조 표시되어 있습니다.



스크린샷 6번 - 마이크로컨트롤러 유형 선택




스크린샷 7번 - 컨트롤러 녹화 방법 설정


같은 창에서 "탭"으로 이동합니다. 프로그램 작성" 항목을 선택합니다 " 프로그래밍 중 확인". 프로그래밍 후 확인하면 오류가 발생할 수 있습니다. 경우에 따라 펌웨어 자체가 읽기 차단 퓨즈를 설정하기 때문입니다. SR. 자신을 속이지 않으려면 이 수표끄는 것이 좋습니다. 간단히 말해서 스크린샷 8번을 따릅니다.



스크린샷 8번 - 확인 설정


이 창으로 계속 작업하고 " 탭으로 이동하겠습니다. 흔하다". 여기에서 프로그램의 우선순위를 설정하고 반드시 사용해야 합니다. NT/2000/XP드라이버(스크린샷 번호 9). 경우에 따라 프로그램에서 설치하라는 메시지를 표시할 수도 있습니다. 이 운전자의다시 시작해야 합니다. IC-프로그.



스크린샷 9번 - 일반 설정


이제 이 창은 끝났습니다. 이제 프로그래머 자체의 설정으로 넘어 갑시다. 메뉴에서 선택 " 설정"->"프로그래머 설정"아니면 그냥 키를 누르세요. F3. 스크린샷 10번과 같이 다음 창이 나타납니다.



스크린샷 10번 - 프로그래머 설정 창


먼저 프로그래머 유형을 선택하세요. JDM 프로그래머. 다음으로 드라이버 사용을 위한 라디오 버튼을 설정합니다. 윈도우. 다음 단계는 선택하는 것입니다. COM 포트, 프로그래머가 연결되어 있습니다. 1개만 있으면 전혀 문제가 없으나, 2개 이상인 경우에는 현재 어떤 것을 사용하고 있는지 장치관리자를 살펴보세요. I/O 대기 시간 슬라이더는 쓰기 및 읽기 속도를 조정하도록 설계되었습니다. 이는 빠른 컴퓨터에 필요할 수 있으며 펌웨어에 문제가 발생하는 경우 이 매개변수를 늘려야 합니다. 내 경우에는 기본적으로 동일하게 유지되었습니다. 10 모든 것이 잘 작동했습니다.

바로 프로그램 설정입니다. IC-프로그끝났고 펌웨어 자체 프로세스로 넘어갈 수 있지만 먼저 마이크로 컨트롤러에서 데이터를 읽고 여기에 기록된 내용을 확인합니다. 이렇게 하려면 스크린샷 11번과 같이 도구 모음에서 녹색 화살표가 있는 마이크로 회로 아이콘을 클릭하세요.



스크린샷 11번 - 마이크로컨트롤러에서 정보를 읽는 과정


마이크로컨트롤러가 새 것이고 이전에 플래시된 적이 없다면 모든 메모리 셀은 값으로 채워질 것입니다. 3FFF, 마지막 것을 제외하고. 여기에는 교정 상수 값이 포함됩니다. 이는 각 컨트롤러에 대해 매우 중요하고 고유한 값입니다. 타이밍 정확도는 이에 따라 달라지며 제조업체는 동일한 상수를 선택하고 설정하여 설정합니다. 스크린샷 12번은 컨트롤러를 읽을 때 상수가 저장될 메모리 셀을 보여줍니다.



스크린샷 12번 - 교정 상수 값


값은 각 칩마다 고유하며 그림에 표시된 값과 일치할 필요는 없다는 점을 반복합니다. 많은 사람들이 경험이 부족하여 이 상수를 덮어쓰고 나중에 PIC 컨트롤러프로젝트가 내부 발진기의 클럭킹을 사용하는 경우 잘못 작동하기 시작합니다. 이 상수를 기록하고 해당 값이 적힌 라벨을 컨트롤러에 직접 붙이는 것이 좋습니다. 이렇게 하면 앞으로 많은 문제를 피할 수 있습니다. 따라서 값이 기록되었습니다. 계속 진행하겠습니다. 일반적으로 확장자가 있는 펌웨어 파일을 엽니다. .마녀. 이제 비문 대신 3FFF, 프로그래밍 버퍼에는 우리 프로그램의 코드가 포함되어 있습니다(스크린샷 번호 13).



스크린샷 13번 - 프로그래밍 버퍼에 로드된 펌웨어


나는 위에서 많은 사람들이 실수로 교정 상수를 덮어쓴다고 썼습니다. 언제 이런 일이 발생합니까? 이는 펌웨어 파일을 열 때 발생합니다. 상수 값은 자동으로 다음과 같이 변경됩니다. 3FFF프로그래밍 프로세스를 시작하면 되돌릴 수 없습니다. 스크린샷 14번에서는 이전에 상수가 있던 메모리 셀이 강조 표시되어 있습니다. 3450 (개봉 전 16진수 파일).

현재는 많은 회로도 MicroChip의 PIC 마이크로컨트롤러를 포함한 다양한 마이크로컨트롤러를 사용합니다. 이를 통해 단순함에도 불구하고 매우 기능적인 장치를 얻을 수 있었습니다.

하지만 마이크로컨트롤러의 작동은 반드시 작성해야 하는 제어 프로그램 없이는 불가능합니다. 이번 글에서는 보편성을 살펴보겠습니다. PIC 프로그래머— EXTRA-PIC을 사용하면 COM 포트나 를 통해 PIC 컨트롤러와 EEPROM I2C 메모리를 프로그래밍할 수 있습니다.

IC-PROG v1.05D 프로그램과 함께 사용할 때 지원되는 칩 목록:

마이크로칩 PIC 컨트롤러: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC1 6C4 33, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67 , PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16 C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC 16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC 16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

참고: 별표(*)가 표시된 마이크로컨트롤러는 ICSP 커넥터를 통해 프로그래머에 연결되어야 합니다.

직렬 EEPROM I2C(IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

EXTRA-PIC 프로그래머 회로 자체:

프로그래밍 가능한 컨트롤러는 커넥터 X3을 통해 연결됩니다. 다음은 다양한 컨트롤러에 대한 프로그래밍 핀의 핀 배치입니다.

이제 마이크로 컨트롤러를 프로그래밍하는 방법에 대한 지침이 제공됩니다.

예를 들어 PIC16F876A 마이크로컨트롤러를 살펴보겠습니다.

프로그래머를 조립하고 출력 전압이 있는 전원 공급 장치를 준비합니다. 그 이하도 아니다 15V

프로그램을 별도의 디렉토리에 압축을 풉니다. 생성된 디렉터리에는 다음 세 개의 파일이 포함되어야 합니다.

icprog.exe— 프로그래머 쉘 파일;

icprog.sys— Windows NT, 2000, XP에서 작동하려면 드라이버가 필요합니다. 이 파일은 항상 프로그램 디렉터리에 있어야 합니다.

icprog.chm- 도움말 파일.

IC-PROG v1.05D 프로그램 설정.

Windows95, 98, ME의 경우 윈도우 NT, 2000, XP의 경우
(윈도우 XP 전용 ):
icprog.exe 파일을 마우스 오른쪽 버튼으로 클릭합니다.
« 속성» >> 탭 « 호환성 » >>
"에 체크 표시를 하세요. 다음의 경우 호환 모드에서 프로그램을 실행하세요." >> 선택 " 윈도우 2000 «.
  1. 파일 실행 icprog.exe .
  2. 선택하다 " 설정 » >> « 옵션» >> 탭 « 언어" >> 언어 설정 " 러시아인"를 누르고 "를 누르세요. 좋아요 «.
  3. "라는 말에 동의합니다. 당신은 필요지금 IC-Prog를 다시 시작하려면"(클릭 " 좋아요 «).
  4. 프로그래머 쉘이 다시 시작됩니다.
« 설정 » >> « 프로그램 제작자 «.
설정을 확인하고 사용 중인 COM 포트를 선택한 후 " 좋아요 «.
더 나아가, " 설정 » >> « 옵션" >> 탭을 선택하세요 " 흔하다" >> 체크박스를 선택하세요 " ~에 NT/2000/XP 드라이버" >> 클릭 " 좋아요 » >>
이전에 시스템에 드라이버가 설치되지 않은 경우 " 확인하다» «를 클릭하세요. 좋아요". 드라이버가 설치되고 프로그래머 쉘이 다시 시작됩니다.
메모:매우 "빠른" 컴퓨터의 경우 " I/O 지연 시간". 이 매개변수를 늘리면 프로그래밍의 신뢰성이 높아지지만 칩 프로그래밍에 소요되는 시간도 늘어납니다.
« 설정 » >> « 옵션" >> 탭을 선택하세요 " I2C">> 확인란을 선택하세요." MCLR을 VCC로 활성화" 그리고 " 블록 녹화 활성화". "를 클릭하세요. 좋아요 «.
프로그램을 사용할 준비가 되었습니다.

키의 위치를 ​​관찰하면서 칩을 프로그래머 패널에 설치하십시오.

연장 코드를 연결하고 전원을 켜세요.

IC-PROG 프로그램을 실행합니다.

드롭다운 목록에서 PIC16F876A 컨트롤러를 선택합니다.

펌웨어 파일이 없으면 다음을 준비하십시오.

표준 메모장 프로그램을 엽니다.

문서에 펌웨어 텍스트를 삽입합니다.

prohivka.txt(확장자 *.txt 또는 *.hex)와 같은 이름으로 저장합니다.

IC-PROG 옆 파일 >> 파일 열기(! 혼동하지 마세요 데이터 파일 열기) >> 펌웨어가 포함된 파일을 찾습니다(확장자가 *.txt인 파일이 있는 경우 파일 유형을 선택합니다). 어느 파일 *.* ). "프로그램 코드" 창에는 정보가 채워져 있어야 합니다.

"프로그램 칩" 버튼을 누르세요(빨간색 LED가 켜집니다).

프로그래밍이 완료될 때까지 기다립니다(약 30초).

제어하려면 "칩과 버퍼 비교"를 클릭하세요.