Например TDA7294

Форум РадиоКот :: Просмотр темы - PIC16f1938 не могу поменять прошивку.
Форум РадиоКот
https://radiokot.ru/forum/

PIC16f1938 не могу поменять прошивку.
https://radiokot.ru/forum/viewtopic.php?f=58&t=197545
Страница 1 из 3

Автор:  AlifG [ Пт апр 11, 2025 12:14:09 ]
Заголовок сообщения:  PIC16f1938 не могу поменять прошивку.

Здравствуйте! Помогите советом пожалуйста. Опыта в прошивки микроконтроллера PIC мало. Надо было прошить плату от кофемашины. Неисправность заключается в том что не работает дисплей. Сам дисплей рабочий 100%. Подключен по I2C. Подключил осциллограф и на линии scl вместо 9 тактовых импульсов идут пачки по 4 импульса. Решил заменить микроконтроллер и попробовать прошить новой прошивкой. Скачал новую прошивку и сравнил со своей в hex редакторе. Были отличия. С помощью программатора PICKIT3 прошил новую прошивку. Затем считал и открыл в hex редакторе. Как ни странно эта часть прошивки осталась без изменения. Так же отличается от скаченного. После прошивки делала верификацию, показывает что все норм. Прошивал через mplabx ipe.
Изображение Изображение Изображение Изображение

