Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с ADXL345, TWI ?
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=8194
Страница 1 от 2

Автор:  marcuka68 [ Чет Окт 14, 2010 9:40 am ]
Заглавие:  Проблем с ADXL345, TWI ?

Здравейте, пускам този чип по TWI (I2C), без прекъсвания и се оказа, че след превършването на един трансфер, трябва да изчакам, преди да започна следващия, определено време (около 10 микросекунди). Това комуникационният интерфейс ли го изисква или е особеност на ADXL345, която не намерих в документацията?
Прилагам сорса във файл. Когато извикам два пъти функцията един след друг, без закъснение, не работи. Като сложа закъснение около 10 микро, тръгва.
Струва ми се, че ще имам и други проблеми с комуникацията :)

Прикачени файлове:
TWI source.txt [1.59 KiB]
207 пъти

Автор:  didofen [ Чет Окт 14, 2010 10:54 am ]
Заглавие: 

по принцип всеки чип си има минимално изискуемо време за ресетване на контролната електроника, включително и дисплейте (там ако не спазиш кое и да е минимално време ще си гледкаш бози и тва си е, в наи добрия случей)

Автор:  marcuka68 [ Чет Окт 14, 2010 11:02 am ]
Заглавие: 

Може би и тук е нещо подобно, а иначе забравих да спомена, че контролерът е Атмега2560.

Автор:  Цецо [ Чет Окт 14, 2010 11:07 am ]
Заглавие: 

Аз също почвам проект с тоя чип. Ама мислех да го ползвам по SPI. Това I2C си е пълна дивотия.....

Автор:  rumen65 [ Чет Окт 14, 2010 11:28 am ]
Заглавие: 

Единственото което видях е време между стоп и старт което е 1.3uS, а ти казваш чак 10:

Прикачени файлове:
adxl345.JPG
adxl345.JPG [ 131.61 KiB | Прегледано 1703 пъти ]

Автор:  marcuka68 [ Чет Окт 14, 2010 2:35 pm ]
Заглавие: 

Предполагам, открих причината за нужното забавяне. Смених издърпващите резистори от 10к на 5к (още един успоредно). За сега се държи по-добре, но пак очаквам номера.

И аз бих предпочел SPI интерфейса, но не зависи от мен, много магарии ми излизат с и2ц :)

Автор:  tgi [ Чет Окт 14, 2010 7:25 pm ]
Заглавие: 

Е и 5 кила е много, 2 ако не и 1 (аз май все по 2 слагам и не съм имал зорове).

Автор:  marcuka68 [ Чет Окт 14, 2010 11:03 pm ]
Заглавие: 

И на мен ми се стори по спецификацията на и2ц, че над 1к все ще е добре, ама да не свалям запоените 10к, че със СМД съм малко скаран и ги свалям с пътечките понякога :)

Благодаря на отзовалите се, вече му чета и регистрите за ускорението, след инициализация. Остава само да пусна тая пущина с прекъсвания.

Автор:  Цецо [ Пет Окт 15, 2010 11:07 am ]
Заглавие: 

Чакайте бе как ги ръгате тия резистори, ей така на око. Майко мила.

Те се смятат относително лесно - имаш честотата, в дейташита трябва да има капацитетите, можете да си сметнете какви са ви резисторите. В някой случаи може да са 10к в други 1к. Че и по малко.

То че I2C е ужасен интерфейс съм го признал, ама и вие съвсем лаишки подхождате. Част от гадоста на тоя интерфейс е че е полуаналогов образно казано. Утре като го позатоплиш чипа да не напишеш - абе неработи от време на време, ама не знам кога и защо.

Пък закачи един скоп и виж съотношението фронт/плато ако те мързи да смяташ. Пак става. Ама така да пробваш на око, докато тръгне....

Автор:  tgi [ Пет Окт 15, 2010 11:20 am ]
Заглавие: 

Бе чак от много сметки няма нужда, а и 10 кила винаги ще създадат проблем,
много бавно ще е всичко що се катери. 1-2 кила ще е добре практически винаги,
от друга страна :-) .

