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

PCI въпроси...
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=8706
Страница 1 от 1

Автор:  relsys [ Пон Мар 14, 2011 9:32 pm ]
Заглавие:  PCI въпроси...

Понеже наскоро в друга тема засегнахте и PCI, да питам някой дето е запознат:

Ако подкача да кажем една PCI звукова карта към процесор, освен адреси и данни и разните му там други сигнали, казвахте и за контролни суми. Бихте ли разяснили накратко концепцията/протоколът за комуникация с PCI device.

Автор:  tgi [ Пон Мар 14, 2011 9:53 pm ]
Заглавие: 

Е много накратко не може, стандартът е дълъг ама ако разгледаш някой чип с PCI,
примерно в b69030 май беше бая добре сбито общото.

Инак са 32 (или 64) бита адрес/данни, контролни сигнали, и проверка по четност.
Транзакциите почват (не знам дали няма изключения) с адрес на 32-та бита, после данните,
може би серия от данни (burst).
Детайли има, но не е нужно много да му се задълбава човек ако ползва чипове
с готов PCI интерфейс. Инак вариациите са много и зависят от крайната цел.

Автор:  miro_atc [ Пон Мар 14, 2011 11:09 pm ]
Заглавие: 

Четността не е задължителна!

Накратко - имаш различни типове транзакции. В началото се ползват "конфигурационни" четения/писания. . При тези транзакции се адресира слот от шината и само устройството от този слот (ако има такова) отговаря.
В конфигурационното пространство всяко устройство имплементира минимум 5-6 регистъра някъде бяха. От тях хоста разбира типа на устройството, освен това може да конфигурира основните неща. Примерно мапинга. От мапинг регистрите хоста разбира от колко адресни пространства (и колко големи) устройството има нужда. След като изчете "нуждите" на всички устройства, хоста разделя адресното пространство и раздава конкретни (уникални) адреси.

От там насетне шината си е шина. Всеки, който я иска първо прави заявка (един сигнал към арбитъра). И след като получи потвърждение може да направи една операция - четене/писане (единично или burst). Детайлите по самите операции са много добре описани в стандарта. Няма нищо сложно...

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