Отговори на тема  [ 31 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Софтуерен I2C за работа с ЕЕПРОМ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Някакви външни пул-ъп резистори ?


Сря Юли 18, 2018 1:15 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Pull-down е! Пробвах с различни стойности - същата работа. След няколко дни мога да го погледна и със скоп ама ще установя очевадното само...
Нещо с настройките е обаче не знам какво. Направих един кейс на мИКРоЧеП. Да видим какво ще кажат.

_________________
www.elkran.com


Сря Юли 18, 2018 2:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Какъв пъл доун, ти казваш че тисе установява в 1-ца за 20-30 мс, значи е пулъп това което ти трябва.
С какво комуникираш, това по ТТЛ или ? Малко не е ясно, няма как изхода на контролера да с еустановява за 20 мс, просто няма такъв, да не си конфигурирал изходи като ОС, и да вдига в 1-ца само от входа на каквото имаш отсреща ?


Сря Юли 18, 2018 3:03 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
на eMZетка (32MZ2048EFM100) съм карал GSM модем на 921600 и не съм имал проблеми с UART-a
левъл-шифтера ти, сигурен ли си че ти издържа на скороста

Код:
void GSM_HardInit(void) {
    U2MODE = 0;
    U2STA = 0;
    SystemUnlock();
    RPC2R = 2;  //RemapOutput(OUTPUT_FUNC_U2TX, OUTPUT_PIN_RPC2);
    U2RXR = 12; // RemapInput(INPUT_FUNC_U2RX, INPUT_PIN_RPC3); 
    SystemLock();
    TRISASET = _TRISA_TRISA1_MASK; //TRISAbits.TRISA1 = 1;
    LATACLR  = _LATA_LATA5_MASK; //LATAbits.LATA5 = 0;
    TRISACLR = _TRISA_TRISA5_MASK; //TRISAbits.TRISA5 = 0;     
    /* set rx interrupt priority */
    IPC36CLR = _IPC36_U2RXIP_MASK;
    IPC36SET = (2 << _IPC36_U2RXIP_POSITION);
    IPC36CLR = _IPC36_U2RXIS_MASK;
    IPC36SET = (0 << _IPC36_U2RXIS_POSITION);
    /* set tx interrupt priority */
    IPC36CLR = _IPC36_U2TXIP_MASK;
    IPC36SET = (2 << _IPC36_U2EIP_POSITION);
    IPC36CLR = _IPC36_U2TXIS_MASK;
    IPC36SET = (0 << _IPC36_U2TXIS_POSITION);
    /* set error interrupt priority */
    IPC36CLR = _IPC36_U2EIP_MASK;
    IPC36SET = (2 << _IPC36_U2TXIP_POSITION);
    IPC36CLR = _IPC36_U2EIS_MASK;
    IPC36SET = (0 << _IPC36_U2EIS_POSITION);     
    U2BRG = (unsigned short) (((float) SYS_CLK_BUS_PERIPHERAL_1 /
            (4.0 * gsmConfig()->uartBrg))-(float) 0.5);
}

_________________
main[-1u]={1};


Сря Юли 18, 2018 3:07 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Да! Използвам препоръчаният в дейташийта! Ще дам и името ако трябва ама по-късно, че го нямам пред мен.
Откакто накарах Harmony-то да ми конфигурира PBCLK4 като раздели клока на 20(а не както е по-стандарт на 1), преходът от "0" към "1" е ОК. Такъв е преходът, когато казва на модема да спре да праща данни.
Тествах модема като му отворих 3 сокета едновременно - никакви ядове. Обаче остава обратният преход - от 1 към 0. Защото при RS485 трансийвърите това е смяна от предаване към приемане. И ако отсрещната страна отговори за време по-малко от 20мс, получавам бла бла бла....
Предполагам е някоя друга настройка на някой регистър. Трябва да взема да им нацъкам scaller-и на всичките...

_________________
www.elkran.com


Сря Юли 18, 2018 5:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Чакай, чакай ... кога стигнахме до RS485 ? Ти ако си на 485 може да имаш съвсем друг проблем, изобщо несвързан с И/О-то ти. Ти имаш време за установяване на линията, трябва да изчакваш известно време, не можеш да плюеш мигновено след като приемеш и линията премине в прослушване, или пък веднага след като я заемеш. Там едно време беше практика да има преамбъл байт, не знам какви са новите моди :)


