Дипломная (вкр): Розробка комірки функціонального обміну на ПЛІС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Висновки в Pin Planer поділяються формою і кольором для позначення:

• розділення на банки;

• диференціальних пар;

• висновків ФАПЧ (фазова автопідстроювання частоти);

• виводів живлення і тих, які не використовуються (сірим кольором);

• призначених і не призначених виводів.

Призначати виводи можна перетягуванням з вікна переліку сигналів. Практично завжди трасування кристала потрібно погоджувати з трасуванням друкованої плати (щось виходить в платі, але не виходить в матриці, і навпаки). Тому для трасування плат Альтера рекомендує користуватися пакетом від компанії Ментор-Графікс. Цей пакет працює з листом, переданим від САПР QII. При цьому значно спрощується створення символу посадкового місця корпусу, так як в Mentors Graphycs вже є терморегулятори ПЛІС Альтера.

Для установок трасування все частіше застосовують TCL-скрипти. TCL-скрипт на більш низькому рівні описує конструкцію, яку ви обираєте для інтерпретації функціонального поведінки, описаного мовою HDL.Planer - утиліта, що дозволяє переглядати топологію мікросхеми та редагувати її полі трасування. Вона застосовна в таких випадках:

• коли не влаштовує працездатність пристрою;

• не використовувалися рекомендації при трасуванні;

• невірне кодування.

Вдаватися до коректування в Chip Planer рекомендується лише досвідченим інженерам, які мають достатній досвід роботи з ПЛІС.

Тимчасове моделювання

Тимчасове моделювання проводиться за допомогою доданого (входить в комплект пакета QII) програмного продукту Model Sim від Mentors Graphycs, який поставляється в залежності від виду ліцензії - з обмеженням загального розміру моделируемого коду (Starter Edition) і без нього (Altera Edition). Однак слід пам'ятати, що жодна з поставляються разом з QII версій Model Sim не підтримує моделювання програм, написаних на 2-х мовах одночасно. Таке можливо лише при використанні версії Model Sim SE з відповідною ліцензією від Mentors Graphycs. При установці версії SE створювати і налагоджувати проекти стає можливим непосредсвенно в самому середовищі Model Sim і лише потім передавати їх в QII для прив'язки до конкретного корпусу ПЛІС. Але про це, як і про використання утиліти Nativlink, поговоримо в наступних статтях цього циклу.

У розрізі моделювання варто також згадати Signal Tab. Ця утиліта являє собою внутрішній цифровий аналізатор. Вона забирає ресурс пам'яті і логіки в ПЛІС і записує туди сигнали її роботи, які потім відображаються у вигляді діаграм, однак не можна подивитися тактовий сигнал.

Програмування конфігураційної пам'яті або флеш CPLD

Програмування перевіреного в симуляторі проекту здійснюється тут же в QII за допомогою утиліти Programmer.

Рис.1.6. Утиліта Programmer. Установка засобів програмування ПЛІС

Перед початком програмування необхідно вибрати засіб з пропонованих, натиснувши кнопку Hardware Setup. Альтера пропонує різні інструменти для програмування: через USB-порт (USB-Blaster) і через порт Ethernet (Ethernet Blaster). Підтримуваний раніше програматор через LPT-порт (ByteBlaster) зараз знято з виробництва. Перед стартом пропалювання слід не забути включити опцію Program/Configure, поставивши галочку у відповідній колонці.

Рис1.7. Проект ПЛІС комірки інформаційного обміну

Рис.1.8. Вузол PIOX в проекті ПЛІС комрки інформаційного обміну

РОЗДІЛ 2. КОМІРКА ІНФОРМАЦІЙНОГО ОБМІНУ

2.1 Радіоелектронний пристрій, в склад якого входить комірка інформаційного обміну


РЕП призначений для обробки інформації, що надходить в реальному масштабі часу від інших елементів системи, відображення результатів обробки і формування керуючої інформації для цих елементів.

Апаратура РЕП призначена для експлуатації в умовах групи 1.1 апаратури за ГОСТ РВ 20.39.304-98 помірно-холодного (ПХЛ) кліматичного виконання в закритих приміщеннях.

Електроживлення апаратури РЕП (разом з інженерним обладнанням) здійснюється від трифазної мережі змінного струму з глухозаземленою нейтральною напругою (380 ± 38) В і частотою (50 ± 2,5) Гц. Сумарна споживана потужність не перевищує 18кВА.

Електроживлення власної функціональної апаратури РЕП здійснюється від однофазної мережі напругою (220 ± 22) В і частотою (50 ± 2,5) Гц, споживана потужність не перевищує 5кВА.

Для збереження працездатності РЕП при відключеннях первинного електроживлення в РЕП на час не більше 5 хв використовується джерело бездротового живлення (ДБЖ).

Обчислювальні засоби РЕП утворюють промислова ЕОМ з процесором і модулями ЦГЗ ADP 201Cp5 і ПЕОМ робочих місць операторів.

Модулі ЦГЗ орієнтовані на вирішення спеціальних завдань обробки сигналів, процесор і ПЕОМ - універсальні обчислювальні пристрої.

Загальна сумарна продуктивність обчислювальних засобів перевищує 20 GFLOPS. Оперативна пам'ять зосереджена в зазначених обчислювальних засобах.

На рис. 2.1. зображена схема електрична функціональна РЕП.

Робота РЕП здійснюється відповідно до загальним алгоритмом роботи системи, реалізованому у вигляді програм функціонального програмного забезпечення (ФПО), за допомогою яких у реальному масштабі часу вирішують такі завдання:

·        Прийом даних (кодів вибірки сигналу порядку 256 Кбайт за такт (Таї - Тап)) від приймального пристрою по двох каналах типу «кручена пара» в модулі ЦГЗ ADP201сР5 через субмодуля ADMDIO32. Тут Таї - час початку випромінювання, Тап - час кінця випромінювання;

·        Просторова, спектральна і порогова обробка отриманих даних в модулях ЦОС і передача результатів обробки в процесор;

·        Формування режимів роботи системи, параметрів випромінювання та обробки сигналів. Ці функції розподілені по РМО;

·        Видача керуючої інформації всіх пристроїв системи (приймального пристрою, і двом синхронізатором) і отримання від пристроїв системи інформації про їх стан.

Ці функції виконуються за допомогою осередку інформаційного обміну. Цей же модуль від РЕП Н07СТ отримує чотири сигнали синхронізації, які далі транслюються в модулі ЦГЗ ADP201cP5;

·        Функціональний контроль РЕУ, який виконується в усіх програмованих модулях (ПЕОМ РМО, процесорі, модулях ЦОС) із залученням і програм ФПО, і програм СТПО;