Автор:  zAries [ Пт апр 11, 2025 15:08:27 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Я даже в очках ничего не разобрал. Может как то покрупнее можно ?
Два дампа для сравнения, или как то ещё, если конечно нужна помощь.

Автор:  Уош [ Пт апр 11, 2025 16:48:16 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

zAries, тут приходится проявлять инициативу и удалять из ссылок на картинки всяких медиумов и ногтей

Автор:  AlifG [ Пт апр 11, 2025 18:05:41 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Прошу прощения за качество фото.
Изображение

Вложения:
Схема платы.pdf [2.01 MiB]
Скачиваний: 83
PIC16F1938 считанная.HEX [91.52 KiB]
Скачиваний: 91

Автор:  Krismi70 [ Пт апр 11, 2025 19:25:01 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

"какая должна быть" - не прошивка, а какая-то пустышка с нулями....
Изображение
-------
может, лок-биты прошиты (тогда их убрать из файла прошивки)

Автор:  zAries [ Пт апр 11, 2025 19:50:55 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Я конечно дико извиняюсь, но на схеме PIC16F916 а считываете какой ? :shock:
В дампе установлен лок-бит
Изображение
Потому читаются 0

Вот со сброшенным битом

Вложения:
PIC16F916.zip [14.36 KiB]
Скачиваний: 61

Автор:  AlifG [ Пт апр 11, 2025 19:56:14 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Да, действительно. Опять накосячил и не то залил. Завтра отправлю какой должен быть. Ноута нет под рукой. Она выглядит идентично считанной, за исключением строк выделенных на картинки. В самом конце прошивки.

Автор:  zAries [ Пт апр 11, 2025 19:58:50 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

ППЦ

Автор:  AlifG [ Пт апр 11, 2025 20:10:03 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Эти платы выпускались с двумя разными контроллерами. PIC16f916 и PIC 16f1938. Что интересно плата сама рабочая в плане логики. Не работает только экран. Если в слепую нажимать на кнопки все работает. Экран снял подключил к ардуино, работает, выводит изображение на экран. Но на плате работает только подсветка. При включении на осциллографе на линии scl в перую секунду такты идут непрырывно потом идут пакетами по 3-4. Что по мне так не должно. Так как опыта мало не пойму с чем это связано. Эта проблема типовая для этих кофемашин. У всех и у меня экран перестал показывать после статического разряда. Все компоненты на плате проверены, все норм. Может какие нибудь конфигурационные биты слетают, я не знаю)

Автор:  zAries [ Сб апр 12, 2025 10:06:02 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

... Может какие нибудь конфигурационные биты слетают, я не знаю)

Ну это из области "заговоров" :)
Ежели реакция на кнопки есть, да ещё и правильная, то виновных, как по мне,
следует искать снаружи, на шине I2C на которой дисплей и работает.
Обратите внимание на часы, чип M41T00 и его обвязку, а затем и на чип
памяти 24256 всё ли у них гуд со "здоровьем" ?
Может временно подкинуть с заведомо исправного аппарата для проверки,
сначала один чип, потом второй для выявления виновного так сказать.

Автор:  AlifG [ Сб апр 12, 2025 11:10:53 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Спасибо за совет. Обе микросхемы были заменены на новые. В 24256 был залит заведомо исправный дамп. Увы не помогло. На шине i2c кроме подтягивающих резисторов на 1ком больше и нет ничего.

Добавлено after 39 minutes 39 seconds:
А что еще может повлиять на работу i2c? Судя по осциллграмме, порблема ведь явно в ней. Опираясь на что формируется такты scl?

Автор:  veso74 [ Сб апр 12, 2025 12:09:59 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Дисплей и периферийные устройства подключены к программной I2c. Pull-up резисторы I2c шины - на землю? :dont_know: (проверьте на плате, как они подключены). Что сделали, знает только производитель. Откуда взяли hex-файл?

Изображение

Автор:  AlifG [ Сб апр 12, 2025 14:01:04 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

На схеме ошибка. Резисторы подключены к +5v. Hex файл скачал из зарубежного форума по ремонту кофемашин. Считанный из исправной платы.

Добавлено after 8 minutes 4 seconds:
Что бы протестировать шину, если разберусь, попробую написать простенькую программу для вывода изображения на дисплей по i2c и залить ее. Посмотрим что получиться.

Автор:  zAries [ Вс апр 13, 2025 14:05:36 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

...Опираясь на что формируется такты scl?

Опираясь на внутренний генератор.
В вышеупомянутой прошивке это выглядит так :
Спойлер
Код:
loc_1D38:                         
                movlb   0x0
; assume bank = 0
                bsf     PORTB, RB3   ; SDA 1
                nop
                nop
                nop                  ; low delay
loc_1D3D:                         
                movlb   0x0
                bsf     PORTB, RB4   ; SCL  strob up
                movlp   0x1A
; assume pclath = 1A
                call    sub_1ABD     ; delay
                movlp   0x1D
; assume pclath = 1D
                bcf     PORTB, RB4   ; SCL  strob down
                movlp   0x1A
; assume pclath = 1A
                call    sub_1ABD     ; delay
                movlp   0x1D
; assume pclath = 1D
                bcf     PORTB, RB3   ; SDA down
                movfw   Ram_72
                return


Прикольно
Спойлер
Код:
;----------
 retlw   0x55 ; U
;----------
 retlw   0x41 ; A
;----------
 retlw   0x52 ; R
;----------
 retlw   0x54 ; T
;----------
 retlw   0x20
;----------
 retlw   0x4D ; M
;----------
 retlw   0x4F ; O
;----------
 retlw   0x44 ; D
;----------
 retlw   0x45 ; E
;----------

С кем предполагается общение ?

Автор:  zAries [ Вт апр 15, 2025 14:46:46 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Может не там спрашиваю, но именно дамп от этого "самовара" хотелось бы (за неимением железа)
посмотреть в протезе, а там нет PIC16f1938.
Создать "чёрный ящик" могу, но как придать ему нужные "способности ?
Никогда не пользовался и вот опять :) Пните в нужном направлении.

Автор:  AlifG [ Вт апр 15, 2025 23:09:15 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

...Опираясь на что формируется такты scl?

Опираясь на внутренний генератор.
В вышеупомянутой прошивке это выглядит так :
Спойлер
Код:
loc_1D38:                         
                movlb   0x0
; assume bank = 0
                bsf     PORTB, RB3   ; SDA 1
                nop
                nop
                nop                  ; low delay
loc_1D3D:                         
                movlb   0x0
                bsf     PORTB, RB4   ; SCL  strob up
                movlp   0x1A
; assume pclath = 1A
                call    sub_1ABD     ; delay
                movlp   0x1D
; assume pclath = 1D
                bcf     PORTB, RB4   ; SCL  strob down
                movlp   0x1A
; assume pclath = 1A
                call    sub_1ABD     ; delay
                movlp   0x1D
; assume pclath = 1D
                bcf     PORTB, RB3   ; SDA down
                movfw   Ram_72
                return


Прикольно
Спойлер
Код:
;----------
 retlw   0x55 ; U
;----------
 retlw   0x41 ; A
;----------
 retlw   0x52 ; R
;----------
 retlw   0x54 ; T
;----------
 retlw   0x20
;----------
 retlw   0x4D ; M
;----------
 retlw   0x4F ; O
;----------
 retlw   0x44 ; D
;----------
 retlw   0x45 ; E
;----------

С кем предполагается общение ?

Видимо с PIC18LF4525 который расположен на силовой плате.

Автор:  zAries [ Ср апр 16, 2025 07:27:58 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

И это сопровождается надписью на дисплее "UART MODE" ?
И пусть весь мир подождёт мы тут заняты :beer:
Весёлый самовар однако.

Автор:  AlifG [ Ср апр 16, 2025 08:22:55 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Да, и не говори, веселее не куда. Чувствую с моими познаниями самовар не оживет и пора запасаться нескафе 3в1))) Про UART MODE на форуме пишут что это заводской режим отладки.

Автор:  zAries [ Ср апр 16, 2025 08:30:40 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

...Экран снял подключил к ардуино, работает, выводит изображение на экран...

А можно фото работающего с дуринкой ?
Обычно после статики у этих "самоваров Делонги" дохнет как раз таки дисплей.

Автор:  AlifG [ Ср апр 16, 2025 18:25:58 ]
Заголовок сообщения:  Re: PIC16f1938 не могу поменять прошивку.

Ближе к вечеру сделаю. Пока на работе.

Добавлено after 7 hours 29 minutes 24 seconds:
Изображение
Вот дисплей. Вполне себе в хорошем здравии)

Добавлено after 1 hour 59 minutes 58 seconds:
Сново подключил осциллограф. В самом начале общение идет с часами. Он отвечает, идет обмен данными, дальше идет общение с дисплеем, он отвечает. Адрес дисплея 0x3С Изображение Видимо идет инициализация. Дальше идет общение с eeprom запись 0b00000000 и 0b00000010, потом чтение 0b01100101, 0b10011010,
0b11111111 -14 раз подряд, потом сново запись 0b00000000, 0b00000000
и сново чтение 0b00001111, 0b11111111, 0b01100101, 0b100110100, 0b11111111 -12 раз подряд. Дальше длинная пауза и у меня заканчивается развертка. А потом идет белеберда с пачками по 3 такта импульса по scl.

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/