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

Последний раз редактировалось AlifG Пт апр 11, 2025 17:47:42, всего редактировалось 1 раз.
Re: PIC16f1938 не могу поменять прошивку.
Я даже в очках ничего не разобрал. Может как то покрупнее можно ?
Два дампа для сравнения, или как то ещё, если конечно нужна помощь.
Два дампа для сравнения, или как то ещё, если конечно нужна помощь.
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
zAries, тут приходится проявлять инициативу и удалять из ссылок на картинки всяких медиумов и ногтей
Re: PIC16f1938 не могу поменять прошивку.
- Вложения
-
- Схема платы.pdf
- (2.01 МБ) 207 скачиваний
-
- PIC16F1938 считанная.HEX
- (91.52 КБ) 196 скачиваний
Последний раз редактировалось AlifG Пт апр 11, 2025 19:26:18, всего редактировалось 2 раза.
Re: PIC16f1938 не могу поменять прошивку.
Я конечно дико извиняюсь, но на схеме PIC16F916 а считываете какой ?
В дампе установлен лок-бит

Потому читаются 0
Вот со сброшенным битом
В дампе установлен лок-бит
Потому читаются 0
Вот со сброшенным битом
- Вложения
-
- PIC16F916.zip
- (14.36 КБ) 177 скачиваний
Последний раз редактировалось zAries Пт апр 11, 2025 19:57:16, всего редактировалось 1 раз.
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
Да, действительно. Опять накосячил и не то залил. Завтра отправлю какой должен быть. Ноута нет под рукой. Она выглядит идентично считанной, за исключением строк выделенных на картинки. В самом конце прошивки.
Re: PIC16f1938 не могу поменять прошивку.
Эти платы выпускались с двумя разными контроллерами. PIC16f916 и PIC 16f1938. Что интересно плата сама рабочая в плане логики. Не работает только экран. Если в слепую нажимать на кнопки все работает. Экран снял подключил к ардуино, работает, выводит изображение на экран. Но на плате работает только подсветка. При включении на осциллографе на линии scl в перую секунду такты идут непрырывно потом идут пакетами по 3-4. Что по мне так не должно. Так как опыта мало не пойму с чем это связано. Эта проблема типовая для этих кофемашин. У всех и у меня экран перестал показывать после статического разряда. Все компоненты на плате проверены, все норм. Может какие нибудь конфигурационные биты слетают, я не знаю)
Re: PIC16f1938 не могу поменять прошивку.
... Может какие нибудь конфигурационные биты слетают, я не знаю)
Ну это из области "заговоров"
Ежели реакция на кнопки есть, да ещё и правильная, то виновных, как по мне,
следует искать снаружи, на шине I2C на которой дисплей и работает.
Обратите внимание на часы, чип M41T00 и его обвязку, а затем и на чип
памяти 24256 всё ли у них гуд со "здоровьем" ?
Может временно подкинуть с заведомо исправного аппарата для проверки,
сначала один чип, потом второй для выявления виновного так сказать.
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
Спасибо за совет. Обе микросхемы были заменены на новые. В 24256 был залит заведомо исправный дамп. Увы не помогло. На шине i2c кроме подтягивающих резисторов на 1ком больше и нет ничего.
Добавлено after 39 minutes 39 seconds:
А что еще может повлиять на работу i2c? Судя по осциллграмме, порблема ведь явно в ней. Опираясь на что формируется такты scl?
Добавлено after 39 minutes 39 seconds:
А что еще может повлиять на работу i2c? Судя по осциллграмме, порблема ведь явно в ней. Опираясь на что формируется такты scl?
Re: PIC16f1938 не могу поменять прошивку.
На схеме ошибка. Резисторы подключены к +5v. Hex файл скачал из зарубежного форума по ремонту кофемашин. Считанный из исправной платы.
Добавлено after 8 minutes 4 seconds:
Что бы протестировать шину, если разберусь, попробую написать простенькую программу для вывода изображения на дисплей по i2c и залить ее. Посмотрим что получиться.
Добавлено after 8 minutes 4 seconds:
Что бы протестировать шину, если разберусь, попробую написать простенькую программу для вывода изображения на дисплей по i2c и залить ее. Посмотрим что получиться.
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
;----------С кем предполагается общение ?
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
Может не там спрашиваю, но именно дамп от этого "самовара" хотелось бы (за неимением железа)
посмотреть в протезе, а там нет PIC16f1938.
Создать "чёрный ящик" могу, но как придать ему нужные "способности ?
Никогда не пользовался и вот опять
Пните в нужном направлении.
посмотреть в протезе, а там нет PIC16f1938.
Создать "чёрный ящик" могу, но как придать ему нужные "способности ?
Никогда не пользовался и вот опять
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
[uquote="AlifG",url="/forum/viewtopic.php?p=4704273#p4704273"]...Опираясь на что формируется такты 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
;----------С кем предполагается общение ?[/uquote]
Видимо с PIC18LF4525 который расположен на силовой плате.
Re: PIC16f1938 не могу поменять прошивку.
И это сопровождается надписью на дисплее "UART MODE" ?
И пусть весь мир подождёт мы тут заняты
Весёлый самовар однако.
И пусть весь мир подождёт мы тут заняты

Весёлый самовар однако.
Audiatur et altera pars !
Re: PIC16f1938 не могу поменять прошивку.
Да, и не говори, веселее не куда. Чувствую с моими познаниями самовар не оживет и пора запасаться нескафе 3в1))) Про UART MODE на форуме пишут что это заводской режим отладки.
Re: PIC16f1938 не могу поменять прошивку.
...Экран снял подключил к ардуино, работает, выводит изображение на экран...
А можно фото работающего с дуринкой ?
Обычно после статики у этих "самоваров Делонги" дохнет как раз таки дисплей.
Audiatur et altera pars !
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.
Добавлено 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.

(проверьте на плате, как они подключены). Что сделали, знает только производитель. Откуда взяли hex-файл?