|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 12:41 am
| Автор |
Съобщение |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Единия(главния) е на 20MHz, другия на 16MHz, делителя на 4, първия модул ще работи на 5MHz, втория на 4MHz, дали изчисляваш правилно максимално допустимата скорост на която може да отговаря подчинения процесор ?
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Пон Фев 21, 2011 4:36 pm |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
И това си го мислих , че като са на различна честота и Слейв-а не се вписва добре , но пък сега с по къси проводници работи добре
@Cekins Може и да си прав , и нали съм ламер , е възможно да бъркам някъде .
То аз си нагласих по някава моя си представа , как да работи връзката м/у двата пик-а
та може и в това да има грешка . Но накратко правя така :
Мастер-а праща едно запитване към Слейв-а , а той след това си приготвя в буфера за пращане съответия отговор . Следва отново същото запитване от Мастер-а ( или само пуска Клок сигнал ) и с едновременно прочита вече готовия отговор .
Може тотално да съм убил смисъла на асинхроната връзка но , съм си го пригодил за моите нужди
@marcuka68 И аз съм ползвал звуковата карта преди , но беше за нискочестотни сигнали , ама сега на 1 мхз дали ще хване нещо 
|
| Пон Фев 21, 2011 9:26 pm |
|
 |
|
mitko_el
Ранг: Форумен бог
Регистриран на: Вто Яну 24, 2006 6:34 pm Мнения: 1753 Местоположение: Варна
|
Не съм казал, ама да повторя  . Капацитет...
_________________ За пари сичко праим,даже и работим...
|
| Пон Фев 21, 2011 9:47 pm |
|
 |
|
head_up
Ранг: Форумен бог
Регистриран на: Нед Юни 01, 2008 9:54 pm Мнения: 1503 Местоположение: Пловдив
|
не, разбира се. Хайде отиди до близкото ТНТМ, електротехникум, технически университет, или кварталния дето ремонтира телевизори (дано поне той има) или както му викат се помоли за 10 мин на саме с осцилоскопа  То за това бяха полезни кръжоците едно време - не че човек не може да си вземе от магазина шепа чаркове и да сглобява, ама си е друго като имаш пред теб що ти апаратура поискала сърце., а и имаше кой да те насочи къде да си търсиш грешката.. Та това му е майката - като нямаш скоп се разтърси в околията - колкото до това да погледнеш няколко сигнала не мисля, че ще ти откажат дори в университет, нищо че не си техен студент - по-скоро ще ти се зарадват.
И наистина се замисли дали да не поспестиш 400-500 лв за един втора ръка, ще ти е от полза както и да го погледнеш.
|
| Пон Фев 21, 2011 9:47 pm |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
Тъй като се позамисля, дали няма да е капацитета
..... Сега сериозно ... наистина го каза и изглежда е така
@head_up е ако се разтъся все някой ще се съгласи да услужи със скоп
А иначе наистина е добре човек да го има под ръка , но за сега това ми е само като хоби след работа в свободното време . Но ако човек се занимава професионално като повечето от вас , е наложително да го има 
|
| Пон Фев 21, 2011 10:12 pm |
|
 |
|
mitko_el
Ранг: Форумен бог
Регистриран на: Вто Яну 24, 2006 6:34 pm Мнения: 1753 Местоположение: Варна
|
Ако е това дето го мисля , не мож го видя със скоп. Като допреш сондите и проблема ще изчезне...Нямам идея коаксиалните телове дето ги слагаш колко "С" вкарват , ама си на ръба... Имах преди ядове от тоз сорт, ама сигналите ги пращаш към TTL схеми , пък те са си бързаци в сравнение с проца май, май...
_________________ За пари сичко праим,даже и работим...
|
| Пон Фев 21, 2011 10:32 pm |
|
 |