·        Відображення, реєстрація та документування результатів обробки інформації. При цьому інформація для відображення формується в ПЕОМ РМО і передається на їх монітори, включаючи індикатор колективного користування, а реєстрація і документування здійснюється переважно в HDD через контролер RIO.

На етапах комплексної перевірки системи РЕП реалізує комплексну імітаційну модель станції (КІМС). Крім цього, згідно із загальним алгоритмом роботи системи в кваріреальном часу РЕП проводить обробку інформації з метою калібрування і юстирування РЛС.

Рис.2.1. Схема електрична функціональна РЕП

Апаратура РЕП може знаходиться в наступних станах готовності:

Включено (ВКЛ) - стан апаратури, при якому вона включена і за даними функціонального контролю справна;

Відключено (ОТКЛ) - стан апаратури, при якому вторинні джерела живлення відключені.

Конструкція РЕП повинна забезпечувати експлуатацію обладнання при робочих температурах від плюс 5 до плюс 40 ° С і в умовах підвищеної вологості - не більше 80% при температурі 25 ° С.

При експлуатації РЕП використовуються: комплект вимірювальний К540 (струм, напруга, потужність); частотомір Ф5043; Мілліомметри Е6-18/1.

2.2 Технічні вимоги до комірки інформаційного обміну


Метою розробки є створення комірки для інформаційного обміну ЕОМ та абонентів:

·        Абонент 1 (АБ1) - антенно-фідерний пристрій;

·        Абонент 2 (АБ2) - приймальний пристрій;

·        Абонент 3 (АБ3) - пристрій опорних сигналів синхронізації;

·        Абонент 4 (АБ4) - передавальний пристрій.

Розглянути можливість реалізації інтерфейсу абонентів:

·        Абонент RS0 (АБ5) - опорно-поворотний пристрій;;

·        Абонент RS1 (АБ6) - резерв;

·        Абонент RS2 (АБ7) - резерв.

Вимоги призначення

·        Комірка конструктивно і електрично повинна сполучатися з шиною cPCI (напруга 5В) промислової ЕОМ.

·        Комірка повинна забезпечувати прийом, зберігання і видачу інформації абонентам.

·        Комірка повинна мати 7 послідовних каналів для обміну з абонентами.

·        Обмін з абонентом АБ5 повинен проходити по інтерфейсу RS-232, з абонентом

·        АБ6 і АБ7 - RS-485. Комірка повинна мати можливість використовувати інтерфейси абонентів АБ6, АБ7 як один інтерфейс RS-422. Швидкість обміну з абонентами АБ5, АБ6, АБ7 повинна задаватися коефіцієнтом ділення від максимальної швидкості 115 200 біт / c до мінімальної 2400 біт / c по інтерфейсу ADM-PIOX (див. 3.1.5) і проходити з одним стартовим, одним стоповим і одним контрольному бітом до непарності.

·        Комірка повинна мати ОЗП об'ємом достатнім для розміщення одного масиву переданої та одного масиву прийнятої інформації для кожного абонента.

·        Комірка повинна підтримувати інтерфейс ADM-PIOX в режимі LVTTL

·        Комірка повинна мати можливість транслювати чотири сигналу від пристрою синхронізації на інтерфейс SYNX модуля ADP201cP5, а також сигнал T1Гц як переривання на шину cPCI. Трансляція сигналів дозволяється і забороняється командою по інтерфейсу PIOX. Лінія переривання шини cPCI вибирається командою по інтерфейсу PIOX.

·        Осередок повинна надавати можливість функціонального контролю послідовних каналів по командам інтерфейсу PIOX.

Вимоги живучості та стійкості до зовнішніх впливів:

·        По живучості та стійкості до зовнішніх впливів комірка повинна відповідати вимогам групи 1.1 УХЛ по ГОСТ В20.39.304-98.

·        При впливі кліматичних факторів в умовах експлуатації, повинні збережуться технічні та експлуатаційні характеристики в межах вимог і норм, встановлених у підрозділі 2.1 ОТТ ПМ0.100.081 для групи 1.1. УХЛ.

Вимоги надійності:

·        Час напрацювання на відмову - не менше 30000 ч.

Вимоги до експлуатації, зберіганню, зручності технічно-го обслуговування і ремонту:

·        виріб має бути ремонтопригодно. При складних несправності ремонт проводиться на заводі виробнику.

·        Вимоги до зберігання в заводській тарі пред'являються відповідно до п. 12.11 ОТТ ПМ0.100.081.

Вимоги технологічності:

·        виробнича, експлуатаційна та ремонтна технологічність повинна задовольняти нормативним вимогам, наведеним в «Вказівках по технології» ПМ0.100.081, відповідати вимогам ОТТ ПМ0.100.081 і забезпечувати досягнення заданих технічних вимог при мінімальних витратах з їх виготовлення, технічного обслуговування і ремонту.

Конструктивні вимоги:

·        Комірка повинна розроблятися відповідно до документа "Загальні вказівки по конструюванню" ПМ0.100.081. Осередок конструктивно повинна відповідати вимогам для пристроїв PCI функціонують у складі промислової ЕОМ.

·        По закінченні розробки повинна бути представлена КД відповідно до комплектності технічних документів.

2.3 Призначення комірки інформаційного обміну


Комірка 3Д-Я202 (комірка інформаційного обміну) призначена для інформаційного зв'язку РЕП з іншими пристроями (абонентами) РЛС.

Інтерфейси комірки інформаційного обміну.

Комірка 3Д-Я202 має 7 послідовних інтерфейсів для обміну з абонентами і один інтерфейс PIOX для інформаційного обміну з коміркою цифрової обробки сигналів (ЦОС) ADP201cP5.

Порядок взаємодії комірки ЦГЗ ADP201cP5 і комірки 3Д-Я202:

Запис по інтерфейсу PIOX даних для передачі абоненту;

Передача коміркою 3Д-Я202 даних абоненту та отримання відповіді по послідовному каналу;

Читання коміркою ЦГЗ ADP201cP5 по інтерфейсу PIOX отриманих даних.

Комірка має наступні послідовні інтерфейси:

Чотири інтерфейсу СК з самосинхронізується кодом;

Два інтерфейсу RS-485;

Один інтерфейс RS-232.

Кожен інтерфейс управляється контролером, що має дві області ОЗП для зберігання видаваної і прийнятої інформації. Обсяг ОЗП контролерів наведено в таблиці 2.1.

Таблиця 2.1. Обсяг ОЗП контролерів

Контроллер інтерфейсу

Розмір ОЗП


на зчитування

на запис

СК-1

256x16 біт

256x16 біт

СК-2

64x16 біт

64x16 біт

СК-3

64x16 біт

64x16 біт

СK-4

64x16 біт

64x16 біт

RS-485-1

64x16 біт

64x16 біт

RS-485-2

64x16 біт

64x16 біт

RS-232-1

64x16 біт

