Jump to content

    

VslavX

Свой
  • Content Count

    1046
  • Joined

  • Last visited

Posts posted by VslavX


  1. Тут Атмел новинку выбросил - AT90USB1287 (странно что в ветке AVR тихо). Есть USB OTG - это хост+девайс в одном флаконе. Так что USB-флеш прицепить можно будет напрямую. Вот RAM как всегда маловато (меня уже "натягивают" на написание/портирование FAT12/16/32 в этих несчастных 4K :(

  2. сильно не пинать, опыта общения с ПЛИСами - ноль. В моем понимании у ACEX`а, в отличии от остальных, есть специально заточенная группа блоков под PCI, которых сконфигурять треба. Или я не прав?

    Специальных блоков нет, есть опция IO-ячейки, называется PCI_IO. Самое любопытное, что у ACEX эта опция отвечает за диод, подключенный от входного пина на питание микросхемы (чтобы типа гасить входные напряжения большие чем напряжения питания). Но если шина PCI с 5-вольтовыми агентами (а обычно PCI - в PC и такие агенты могут быть), то опцию PCI_IO нужно выключать.

    Вообще - ACEX (-3) достаточно быстрая для 33МГц PCI. Для 66МГц уже очень приличный напряг с tsu даже для чипов со скоростью -1. Для 66МГц лучше взять Циклоны, но придется забыть про 5V-толерантность или геморроиться с буферами. Поищите на сайте Альтеры - у них вроде был аппнот на тему сопряжения не 5V-толерантных чипов с PCI.

  3. Если есть аппаратный декрементируемый/инкрементируемый счетчик с фиксированным периодом переполнения (а обычно в AVR один-два таймера настраиваются на генерацию какой-то фиксированной частоты), то можно воспользоваться алгоритмом функции delay(), которая применялась в DOS. В аттаче исходник из BC3.1 и фрагмент из моей программы реализующий тот же алгоритм для AVR (MEGA128).

    delay.rar

  4. Sleep() - 1ms минимальная не гарантированная задержка. В Windows она может затянуться на несколько минут, т.к. в системе есть потоки с более высоким приоритетом чем поток вашей программы.

     

    Вся проблема заключается именно в этом, самая малая (ощутимая) задержка 15мс , а если поставить 1мс то результат тот же что и при 15мс. Как задать более меньшую задержку, есть другие способы ?

    Можно использовать функцию QueryPerformanceCounter. В приложении - исходники простых функций задержек на указанное число милли- и микросекунд для Win32 и VC6. Единственное что - Win32 - вытесняющая многозадачность, поэтому функции гарантируют только что пройдет _минимум_ указанного времени. Несколько повышает точность измерения интервалов поднятие приоритета потока. Но вообще, если Вам надо точно управлять ШД, то про Win32 лучше забыть.

  5. По поводу постоянной мощности на валу. Это правильно не всегда. Вот при малой скорости мощность ограничивается максимальной силой (током) в обмотке. Поэтому при небольших скоростях получается сам собой режим постоянного ускорения.

    Конечно не всегда. Это очень приблизительная аппроксимация и много чего не учитывает - например, рост механического сопротивления сил трения с ростом скорости.

    А если ток с самого начала (в покое) ограничивается омическим сопротивлением обмоток - то ни о какой стабилизации тока и режиме постоянной мощности речи не идет. У нас "в режиме разгона при постоянной мощности" типовая ситуация - 8..12 вольтовый двигатель запитывается через мост с чоппером, который питается от 40..50V, и тогда все нормально - ток ограничивается именно стабилизатором. Да еще этот ток стабилизатора обычно управляется, минимум две-три ступени "удержание-номинал-взлетный режим", так что получается быстро, экономично и двигатели не греются. Правда, чипы управления обычно дорогие ($3-$10), так что такие схемы применяются не всегда.

    Вообще, в последнее время, "нормальные" производители механизмов, которые номинально предполагают разгон (а не старт-стоп с места) прикладывают таблички разгона-торможения - если интересно - через недельку (как пойду на работу) могу закинуть такую табличку изменения шагов в процентах от номинала при разгоне. Там разгон до скоростей раза в 4 превышающих старт-стопные

    (хотя, это, конечно, зависит от двигателя/нагрузки).

  6. А вот вы написали про синхронизацию шагов со скоростью - это как?

    Когда-то давно я "для себя" принял модель ШД в виде этакого линейного ускорителя заряженных частиц. То есть полюс сердечника ("частица") последовательно проходит полюса статора ("кольца ускорителя"). И полюса статора должны менять фазу синхронно с прохождением сердечника, чтобы получилось ускорение. Поскольку расстояние между полюсами одинаковое, то чем быстрее движется сердечник, тем чаще надо изменять фазу. Вот и все что я имел ввиду под синхронизацией - длительность шага должна быть обратно пропорциональна текущей скорости.

     

    Вообще - как можно отслеживать вращение? т.е. нужно делать какой-то механический энкодер, или можно просто смотреть на какой-нибудь сдвиг тока по фазе?

    Отслеживать, конечно, можно (правда практически мне этого делать не приходилось). Но ШД хороши именно тем что если вы соблюдаете режимы, то всегда можно точно (+-люфт) сказать положение двигателя.

    Посмотрите, например, любой ударный или струйный принтер Epson - головки обычно на ШД-приводе и только один датчик (иногда - два) крайнего положения. И при печати и смене направления движения головы эти датчики далеко не на каждый проход задействуются (потому как - время надо тратить - скорость печати упадет) - то есть точность позиционирования сохраняется и достаточно высокая - 150-300dpi по крайней мере).

  7. Т.е. после включения питания компа. Необходимо запустить хостовую прогу( ту прогу, которая работает с твоей платой - принимает или отправляет с нее какие-то данные), которая и сконфигурит Циклон. Вот этот хост и изучай. В драйвер твоей карточки, вряд-ли всунут процедуру конфигурирования - это изврат.

    А почему изврат? ИМХО, в драйвере было бы вполне логично - MAX3K есть, он выдаст Dev&VendorID - для PnP и загрузки требуемого драйвера вполне достаточно. А из драйвера можно уже и Циклон прогрузить. ИМХО - более "бесшовный" вариант чем с "хостовой прогой".

    Впрочем, подождем дальнейшей информации от автора топика :)

  8. Уважаемые Господа,

     

    может кто-нибудь сталкивался с проблемой быстрой раскрутки шаговых двигателей.

    А именно:

     

    1. Интересует по какому закону нужно изменять паузы (Sleep(x), x=x(n)), чтобы достичь нужной скорости за наиболее короткий промежуток времени.

     

    2. Должен ли разгон быть равноускоренным, хотя бы в первом приближении?

     

    3. Как влияет использование дробных шагов (не 1-3-2-..., а более мелких) на приемистость двигателя?

     

    Двигатели - импортные, небольшой мощности, типа FL42STH.

    Я, в-общем-то, небольшой спец по ШД, но попробую поделиться опытом.

     

    1. Закон зависит в общем случае от способа запитывания обмоток - постоянным напряжением или током. В своих изделиях (в блоках печатающих механизмов, как правило двигатели со схемой 2-2) мы обычно применяем мосты со стабилизаторами тока. В этом случае неплохо работает аппроксимация постоянной мощности на валу - скорость растет по корню квадратному от времени. Соответственно шаги должны быть синхронизированы со скоростью. Если же питать обмотки фиксированным напряжением (более простая схема драйверов) - то нужно учитывать ЭДС наводимую сердечником, увеличивающуюся со скоростью и уменьшающую эффективное напряжение и ток (следовательно прикладываемую мощность для разгона).

     

    2. Не обязательно. В-общем, для равноускоренного разгона нужно наращивать мощность вкачиваемую в обмотки по квадрату, либо изначально иметь достаточный запас мощности - что не способствует быстрейшему разгону. Наибыстрейший разгон - изначально прикладываем максимум возможной мощности и синхронизируемся с нарастаемой скоростью.

     

    3. Из нашего практического опыта - положительно - в том смысле, что фаза меняется более плавно,

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

     

    Есть еще такая проблема - когда двигатель уже разогнан и вышел на режим, то очень желательно поддерживать длительность шагов постоянной - разброс не более 5%. Например частота шагов 4 кГц - это 250 мкс, для медленных процессоров и с неудачно написанными обработчиками прерываний довольно легко выйти за предел 5% (12.5 мкс) - тогда на двигателе может возникнуть "помпаж" и вплоть до остановки. Конечно, тут речь идет о режимах и скоростях недостигаемых при простом "старте с места".

     

    Иногда еще полезно учитывать величину и изменения нагрузки - например, приходилось корректировать разгон в зависимости от количества чернил в струйной головке - масса прилично различалась, приходилось это учитывать. Потом, правда, просто умощнили двигатель и забили на это :)

  9. Проц очень даже в тему. У нас сейчас в одном проекте - SAM7S + внешняя память на SPI. Или DataFlash или монстрик на ПЛИС+SRAM с некоторой имитацией системы команд. Пока это только на бумаге, мы упираемся изо всех сил, но жизнь давит - надо что-то делать. Ну нету пока ни у кого процев с внешней памятью (ОЗУ данных для задачи надо много, желательно SDRAM, бо дешево) и защищенной флешкой внутри (нужен сторедж для конфиденциальных данных). Если выпустят - действительно уникальный чип будет.

    Жаль только, что сэмплы надо ждать не раньше лета. ИМХО, менее чем на полгода от запланированной даты атмель не опаздывает :(

  10. а цена у MPC8349 и MPC8343 совсем не одинаковая. Пусть для вас даже такая разница в цене не играет. Но для меня MPC8343 не подходит со своими 400(ядро)/266(платформа) мегагерцами. Слишком слабенький.

    Посмотрите еще на MPC8347 - на ebv по 60 евро отдают в младшем корпусе.

    Если же нужна "производительность любой ценой", то "торг здесь неуместен" :)

  11. Большое спасибо всем форумчанам за обсуждение!

    Подытоживая(сорри, был бы силен в HTML - нормальную табличку бы соорудил),

    на сегодяшний день чипы со встроенными GbE MAC и PCI@66 такие:

     

    Intel IXP2325

    XScale@900

    BGA 1752, 1mm, почти сплошная матрица 42x42

    $250+

    Product Brief

    Note: нет документации в свободном доступе

     

    FreeScale (Motorola) MPC8343-MPC8347

    PowerPC@266/400/667

    BGA 620, 1mm 5-6 рядов, большая свободная зона в центре, термопины

    $55+

    Fact Sheet

    Note: нет схематики EB, необходима покупка EB - www.embeddedplanet.com

    Note: выяснить насчет доступности кристаллов версии 2+

     

    Xilinx XC4VFX12

    PowerPC@450max

    BGA 363, 0.8мм, 7 рядов, небольшая зона внутри, без термопинов

    $160+

    Data Sheet

    Selector Guide

    Note: есть сразу встроенная ПЛИС (замена PCI)

     

    AMCC PPC440SP AMCC

    PowerPC@ 533/667

    BGA 783, 1mm, почти сплошная матрица 29x29

    $150???

    Data Sheet

    Selector Guide

     

    Texas TMS320C6455

    DSP@720/1G

    BGA 697, 0.8mm, 7 рядов

    $350+

    Data Sheet

    Note: специфическое ядро

    Note: еще нет коммерческого релиза

     

    Разумеется, табличка не претендует на полноту и имеет ограничение на наличие PCI-хоста (определялось моей подзадачей). Но почти все чипы с GbE имеют PCI. Если PCI неактуален, то следует добавить ряд специфических 440-ых от AMCC. Все цены приведены исключительно для ориентировки.

  12. В соседней ветке характеристики проца не совсем соответствуют действительности. Например на сайте efind.com тоже можно найти "MPC8343" за 46 евро. Да, MPC8343 за 46 евро это круто. Не подумайте что я против, мне такая цена нравиться если за процессор MPC8343, а если за что-то другое - то извеняйте. Вы же сами писали:
    Вот и выходит цена от $200 за чипы с GbE, потому как - ядро от 500МГц, 1-2 контроллера DDR, ну и еще какие-нить не очень медленные интерфейсы типа расширенного/ускоренного PCI.
    А если кто-то написал что 44, проверяйте сами что-ли, прежде чем заявлять об этом. И пишите кто продает.

    Хм.. Для начала пару слов о моей текущей ситуации:

    1. сейчас производится предварительный поиск процессора с GbE на борту

    2. логистикой (в данном случае - поиском и закупкой компонентов) по возможности должны заниматься соответсвующие люди, а не непосредственно инженеры.

    Поэтому - делая предварительный выбор при разработке, я никогда не выясняю цену до последнего цента - мне важно знать порядок. Результаты моего предварительного изучения я свожу в один-два листика отчета - "рекомендации разработчика" и далее начинают работать снабженцы. Потом они тоже пишут отчетик на страничку - "доставаемо в принципе/сроки/партии/цены". В это время разработчики продолжают думать :) Ну и потом собирается общее совещание и там принимается более-менее окончательное решение о выборе компонента. Потом люди еще "тусуются" - привыкают к мысли о новой платформе/компонентах :), и уж только затем начинают совершаться реальные телодвижения.

    Это я к тому, что на данном этапе - для меня что 44 что 46 что 50 евро - сугубо ... И даже 251/400 - тоже "рояли не играет". А что реально играет - 44/46 vs 400/251.

    BTW,

    1. $400 взято не с потолка - efind.ru->IXP2400. Но согласен - забыл пополам поделить :)

    2. 46 евро - www.ebv.com -> MPC8343. Тут пополам делить не надо :)

    А буквочки - это частота ядра/шины DDR/наличие криптомодуля/ревизия кристалла, так что 46 евро это именно за младший 8343, который меня устраивает :)

    Смотрите мой комментарий выше. Несколько слов в защиту Интела.

    БЖА да это не удобно, но все такое делают в данной области мол: меньше места занимает на плате, улучшает электрические характеристики и решает температурные выделения. В три раза больше ножек да это явно не хорошо. С этим я согласен.

    Да я на Интел и не нападал, в-общем-то :)

    Но в упоминаемом Вами "простом" IXP2325 - "всего" 1700+ (OK, 1752 ножки :)), да еще кажись, с шагом 1 мм - всего 42 ряда минимум (это если по фото/указанным размерам судить). Понятно, что можно развести, заказать и изготовить 10-12 слойные PCB с 75-100 микронными нормами (а если еще что-то типа blind vias заюзать, мечтательно так :)) и даже цена такой платы (при цене проца $250+ (уговорили :)) не слишком существенна. Существенно то - что это новый технологический уровень, в первую очередь - производства. А переход на него от разработчика обычно слабо зависит - придумать/нарисовать можно все что угодно, а вот "быстро-надежно-за разумные деньги" изготовить... Гы, вот это действительно может быть "неудобно" :)

  13. Работаю с mpc8247 (powerQUICC II), mpc8548 (powerQUICC III).

    До этого работал с IBM 405GP и всяческими MIPSами.

     

    ... собака погрызла ...

     

    Вот такое вот мнение.

    Большое спасибо за мнение - прочитал с большим интересом. С опаской полез в доку на облюбованный 8343 - узнать что за зверь 'CPM' :) Кажись, в "моем" проце таких зверей нету, но в итоге нашел левую ссылку - "communication processor module". Похоже, это аналог NPE (network processor engine) в интеловских IXP. Тады согласен - геморрой немалый - я пока пакетный эзернет драйвер с этими NPE написал - чуть не сдох :( Но в 8343-ем вроде "простые трехскоростные MACи", или я не прав?

  14. 2 VslavX:

    Уже написал сюда, только потом Ваш пост заметил :)

    Посмотрите в сторону интела, может у них есть...

    Во все глаза на интел смотрел и продолжаю смотреть :) Но монстры типа IXP24xx c BGA и сплошными 37 рядами ножек вселяют, э-э-э.. скажем так, некоторую неуверенность, и цена от $400 тоже не радует. И вообще - как тут уже писалось, интел простых смертных техподдержкой по IXP24xx не балует.

    ИМХО, PPC + 620 ножек BGA +"вылизанный GNU" + 44евро выглядят интересней и более реально, что ли. Единственный серьезный минус - архитектура новая, но с другой стороны - дополнительная строка в резюме :). Надо подумать...

  15. Кстати, в одной из соседних веток проскочила инфа про PowerQUICCII - MPC8343 по цене 44 евро - на www.ebv.com инфа подтвердилась - "вечер перестает быть томным", однако :)

    А может таки кто ARM с GbE MAC на борту посоветует? С осени ищу такой (тоже GbE нужен, и исключительно для быстрого обмена данными - никакой коммутации и обработки) и пока - пусто :(

  16. Хм.. В "мохнатом" 2001-ом я разводил S3C44BOX и SDRAM на 2-х слойке. Был всего один 16-битовый чип, заработал на 66МГц и разогнался до 75. На шине адреса/данных сидела еще 128K флеша и альтерка для ISP (на тот момент я JTAG только начинал ковырять). Все трассы были максимально короткими (не более 2500 милс) и как правило daisy chained.

    Проект был успешно запущен, оттестирован, дело шло к завершению. Ничто не предвещало опасности, был обычный день - пятница, 13... Я как обычно ковырялся с платой - дописывал звук - на I2S был прикручен кодек CS4222. Поскольку I2S у BOX не очень хорош, то был использован режим slave, все тактовые формировались упомянутой альтеркой PM3064.

    Так вот - я бодренько слушаю c платы современную аранжировку Штрауса, как мне начинает казаться что это дело иногда подхрипывает и похрюкивает. Долго и тщательно проверяется софт, все ints latency, DMA, прошивка альтерины. Хрюкает зараза. А потом я случайно забыл снять сигнал MUTE с кодека - и услышал хрюки и хрипы в чистом виде. Причем четкая корреляция с воспроизведением по I2S. Аналоговая часть уже была вылизана и отлажена, поэтому на нее я даже грешить не стал.

    В-общем, долго ли-коротко ли, выявилось следующее - генератор фазовых сигналов кодека на альтерине глючил в тот момент, когда процессор обращался к определенным адресам SDRAM. То есть тупо производишь выборку нескольких байт по определенным адресам и получаешь хрип "замьюченного" кодека. Потому как на выходе альтерины тесно связанной со SDRAM имеем пички длительностью менее 1 нс (имеющимся на тот момент у меня скопом их так и не увидели).

    Ну, времени я на этот глюк убил прилично - и шины питания/земли 2x2мм мощные привешивал, и частоту снижал - один хрен. В итоге таки выяснилось, что при работе SDRAM наводились помехи на входы ПЛИС c совершенно другой стороны TQFP корпуса, поставили кондеры 100pF на ближайшую землю - и усе стало хорошо. Потом эту же плату изготовили на 4х слоях с почти такой же топологией - я специально потестил без этих доп. кондеров - никаких проблем уже не было.

    Лично мое ИМХО после этой истории такое - сделать SDRAM на 2-х слоях можно, но лучше - не нужно :-) Ты уже рапортуешь заказчику что все - зашибись, а оно такое вылазит - ой-ей :(

    Будем надеяться - у Вас не вылезет :)

     

    P.S. По разводке PС133 у интела неплохо и доступно рассказано:

    HW design guidelines

     

     

     

    BTW, если предполагается какая-либо сертификация - то при испытаниях на ЭМС - системы с внешней шиной памяти на 2-х слоях и на 4-х слоях - это "две большие разницы" :) Для микроконтроллеров с памятью внутри (типа SAM7 или AVR) - почти никаких различий.

  17. Все эти встроенные STN/TFT контроллеры на выходе дают непрерывно сканируемый цифровой код точек и, как правило, имеют очень гибко программируемые синхросигналы. Так что привести к стандартному телевизионному формату (RGB, не ПЦТС) - не проблема, в крайнем случае ПЛИС за $2 (EPM3064) тут может помочь (приходилось цеплять к STN в S3C44BOX подобный преобразователь).

    В зависимости от того, сколько цветов Вам нужно, цифру в аналог можно преобразовать либо банальными резисторами (например, как в моем проекте - было всего 256 цветов 3+3+2 бита на канал) либо уже поискать видеоЦАПы.

    Далее надо модулировать RGB в нужном Вам цветовом стандарте. Например, решение для PAL - SONY CXA1645 - вполне доставабельна и за разумные деньги. Видел еще в Инете проект кодера PAL на недорогих ПЛИСках.

    Возможно, были и есть сразу готовые решения от AD, TI, etc. - "цифра->PAL", я уже не помню - то ли дороговато было, то ли недоступно, но почему-то я от них в тот момент отказался.

  18. PowerQUICC II Pro от FreeScale $67 c двумя гига езерами на борту -- кто нибудь имеет опыт разработки ембедного софта на платформе pc603?

    Это MPC8349-ый имеется ввиду? Если не секрет, где Вы на него такую интересную цену нашли?

  19. "Интел оценивает работу по дизайну продукта на нём, как требующую 10 софтовых инженеров и 2 года работы…

    И Интел должен убедиться, что дизайн клиенту по силам. Это делается для того, что бы получить от Интела полную техническую поддержку по этому продукту (продукт редкий и сложный, инженеров по нему не так и много, и решение на тех. поддержку принимается в индивидуальном порядке)."

    ИМХО, это надо понимать так, что глюков у них там еще немеряно и что "клиенту по силам" их обнаруживать и репортить. Это я сужу по PCI контроллеру в IXP42x - продукт на порядок проще чем IXP2400, но вот баги на 66Гц PCI - это просто пипец. И ведь проверяешь своих PCI-агентов до последнего (ну блин, кто интел, а кто я), и только после недели-другой интимных отношений решаешь, что таки интел виноват и начинаешь решать именно его проблему.

  20. Я об этом уже писал выше. Имхо, AVR действительно является "радиолюбительским контроллером", поскольку Atmel ведет себя по отношению к пользователям AVR как будто они все любители. Поэтому в разработки, которые планируется выпускать много лет, его лучше не закладывать. А если

    Да ну? В моей конторе, мы, любители, широко (от 10К устройств в год) применяем мегу с 1997 года. До сих пор. И еще лет 5-7 применять, очевидно, будем. Итого - 15-летний цикл. Или Вам надо лет на 100 вперед все распланировать? Дык, падишах-то раньше помрет. :)

    Хотя, справедливости ради надо заметить, что одно время таки были у атмеля напряги с поставками.

  21. Насколько флэш удобнее в изучении и экспериментировании, чем например УФ-стирательство говорить тут никому не нужно. Теперь правда она у всех есть, но ведь так было не всегда.

    Точно. Помню 1997-ой и первую 103-ю мегу. 128К флеша на борту и за разумные деньги. У кого еще тогда флешевые кристаллы были? Я специально шерстил разных производителей - везде только было нытье - "трудно, мол, скрестить CMOS и Flash технологии на одном чипе". Но уже было ясно - никуда они не денуться, процесс пошел :)

  22. Пытаюсь переделать образец с AT91.com для работы через прерывания. В половине случаев при старте возникает Spurious Interrupt. Есть предположение что как-то неправильно включаю превывание от endpoint0. Посмотрите, может кто сталкивался

     

    void UDP_interrupt()

    {

    AT91_REG isr = pUDP->UDP_ISR;

    isr &= pUDP->UDP_IMR;

    if (isr & AT91C_UDP_ENDBUSRES) {

    Помнится в UDP_IMR нету битика AT91C_UDP_ENDBUSRES - сброс шины событие немаскируемое. Соответственно, Ваш обработчик после 'isr & pUDP->UDP_IMR' событие сброса не видит -> ложное прерывание.

  23. 3. АМСС. PPC440xx Дорого. Много всего не нужного.

    Если не секрет, дорого - это сколько именно? :)

    4. Еще в соседней теме всплыл Xilinx - семейство Virtex4, ядро PPC + GMAC.

    Альтероман по службе. :)

    Я тоже альтероман. Но, ИМХО, это не страшно - на безрыбье и сам ксайлинксом станешь :)

    Буду смотреть возможность написания своего MAC на ПЛИС.

    Здесь на форуме люди обсуждают...

    Написать что-нить поддерживающее GMII - реально. Но куда складывать данные? Внутренние буфера ПЛИС - дык, объем там (если ПЛИС за разумные деньги) небольшой. Если буфера в единицы/десятки килобайт устраивают, от можно взять недорогой проц с 66МГц PCI и внешний контроллер PCI/GbE.

    Если нужно больше памяти под буфера - то это уже внешний чип памяти, 100МБайт/сек для SDR впритык, так что DDR - это реально уже не прихоть. Да и молотить такие массивы данных - процессор тоже задних не должен пасти.

    Вот и выходит цена от $200 за чипы с GbE, потому как - ядро от 500МГц, 1-2 контроллера DDR, ну и еще какие-нить не очень медленные интерфейсы типа расширенного/ускоренного PCI.