|
bkulev
Ранг: Популярен
Регистриран на: Сря Яну 25, 2006 12:47 pm Мнения: 305 Местоположение: Varna
|
Съдейки по този пост си мисля, че проблемът е по - скоро софтуерен и произлиза от недобро разбиране същностна на SPI комуникацията.
Ако позволиш малко разяснение:
Прдстави си че SPI модула на всеки от процесорите е един 8 битов преместващ регистър от едната страна му влизат данните, а от другата му излизат. И двата са вързани един след друг като на броеница Мвход -> Мизход -> Свход ->Сизход ->Мвход. Само и единствнно мастера генерира клока и в този смисъл разликата м/у работните честоти на двата проца няма значение. Не можеш да пуснеш "само клок" както казваш по - горе, както и неможеш да изпратиш данни без да приемеш други. Най - просто изглежда така: Двата проца слагат по един байт данни в регистъра, Мастера изтактува един байта и в резулата на което двата байта си разменят местата. При този сценарий трябва да се съблюдават три неща 1. Двта SPI модула да са настроени на един и същи Mode ( а те са 0..3) 2. Слейв-а винаги да държи в регистъра валиден байт ( в твоя случай отговора на синхро байта на мастера) и 3. SPI - я на Слейв-а задължително да работи в прекъсване с висок приоритет, защото ако SPI -я на Мастера е с много висока честота, то е възможно Слейва да не сварва да вкарва байтовете за отговор. В този случай Мастера ще си приема (от време на време) собствния байт или може и да е омазан, ако в момента на предаване Слейва го подмени. За това последното не съм сигурен, не си спомням дали SPI модулите на ПИК-те го позволяваха в момент на тактуване.
SPI е една от най - лесните и приятни за реализация и съм сигурен, че ако си огледаш добре кода ще оправиш нещата. И нещо много важно ти каза Никола - щом двете ти платки са на различно захранване ( а пък и да не са ), задължително трябва да пуснеш 4-та жица м/у тях за да изравниш масите, защото нали това е все пак напреженов, а не токов интерфейс. А по отношение на PullUp-ите, молся, че само от
едната страна на линията(Мастера) са достатъчни и ПИК-те си ги имат вградени, само трябва да ги разрешиш. Ако ги имаш и от другата страна, те ще ти помогнат да не ти се изтактува някой бит или цял байт, но само в случай че жиците са разкачени.
Предполагам че си ги вързал правилно: Master SDO -> Slave SDI, Slave SDO -> Master SDI и Master Clock -> Slave Clock
Извинявай за подробностите, дано това не те обижда, но понеже каза че си начинаещ...
Успех
EDIT: И още нещо - SPI комуникацията не е Асинхронна, както казваш по - горе, напротив много синхронна си е даже 
|
| Вто Фев 22, 2011 12:01 am |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
@bkulev
Напротив изобщо не се обиждам , даже се радвам че си направил труда да ми разясниш по-разбираемо механизъма на работа на SPI-то .
Там където написах асинхронна връзка всъщност си мислех и имах в предвид синхронна,
и незнам що написах асинхронна
Както и да е ,
За SPI -> горе долу и аз това бях разбрал за начина на работа , ама доста си блъсках главата докато го схвана , щото английският ми е малко крив
Като казах че пускам само клок сигнал , имах предвид че пращам "0" , колкото д мастера да може да приеме числото от буфера на слейв-а.
ДА това го направих още тогава с по дебела жица , иначе си имах пак мост , но с по тънка .
Много се радвам на съветите и идеите ви , всички са полезни !
|
| Вто Фев 22, 2011 12:57 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
По принцип това, че двата процесора работят на различна честота на осцилатора не е проблем, проблем е ако обаче си набримчил максимална скорост на SPI на този с по-високата честота, тогава този с по-ниската честота на осцилатора може и да не може да смогне да обработва данните на бързия SPI clock. Затова трябва да изчислиш максимално допустимата от позицията на по-слабата страна и да осигуриш главния да не надхвърля тази скорост.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Вто Фев 22, 2011 2:59 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
А не може ли "мастера" като му потрябват данните само да каже на "слейва" пък той като е готов сам да ги клокне. С други думи да си разменят ролите в комуникацията 
|
| Вто Фев 22, 2011 9:42 pm |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
Ами може ли така ? т.е Слейв-а да ги пуска клок-а ?
Или имаш в пред вид мастера да стане слейв , а слейв-а - мастер
Но тогава и в Мастера трябва да вкарам прекъсване като се появат данни по SPI , а това пък може да попречи на нормалната UART комуникация на Мастера с друго у-во .
А да попитам:
CAN-a има ли нещо по особено в подкарването или няма да имам проблем, ...
ако измисля как да ползвам него . До колкото прочетох си е серийна комуникация , и би свършила идеална работа
|
| Сря Фев 23, 2011 1:33 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
CAN работи със съобщения, т.е. не можеш да пуснеш поток от непрекъснати байтове както може при SPI. Освен това CAN-а изисква повечко познания, ако ще си разписваш сам управлението му. И е доста по-бавен от SPI на къси разстояния. Основно се използва когато устройствата са отдалечени едно от друго.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Фев 23, 2011 2:25 am |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
Ако компилаторът ти има библиотека с драйвери за CAN, може да го подкараш относително лесно. Но ако ще го започваш от нула, по - добре не се захващай с него сега, защото доколкото разбирам нямаш опит в материята като цяло.
|
| Сря Фев 23, 2011 10:05 am |
|
 |
|
amdatlon
Ранг: Почетен член
Регистриран на: Чет Мар 19, 2009 8:33 pm Мнения: 804
|
Ползвам CCS И видях че има драйвер за CAN .
Но за сега ще го остява да изчаква . Сега прехвърлям SLAVE-a на платка , и да видя как ще се държи 
|
| Сря Фев 23, 2011 1:54 pm |
|
 |
|
sthx
Ранг: Форумен бог
Регистриран на: Съб Юни 24, 2006 8:25 pm Мнения: 2292
|
Ако имаш SCI (rs232) по-добре ползвай него вместо САN. За пакет от 2-3 байта не си струва да се мъчиш с CAN.
_________________ Две плюс две е приблизително равно на четири. Факт!
|
| Сря Фев 23, 2011 2:39 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 5 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|