Сря Юли 18, 2018 5:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
p.s. сега отворих чршафа, I/o като I/o освен че на някои пинове имаш slew rate нищо особенно, сигурно си го конфигурирал Open Drain за да е 5 V толерантно, имаш някъде пълъп, няма причина за никакво забавяне в сетването, особено пък в 0. Загледай времената за установяване на линията, които всъщност зависят от нейната дължина, както и времето за установяване на приемник/предавател, имаше по 2us което е съизмеримо с 1 бит при твойте 916 кб


Сря Юли 18, 2018 7:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Тони, у-вото има 3G модем и 5 RS485 порта! И не е open drain, защото съм дал в регистъра за open drain - 0. Сиреч изключен е! Интеграли за RS, които съм избрал имат време за реакция около 80us(смених ги с 30us - не помага). Линиите са много къси, а скоростите ниски. При това положение би трябвало дори превключването да се състои по време на предаване да се прецака само по 1 байт - при 9600 и превключване за 80-100 200us ги сложи. Обаче то има по 10-15... И в двете посоки! Ще го погледна със скопа като се прибера ама съм сигурен, че нещо не е наред с установяването...

_________________
www.elkran.com


Сря Юли 18, 2018 10:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Ако линията ти се установява за 30 us, това са 8 байта счупени, ако не изчакваш достатъчно за да се установи. Въпроса обаче е че ако е това то ще е постоянно а не от време на време и то през такива гомеми интервали. Ако не си OD значи си с 3V RS485 драйвери, кой чип използваш?


Чет Юли 19, 2018 9:00 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Тони, как 8 байта... при 9600 бауд рейт 1 байт(8 бита + парити + стоп) ти се предава приблизително за 1ms... В момента съм сложил ST3485EBDR, която е на 3.3V, защото се притеснявах да не е от нивата нещо. Иначе първоначално бяха SP485EEN. Обаче имам други платки пак така с SP485EEN на 5V и контролер на 3.3 и всичко е пушка...
Днес ако остане ред ще преровя схемата на портовете, която са дали в чаршафа, да видим дали няма да измисля нещо, че докато отговорят от микрочеп...

_________________
www.elkran.com


Чет Юли 19, 2018 10:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Дек 19, 2005 12:21 pm
Мнения: 1037
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Ако по това rs485 върви модбус, там си е указано в стандарта 3.5 character time при скорости до 19200 или 750 us изчакване.


Чет Юли 19, 2018 11:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
На 9600 не знам ама по горе си писал за почти 1 mbps, 926000 ако се не лъжа пишеш.


Чет Юли 19, 2018 9:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Еми, да... 926000 към GSM-a, от 300 до 115200 към RS485.

_________________
www.elkran.com


Пет Юли 20, 2018 8:31 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Ами... гадаенето не ми върви ти дни ;)
На 9600 не е чак такъв проблем но не е добре да се забравя, при 115 вече си е сериозен проблем. Също така не забравяй че логиките на тия периферии използват фронтове, това бавно установяване на линията застъпено със стартов бит може да създаде проблем за приемащата страна дори и на 9600


Пет Юли 20, 2018 8:40 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Юни 25, 2009 1:01 pm
Мнения: 2251
Мнение Re: Софтуерен I2C за работа с ЕЕПРОМ
Знам! Аз го наблюдавам! Понеже данните, които се точат, са групирани в пакети. И като дойде по-бързо отговора, приемащата страна изтърва няколко байта, чексумата не излиза и т. н.

_________________
www.elkran.com


Пет Юли 20, 2018 8:48 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 31 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни