Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Синхронизиране достъп до споделен ресурс
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=5302
Страница 1 от 1

Автор:  darkyp [ Пет Яну 11, 2008 8:18 am ]
Заглавие:  Синхронизиране достъп до споделен ресурс

Сметнах, че темата е по-скоро софтуерен въпрос и пиша тук.

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

Благодаря!

Автор:  ToHu [ Пет Яну 11, 2008 10:46 am ]
Заглавие: 

Ами ... ако ползваш SS линията може да следиш дали е заета, или да следиш клока, или пък да слушаш комуникацията, трябва да внимаваш с изходите на мастер устройствата в какво състояние ги държиш

Автор:  darkyp [ Пет Яну 11, 2008 11:11 am ]
Заглавие: 

Примерно следя SS. Ако и двата PIC-а в даден момент проверят SS и тя е свободна, следва и двата да я заемат и не се разбира, че е настъпило произшествие.

Автор:  velio [ Пет Яну 11, 2008 11:25 am ]
Заглавие: 

Може да проверяваш дали другия процесор е настъпил шината от неговия си изход (ще трябват малко допълнителни елементи).
Пак са възможни колизии. Може да помислиш за приоритети...

Автор:  darkyp [ Пет Яну 11, 2008 11:35 am ]
Заглавие: 

И на мен ми се завъртя в главата нещо като приоритети. Идеално си го представих така, но не знам дали има такива дивайси:

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

вход - изход
----> натам лети времето
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]

Автор:  sthx [ Пет Яну 11, 2008 11:17 pm ]
Заглавие: 

Нещо такова. Трябва да имаш арбитраж. Например слагаш още едно малко процесорче, което получава заявка и след това потвърждава или отказва достъп.

Автор:  Yanek [ Нед Яну 13, 2008 3:21 pm ]
Заглавие: 

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

Автор:  darkyp [ Пон Яну 14, 2008 10:06 am ]
Заглавие: 

Благодаря, на всички. Ще реша как да го направя. Иначе и аз си мислех за вариантите, които споделихте.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/