64x16 біт


Комірка 3Д-Я202 також проводить прийом і трансляцію чотирьох сигналів одержуваних від синхронізатора.

Послідовний інтерфейс "СК"

Обмін з абонентами АФУ, приймальний пристрій, передавальний пристрій, синхронізатор проводитися послідовним кодом який самосинхронізується. Тимчасова діаграма обміну представлена на рис. 2.2.

Інформація передається молодшими бітами вперед. Слово передачі має розмір 10 біт в якому 8 біт інформаційні та 2 біта контрольні. Контрольні біти стоять на місці 5 і 10 біта.

Передавачем є мікросхема з відкритим емітером 559ІП4, приймачем-559ІП5. Вхід приймаючої мікросхеми виходить на землю узгоджувальний резистор номіналом 82 Ом.

Рис. 2.2. Часова діаграма обміну інформації послідовним СК кодом та часова діаграма видачі 10-розрядного слова з двома контрольними бітами

Послідовний інтерфейс RS-485

Інтерфейс RS-485 використовує приймач 5559ІН2Т. Між вихідними лініями А і B варто узгоджувальний резистор 120 Ом, лини підтягнуті до землі і до +5 В через резистори 1200 Ом. Абонент, з якими буде проводитися обмін також повинен мати підтягуючі резистори 1200 Ом.

Швидкість обміну задається в діапазоні від 115 200 біт / c до 2400 біт / c. Передача ведеться по 8 біт молодшими бітами вперед з одним стартовим, одним стоповим і одним контрольним бітом до парності.

Для підключення дренажного проводу на роз'ємі XT6 контакти 14 і 15 з'єднані через резистор 120 Ом зі схемної землею (ланцюг "Корпус 120 Ом").

Протокол обміну передбачає інтервал тиші перед посилкою довжиною 22 біта. Усередині посилки біти йдуть впритик. Контролер по команді, переданої по інтерфейсу PIOX, передає посилку (розмір посилки визначає значення регістра CR_outlength), після чого очікує приходу відповіді (розмір очікуваного відповідь посилки визначається в регістрі CR_inlength). У разі, якщо відповідна посилка не прийнята за час, визначений в регістрі CR_timer, формується помилка.

Послідовний інтерфейс RS-232

Контролер інтерфейсу RS-232 аналогічний контролеру інтерфейсу RS-485.

Інтерфейс RS-232 використовує приймач 5559ІН1Т.

На рис. 2.3-2.5 зображена осередок інформаційного обміну.

Рис.2.3. Комірка інформаційного обміну

Рис.2.4. Комірка інформаційного обміну

Рис.2.5. Комірка інформаційного обміну

2.4 Інтерфейс РІОХ


Інтерфейс являє собою 16 паралельних ліній даних PIO і дві керуючі лінії PIO_WR і PIO_RD.

Обмін даними з коміркою 3Д-Я202 по інтерфейсу PIOX проводитися пакетами.

Пакет починається з запису заголовка пакета. У молодших восьми бітах заголовка записана адреса регістра або адреса ОЗУ, якому призначені дані з інформаційної частини пакета. У старших восьми бітах записана довжина інформаційної частини пакету мінус один (N-1). Після запису заголовка слідують інформаційна частина у вигляді N циклів запису (або читання). Для реєстрової передачі N дорівнює 1. Між пакетами дозволено читання, результатом якого буде значення регістра стану GR_status. Описаний протокол обміну зображений на рис.2.6.

• Пакет • ЗАПИС> Заголовок пакета = Кількість слів інформаційнної частини(N-1)+ Адреса. • ЗАПИС (ЗЧИТУВАННЯ)> Цикл передачі 1. • … • ЗАПИСЬ (ЗЧИТУВАННЯ)> Цикл передачі N. •  • ЗЧИТУВАННЯ> Регістр стану GR_status • Пакет •  • ЗАПИС> Заголовок пакета = Кількість слів інформаційнної частини(N-1)+ Адреса. • ЗАПИС (ЗЧИТУВАННЯ)> Цикл передачі 1. • … • ЗАПИСЬ (ЗЧИТУВАННЯ)> Цикл передачі N.

Рис.2.6. Протокол обміну РІОХ

Адресація передачі даних по інтерфейсу PIOX

По інтерфейсу PIOX доступні:

Загальні регістри комірки;

Регістри контролерів інтерфейсів;

ОЗП контролерів інтерфейсів.

Загальні регістри - регістри GR_status, GR_reset, GR_start, GR_lock, GR_trans, GR_sum, GR_info впливають на роботу всіх контролерів інтерфейсів.

Регістри контролера - регістри CR_err, CR_count, CR_outlength, CR_inlength, CR_timer, CR_rate, CR_setting впливають на роботу тільки того контролера інтерфейсу, якому належать. Контролери "СК-каналів" не мають регістра CR_rate.

Адреса складається з трьох частин:

7

6

5

4

3

2

1

0

Номер регистру

Модифікатор

Номер каналу


Розряди 3,4 визначають тип передачі.

Тип передачі

0

0

Звернення до ОЗП передачі контроллера

0

1

Звернення до ОЗП прийому контроллера

1

0

Звернення до регістру контроллера

1

1

Звернення до загального регістру


Розряди 0-2 визначають номер каналу і мають сенс тільки при зверненні до ОЗП або регістру контролера.

Номер каналу

0

0

0

канал 0 (АФУ)

0

0

1

канал 1 (передача)

0

1

0

канал 2 (прийом)

0

1

1

канал 3 (синхронізатор)

1

0

0

канал 4 (RS-485-1)

1

0

1

канал 5 (RS-485-1)

1

1

0

канал 6 (RS-232 -1)

1

1

канал 7 (RS-232 -2)


Канал 7 використовується тільки для контролю працездатності каналу 6 і не беруть участь в роботі РЕУ.

Розряди 5-7 визначають номер регістра

Модифікатор 10

Модифікатор 11

0

0

0

CR_err

GR_status

0

0

1

CR_count

GR_start

0

1

0

CR_setting

GR_reset

0

1

1

CR_timer

GR_lock

1

0

0

CR_outlength

GR_sum

1

0

1

CR_inlength

GR_trans

1

1

0

CR_rate

GR_info

1

1

1

резерв

резерв


Таблиця 2.2. Розподіл адреси ЗУ комірки

Адрес

Об’єкт який адресується

шістнадцяткова

двійковий



7

6

5

4

3

2

1

0


00

0

0

0

0

0

0

0

0

ОЗП передатчик каналу 0

01

0

0

0

0

0

0

0

1

ОЗП передатчик каналу 1

02

0

0

0

0

0

0

1

0

ОЗП передатчик каналу 2

03

0

0

0

0

0

0

1

1

ОЗП передатчик каналу 3

04

0

0

0

0

