STM32L152RB problem s interruptom na I2C

nesvacil@posys.cz nesvacil na posys.eu
Pondělí Září 16 11:21:44 CEST 2013


Pokud uvadite napr. TWI u Atmega, tak v SLAVE pokud  ztrati puls, tak se I2C kousne tj. musim si vygenerovat puls, aby TWI posuvny registr se dostal z tohoto mezistavu nebo udelat reset TWI. Nevim zda jsou tyhle casove mezistavy nekde popsany tj. v 
jakych casech reagovat... . Nebo se master resetuje napr. Watchodgem a tuto situaci musite resit na I2C sbernici. Pote musi SLAVE zarizeni nejak poznat v jakem stavu jsou ... .

Kdyz v I2C vyslu adresu, budu cekat na preruseni napr. 1kHz od systemovych hodin,ze bych poslal dalsi byte na I2C, tak nevim jak to je vse ok ... tj. ty casove prodlevy. Takto by mi to prislo samozrejme jednoduseji delat nez pouzit itnerrupt od I2C u 
STM32F1...

Treba neco nevim, ale tak mi to prijde....

Jirka



Dne 16. 9. 2013 9:53, Jan Waclawek napsal(a):
>> dival jste se na nejake starsi priklady od ST ? Me tam zarazi spousta while cekacich casti, prave proto si rikam, zda to ma vyznam z hlediska casu CPU vubec delat pres hw i2c u ST32F1.. .
> Ta I2C periferia (ako aj niektore ine periferie) maj rozne vyvojove stadia,
> a v F1 (kedze je to najstarsi rad) je to uplne najhorsie. Teraz som sa
> pozeral na Vami spomenutu erratu pre F1, a je to skutocne tragedia -
> nehovoriac o tom, ze tej errate ani moc nerozumiem... :-| Necudujem sa
> Vam, ze si I2C robite "rucne", aj ked ja osobne kebyze uz idem do niecoho
> takeho, tak sa to pokusim urobit v preruseni od casovaca.
>
>> Navic nektere slave IO na sbernici se trosku rovnaji na CLK I2C tj. pokud by jste to udelal v nejake hlavni smycce misto delay-while, tak by to taky nemuselo fungovat nebo ne ?
> Nerozumiem - ta hardwarova periferia dodrzuje vsetky casovania podla normy
> (okrem repeated start podla erraty, ale to by nemalo byt v drvivej vacsine
> pripadov kriticke), takze by malo byt jedno, ako sa obsluhuje, nie? Alebo
> hovorite o nejakych zariadeniach, ktore nie su celkom podla normy? Mozete
> prosim uviest konkretny priklad?
>
> ----
>
> Inak I2C je prekvapujuco zlozity protokol, ktory je notoricky
> implementovany v hardware s roznymi vadami. Spominam si ako onoho casu
> este v 90tych rokoch v Philipsovskom mcu fore opluvali nejaku tusim
> P8xC7xx, v ktorej udajne sa za urcitych okolnosti ten I2C hardware sekol a
> bolo ho treba zobudzat "manualne" generovanymi SCL clockmi.... Ja osobne
> som si uzil s I2C (pardon, TWI :-) ) v ATMegach, ktore sa mi za urcitych
> okolnosti sekali v multimaster rezime... Takze moj nazor je, ze tie I2C hw
> su zrejme bez vacsich problemov pouzitelne pre "klasicke" aplikacie typu
> "master pre jednu alebo niekolko bezproblemovych slave ktore su trvalo
> pripojene kratkymi prepojmi na jednej doske"; ale cokolvek co sa tomu
> vymyka si vyzaduje mat implementovany aj nejaky plan B - preferujem
> timeouty pomocou casovacov, ale v odovodnenych pripadoch to moze byt aj
> spomenuta "rucna metoda", preco nie.
>
> ----
>
> V L1/F2/F4 ma I2C opravene tie najhrubsie chyby. F0/F3 som neskumal, ale
> akop vidite, tuna pan kolega Stano to vychvalil... :-) A tyka sa to podla
> vsetkeho aj inych periferii, vid . Mozno, ze na "vseobecne pouzitie" je
> dobre sa vykaslat na F1 a prejst na F3...?
>
> wek
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list