|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:19 am
| Автор |
Съобщение |
|
marcuka68
Ранг: Ориентиран
Регистриран на: Пет Авг 07, 2009 4:58 pm Мнения: 273
|
 Проблем с ADXL345, TWI ?
Здравейте, пускам този чип по TWI (I2C), без прекъсвания и се оказа, че след превършването на един трансфер, трябва да изчакам, преди да започна следващия, определено време (около 10 микросекунди). Това комуникационният интерфейс ли го изисква или е особеност на ADXL345, която не намерих в документацията?
Прилагам сорса във файл. Когато извикам два пъти функцията един след друг, без закъснение, не работи. Като сложа закъснение около 10 микро, тръгва.
Струва ми се, че ще имам и други проблеми с комуникацията 
|
| Чет Окт 14, 2010 9:40 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
по принцип всеки чип си има минимално изискуемо време за ресетване на контролната електроника, включително и дисплейте (там ако не спазиш кое и да е минимално време ще си гледкаш бози и тва си е, в наи добрия случей)
|
| Чет Окт 14, 2010 10:54 am |
|
 |
|
marcuka68
Ранг: Ориентиран
Регистриран на: Пет Авг 07, 2009 4:58 pm Мнения: 273
|
Може би и тук е нещо подобно, а иначе забравих да спомена, че контролерът е Атмега2560.
|
| Чет Окт 14, 2010 11:02 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Аз също почвам проект с тоя чип. Ама мислех да го ползвам по SPI. Това I2C си е пълна дивотия.....
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Чет Окт 14, 2010 11:07 am |
|
 |
|
rumen65
Ранг: Новодошъл
Регистриран на: Чет Окт 06, 2005 2:06 pm Мнения: 194 Местоположение: Sofia
|
Единственото което видях е време между стоп и старт което е 1.3uS, а ти казваш чак 10:
|
| Чет Окт 14, 2010 11:28 am |
|
 |
|
marcuka68
Ранг: Ориентиран
Регистриран на: Пет Авг 07, 2009 4:58 pm Мнения: 273
|
Предполагам, открих причината за нужното забавяне. Смених издърпващите резистори от 10к на 5к (още един успоредно). За сега се държи по-добре, но пак очаквам номера.
И аз бих предпочел SPI интерфейса, но не зависи от мен, много магарии ми излизат с и2ц 
|
| Чет Окт 14, 2010 2:35 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Е и 5 кила е много, 2 ако не и 1 (аз май все по 2 слагам и не съм имал зорове).
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Окт 14, 2010 7:25 pm |
|
 |
|
marcuka68
Ранг: Ориентиран
Регистриран на: Пет Авг 07, 2009 4:58 pm Мнения: 273
|
И на мен ми се стори по спецификацията на и2ц, че над 1к все ще е добре, ама да не свалям запоените 10к, че със СМД съм малко скаран и ги свалям с пътечките понякога
Благодаря на отзовалите се, вече му чета и регистрите за ускорението, след инициализация. Остава само да пусна тая пущина с прекъсвания.
|
| Чет Окт 14, 2010 11:03 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Чакайте бе как ги ръгате тия резистори, ей така на око. Майко мила.
Те се смятат относително лесно - имаш честотата, в дейташита трябва да има капацитетите, можете да си сметнете какви са ви резисторите. В някой случаи може да са 10к в други 1к. Че и по малко.
То че I2C е ужасен интерфейс съм го признал, ама и вие съвсем лаишки подхождате. Част от гадоста на тоя интерфейс е че е полуаналогов образно казано. Утре като го позатоплиш чипа да не напишеш - абе неработи от време на време, ама не знам кога и защо.
Пък закачи един скоп и виж съотношението фронт/плато ако те мързи да смяташ. Пак става. Ама така да пробваш на око, докато тръгне....
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Окт 15, 2010 11:07 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Бе чак от много сметки няма нужда, а и 10 кила винаги ще създадат проблем,
много бавно ще е всичко що се катери. 1-2 кила ще е добре практически винаги,
от друга страна  .
Що ти се вижда толкова крив тоя интерфейс бе, Цецо? Аз за пръв път го bitbang-их
от едно HC11 преди 10-ина години (само master бях, което правеше нещата съвсем
лесни). Сега тоя 5200 дето ползвам има някакъв I2C контролер и него пак само
като master го ползвам, и беше някаква беля докато му угодя ама нищо особено,
не съм чувал скоро оттам. То остана и от него да чуя де, само 3 са май нещата
на тая платка към него - часовник, еепром и едно ADC (бавното, с много канали).
Всъщност баш сега ще трябва да почна да ползвам още два от каналите на ADC-то,
дано не предизвиквам белята.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Окт 15, 2010 11:20 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Ми тъп е, щото е прекалено софтуерен и аналогов  Аналогов е заради въпросните резистори, крайни стъпала и прочие. Софтуерен е защото иска цяла машина да го обслужва. Една купчина състояния има и повечето си искат да са на прекъсвания, става пълна каша. Трудно се връзва като хората за DMA. А като му погледнеш скоростта - пълна скръб като за тия ресурси и главоболия дето хабиш за него. Единственото му предимство е че е на две жици. Ама ако закачиш няколко устройства и то по бързички, става абсолютна каша. Най голямата му гадост е че поради многото си състояния, адреси, данни, акнолиджи и пр. понякога тръгват нещата привидно. И току в малко по особенна ситуация (съкратен ресурс, нещо хардуерно мръдне, засекат се два слейва) се оказва, че нещо си пропуснал и отгърми някъде... и то при клиента.
Затова хората са измислили - UART и SPI. Затова и съвременните контролери имат по 3 и повече от тези интерфейси, за да не си правя излишни главоболия. Просто и ясно.
В това отношение, един от най-тъпите контролери който съм виждал е ADUC72 нещо си. Който някой велик гении беше оборудвал с 2 I2C и по 1 UART и 1 SPI (без DMA). Пълен кретенизъм, ама така е като пройзводител на аналогови схеми реши да прави процесори.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Окт 15, 2010 11:57 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Е има си недостатъците дето му ги споменаваш, разбира се, и си е бавен - ама е само
по две жици и лесно обикаля по платката, което му е идеята. Разни термосензори,
ей такива работи, да ги пръсне човек си е екстра. Ако процесорът ще е само
master е елементарен, моя bitbang код (правих го за HC11 и за 5420 DSP) беше
30-40 реда асемблер, нищо струващо си да се споменава. Ще взема да го изровя и постна
тук, може пък някой от коментарите ми да разбере нещо по-лесно  .
А за скорости да, къде ти, аз сега имам едно ADC на 66 MbpS през един кодешко-SPI-чав
интерфейс, това са си немислими неща за I2C, отдалеееко немислими  .
[edit] А бе бая бая повече от 30-40 реда се оказа  . Сложих го все пак на
http://tgi-sci.com/misc/nmi2c.sa [/edit]
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Окт 15, 2010 12:21 pm |
|
 |
|
marcuka68
Ранг: Ориентиран
Регистриран на: Пет Авг 07, 2009 4:58 pm Мнения: 273
|
И тук са дадени стоиностите на резисторите
|
| Съб Окт 16, 2010 9:19 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
[OT]
А как го лепите за платката тоя LGA корпус? Имам предвид на ръка, за прототипи. На QFN поне част от пина се пада отстрани, а на тоя целия пад е отдолу. Споделете някакъв опит.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Чет Окт 21, 2010 3:04 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
И аз да добавя глас в питането на Zdrav. То тия излизащи отстрани точки в QFN помагат
като не стане някоя спойка да се замостят надолу (и такава свинщина съм правил и ме
е спасявала....), инак запояването и друг път съм го коментирал как е при мене - накратко
духалката, паста, флюс, инфрачервен термометър и най-вече майката.....
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Чет Окт 21, 2010 3:50 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|