0

1

0

0

ОЗП передатчик каналу 4

05

0

0

0

0

0

1

0

1

ОЗП передатчик каналу 5

06

0

0

0

0

0

1

1

0

ОЗП передатчик каналу 6

08

0

0

0

0

1

0

0

0

ОЗП приймач каналу 0

09

0

0

0

0

1

0

0

1

ОЗП приймач каналу 1

0A

0

0

0

0

1

0

1

0

ОЗП приймач каналу 2

0B

0

0

0

0

1

0

1

1

ОЗП приймач каналу 3

0C

0

0

0

0

1

1

0

0

ОЗП приймач каналу 4

0D

0

0

0

0

1

1

0

1

ОЗП приймач каналу 5

0E

0

0

0

0

1

1

1

0

ОЗП примач каналу 6

18

0

0

0

1

1

0

0

0

регістр GR_status

38

0

0

1

1

1

0

0

0

регістр GR_start

58

0

1

0

1

1

0

0

0

регістр GR_reset

78

0

1

1

1

1

0

0

0

регістр GR_lock

98

1

0

0

1

1

0

0

0

регістр GR_sum

B8

1

0

1

1

1

0

0

0

регістр GR_trans

D8

1

1

0

1

1

0

0

0

регістр GR_info

10+ N кан.

0

0

0

1

0

 N канал

регістр CR_err

30+ N кан.

0

0

1

1

0

 N канал

регістр CR_count

50+ N кан.

0

1

0

1

0

 N канал

регістр CR_setting

70+ N кан.

0

1

1

1

0

 N канал

регістр CR_timer

90+ N кан.

1

0

0

1

0

 N канал

регістр CR_outlength

B0+ Nкан.

1

0

1

1

0

 N канал

регістр CR_inlength

D0+ N кан.

1

1

0

1

0

 N канал

регістр CR_rate


Загальні регістри осередку 3Д-Я202

) Регістр стану комірки (GR_status)

Регістр відображає стан послідовних каналів комрки і доступний тільки для читання.

Інформація регістра

канал 0 зайнятий

канал 1 зайнятий

канал 2 зайнятий

канал 3 зайнятий

канал 4 зайнятий

канал 5 зайнятий

канал 6 зайнятий

помилка обміну по інтерфейсу PIOX

канал 1 несправний

10р

канал 2 несправний

11р

канал 3 несправний

12р

канал 4 несправний

13р

канал 5 несправний

14р

канал 6 несправний

15р

дозволена трансляція сигналів синхронизатора


2) Регістр запуску каналів (GR_start)

Пуск каналу відбувається автоматично по закінченню запису пакета в ОЗП контролера каналу. Якщо потрібно запустити контролер без передачі нової інформації в ОЗУ необхідно записати одиницю у відповідний біт контролера.

Регістр доступний тільки на запис.

Інформація регістра

запуск каналу 0

запуск каналу 1

запуск каналу 2

запуск каналу 3

запуск каналу 4

запуск каналу 5

запуск каналу 6

запуск каналу 7


3) Регістр скидання каналів (GR_reset)

Призначений для переривання роботи контролера. Доступний тільки для запису.

Для перезапуску працюючого контролера необхідний цикл запису в регістр скидання, так як повторний пуск працюючого контролера не змінює його стану.

Інформація регістра:

скид каналу0

скид каналу 1

скид каналу 2

скид каналу 3

скид каналу 4

скид каналу 5

скид каналу 6

скид каналу 7


4) Регістр блокування пуску каналів (GR_lock)

Дає можливість блокування пуску каналу по кінцю записи пакету даних в ОЗП контролера. Для блокування пуску необхідно записати 1. Доступний тільки для запису.

При необхідності читання передавального ОЗП також необхідно забороняти автоматичний пуск каналів. В іншому випадку в кінці читання передавального ОЗП канал буде запущений.

Інформація регістра:

блокування пуску каналу 0

блокування пуску каналу 1

блокування пуску каналу 2

блокування пуску каналу 3

блокування пуску каналу 4

блокування пуску каналу 5

блокування пуску каналу 6

блокування пуску каналу 7


5) Регістр контролю цілісності пакета (GR_sum)

Регістр містить суму всіх переданих даних в останньому пакеті.

Доступний тільки для читання.

) Регістр управління трансляцією сигналів синхронізатора (GR_trans)

Доступний тільки на запис.

Інформація регістра

дозвіл трансляції Таі на роз'єм SYNX

дозвіл трансляції Тап на роз'єм SYNX

дозвіл трансляції Т1Гц на роз'єм SYNX

дозвіл трансляції Трезерв на роз'єм SYNX

дозвіл трансляції Т1Гц на лінію INTA сPCI

дозвіл трансляції Т1Гц на лінію INTB сPCI

дозвіл трансляції Т1Гц на лінію INTC сPCI

дозвіл трансляції Т1Гц на лінію INTD сPCI


) Регістр інформації про комірку (GR_info)

Доступний тільки для читання. Містить значення 0x1.

Регістри контролерів послідовних інтерфейсів комірки 3Д-Я202

Регістри цієї групи, за винятком регістра CR_rate, є в кожному контролері інтерфейсу. Заповнення регістрів необхідно проводити до використання контролера в іншому випадку контролер буде працювати некоректно.

) Регістр помилок (CR_err)

Доступний тільки для читання. Містить інформацію про помилки в роботі послідовного каналу. Вся інформація ставитися до останній передачі по каналу, на початку нової передачі регістр скидається.

контроллер занятий

помилка каналу - прийнята інформація не може зчитатись в дійсності

помилка каналу - прийнята інформація рахується дійсною, але зафіксовані помилки

Помилка формату відправки - Формується якщо прийняте повідомлення має невірну структуру

помилка парності

помилка доступу - формується якщо робота контролера перервана через дії по PIOX

перевищення часу очікування відповіді - формується, якщо не був повністю отримана відповідь за відведений для цього час.

2) Регістр лічильник помилок (CR_count)

Регістр надає інформацію про кількість зареєстрованих помилок парності в каналі. Скидання лічильника відбувається при скиданні контролера по команді з PIOX, помилку часу очікування відповідної посилки, зверненні з PIOX до пам'яті зайнятого контролера.

Тільки в СК каналі.

Доступний тільки для читання.

0р - 6 р

значение лічильника помилок каналу

переповнення лічильника помилок каналу

 8р - 14р

значення лічильника збоїв каналу

15р

переповнення лічильника збоїв каналу


3) Регістр установки режимів каналу (CR_setting)

Доступний тільки для запису. Інформація регістра:

кількість посилок в CK каналі.


передати посилку зі збоєм передачі (тільки для СК каналу)

передати посилку з помилкою парності


Установка значення 0 в бітах 0 і 1 не можна.

) Регістр часу очікування (CR_timer)

