i8255 на шине PCI

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Post by Stan »

jdigreze wrote:
pfgx wrote:А что, хорошая схема. Что мешает прикрутить к ней ВВ55?
На беглый взгляд схема ловит все записи в порт 0x0080, пролетающие по шине. Никакого конфигурирования, и даже чтения из порта.
Посмотрел я все ссылки и документацию - получается, что ПЛМ просто нужна из-за высокой скорости шины.
Пусть даже на 33 МГц, обычная даже быстрая логика скорее всего будет успевать на пределе возможности.
В единственном проекте без ПЛМ просто фактически успевают забросить байт в быстрый регистр.

Но как тогда успевает работать 580ВВ55 из старта топика?
Это же и по меркам 8МГц шины ISA - медленное устройство!

Получается, что к этой "хорошей схеме" сам 580ВВ55 и на запись не прикрутишь - он просто не успеет?!
pfgx
Senior
Posts: 137
Joined: 20 Mar 2013 03:36
Location: Ростов-на-Дону

Post by pfgx »

А буферизация для чего? Wait states?

А я сейчас понял почему при попытке подёргать выводом COM-порта проц (P4, 3 с чем-то ГГц) приостанавливался примерно на 1,3 мкс. Это так происходит обращение к шине ISA, которая где-то спрятана :)
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Post by Stan »

pfgx wrote:А буферизация для чего? Wait states?
А где Вы там увидели в этой "хорошей схеме" Wait states?
Я же написал, что "без ПЛМ просто фактически успевают забросить байт в быстрый регистр",
и никаких Wait states там нет. Ваш же был коммент:
pfgx wrote:А что, хорошая схема. Что мешает прикрутить к ней ВВ55?
А если к ней прикручивать Wait states - то надо на ПЛИС - на логике быстродействия не хватит.
pfgx
Senior
Posts: 137
Joined: 20 Mar 2013 03:36
Location: Ростов-на-Дону

Post by pfgx »

В этой схеме ожидания нет, я вообще про работу PCI.

Быстрая логика нужна только для декодирования адреса и установки сигнала #DEVSEL ("я здесь, слушаю"), это надо сделать не более чем за 3 (или 4?) такта. #TRDY - target ready, устройство готово принимать/отправлять данные, держим его в 1 - wait states, но до бесконечности ждать нельзя.

Так что наоборот - не быстрая логика нужна для выдачи сигналов ожидания, а медленная логика будет затягивать обмен задержкой выдачи готовности.
If a target is accessed during run-time (RST# has been deasserted greater than 2^25 clocks), it must complete the initial data phase of a transaction (read or write) within 16 clocks from the assertion of FRAME#. The target completes the initial data phase by asserting TRDY# (to accept or provide the requested data) or by terminating the request by asserting STOP# within the target initial latency requirement.
User avatar
Stan
Banned
Posts: 397
Joined: 04 Jan 2013 10:09
Location: 95.24.178.158

Post by Stan »

pfgx wrote:Так что наоборот - не быстрая логика нужна для выдачи сигналов ожидания, а медленная логика будет затягивать обмен задержкой выдачи готовности.
Простите, но фраза бредовая... :( Шина PCI синхронная - всё привязано к CLK, а он 33МГц - минимум, а сейчас наверное и плат уже таких не осталось.
У меня в Селероне старом уже 66МГц на шине, если я правильно помню.
В идеале передача слова на шине занимает 2 такта: такт адреса и такт данных, то есть 66 нс.
Если логика работы с этими сигналами будет медленной, но ни о чем говорить не придется и вовсе...
Logic should use the speed grade of 7ns or faster. Even 7ns doesn't satisfy specs with the specs of the bus timing.
В описании этой "хорошей схемы" однозначно сказано, что при формировании стробов учтены
естественные задержки микросхем и заменять их на другие просто не рекомендуется.

Может Вы что-то другое хотели сказать этой фразой?
pfgx
Senior
Posts: 137
Joined: 20 Mar 2013 03:36
Location: Ростов-на-Дону

Post by pfgx »

Да, другое.

В общем, не хочу я сейчас спорить и доказывать, буду читать документацию и собирать PCI-плату.
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Post by angry_troll »

[necroposter mode on]
1. Любая обычная пци -- имеет пин в разъёме, если его девайс замыкает, то девайс может 66мгц, если не замыкает -- то не может (или наоборот, не замыкает если может -- не помню, см. официальную доку на PCI). Если все девайсы могут, то мамка может (но не обязана) 66 подать. Так что можно считать, что на пци -- 33 мгц.
2. Обычная пци имеет одну подлянку -- на ней имеют право быть уровни сигналов не только 3.3, но и 5в. Т.е. все, кто на ней пинами торчат, обязаны быть 5в толерант. Если есть уверенность, что такой заподлянки не будет, можно на пци прям альтеру вешать 3вольтовую.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Подключение приборных плат к шинам современных компьютеров.

Статья, охватывающая вопросы подключения оборудования к РС, в том
числе и по шине PCI.
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Post by Tronix »

PCI - ацтой ничуть не меньше USB, особенно если софтово рулить и тем и тем. Есть конечно отцы, которые и на 8051 стек USB 1.0 софтварно поднимали, и даже помимо этого умудрялись чем-то другим рулить, например IDE. Без всяких там ртос. Но это надо быть реально фанатом имхо, это вам не в мурзилочныз микросс аврстудио на си-васике пописывать выдавая тонну гонокода. Единицы проектов, но могли же.

А щаз, - чо, ставим плисину баксов за 100, от нее уходит spi, i2c, sata, и тд. Если в плисину не влезает 32 битный проц, ставим отдельно 32 битный проц на > 1 ГГц с минимум выводов размером со спичечную головку, на нем поднимаем линух, на линухе поднимаем питон, на питоне с примесью похапе и сторонних библиотек считаем скокма будет 2+2+1,5, ессно все это с числами с плавающей запятой.. Цена железа - ничто.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Tronix wrote:PCI - ацтой ничуть не меньше USB, особенно если софтово рулить и тем и тем.
...
А ты прочитал хоть пару строк по ссылке, прежде чем так многострочно и беспантово взбредить? :o

Там, собственно, и начинают с :
Микросхем для сопряжения плат пользователя с компьютором:
3.1. Реализация микроконтроллеров на CPLD и FPGA
3.2. Специализированные микросхемы
4. Микроконтроллеры для сопряжения с шиной PCI
и т.д.
Никто там ничего не делает софтoво, а как раз всё аппаратно, и уж вовсе никто не онанирует на 8051... :-?
iLavr
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Post by Tronix »

Ну и славу богу. Я про то и говорю, что PCI это нефига не как два пальца об асфальт :evil:
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Tronix wrote:Я про то и говорю, что PCI это нефига не как два пальца об асфальт :evil:
Так для этого я и выложил ссылочку, где понятно написано, как работать с PCI и USB с одной
стороны корректно, с другой стороны - довольно просто.

Мне лично показалось там интересным, что есть приличные преобразователи PCI -> ISA.
Это позволяет использовать некоторые уже готовые решения.

Собственно, весь этот топик и показал, "что PCI это нефига не как два пальца об асфальт", но от
PCI и USB уже никуда не уйти - значит надо использовать готовые решения, снижающие трудоёмкость
разработки проекта. Для чего я и выложил здесь ссылку на довольно неглупый материал.
iLavr