| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Atmega и SPI http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=2720 |
Страница 1 от 2 |
| Автор: | Filo [ Чет Авг 03, 2006 5:19 pm ] | ||
| Заглавие: | Atmega и SPI | ||
За първи път се боря с този протокол и нещо зех да буксувам. ОПитвам се да чета по SPI данните от няколко АЦПта и датчика. Проблема е следния. Мегата я настройвам мастър. Опитвам се да чета от ето този датчикhttp://mcu-bg.com/mcu_site/exchange/tc77_442.pdf като MOSI линията я оставям не свързана. Пращам един байт който е 0х00 и след това чета SPDR но не чете адекватно. Връща ми винаги енда и съща дума която не можа да е истина. Дали не трябва да сложа и MOSI линията на SI/O-то на TC77.
|
|||
| Автор: | miro_atc [ Чет Авг 03, 2006 6:10 pm ] |
| Заглавие: | |
Сигурен ли си че това което четеш не е manufacture ID-то? ако е така изкарай от shutdown датчика... |
|
| Автор: | Filo [ Чет Авг 03, 2006 6:42 pm ] |
| Заглавие: | |
Не е схут даун. Подадеш ли му напрежение директно почва да работи. Някъде другаде е бъгнята ама не ми е ясно още къде. |
|
| Автор: | Реконструктор [ Чет Авг 03, 2006 9:31 pm ] |
| Заглавие: | |
Имай предвид, че изходите на SPI тряба да се конфигурират по съответен начин като входове/изходи, в даташита го пише. |
|
| Автор: | Cekins [ Пет Авг 04, 2006 12:02 am ] |
| Заглавие: | |
По добре не ползвай хардуерното SPI а си напиши сам програмка за четене. Обърни внимание колко бита се четат и пишат. Хардуерния SPI работи на групи по 8 а тук има един път 8 и един път 6 за четенето. Освен това като гледам след CS low веднага се започва клокване на данните. След това чак можеш да му пращаш. Може и да греша но съм борил микрочипско ацп да го пусна с хардуерния SPI, макар че в PDF-a има обяснения как можело да стане. Накрая си написах сам модул специално за него и си заспа. Малко дървено се получава ама пък нямаш грижи. |
|
| Автор: | paregov [ Пет Авг 04, 2006 9:47 am ] | |||||||||
| Заглавие: | Re: Atmega и SPI | |||||||||
Тогава ще имаш два изхода свързани един към друг, а това не е за препоръчване. |
||||||||||
| Автор: | Filo [ Пет Авг 04, 2006 10:14 am ] |
| Заглавие: | |
Абе няма ли стандарт за този протокол. Четох за Мегата че като е мастър за да получаваш данни първо трябва да изпратиш един байт. Датчика пък в момтна в който му свалиш CS-a пише че почва да предава. в момента съм оствил MOSI-то не свързано за да мога да пусна клок и да получавам данни. Направо се чудя как да го подхвана. |
|
| Автор: | FiTTiLA [ Пет Авг 04, 2006 10:41 am ] |
| Заглавие: | |
С какъв процесор си? Имай предвид че ако използваш CS-та и SPI на процесора ти ако е конфигуриран в 8 битов режим, CS се сетва в не активно състояние на всеки 8 бита. Повечето slave схеми на SPI са направени като state машина която се ресетира от не активното състояние на CS. Така че мои съвет е да изпозваш някое IO на процесора, т.е. преди да четеш го сваляш, след като свършиш Edit: Аха ти си Мега, sorry не бях го видял. |
|
| Автор: | freestyler [ Пет Авг 04, 2006 10:57 am ] |
| Заглавие: | |
Съжалявам за тъпия въпрос, обаче забелязал ли си че данните от TC77 не са 8 bits ами 12 bits. Ако не си пробвал с 12 bits, пробвай, може да стане. Данчо |
|
| Автор: | Filo [ Пет Авг 04, 2006 11:13 am ] |
| Заглавие: | |
Осцилоскопа съм го сложил. Ама така както е направен протокола, се притеснявам че нищо не мога да видя на него. той след като си получи двете думи по 8 бита и вдига CS. При честота 62,5 KHz се съмнявам да видя нещо. май ше се хвана да го разпиша че взе да ми писва. |
|
| Автор: | Filo [ Пет Авг 04, 2006 11:15 am ] |
| Заглавие: | |
[quote="paregov"][/quote] Аз CSa го свалям. Изпращам байт от Мегата защото четох че само така като е в режим Мастър може да пуснеш клока и след това чакам да получа данни. Ама нещо по веригата се губи. |
|
| Автор: | paregov [ Пет Авг 04, 2006 11:21 am ] |
| Заглавие: | |
Сигурен ли си, че първо не трябва да кажеш на датчика какво искаш да прочетеш от него? (Нямам сега време да я чета. ) |
|
| Автор: | Filo [ Пет Авг 04, 2006 11:26 am ] | |||||||||
| Заглавие: | ||||||||||
Сигурен. в даташита казват че свалиш ли му CS-a и почва да предава. Има малко смущаващи неща тука. На всякъде където четох SPI е с 4 линии а при този датчик е с 3. Демек MOSI и MISO влизат на неговия SI/O. Ама на мен не ми се връзва. За SPI пише че като си мастър трябва да изпратиш "dummy" байт за да почнеш да четеш от слейва. В даташита на датчика пише че свалиш ли му CS-a почва директно да праща. Цялата история не ми се връзва ама никак. |
||||||||||
| Автор: | Cekins [ Пет Авг 04, 2006 12:28 pm ] |
| Заглавие: | |
Както по горе писах - най-лесно напиши си модул за четене. Един съвет обаче - вземи TCN75 -Той е I2C и на два кабела можеш да вържеш значително повече устройства а и всички I2C устройства спазват протокола. 75-цата също има и генериране на прекъсване, аларми и други екстри. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|