Доступний тільки для запису. Визначає максимальний час відведений для прийому відповіді. При перевищенні часу очікування формується помилка. Одиниці значення відповідає час 100 нс. При запису значення 0x0 контроль часу відключається. Відлік часу йде від пуску каналу.

) Регістр кількості слів для передачі (CR_outlength)

Регістр визначає кількість слів для передачі в каналі.

Доступний тільки для запису.

) Регістр кількості слів для прийому (CR_inlength)

Регістр визначає кількість слів прийнятих каналом RS.

Для СК каналів, де є ознаки початку і кінця прийнятої посилки значення цього регістра ігнорується.

Доступний тільки для запису.

) Регістр швидкості передачі (CR_rate)

Є тільки в контроллерах RS каналів. Доступний тільки для запису. У нього записується коефіцієнт розподілу швидкості передачі в діапазоні від 0 до 48. Коефіцієнтами 0 відповідає швидкість 115200 біт / c.

 

РОЗДІЛ 3. МОВА ОПИСУ АПАРАТУРИ ЦИФРОВИХ СИСТЕМ VHDL

 

3.1 Опис мови


VНDL (Very high speed integrated circuits) Hardware Description Language) - мова опису апаратури інтегральних схем. Мова проектування VHDL є базовою мовою при розробці апаратури сучасних обчислювальних систем.

Мова VHDL створена як засіб опису цифрових систем, однак існує підмножина мови - VHDL AMS (аналогових та змішаних сигналів), що дозволяє описувати як чисто аналогові, так і змішані, цифро-аналогові схеми.

Структура програми

Процес програмування на VHDL нагадує створення принципової схеми пристрою.

Крок 1: Включення в код використовуваних бібліотек.

Крок 2: Опис точок входу і точок виходу пристрою (аналогічно входам і ви-ходам принципової схеми всього пристрою).

Крок 3: Опис точок входу і виходу елементів входять до пристрій (аналогічно призначенням функцій ногам контролера і іншою логікою в схемі)

Крок 4: Опис архітектури елементів входять до пристрій (начебто підбору логіки типу АБО-НЕ, І-НЕ, вобщем опис того як вихід елемента зав'язаний з його входом)

Крок 5: Опис архітектури всього пристрою (типу з'єднання провідниками всіх елементів схеми).

 

3.2 Опис розробленої програми


Програма вузла PIOX виконана на мові VHDL і є частиною проекту конфігурації ПЛІС комірки 3Д-Я202, виконаного з використанням системи автоматизованого проектування Quartus II.

Програма реалізує функції, які пред'являються замовником до спеціального інтерфейсу, призначеному для інформаційного обміну з коміркою цифрової обробки (ЦОС) ADP201cP5, що є частиною обчислювального комплексу РЛС і виконує такі завдання:

Формує кордон (BORDER), всередині яких дані супроводжуються стробами DOUBLE_STROB_OUT і SINGLE_STROB_OUT, призначеними відповідно для запису даних в пам'ять одного з контролерів (подвійний строб) або в один з регістрів загального призначення або регістра контролера (одиночний стрибає);

Формує кордони, всередині яких дані супроводжуються стробами DOUBLE_STROB_IN і SINGLE_STROB_IN, призначеними відповідно для читання даних з пам'яті одного з контролерів (подвійний строб) або даних одного з регістрів загального призначення або регістра контролера (одиночний стрибає);

Формування парних і одиночних стробов запису і читання проводиться з вхідних сигналів PIO_WR і PIOX_RD з використанням сінхрочастоти CLK;

Восьмизарядний адресу пам'яті або регістра ADDR [7 .. 0], до яких звертається інтерфейс, виділяється з молодшого байта заголовка пакета вхідних даних PIOX_DATA_IN [15 .. 0].

Кількість формованих подвійних і одиночних стробов, а також тривалість супроводжуючого їх строба BORDER визначається вмістом старшого байта заголовка пакета, в якому міститься кількість 16-розрядних слів інформаційної частини пакету PIOX_DATA_IN [15 .. 0] мінус один;

Програма робить буферизацію даних, призначених для запису PIOX_DATA_IN [15 .. 0] і читання PIOX_DATA_OUT [15 .. 0] по інтерфейсу PIOX;

Програма робить побітно додавання по mod2 всіх слів пакета для реалізації можливості видачі підрахованої суми пакета PIOX_PACK_SUM [15 .. 0] через регістр загального призначення GR_SUM для контролю цілісності пакета з боку обчислювального комплексу.

Програма оформлена у вигляді символу «PIOX», що входить до складу проекту комірки 3д-Я202.

Рис.3.1. Схема алгоритму програми

 

РОЗДІЛ 4. РОЗРАХУНОК НАДІЙНОСТІ КОМІРКИ ІНФОРМАЦІЙНОГО ОБМІНУ


Розрахунок показників надійності комірки інформаційного обміну зробимо за допомогою програми АСРН (Автоматизована система розрахунку надійності).

АСРН розроблена на базі довідника "Надійність електроприладів" і дозволяє розраховувати надійність модулів 1-го і 2-го рівнів без резервування в режимі експлуатації (тільки для вітчизняних ЕРІ) і зберігання в складі рухомих і нерухомих об'єктів. Система забезпечена генератором звітів, а також конвертором результатів розрахунку в формат HTML, а також базою даних імпортних ЕРІ, формованої користувачами.

АСРН дозволяє проводити пошук по базі даних вітчизняних ЕРІ на предмет наявності. У разі позитивної відповіді ЕРІ буде виведений в дереві клас-група-тип і на правій панелі відобразяться всі поля, які необхідно заповнити. Пошук ЕРІ здійснюється з часткового відповідності без урахування регістру до першого входження шуканого фрагмента в базу даних типів ЕРІ.

АСРН дозволяє розраховувати надійність обраного модуля 1-го чи 2-го рівня в режимах експлуатації та зберігання.

Після вибору всіх необхідних вихідних даних:

Режиму,

Звіту,

Групи апаратури.

Стає активною кнопка "Перегляд". Натисканням на кнопку запускається процес розрахунку сумарної інтенсивності відмов обраного модуля і одночасна генерація звіту. Згенерований звіт для модуля 1-го рівня містить інформацію про інтенсивність відмов всіх вхідних у нього ЕРІ і сумарну інтенсивність відмов модуля. Якщо хоча б один електрорадіоелементами не прорахував (наприклад, розрахунок у режимі зберігання для імпортних ЕРІ), то сумарна інтенсивність відмов не виводиться. Згенерований звіт для модуля 2-го рівня містить інформацію про інтенсивність відмов всіх вхідних у нього модулів 1-го рівня (з ЕРІ), інтенсивності відмов безпосередньо входять в модуль 2-го рівня ЕРІ і сумарну інтенсивність відмов модуля. Якщо хоча б один електрорадіоелементами не прорахував (наприклад, розрахунок у режимі зберігання для імпортних ЕРІ), то сумарна інтенсивність відмов не виводиться як для модуля 1-го рівня, так і для модуля 2-го рівня. Згенерований звіт можна роздрукувати (йде повторний перерахунок інтенсивності відмов для передачі на канву принтера) вибравши попередньо тип принтера.

Розрахунок показника надійності наведено нижче у таблиці 4.1.


Кількість

Схемна позиція

б (бсг)

коефіцієнт моделей

э, 1/ч

э*n, 1/ч

 

Інтегральні мікросхеми

 

559ИП5

1

DD1

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =2.07

 

 

0.39·10-7

0.39·10-7

 

561ЛН2

4

DD10..DD13

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 3

Кст =1.66

Кv =1

 

0.94·10-7

0.38·10-6

 

EPF10K50RI240-4

1

DD14

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.09



2.07*10-8

2.07*10-8

 

5559ИН1Т

1

DD15

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 3

Кст =1.66

Кv =1

 

0.94·10-7

0.94·10-7

 

5559ИН2Т

2

DD16..DD17

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 3

Кст =2.07

Кv =1

 

1.18·10-7

2.36·10-7

 

559ИП5

2

DD19, DD20

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =2.07

 

 

0.39·10-7

0.79·10-7

 

1554АП4

5

DD2..DD6

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =3.73

Кv =1

 

0.71·10-7

0.35·10-6

 

559ИП4

2

DD21..DD22

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.66

 

 

3.15·10-8

0.63·10-7

 

530ЛА3 ММ

1

DD7

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.66

 

 

3.15·10-8

3.15·10-8

 

1533ЛИ1

2

DD8,DD18

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.66

 

 

3.15·10-8

0.63·10-7

 

530ТМ2 ММ

1

DD9

1.9·10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.66

 

 

3.15·10-8

3.15·10-8

 

EPCPI8

1

DS1

1.9*10-8

Кпр = 1

Кэ = 1

Ккорп = 1

Кст =1.37



2.6*10-8

2.6*10-8

 

Прилади п'єзоелектричні і фільтри електромеханічні

 

К1-4ДС-20000К

1

BQ1

2,5*10-8

Кпр = 1

Кэ = 1

Ккорп = 1.34




0,33*10-7

0,33*10-7

 

Резистори

 

Б19К

2

DA1,DA3

2·10-8

Кпр = 1

Кэ = 1

Кp = 0.631

 

 

 

1.26·10-8

2.52·10-8

1

DA6

2·10-8

Кпр = 1

Кэ = 1

Кp = 0.427

 

 

 

0.85·10-8

0.85·10-8

 

Б19К

1

DA2

2·10-8

Кпр = 1

Кэ = 1

Кp = 0.476

 

 

 

0.95·10-8

0.95·10-8

 

Б19К

2

DA4, DA5

2·10-8

Кпр = 1

Кэ = 1

Кp = 0.574

 

 

 

1.15·10-8

0.34·10-7

 

Р1-12

4

R1,R2,R21,R22

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.789

КR = 1

Кстаб = 1

 

0.77·10-7

3.08·10-7

 

Р1-12

2

R11,R12

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.896

КR = 1

Кстаб = 1

 

0.87·10-7

1.75·10-7

 

Р1-12

4

R13..R16

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.606

КR = 1

Кстаб = 1

 

2.76·10-8

1.1·10-7

 

Р1-12

4

R17..R20

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.455

КR = 1

Кстаб = 1

 

0.44·10-7

1.77·10-7

 

Р1-12

51

R23..R73

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.455

КR = 1

Кстаб = 1

 

2.07·10-8

1.06·10-6

 

Р1-12

7

R3...RR10

0.65·10-7

Кпр = 1

Кэ = 1

Кp = 0.391

КR = 0.7

Кстаб = 1

 

1.25·10-8

0.62·10-7

 

Конденсатори

К10-17б

39

С1,С3, С7..С36, С48...C53, C56

3·10-8

Кпр = 1

Кэ = 1

Кp = 0.1

Кc = 1.67

 

 

0.5·10-8

2.42·10-7

К10-17б

10

С2, С37...С45

3·10-8

Кпр = 1

Кэ = 1

Кp = 0.0946

Кc = 1.67

 

 

0.47·10-8

0.47·10-7

К53-18

3

С4,С6,С47

1.6·10-7

Кпр = 1

Кэ = 1

Кp = 0.425

Кпс = 1

 

 

0.68·10-7

2.04·10-7

К10-17б

1

С46

3·10-8

Кпр = 1

Кэ = 1

Кp = 0.0963

Кc = 0.648

 

 

1.87·10-9

1.87·10-9

К10-17б

2

С54,C55

3·10-8

Кпр = 1

Кэ = 1

Кp = 0.3

Кc = 2.31

 

 

0.69·10-8

0.35·10-7

К53-18

1

С5

1.6·10-7

Кпр = 1

Кэ = 1

Кp = 0.372

Кпс = 1

 

 

0.6·10-7

0.6·10-7

З'єднувачі низькочастотні і радіочастотні

СНП351

1

ХТ1

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 19.4

 

2.35·10-6

2.35·10-6

СНП268

1

ХТ2

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 3.28

 

0.4·10-6

0.4·10-6

AMPMODU

1

ХТ3

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 1.36

 

1.65·10-7

1.65·10-7

AMPMODU

1

ХТ4

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 1

 

1.21·10-7

1.21·10-7

СНП347

1

ХТ5

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 2.16

 

2.62·10-7

2.62·10-7

СНП268

1

ХТ6

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 3.28

 

0.4·10-6

0.4·10-6

СНП347

1

ХТ7

0.5·10-7

Кпр = 1

Кэ = 1

Кp = 2.42

Кkc = 1

Кkk = 2.58

 

3.13·10-7

3.13·10-7

Разом для комірки:

0.8·10-5

Примітка: λб (БСГ) - вихідна (базова) інтенсивність відмов типу (групи) ЕРІ для усереднених режимів застосування в апаратурі групи 1.1 (електричне навантаження, рівна 0,4 від номінальної, температура навколишнього середовища Tокр 30 ° С);

λе - значення експлуатаційної інтенсивності відмов груп ЕРІ;

Ке - коефіцієнт експлуатації - ступінь жорсткості умов експлуатації;

Ккорп - тип корпусу ІС;

Кст - складність ІС і температура навколишнього середовища;

Кр - коефіцієнт режиму - величина електричного навантаження і температура навколишнього середовища (корпусу виробу);

Кпс - величина послідовно включеного з оксидно-напівпровідникових конденсатором активного опору;- величина омічного опору;

Кстаб - точність виготовлення (допуск) резистора;

Кkc - кількість зчленувань - розчленовувань протягом усього часу експлуатації;

Кkk - кількість задіяних контактів.

Час напрацювання на відмову комірки:

Те комірки = 1 / λ осередку = 1/0, 8 * 10-5 = 125 000 годин.

 

ВИСНОВОК


В дипломному проекті розроблена програма конфігурації ПЛІС для вузла інтерфейсу, за допомогою якого здійснюється обмін даними обчислювального комплексу РЛС з апаратурою радіолокаційного пристрою. Здійснено перевірку та налагодження цієї програми засобами САПР Quartus II. Вузол інтерфейсу є частиною проекту комірки інформаційного обміну 3Д-Я202. Комірка є буферним пристроєм при передачі даних між модулем цифрової обробки обчислювального комплексу та пристроями, що входять до складу РЛС, що дозволяє здійснювати технічне та функціональне управління цими пристроями і робити контроль їх технічного та функціонального стану.

У рамках дипломного проекту зроблена структурна схема комірки 3Д-Я202.

У дипломі зроблений розрахунок надійності ЕРІ осередку інформаційного обміну за допомогою програми "АСРН" (Автоматизована система розрахунку надійності).

ЛІТЕРАТУРА


1.   Проектирование на ПЛИС. Курс молодого бойца. издат Додэка-ХХI, 2007

2.       Применение интегральных микросхем в электронной вычислительной технике: Справочник; Под редакцией Б.Н. Файзуллаева и Б.В. Тарабрина.М: “Радио и связь”, 1986.

3.       Системы автоматизированного проектирования фирмы Altera MAX+plus 2 и Quartus 2. Комолов Д.А., Мяльк Р.А., Зобенко А.А., Филиппов А.С.: “ИП РадиоСофт”, 2002

4.       Интегральные микросхемы ТТЛ, ТТЛШ. Под редакцией А.В. Лысенко.: “Машиностроение”,1995

5.       Нефедов В. И. Основы радиоэлектроники и связи. Учеб. пособие, - М.: Высш. шк., 2009.

6.       Проектирование цифровых систем на VHDL. Е. А. Суворова, Ю. Е. Шейнин, 2003

7.       Сергиенко А.М. VHDL для проектирования вычислительных устройств, Москва, 2003

8.       Методичні вказівки до дипломного проектування для студентів спеціальності "Комп’ютерні системи та мережі" /Укл. Мельник А.О., Парамуд Я.С. -Львів: Видавництво Львівської політехніки, 2011. - 32 с.

9.       <#"805497.files/image015.gif">

Додаток 3

Розроблена программа

library IEEE;

use IEEE.std_logic_1164.all;IEEE.std_logic_unsigned.all;IEEE.std_logic_arith.all;PIOX_PackDecode IS

(

aclr : IN STD_LOGIC;

Скидання кінцевого автомата

PIOX_DATA_IN : IN STD_LOGIC_VECTOR(15 DOWNTO 0); -- вхідні лінії піо_DATA_OUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0); -- вихідні лінії піо_WR : IN STD_LOGIC;

-- сигнал управління на піо (не синхронні) (запис)

sPIOX_RD : IN STD_LOGIC;

-- сигнал управління на піо(синхронний) (читання)

sPIOX_WR : IN STD_LOGIC;

-- сигнал управління на піо (синхронний) (запис)

ADDR : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

- адреса з заголовка пакета DATA_IN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);

- дані для пакета_OUT : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);

