Отговори на тема  [ 8 мнения ] 
Синхронизиране достъп до споделен ресурс 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пон Дек 12, 2005 6:03 pm
Мнения: 263
Местоположение: София
Мнение Синхронизиране достъп до споделен ресурс
Сметнах, че темата е по-скоро софтуерен въпрос и пиша тук.

Имам >2 PIC-а. Какъв метод бих могъл (ако може въобще) да използвам, за да синхронизирам достъпа им до един дивайс говорещ по SPI?

Благодаря!


Пет Яну 11, 2008 8:18 am
Профил ICQ YIM
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Ами ... ако ползваш SS линията може да следиш дали е заета, или да следиш клока, или пък да слушаш комуникацията, трябва да внимаваш с изходите на мастер устройствата в какво състояние ги държиш


Пет Яну 11, 2008 10:46 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пон Дек 12, 2005 6:03 pm
Мнения: 263
Местоположение: София
Мнение 
Примерно следя SS. Ако и двата PIC-а в даден момент проверят SS и тя е свободна, следва и двата да я заемат и не се разбира, че е настъпило произшествие.


Пет Яну 11, 2008 11:11 am
Профил ICQ YIM
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
Може да проверяваш дали другия процесор е настъпил шината от неговия си изход (ще трябват малко допълнителни елементи).
Пак са възможни колизии. Може да помислиш за приоритети...


Пет Яну 11, 2008 11:25 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пон Дек 12, 2005 6:03 pm
Мнения: 263
Местоположение: София
Мнение 
И на мен ми се завъртя в главата нещо като приоритети. Идеално си го представих така, но не знам дали има такива дивайси:

Примерно има дивайс с два входа и два изхода. Действа по следния начин:

вход - изход
----> натам лети времето
1 2 3 4 5 6
0 - 0 0 - 0 1 - 0 0 - 0 0 - 0 1 - 1
0 - 0 1 - 1 1 - 1 1 - 1 0 - 0 0 - 0

При време 3 първия MCU се опитва да заеме линията, дивайса обаче е в състояние което не му позволява - на първия изход има 0, MCU-то вижда това и се пробва по-късно при време 6 и е щастлив.

Ама дали има такъв дивайс :)? Или е комбинация с тригери...

[edit]комбинация:
0-0 1-1
0-0 1-0

следва от приоритета[/edit]


Пет Яну 11, 2008 11:35 am
Профил ICQ YIM
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Съб Юни 24, 2006 8:25 pm
Мнения: 2292
Мнение 
Нещо такова. Трябва да имаш арбитраж. Например слагаш още едно малко процесорче, което получава заявка и след това потвърждава или отказва достъп.

_________________
Две плюс две е приблизително равно на четири. Факт!


Пет Яну 11, 2008 11:17 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Юни 29, 2007 10:59 pm
Мнения: 113
Мнение 
Малко непрофесионално ми звучи SPI с 2 мастъра. Това си е работа за I2C. Така или инак явно ти се е наложило, затова ти предлагам един може би не по-добър, но по-коректен вариант. Обявяваш единия процесор за мастър, а дивайса и другия проц за спомагателни (подчинени). Четеш с мастъра необходимите данни от едното подчинено и записваш в другото. Нещо като кеш, буфер, посредник. Никакви колизии, никакъв арбитраж, каквито и не са предвидени в този интерфейс. Не отхвърлям, че може да има ситуации, в които схемата е неприложима.


Нед Яну 13, 2008 3:21 pm
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пон Дек 12, 2005 6:03 pm
Мнения: 263
Местоположение: София
Мнение 
Благодаря, на всички. Ще реша как да го направя. Иначе и аз си мислех за вариантите, които споделихте.


Пон Яну 14, 2008 10:06 am
Профил ICQ YIM
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 28 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни