LINUX.ORG.RU

MDB и lpuart

 ,


0

2

Добрый вечер, ЛОР!

а расскажите, плиз, про MultiDrop Bus на lpuart (9bit mode)
например, как получить список адресов устройств? пока что вижу только вариант с попыткой поочередно обратиться по адресам 00h, 08h, 10h...D8h, но как и какого ответа ждать?

★★★★★

Последнее исправление: metawishmaster (всего исправлений: 1)

Ответ на: комментарий от metawishmaster

Ага.
Я как-то раз знатно говна поел из-за похожих названий и принципа работы.

izzholtik ★★★
()

If the VMC does not successfully communicate with a peripheral for the ‘application maximum response time’, it should attempt to RESET that peripheral once every 10 seconds (Section 2.4.3 POLLing) and continue operations (if possible) with the other MDB peripheral(s) that are still responsive.

Думаю, истина где-то рядом. RESET специфичен для каждого девайса, но их типов довольно мало.

izzholtik ★★★
()
Ответ на: комментарий от izzholtik

А, там есть POLL. Но чёт мне казалось, что хост должен слать ресет перед первым контактом. Но хз уже, а перечитывать спеку полностью лень.

izzholtik ★★★
()
Ответ на: комментарий от izzholtik

там есть POLL

вот-вот, а как им пользоваться?

fd = open("/dev/ttyLP0", O_RDWR);
select(fd, ...);

?
но тут поллится весь девайс полностью, а как узнать какой из поддевайсов подал голос?
пока что у меня степень понимания какая-то ничтожная :-\

metawishmaster ★★★★★
() автор топика
Ответ на: комментарий от metawishmaster

Не знаю, я на микроконтроллере делал..

Либо я не понимаю, чего ты не понимаешь. У каждого типа девайса свой адрес, к вендингу по каждой шине может быть прицеплен только один слейв каждого типа. Кто откликнулся - тот и жив.

izzholtik ★★★
()
Последнее исправление: izzholtik (всего исправлений: 3)
Ответ на: комментарий от izzholtik

я на микроконтроллере делал..

cat /proc/cpuinfo говорит, что у меня ARMv7-M %)


У каждого типа девайса свой адрес

ну вот как-то так:
00h, 08h, 10h...D8h...
Reserved for VMC, Changer, Cashless Device #1, ..., Reserved for Future Standard Peripherals, ...

metawishmaster ★★★★★
() автор топика
Ответ на: комментарий от izzholtik

не понятно как сделать state-machine для всего этого

видимо, с какой-то периодичность что-то спрашивать у каждого адреса, но что и как?..

metawishmaster ★★★★★
() автор топика
Ответ на: комментарий от metawishmaster

Ну блин, из нас ты программист или кто? Сиди, втыкай в доку и делай) Я полностью не реализовывал, мне понять надо было, почему железяки не коннектятся, так что реализацию дать не могу.
Спека рекомендует дёргать poll каждые 25-200 мс, если не отвечает - то reset каждые 10с.

izzholtik ★★★
()
Ответ на: комментарий от izzholtik

Сиди, втыкай в доку и делай

уже три раза втыкал - какая-то она невтыкаемая %)
но делать нечего, прийдется... спасибо за напутствие! :)

metawishmaster ★★★★★
() автор топика
Ответ на: комментарий от izzholtik

чтобы кусочки на места встали

вот это точно, пока какая-то каша в голове :-\

metawishmaster ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.