-- дані з пакета

PIOX_ERR : OUT STD_LOGIC; -- помилка пакета (невірний формат пакета) скидається успішної обробкою пакета і сигналом aclr (початковій установки)

BORDER : OUT STD_LOGIC;

- границі пакета_STROB_OUT: OUT STD_LOGIC; -- парні строби запису в пам'ять_STROB_OUT: OUT STD_LOGIC; -- одиночний стрибає запису в регістр_STROB_IN: OUT STD_LOGIC; -- парні строби читання з пам'яті_STROB_IN: OUT STD_LOGIC; -- одиночний стрибає читання з регістра_SUM : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);

-- cумма даних пакету з регістра GR_SUM

10011000=0x98: IN STD_LOGIC;

- F = 20 МГц

- debug

- VEC8 : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);

- VEC2 : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);_a : OUT STD_LOGIC;_b : OUT STD_LOGIC

);PIOX_PackDecode;AUTOMAT OF PIOX_PackDecode ISState : STD_LOGIC_VECTOR(1 downto 0);

- поточний стан автоматаN : std_logic_vector (7 downto 0);

-- номер оброблюваного слова з пакетуssUnion: STD_LOGIC;

Обедіненіе Вирівняність стробов PIOX_WR і PIOX_RDReset: STD_LOGIC;

Складання aclr і SelfResetSelfReset: STD_LOGIC;

Скидання при некоректному пакетіtSTROB_IN: STD_LOGIC;

Сигнал служить ознакою генерації парних стробовtData_Out: std_logic_vector (15 downto 0);

Дані на PIOX в момент PIOX_WRtADD: STD_LOGIC;

Затримка кордонів пакета BORDER для ПРОХОДЖЕННЯ всіх стробов_OUTtBORDER: STD_LOGIC;

Кордон інф. частини пакета - провісник сигналу заняття RAMHOLD_sPIOX_WR: STD_LOGIC;

Затриманий сигнал PIOX_WR використовується для визначення запис / читання в змішаному сигналі ssUnion існує в позитивній області, ті не як PIOX_WRDelay_sPIOX_RD: STD_LOGIC;

Затриманий сигнал PIOX_RDtPACK_SUM: STD_LOGIC_VECTOR (15 DOWNTO 0);tADDR: STD_LOGIC_VECTOR (7 DOWNTO 0);C_SIGN: STD_LOGIC;

V1 <= Reset;

V2 <= SelfReset;<= tADDR;_SUM <= tPACK_SUM;_OUT <= tDATA_OUT;<= sPIOX_RD AND sPIOX_WR;

Об'єднання потрібно, так як підрахунок кількості слів йде і в записі і в читанні<= (SelfReset and (NOT (sPIOX_WR AND sPIOX_RD))) or aclr;

Скидання відбувається по aclr або помилково протоколу, скидання помилково протоколу утримується до кінця імпульсу PIOX_RD / WR викликав його; після скидання поновлюється і Selfeset звільняється<= tBORDER OR tADD;

Межі пакета формуються від кінця заголовка пакета до кінця останнього слова пакета + час на формування імпульсів запису_DATA_OUT <= DATA_IN;

Просто наскрізне проходження

Затриманий сигнал PIOX_RD для виділення переднього фронту в імпульсі PIOX_RD_sPIOX_RD_drive: PROCESS (sPIOX_RD, CLK)CLK'event and CLK = '0 'then_sPIOX_RD <= sPIOX_RD;NULL;if;PROCESS Delay_sPIOX_RD_drive;

