| Автор |
Съобщение |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
 Atmega и SPI
За първи път се боря с този протокол и нещо зех да буксувам.
ОПитвам се да чета по SPI данните от няколко АЦПта и датчика. Проблема е следния.
Мегата я настройвам мастър. Опитвам се да чета от ето този датчик http://mcu-bg.com/mcu_site/exchange/tc77_442.pdf като MOSI линията я оставям не свързана. Пращам един байт който е 0х00 и след това чета SPDR но не чете адекватно. Връща ми винаги енда и съща дума която не можа да е истина.
Дали не трябва да сложа и MOSI линията на SI/O-то на TC77.
|
| Чет Авг 03, 2006 5:19 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Сигурен ли си че това което четеш не е manufacture ID-то?
ако е така изкарай от shutdown датчика...
|
| Чет Авг 03, 2006 6:10 pm |
|
 |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
Не е схут даун. Подадеш ли му напрежение директно почва да работи. Някъде другаде е бъгнята ама не ми е ясно още къде.
|
| Чет Авг 03, 2006 6:42 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Имай предвид, че изходите на SPI тряба да се конфигурират по съответен начин като входове/изходи, в даташита го пише.
|
| Чет Авг 03, 2006 9:31 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
По добре не ползвай хардуерното SPI а си напиши сам програмка за четене. Обърни внимание колко бита се четат и пишат. Хардуерния SPI работи на групи по 8 а тук има един път 8 и един път 6 за четенето. Освен това като гледам след CS low веднага се започва клокване на данните. След това чак можеш да му пращаш. Може и да греша но съм борил микрочипско ацп да го пусна с хардуерния SPI, макар че в PDF-a има обяснения как можело да стане. Накрая си написах сам модул специално за него и си заспа. Малко дървено се получава ама пък нямаш грижи.
|
| Пет Авг 04, 2006 12:02 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: Atmega и SPI
Тогава ще имаш два изхода свързани един към друг, а това не е за препоръчване.
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пет Авг 04, 2006 9:47 am |
|
 |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
Абе няма ли стандарт за този протокол.
Четох за Мегата че като е мастър за да получаваш данни първо трябва да изпратиш един байт.
Датчика пък в момтна в който му свалиш CS-a пише че почва да предава. в момента съм оствил MOSI-то не свързано за да мога да пусна клок и да получавам данни. Направо се чудя как да го подхвана.
|
| Пет Авг 04, 2006 10:14 am |
|
 |
|
FiTTiLA
Ранг: Професионалист
Регистриран на: Сря Май 11, 2005 3:47 pm Мнения: 534
|
С какъв процесор си? Имай предвид че ако използваш CS-та и SPI на процесора ти ако е конфигуриран в 8 битов режим, CS се сетва в не активно състояние на всеки 8 бита. Повечето slave схеми на SPI са направени като state машина която се ресетира от не активното състояние на CS. Така че мои съвет е да изпозваш някое IO на процесора, т.е. преди да четеш го сваляш, след като свършиш  го вдигаш. Първата работа коята трябва да свършиш е да видиш на осцилоскопа какво става по жиците  на SPI-а.
Edit: Аха ти си Мега, sorry не бях го видял.
|
| Пет Авг 04, 2006 10:41 am |
|
 |
|
freestyler
Ранг: Минаващ
Регистриран на: Пон Ное 07, 2005 9:17 pm Мнения: 57
|
Съжалявам за тъпия въпрос,
обаче забелязал ли си че данните от TC77 не са 8 bits ами 12 bits.
Ако не си пробвал с 12 bits, пробвай, може да стане.
Данчо
|
| Пет Авг 04, 2006 10:57 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
И да свалиш CS-a на датчика, докато не му подадеш тактов сигнал няма да тръгне да предава. С изпращането на тоя байт, ти казваш, че искаш да вземеш данни от Slave-а. Виж картинката 
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пет Авг 04, 2006 11:09 am |
|
 |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
Осцилоскопа съм го сложил. Ама така както е направен протокола, се притеснявам че нищо не мога да видя на него. той след като си получи двете думи по 8 бита и вдига CS. При честота 62,5 KHz се съмнявам да видя нещо.
май ше се хвана да го разпиша че взе да ми писва.
|
| Пет Авг 04, 2006 11:13 am |
|
 |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
[quote="paregov"][/quote]
Аз CSa го свалям. Изпращам байт от Мегата защото четох че само така като е в режим Мастър може да пуснеш клока и след това чакам да получа данни. Ама нещо по веригата се губи.
|
| Пет Авг 04, 2006 11:15 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
Сигурен ли си, че първо не трябва да кажеш на датчика какво искаш да прочетеш от него?
(Нямам сега време да я чета. ) 
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пет Авг 04, 2006 11:21 am |
|
 |
|
Filo
Ранг: Минаващ
Регистриран на: Чет Юни 16, 2005 11:04 am Мнения: 37
|
Сигурен. в даташита казват че свалиш ли му CS-a и почва да предава. Има малко смущаващи неща тука. На всякъде където четох SPI е с 4 линии а при този датчик е с 3. Демек MOSI и MISO влизат на неговия SI/O.
Ама на мен не ми се връзва. За SPI пише че като си мастър трябва да изпратиш "dummy" байт за да почнеш да четеш от слейва.
В даташита на датчика пише че свалиш ли му CS-a почва директно да праща. Цялата история не ми се връзва ама никак.
|
| Пет Авг 04, 2006 11:26 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Както по горе писах - най-лесно напиши си модул за четене. Един съвет обаче - вземи TCN75 -Той е I2C и на два кабела можеш да вържеш значително повече устройства а и всички I2C устройства спазват протокола. 75-цата също има и генериране на прекъсване, аларми и други екстри.
|
| Пет Авг 04, 2006 12:28 pm |
|
|