Делаем самодельный программатор для микроконтроллеров семейства AT - AT89C51, AT89C52, AT89C55. Программатор подключается к последовательному порту компьютера. При управлении программатором используются только стандартные функции Windows API, поэтому программа должна работать под всеми версиями Windows. Преобразователь уровня выполнен на транзисторах VT1 иVT2. Конденсатор С7 служит аккумулятором отрицательного напряжения -12 В, получаемого через диод VD1 из приемной линии. Это напряжение используется для передачи данных от программатора. Такая схема не требует отрицательного источника напряжения -12В. Транзистор VT1 служит для передачи данных от программатора в компьютер. Такая схема имеет один недостаток: уровень логического "0" будет не +12В, а +5В. Но по стандарту RS232 уровень может составлять +3...+12 В. Так что стандарту соответствует. Но некоторые старые платы портов могут не работать с таким уровнем. В таком случае придется или сменить плату илииспользовать специализированную микросхему преобразователя уровня RS232 - ТТЛ. Управляющую программу и прошивку для контроллера программатора качаем здесь.
Микросхемы КРЕН8Б и КРЕН5А служат стабилизаторами напряжения. Напряжение +12В используется только для программирования высоковольтных версий контроллеров. Транзисторы VT4 и VT3 составляют ключ, который управляет подачей напряжения программирования на контроллер. Так как падение напряжения на транзисторе VT3 и диоде VD4 составит примерно 1.5 вольта, то для компенсации этого падения уровень стабилизации +12В повышен диодом VD3 примерно на 0.6В. В этом случае напряжение программирования составит примерно 11.5 В, что соответствует нижнему уровню напряжения программирования.
Для проверки вы можете сначала собрать только преобразователь уровня и установить запрограммированный контроллер AT90S4414. Подав +5 вольт, вы можете уже проверить работоспособность программатора без установки программируемого контроллера. Для этого подключите его к компьютеру, запустите программу, выберите нужный порт и попробуйте выполнить операцию чтения сигнатурных байтов. Если линия связи с компьютером исправна, то в результате должны прочитаться байты FFh. Если же вы получите сообщение, что компьютер не получает отклика от компьютера, то видимо, вы что-то сделали неправильно. Так же вы можете попробовать выполнить операцию чтения.
Для этого снимите флажок "Автоматическая установка параметров". Результатом чтения должны быть байты FFh. Также вы можете попробовать закорачивать линии порта P0.0-P0.7 (контакты 39 - 32 соответственно на панели для программируемого контроллера) на корпус. Выполняя операцию чтения, вы будете видеть, что будут читаться байты не FFh, а например, FEh, EFh, F7h, 7Fh ... в зависимости от заземленного вывода. Если это все работает, вы можете установить контроллер AT89C51 в панель и выполнить операцию чтения сигнатурных байтов. Если они прочитаются правильно - ваш программатор работоспособен.
Комментариев нет:
Отправить комментарий
Создайте свой комментарий.