Дані на запис дійсні в момент переднього фронту PIOX_WR_OUT_drive: PROCESS (aPIOX_WR)aPIOX_WR'event and aPIOX_WR = '1 'then_OUT <= PIOX_DATA_IN;NULL;if;PROCESS DATA_OUT_drive;

Адреса формується з заголовка пакета при записі або при читанні між пакетами

Кількість слів безперервно відстежується для визначення меж пакета_N_drive: PROCESS (Delay_sPIOX_RD, sPIOX_RD, State, ssUnion, HOLD_sPIOX_WR)HOLD_sPIOX_RD: STD_LOGIC;_sPIOX_RD: = Delay_sPIOX_RD and sPIOX_RD;HOLD_sPIOX_RD = '0 'and State = "00" then tADDR <= "00011000";ssUnion'event and ssUnion = '1 'thenHOLD_sPIOX_WR = '1 'and State = "00" then<= tDATA_OUT (15 downto 8);<= tDATA_OUT (7 downto 0);tDATA_OUT = "10011000" then NULL;

На початку пакета лічильник скидаєтьсяtPACK_SUM <= "0000000000000000";if;

Сума підраховується в кінці запису, якщо це не запис заголовка (State = 0) і не регістр GR_sum

При циклі читання цього регістра його значення гарантовано не змінюєтьсяState = "11" OR State = "10" OR State = "01" thenState = "11" OR State = "10" then N <= N-1;NULL;if;

При зверненні за адресою RG_sum рахунки не відбуваєтьсяtADDR = "10011000" then NULL;

У записі рахунок значень в момент aWRHOLD_sPIOX_WR = '1 'then tPACK_SUM <= tPACK_SUM + tDATA_OUT;

При читанні в момент sRDHOLD_sPIOX_WR = '0 'then tPACK_SUM <= tPACK_SUM + DATA_IN;if;NULL;if;NULL;if;PROCESS ADDR_N_drive;_drive: PROCESS (ssUnion, sPIOX_RD, Reset)Reset = '1 'then tBORDER <= '0';ssUnion'event and ssUnion = '1 'thenState = "00" thenHOLD_sPIOX_WR = '1 'then<= '1 ';NULL;if;State = "11" OR State = "10" thenN = "00000001" then tBORDER <= '0 ';NULL;if;State = "01" thenN = "00000000" then tBORDER <= '0 ';NULL;if;NULL;if;NULL;if;PROCESS BORDER_drive;

Парні строби записи формуються після імпульсу PIOX_WR_OUT_drive: PROCESS (CLK, State, Reset)count: std_logic_vector (2 downto 0);

SPIOX змінюється по передньому фронку CLKReset = '1 'then count: = "000";<= '0 ';_sPIOX_WR <= '0 ';_STROB_OUT <= '0 ';_STROB_OUT <= '0 ';CLK'event and CLK = '0 'thensPIOX_WR = '0 'then count: = "111";sPIOX_WR = '1 'AND count = "000" then NULL;count: = count-1;if;

У першому такті nCLK залежні від нього State і count ще не змінилися і в разі якщо State = 0 вони пропускають свій такт установки і не виставляють tADDcount = "111" and State = "000" then tADD <= '0 ';

Якщо State не заважає tADD виставляється вже в началн PIOX_WRcount = "111" then tADD <= '1 ';

По кінцю рахунки сигнал возврвщается в початковий станcount = "000" then tADD <= '0 ';NULL;if;

Подвійний строб для записуtADD = '1 'thencount IS"110" => DOUBLE_STROB_OUT <= '1 '; SINGLE_STROB_OUT <= '1 ';"101" => DOUBLE_STROB_OUT <= '0 '; SINGLE_STROB_OUT <= '0 ';"100" => DOUBLE_STROB_OUT <= '1 '; SINGLE_STROB_OUT <= '0 ';OTHERS => DOUBLE_STROB_OUT <= '0 '; SINGLE_STROB_OUT <= '0 ';CASE;if;NULL;if;PROCESS STROB_OUT_drive;

Строби читання формуються на початку імпульсу PIOX_RD_IN_drive: PROCESS (CLK, State, tSTROB_IN)count: std_logic_vector (2 downto 0);CLK'event and CLK = '0 'thentSTROB_IN = '0 'then count: = "111"; - TSTROB_IN ознака початку генераціїcount = "000" then NULL;count: = count-1;if;count IS"110" => DOUBLE_STROB_IN <= '1 '; SINGLE_STROB_IN <= '0 ';"101" => DOUBLE_STROB_IN <= '0 '; SINGLE_STROB_IN <= '1 ';"100" => DOUBLE_STROB_IN <= '1 '; SINGLE_STROB_IN <= '0 ';OTHERS => DOUBLE_STROB_IN <= '0 '; SINGLE_STROB_IN <= '0 ';CASE;NULL;if;PROCESS STROB_IN_drive;

Кінцевий автомат відстежує фази обробки пакета даних: PROCESS (CLK, sPIOX_RD, sPIOX_WR, Reset, State, aclr)StatePrepare: std_logic_vector (1 downto 0); - Наступний стан автомата

Скидання стану автоматаReset = '1 'thenaclr = '1 'then PIOX_ERR <= '0'; else NULL; end if;_IN <= '0 ';<= "00";: = "00";CLK'event AND CLK = '0 'thensPIOX_RD = '0 'thenState IS"00" => tSTROB_IN <= '1 ';: = "00";"01" => tSTROB_IN <= '1 ';N = "00000000" then StatePrepare: = "00";_ERR <= '0 ';StatePrepare: = "10";if;"10" => tSTROB_IN <= '1 ';N = "00000001" then StatePrepare: = "00";_ERR <= '0 ';StatePrepare: = "10";if;"11" =>_ERR <= '1 ';<= '1 ';: = "00";OTHERS => NULL;CASE;sPIOX_WR = '0 'thenState IS"00" => StatePrepare: = "01";"01" => if N = "00000000" then StatePrepare: = "00";_ERR <= '0 ';StatePrepare: = "11";if;"11" =>N = "00000001" then StatePrepare: = "00";_ERR <= '0 ';StatePrepare: = "11";if;"10" => PIOX_ERR <= '1 ';: = "00";<= '1 ';OTHERS => NULL;CASE;

Оскільки обидва нуля вже видалені в LineUp в else - випадок коли обидва '1 'State <= StatePrepare; - Змінити стан<= '0 ';_IN <= '0 ';if;NULL;if; - Main if_a <= tSTROB_IN;_b <= sPIOX_RD;PROCESS MAIN;AUTOMAT

Источник: https://www.bibliofond.ru/detail.aspx?id=805497