Що ти се вижда толкова крив тоя интерфейс бе, Цецо? Аз за пръв път го bitbang-их
от едно HC11 преди 10-ина години (само master бях, което правеше нещата съвсем
лесни). Сега тоя 5200 дето ползвам има някакъв I2C контролер и него пак само
като master го ползвам, и беше някаква беля докато му угодя ама нищо особено,
не съм чувал скоро оттам. То остана и от него да чуя де, само 3 са май нещата
на тая платка към него - часовник, еепром и едно ADC (бавното, с много канали).
Всъщност баш сега ще трябва да почна да ползвам още два от каналите на ADC-то,
дано не предизвиквам белята.

Автор:  Цецо [ Пет Окт 15, 2010 11:57 am ]
Заглавие: 

Ми тъп е, щото е прекалено софтуерен и аналогов :) Аналогов е заради въпросните резистори, крайни стъпала и прочие. Софтуерен е защото иска цяла машина да го обслужва. Една купчина състояния има и повечето си искат да са на прекъсвания, става пълна каша. Трудно се връзва като хората за DMA. А като му погледнеш скоростта - пълна скръб като за тия ресурси и главоболия дето хабиш за него. Единственото му предимство е че е на две жици. Ама ако закачиш няколко устройства и то по бързички, става абсолютна каша. Най голямата му гадост е че поради многото си състояния, адреси, данни, акнолиджи и пр. понякога тръгват нещата привидно. И току в малко по особенна ситуация (съкратен ресурс, нещо хардуерно мръдне, засекат се два слейва) се оказва, че нещо си пропуснал и отгърми някъде... и то при клиента.

Затова хората са измислили - UART и SPI. Затова и съвременните контролери имат по 3 и повече от тези интерфейси, за да не си правя излишни главоболия. Просто и ясно.

В това отношение, един от най-тъпите контролери който съм виждал е ADUC72 нещо си. Който някой велик гении беше оборудвал с 2 I2C и по 1 UART и 1 SPI (без DMA). Пълен кретенизъм, ама така е като пройзводител на аналогови схеми реши да прави процесори.

Автор:  tgi [ Пет Окт 15, 2010 12:21 pm ]
Заглавие: 

Е има си недостатъците дето му ги споменаваш, разбира се, и си е бавен - ама е само
по две жици и лесно обикаля по платката, което му е идеята. Разни термосензори,
ей такива работи, да ги пръсне човек си е екстра. Ако процесорът ще е само
master е елементарен, моя bitbang код (правих го за HC11 и за 5420 DSP) беше
30-40 реда асемблер, нищо струващо си да се споменава. Ще взема да го изровя и постна
тук, може пък някой от коментарите ми да разбере нещо по-лесно :-).

А за скорости да, къде ти, аз сега имам едно ADC на 66 MbpS през един кодешко-SPI-чав
интерфейс, това са си немислими неща за I2C, отдалеееко немислими :-).

[edit] А бе бая бая повече от 30-40 реда се оказа :-). Сложих го все пак на
http://tgi-sci.com/misc/nmi2c.sa [/edit]

Автор:  marcuka68 [ Съб Окт 16, 2010 9:19 am ]
Заглавие: 

И тук са дадени стоиностите на резисторите

Прикачени файлове:
Pull-up values.png
Pull-up values.png [ 49.63 KiB | Прегледано 1718 пъти ]

Автор:  Zdrav [ Чет Окт 21, 2010 3:04 pm ]
Заглавие: 

[OT]
А как го лепите за платката тоя LGA корпус? Имам предвид на ръка, за прототипи. На QFN поне част от пина се пада отстрани, а на тоя целия пад е отдолу. Споделете някакъв опит.

Автор:  tgi [ Чет Окт 21, 2010 3:50 pm ]
Заглавие: 

И аз да добавя глас в питането на Zdrav. То тия излизащи отстрани точки в QFN помагат
като не стане някоя спойка да се замостят надолу (и такава свинщина съм правил и ме
е спасявала....), инак запояването и друг път съм го коментирал как е при мене - накратко
духалката, паста, флюс, инфрачервен термометър и най-вече майката.....

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/