Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 11.12.2020, 01:24   #1
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
Exclamation Вопросы по PIC18F14K50 - замена или I2C

Доброго дня коллеги.
Вот такая история - есть почти готовое устройство на PIC18F14K50, вроде работает, но многовато багов. Для отладки нужно купить расширитель выходов, корый недешев.
Есть ли какая то "drop-in" замена с возможностью отладки по PICkit 3 или ICD 2 ?
Есть другая идея - доступны свободные ноги 11 и 13 I2C ну или просто IO.
Можно подключить LCD для отладки или отправлять данные в другой модуль. Но вот беда - не могу заставить I2C работать с LCD.
Если у гого есть кусок кода для I2C на этом процессоре, буду крайне благодарен.

П.С. USB , UART не используется, но заняты
Geshka вне форума   Ответить с цитированием
Старый 11.12.2020, 06:26   #2
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

а сам пиккит3 не запустить для внутрисхемной отладки ?

я вообще, в свои проектах светодиодом питания пользовался( он у меня МК зажигался... удобно- сразу проверка- стартанули или нет)
муторно конечно... но, у меня, и большого количества глюков не было...
SergP01 вне форума   Ответить с цитированием
Старый 11.12.2020, 06:35   #3
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

дык.... если место есть и устраивает отладка по RS232 .... то воткните программный UART...
SergP01 вне форума   Ответить с цитированием
Старый 11.12.2020, 08:34   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

SergP01
а сам пиккит3 не запустить для внутрисхемной отладки ? - заголовок нужен. версия контроллера, в которой есть отладка. в обычной версии внутрисхемной отладки нет.


Geshka
вроде бы вот здесь про i2c с объяснениями.

https://electrosome.com/i2c-pic-micr...ler-mplab-xc8/
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 09:40   #5
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
а сам пиккит3 не запустить для внутрисхемной отладки ? - заголовок нужен. версия контроллера, в которой есть отладка. в обычной версии внутрисхемной отладки нет.


Geshka
вроде бы вот здесь про i2c с объяснениями.

https://electrosome.com/i2c-pic-micr...ler-mplab-xc8/
слона то я и не заметил....

имхо, воткнуть кусок для работы с и2с , да ещё и с дисплеем.... это уже на проект тянет...
проще RS программный....

может автор поделится косяками... что в такой " сопле" можно накосячить, что отладка высокого уровня нужна ?
SergP01 вне форума   Ответить с цитированием
Старый 11.12.2020, 11:06   #6
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

SergP01
может автор поделится косяками... что в такой " сопле" можно накосячить, что отладка высокого уровня нужна ? - это pic16 с USB и использование этого МК предполагает USB. я работал с этим МК - абсолютно ничего хорошего.
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 14:35   #7
al.kl
Senior Member
 
Регистрация: 11.10.2011
Возраст: 25
Сообщений: 319
Вес репутации: 978/46
al.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to behold
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Прикольно... Освоены USB, UART, ... Сделано, по всей видимости, немаленькое устройство с немаленьким кодом. И просят кусок кода на самый элементарный интерфейс.
al.kl вне форума   Ответить с цитированием
Старый 11.12.2020, 16:28   #8
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Не освоены UART и USB, а заняты пины, к сожалению.
Устройство не большое, но получил почти готовое с платой и прошивкой. Регулятор скорости большого DC мотора с обратной связью и PID. хорошая система меню с постройкой PID коэффициентов, защиты итд итп.
Я нашел много I2C кода в форумах, но есть так же много вопросов. Например - здесь
Код HTML:
https://www.electronicwings.com/pic/pic18f4550-i2c
гворят о настройке SSPCON2. У PIC18F14K50 нету такого регистра, ну и так далее.

Нужно выдавать данные только на передачу, прием не обязателен. Это для одладки - вываливать данные в терминал.
Если где то есть хорошая имплементация SW сериалный порт - тоже будет хорошо. Пожалуста ткните пальцем в ссылку.
Geshka вне форума   Ответить с цитированием
Старый 11.12.2020, 16:33   #9
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
а сам пиккит3 не запустить для внутрисхемной отладки ? - заголовок нужен. версия контроллера, в которой есть отладка. в обычной версии внутрисхемной отладки нет.


Geshka
вроде бы вот здесь про i2c с объяснениями.

