Перейти к содержанию
    

Привет всем. Имею плату на dspic30F6010 и модуль с DS1307. Уж читаю, читаю а вычетать не могу.

Имзмерял SCL получаю около 200kHz, в доку по DS1307 - не более 100kHz. Процессор работает на 14,7650MHz

начал подбирать содержимое I2CBRG согласно формуле из доки, не могу опуститься ниже 160кHz. Понимаю что 

завышена FCY, но толком не пойму как ее менять. Это же частота выполнениея инструкций ? Подсобите плиз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из 14.765 МГц вполне себе 100 кГц получаются:
[((14765/100) - (14765/1111.111)) - 1] = 133, а вот разбираться это тактовая Fosc или частота инструкций Fcy, не обессудьте - лень (-;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: @Zx80, правилами 3.2 форума кросспост (создание дубликата темы) - запрещен! Если создали тему не в том разделе, нет нужды создавать точно такую же в надлежащей ветке форума. Достаточно написать модератору (мне), и тема будет перенесена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Quote

Из 14.765 МГц вполне себе 100 кГц получаются:
[((14765/100) - (14765/1111.111)) - 1] = 133, 

Если бы я этого не сделал, я бы сюда не писал. Частоту мне при этом значении показывает в районе 200

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ищу по доке, однозначного значения не нашел. Но подобрал значения регистра

void I2C_Init(void)
{

    I2CCONbits.I2CEN = 0;   
   I2CCONbits.I2CSIDL    = 0;
   I2CCONbits.IPMIEN    = 0;
   I2CCONbits.A10M      = 0;
   I2CCONbits.DISSLW    = 1;
   I2CCONbits.SMEN    = 0;
    I2CBRG              = setBaudRate();   
    __delay_ms(1);
    I2CCONbits.I2CEN    = 1;
}

int setBaudRate(){
    return 280;//(FCY/I2C_BAUDRATE - FCY/1111111) - 1;
}

 

Изменено пользователем Zx80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сказано в доках и форумах что частота исполнения инструкций. По идее как инструкция за 4 такта. Тогда кварц 14756000. FCY = 3689000 Гц. Но если ее подставлять в формулу, 280 никак не получишь

И вот имею на руках руководства по Oscilator ддя dspic30f. В одной сказано что FCY = FOSC/2 в другой FCY = FOSC/4. Кому верить Даже если так, все равно формула левая. Вообще складывается впечатлене что

сам dspic левый процессор какой то вместе с левой фирмой микрочип.

Изменено пользователем Zx80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чудес не бывает.
Микрочип - почтенная контора, веников не вяжет ;-)

Разбираться с тактированием - как запущен генератор, PLL, случаем, не задействована?
т.к. 3.689 МГц это несерьёзно в смысле производительности (до 30 МГц).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проект не мой, я на нем пару месяцев. До этого с PIC дела не имел. Сейчас все работает, но осадочек остался.  Вот два документа о разном.

FCY2.png

FCY4.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но оба документа говорят что FCY меньше FOSC. Хотя я понял что PLL наоборот подымает внутреннюю частоту исполнения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за документ, где тактирование аж в 29 главе? DSкакой?

Ну что, PLL задействована?

Но оба документа говорят что FCY меньше FOSC. Хотя я понял что PLL наоборот подымает внутреннюю частоту исполнения
Естественно, для 30 MIPS 120 МГц снаружи подать - дорого ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это отсюда https://ww1.microchip.com/downloads/en/devicedoc/70046e.pdf

В программе конфигурирование PLL не обнаружил, хотя сейчас понимаю это по идее должно быть в свойствах проекта. 

Изменено пользователем Zx80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно получается: DS70046e - это то, что я читал и там 26 разделов, но каждый имеет в "подвале" свой DS700xx.
У вас 29-й раздел с каким DS700xx? Чисто уже из спортивнго интереса...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Система есть, но я ее пока не улавливаю. Оттого, что нарыл то и мое, и не всегда это то что нужно и правильно.

Вот как я мог нарыть DS70268A - на удачу.

 

FCY5.png

Изменено пользователем Zx80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 12/30/2023 at 9:37 AM, Zx80 said:

Система есть, но я ее пока не улавливаю. Оттого, что нарыл то и мое, и не всегда это то что нужно и правильно.

Берете базовый документ Device Family Data Sheet.

В начале каждого раздела этого документа есть отсылка к документу, детально описывающему этот модуль.

Номер документа и его название.
Этот текст даже в рамочку обводится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...