https://electrosome.com/i2c-pic-micr...ler-mplab-xc8/
Спасибо Бесогон. Здесь та же история, у PIC18F14K50 нету SSPCON2...
Geshka вне форума   Ответить с цитированием
Старый 11.12.2020, 17:16   #10
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Geshka
Спасибо Бесогон. Здесь та же история, у PIC18F14K50 нету SSPCON2... - посмотрел документ на pic18f14k50 - и действительно, плохо дело. Вспомнил еще что-то плохое.


Могу предложить Вам код программного i2c, он немного с костылями, да и по факту используется только в оригинальном stm32f103(там i2c забагованный наглухо).


Соответстввенно, системные все штуки можно выкинуть, оставить лишь основную мысль - дергать ножками по таймеру.
Вложения
Тип файла: zip swi2c_master.zip (3.3 Кб, 2 просмотров)
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 17:22   #11
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Geshka
Можно предложить еще более простой вариант. bitbangSpi без приема.
пример с wiki, где я удалил чтение состояния miso линии:
Код:
void SPIBitBang8BitsMode0(unsigned char byte)

{        
     unsigned char bit;      for (bit = 0; bit < 8; bit++) {
         /* записать MOSI по спаду предыдущего тактового импульса */
        if (byte & 0x80){
             SETMOSI();
         }else{
             CLRMOSI();
         }
         /* ждём половину тактового периода, перед тем как сгенерировать фронт */
         SPIDELAY(SPISPEED/2);
         SETCLK();          /* ждём половину тактового периода, перед тем как сгенерировать спад */
         SPIDELAY(SPISPEED/2);
         CLRCLK(); 

    }
 }
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 17:31   #12
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от Geshka Посмотреть сообщение
Спасибо Бесогон. Здесь та же история, у PIC18F14K50 нету SSPCON2...
даташит говорит другое

https://ww1.microchip.com/downloads/.../40001350F.pdf

стр. 145
SergP01 вне форума   Ответить с цитированием
Старый 11.12.2020, 17:31   #13
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Geshka
к слову, зашел в заголовок к pic18f14k50

https://github.com/gheja/sdcc/blob/m.../pic18f14k50.h


SDCC говорит, что всё-таки SSPCON2 есть. Предлагаю Вам попробовать дернуть заголовок от SDCC, вставить его в Ваш проект и попробовать по руководству, что давал Вам ранее.


Глянул на документацию от microchip - там действительно sspcon2 нет, но у microchip ОЧЕНЬ часто документация содержит СТРАШНЫЕ ошибки.
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 17:37   #14
SergP01
Senior Member
 
Аватар для SergP01
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 2,404
Вес репутации: 1047/64
SergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud ofSergP01 has much to be proud of
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от besogon Посмотреть сообщение

Глянул на документацию от microchip - там действительно sspcon2 нет, но у microchip ОЧЕНЬ часто документация содержит СТРАШНЫЕ ошибки.
блин.... вот ссылка сверху с сайта производителя.... всё там, по доке, есть...

только эрату надо почитать.... там чего то с клоками....
SergP01 вне форума   Ответить с цитированием
Старый 11.12.2020, 17:44   #15
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 34
Сообщений: 2,685
Вес репутации: 4859/106
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

SergP01
только эрату надо почитать.... там чего то с клоками.... - в errata написано как костылять проблемы. ну и в целом они костыляются.

Да, есть в документе SSPCON2. Почему-то подальше расположен, чем ожидаешь его увидеть.
besogon вне форума   Ответить с цитированием
Старый 11.12.2020, 18:01   #16
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от besogon Посмотреть сообщение
SergP01
только эрату надо почитать.... там чего то с клоками.... - в errata написано как костылять проблемы. ну и в целом они костыляются.

Да, есть в документе SSPCON2. Почему-то подальше расположен, чем ожидаешь его увидеть.
Спасибо друзья, попробую скомпилировать - у меня C18. Не расходитесь :
Geshka вне форума   Ответить с цитированием
Старый 11.12.2020, 20:07   #17
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Спасибо друзья.

Первая маленькая победа - код скомпилировался с SSPCON2 !!! Теперь буду пробовать посылать биты, байты и смотреть осциллоскопом. как я уже говорил мне нужен I2C мастер и только передача ...
Geshka вне форума   Ответить с цитированием
Старый 11.12.2020, 21:28   #18
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от SergP01 Посмотреть сообщение
только эрату надо почитать....
Все эрраты у Микрочипа про I2C касаются слейва. В мастере все работает.
Марк вне форума   Ответить с цитированием
Старый 12.12.2020, 02:05   #19
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от Марк Посмотреть сообщение
В мастере все работает.
Марк.Не поделитесь правильной инициализацией I2C для мастера в PIC18 ?
Geshka вне форума   Ответить с цитированием
Старый 12.12.2020, 08:16   #20
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

У меня есть работающий в серийном изделии код на АСМе для PIC18F45K22 с осциллятором на 64 МГц. Работает, кстати, с ЖКИ TIC154A.
Инициализация I2C:
Код:
                clrf		SSP2STAT
		movlw		.39
		movwf		SSP2ADD		; 8/(39+1)=400кГц (клоки I2C)
		movlw		b'00101000'
		movwf		SSP2CON1
		movlw		b'00000001'
		movwf		SSP2CON2
Марк вне форума   Ответить с цитированием
Старый 12.12.2020, 08:32   #21
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 61
Сообщений: 3,618
Вес репутации: 4306/129
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

В догон по пинам:
Код:
; 38 - RD0/SCL2 - SCL I2C TIC154А
; 39 - RD1/SDA2 - SDA I2C TIC154А

                movlw		b'11000011'
		movwf		TRISD
		clrf		LATD
PS. Если не знакомы с АСМом. movlw - запись константы в WREG. movwf - запись содержимого WREG в регистр. clrf - очистка регистра.

Последний раз редактировалось Марк; 12.12.2020 в 08:37.
Марк вне форума   Ответить с цитированием
Старый 12.12.2020, 16:07   #22
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
Thumbs up Re: Вопросы по PIC18F14K50 - замена или I2C

Благодарю, Марк.
Ассемблер читаю со словарем, програмирую на Ардуинках в основном, в Пик попробовал потому что пришлось.
Geshka вне форума   Ответить с цитированием
Старый 15.12.2020, 17:31   #23
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Небольшой прогресс, если интересно.
Сделал пртототип в следующем виде - PIC мастер I2C отправляет массив данных ( PWM, RPM, Error, SetPoint - всего четыре интежера) в ардуинку, которая I2C Slave. Ардуинка строит график на своем плоттере. Плоттер прозволит быстро (надеюсь ) подобрать ПИД коэффициенты и прибить пару багов.
Сначал построил все в Протеусе, потом запустил на реальном железе.
Сейчас надо встроить все в основную программу которая на ПИКе. А ардуинка останется уже в таком виде.
Geshka вне форума   Ответить с цитированием
Старый 20.12.2020, 00:23   #24
Geshka
Junior Member
 
Регистрация: 06.10.2010
Возраст: 57
Сообщений: 23
Вес репутации: 100/39
Geshka will become famous soon enoughGeshka will become famous soon enough
Angry Re: Вопросы по PIC18F14K50 - замена или I2C

Продолжу.
Запустил I2C на отдельной программе - работает а все вместе - нет. Я заметил что в симуляторе I2C модуль работает с Timer0 а в основой программе Timer0 уже используется.
Вот вопросы:
1. так ли это - I2C модуль испольсует Timer0?
2 Есть ли возможность использовать другой таймер? В даташите заметил что бит SSPM регистра SSPCON1 можно поставить Timer2. Кто либо пробовал так ?

Спасибо
Geshka вне форума   Ответить с цитированием
Старый 20.12.2020, 11:31   #25
al.kl
Senior Member
 
Регистрация: 11.10.2011
Возраст: 25
Сообщений: 319
Вес репутации: 978/46
al.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to behold
По умолчанию Re: Вопросы по PIC18F14K50 - замена или I2C

Цитата:
Сообщение от Geshka Посмотреть сообщение
В даташите заметил что бит SSPM регистра SSPCON1 можно поставить Timer2.
Это обычная синхронизация.

Никаким боком, никакой таймер, не имеет отношение к работе модуля I2C. Он автономен.
al.kl вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по реализации на C некоторых моментов hfmscan Вопросы начинающих 18 01.12.2014 15:13
GSM Сторож-3, вопросы по схеме Benjamin Вопросы начинающих 9 04.05.2014 01:24
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39
Передача сигнала по линии питания 24В maagalex Общетехнические вопросы 34 25.04.2010 21:11
вопрос по I2C Геннадий Ходячих Продукция MICROCHIP 32 25.10.2009 00:37


Часовой пояс GMT +3, время: 00:29.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot