Побудова системи на кристалі (CSoC)

Тип работы:
Курсовая
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ВСТУП

У своєму безперервному розвитку ринок мікроелектроніки постійно висуває все нові та більш жорсткі вимоги до нових виробів. Споживач хоче отримувати швидкодіючу, надійну і в той же час малогабаритну і мало споживаючу продукцію. Дві ці суперечливі вимоги посилюються тим, що мікроелектронні покоління дуже швидко старіють, час морального зносу обчислюється іноді місяцями. Тому особлива увага приділяється постійному скороченню часу виходу на ринок нових виробів. Терміни, що відводяться на розробку, проектування, верифікацію і випуск в серію нових інтегральних схем, прагнуть скорочувати всіма силами, не забуваючи при цьому пред’являти підвищені вимоги до якості самих ІС та їх надійності.

Поява систем на кристалі дала величезний поштовх в питанні мінімізації виробів і їх універсальності. Можливість створювати цілі системи, розмір яких може бути не більше 1 см², а то й менше, відкрив нові горизонти в розвитку мікроелектроніки.

Прорив в схемотехніці трапився завдяки транзистору, але новий етап наступив в 1978 році, коли Intel випустила в світ процесор 8086. Але набагато цікавіше те, що за два роки до цього в Intel створили першу систему на кристалі. Це був «всього лиш» електронний годинник Microma LCD Watch. І в середині у нього була система на кристалі під назвою Intel 5810 CMOS Chip.

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

1. ЗАГАЛЬНИЙ РОЗДІЛ

1.1 Загальні поняття про системи на кристалі

Вираз «система на кристалі» не є, суворо кажучи, терміном. Це поняття відображає загальну тенденцію до підвищення рівня інтеграції за рахунок інтеграції функцій. Під приладами класу «система-на-кристалі» в загальному випадку розуміються прилади, на єдиному кристалі яких інтегровані процесор (процесори, у тому числі спеціалізовані), деякий обсяг пам’яті, ряд периферійних пристроїв і інтерфейсів, — тобто максимум того, що необхідно для вирішення завдань, поставлених перед системою. Продуктивність приладів класу «система-на-кристалі» значною мірою залежить від ефективності взаємодії всіх встановлених компонентів і від ефективності їх взаємодії із зовнішнім, щодо приладу, світом. У першу чергу це пов’язано з відмінностями у швидкодії вбудованих компонентів, в особливості організації інтерфейсів.

Аналізуючи дані в технічній літературі і опису різних виробів, званих авторами «системами на кристалі», можна сформулювати наступне визначення: система на кристалі - це СВІС, інтегруюча на кристалі різні функціональні блоки, які утворюють закінчений виріб для автономного застосування в електронній апаратурі.

1.2 Структура систем на кристалі

Структура типової системи на кристалі приведена на рисунку 1.1. Типова вбудована система побудована на базі SoC містить різні набори наступних інтерфейсів і контролерів:

· системна шина і контролери шин LPC/ISA, PCI, PCMCIA;

· контролери керування NOR/NAND Flash, SDRAM, SRAM, DDR;

· контролер Ethernet;

· послідовні інтерфейси UART, SPI/SSP/uWire, RS-232,RS-422/485, CAN;

· бездротові інтерфейси WiFi/IEEE802. 11, ZigBee, Bluetooth, IrDA;

· інтерфейси підтримки Flash-карт пам’яті: SD/MMC, CompactFlash,

MemoryStick;

· контролер LCD STN/TFT/OLED;

· контролер матричної клавіатури;

· модулі бездротової передачі даних GSM/GPRS, CDMA;

· модулі прийому сигналів супутникових навігаційних систем GPS,

Glonass;

· апаратні підтримки плаваючою точки, шифрування, DRM и т. п. ;

· аудіо — і відео — інтерфейси.

Рисунок 1.1 — Структура типової системи на кристалі

Система на кристалі може включати як цифрові, так і аналогові блоки. Основним цифровим блоком зазвичай є процесор, що виконує програмну обробку цифрових даних. Спеціалізовані блоки обробки забезпечують апаратне виконання функцій, специфічних для даної системи. Це можуть бути, наприклад, блоки цифрової обробки сигналів (DSP), аналогові схеми, перетворювачі потоків даних та інші пристрої. Різні типи модулів пам’яті (SRAM, DRAM, ROM, EEPROM, Flash) можуть входити до складу СНК або підключатися до неї як зовнішні блоки. Таймери, АЦП і ЦАП, широтно-імпульсні модулятори і інші цифрові пристрої можуть інтегруватися до складу СНК в якості периферійних пристроїв. Інтерфейс із зовнішніми пристроями забезпечується за допомогою паралельних і послідовних портів, різних шинних і комунікаційних контролерів та інших інтерфейсних блоків, в т. ч. аналогових (підсилювачів, перетворювачів). Склад блоків інтегруються в конкретній СНК варіюється в залежності від її функціонального призначення. Організація зв’язків між блоками системи також може бути різною: можливе використання різних стандартизованих шин або спеціалізованих локальних інтерфейсів. Структуру СНК складають в основному ті ж функціональні блоки, які входять до складу складно-функціональних СВІС класу мікроконтролерів і мікропроцесорів. Фактично сучасні СНК відрізняються від мікроконтролерів тільки наявністю спеціалізованих блоків обробки даних. Випуск мікроконтролерів (що називалися перш однокристальними мікроЕОМ) почався в 1981 р. Таким чином, можна вважати, що СНК без спеціалізованих блоків обробки виробляються і застосовуються вже більше 30 років.

Процес створення «систем на кристалі» має на увазі рішення наступних завдань:

1. Розробка IP-блоків;

2. Конструювання SoC на системно-функціональному рівні з VC;

3. Інтеграція всіх блоків на кристалі.

Нижче представлені приклади IP-блоків, які найбільш часто використовуються в проектах SoC:

· Програмовані пристрої (мікропроцесори): RISC, DSP;

· Пам’ять: RAM, DRAM, Flash;

· Стандартні інтерфейси: PCI, USB, Ethernet і т.п.

· Відео і аудіо декодери: MPEG2;

· Цифро-аналогові блоки: ЦАП, АЦП;

· Аналогові і ВЧ-компоненти: PLL (Phase-Locked Loop).

Переваги «систем на кристалі» перед класичними «системами на друкованій платі»:

1. Мініатюризація. Як правило, пристрій створене на базі SoC складається з однієї (максимум 2-х) НВІС і обмеженого набору дискретних компонент, які з технологічних причин не можуть бути інтегровані всередину ІС.

2. Зниження споживаної потужності. НВІС типу «система на кристалі» виготовляються за технологією «глибокого субмікронна» (DSM — Deep Submicron) 0. 35 мкм і нижче, що дозволяє знизити напругу живлення і, як наслідок, істотно зменшити споживану потужність.

3. Підвищення надійності. Об'єднання декількох компонент (IP-блоків) на одній пластині кремнію дозволяє істотно зменшити число паяних з'єднань.

У більшості випадків СНК являє собою цифрову НВІС, яка може також містити ряд аналогових блоків. Тому для проектування СНК використовуються ті ж методи і засоби, що і для НВІС. Ці засоби реалізовані у вигляді систем автоматизованого проектування (САПР), що поставляються компаніями Cadance, Synopsis, Mentor Graphics та ін. В якості елементної бази ці САПР використовують бібліотеки функціональних елементів, до складу яких входять як прості логічні вентилі і тригери, так і макроелементи, що виконують більш складні функції: регістри, лічильники, суматори, помножувачі, арифметико-логічні пристрої і т. д.

При розробці мікроконтролерів в 90-х рр. минулого століття широкого поширення набула концепція створення мікроконтролерних сімейств, мають однакове процесорний ядро і що розрізняються набором периферійних пристроїв і об'ємом внутрішньої пам’яті. Для реалізації цієї концепції при проектуванні НВІС мікроконтролерів крім функціональних бібліотек стали використовуватися складно-функціональні блоки (СФ-блоки) — процесори, таймери, АЦП, різні інтерфейсні блоки (UART, SPI, CAN, Ethernet і т.д.). Ці СФ-блоки формували верхній рівень функціональних бібліотек, використовуваних розробниками і виробниками мікроконтролерів. Вони були досить жорстко орієнтовані на конкретну технологію компанії-виробника, будучи внутрішньо фірмової матеріальною цінністю.

Підвищення складності проектованих НВІС, жорсткі вимоги до термінів їх проектування (скорочення часу виходу виробу на ринок) поставили перед розробниками нові проблеми. У сформованих умовах самостійне проектування розробником СНК всіх СФ-блоків, що входять до її складу, не завжди доцільно. Тому в останні роки широке поширення набула практика розробки окремих СФ-блоків для їх подальшого подання на ринок засобів проектування СНК. СФ-блоки, призначені для використання в різноманітних проектах, стали називати IP (Intellectual Property) модулями, тим самим підкреслюється, що ця продукція є предметом інтелектуальної власності. СФ-блоки, які використовуються при проектуванні СНК, мають дві основні форми представлення:

— У вигляді топологічних фрагментів, які можуть бути безпосередньо реалізовані у фізичній структурі кристала — апаратно реалізовані (hard) СФ-блоки;

— У вигляді моделей на мові опису апаратури (Verilog, VHDL), які засобами САПР можуть бути перетворені в топологічні фрагменти для реалізації на кристалі - синтезовані (soft) СФ-блоки.

Таким чином, розробник може або безпосередньо «вмонтувати» в структуру проектованої НВІС топологічно готовий СФ-блок, або використати наявну модель СФ-блоку і виконати його схемотехнічне і топологічний проектування в складі реалізованої НВІС СНК.

У процесі проектування СНК розробник має можливість вибору таких рішень:

— Самостійна розробка необхідних СФ-блоків;

— Покупка СФ-блоків у провідних розробників і виробників мікросхем;

— Пошук і застосування СФ-блоків, що надаються у відкритому доступі

1.3 Призначення систем-на-кристалі

СНК у вигляді ASIC перспективні для реалізації високобюджетних проектів, що передбачають подальший крупносерійним випуск виробів. Вони будуть застосовуватися в тих випадках, коли реалізація заданих технічних характеристик неможлива за допомогою інших рішень — систем на платі або СНК на базі FPGA. Враховуючи досить високі ризики, пов’язані з розробкою СНК у вигляді ASIC, частка таких проектів буде відносно невеликою.

СНК на базі FPGA можуть стати основною елементною базою для широкої номенклатури мало-і середньосерійного виробів з обмеженими вимогами до параметрів. При цьому очікується широке використання в складі цих СНК процесорних СФ-блоків, пропонованих провідними виробниками. Розвиток СНК на базі FPGA призведе до істотного скорочення частки проектів, що реалізуються у вигляді систем на платі.

1.4 Області застосування систем на кристалі

Основними областями для використання кристалів СНК є телекомунікації, Інтернет-додатки, провідні та безпровідні мережеві рішення, інтелектуальна носимая апаратура, медичне обладнання, охоронні системи, системи промислової автоматики, контролю і керування та багато іншого. По суті, будь-яке масове додаток середньої складності, що використовує ядро 8051 і набір нестандартних периферійних вузлів, може бути переведено на новий рівень техніки і технології при мінімальних витратах. Крім того, численні споживачі замовних/полузаказних мікросхем класу ASIC отримують відмінну альтернативу — реконфігуруються замовний кристал середньої складності з фіксованим процесорним ядром. При цьому помітно знижуються терміни виведення кінцевої продукції на ринок і усуваються значні початкові капіталовкладення.

1.5 Розробники

Список компаній, що розробляють СНК:

Ш Actions Semiconductor

Ш Altera

Ш Apple -- Американська корпорація, виробник персональних і планшетних комп’ютерів, аудіоплеєрів, телефонів, програмного забезпечення. Один з піонерів в області персональних комп’ютерів і сучасних багатозадачних операційних систем з графічним інтерфейсом. Штаб-квартира — у Купертіно, штат Каліфорнія.

Ш Applied Micro Circuits Corporation (AMCC)

Ш Analog Devices

Ш ARC International

Ш ARM Holdings

Ш ASIX Electronics

Ш Atmel

Ш Atheros

Ш Axis Communications

Ш Broadcom

Ш Cambridge Consultants

Ш Cirrus Logic

Ш Conexant

Ш Core Logic

Ш CPU Tech

Ш Cypress Semiconductor

Ш Infineon Technologies

Ш Ingenic Semiconductor

Ш Innova Card

Ш Intel Corporation -- американська корпорація, що виробляє широкий спектр електронних пристроїв і комп’ютерних компонентів, включаючи мікропроцесори, набори системної логіки (чіпсети) та ін. Штаб-квартира — у місті Санта-Клара, штат Каліфорнія, США.

Ш FameG (Fulhua Microelectronics Corp.)

Ш Freescale Semiconductor

Ш Frontier Silicon Ltd

Ш Horizon Semiconductors

Ш Imagination Technologies

Ш Lattice Semiconductor

Ш LSI Logic

Ш Marvell Technology Group

Ш Melexis

Ш Microchip

Ш MIPS Technologies

Ш Mistletoe Technologies

Ш MosChip Semiconductor Technology

Ш Naksha Technologies

Ш Nokia Corporation -- фінська транснаціональна компанія, постачальник обладнання для мобільних, фіксованих, широкосмугових і IP-мереж. Широко відома своїми мобільними телефонами і смартфонами.

Ш NVIDIA Corporation -- американська компанія, один з найбільших розробників графічних прискорювачів і процесорів для них, а також наборів системної логіки. На ринку продукція компанії відома під такими торговими марками як GeForce, nForce, Quadro, Tesla, ION і Tegra. Назва компанії засновано на грі слів: envidia по-іспанськи означає «заздрість».

Ш NXP Semiconductors (формально Philips Semiconductors)

Ш NuCORE Technology

Ш Palmchip Corporation

Ш PMC-Sierra

Ш Qualcomm

Ш Renesas

Ш Rise Technology (x86 SoC)

Ш Samsung Group -- промисловий концерн (група компаній), один з найбільших у Південній Кореї чебол, заснований в 1938 році. На світовому ринку відомий як виробник високотехнологічних компонентів, телекомунікаційного обладнання, побутової техніки, аудіо і відео пристроїв.

Ш Sequence Design

Ш Sharp

Ш Sigma Designs Inc

Ш SigmaTel

Ш Skyworks Solutions Inc

Ш Silicon Integrated Systems

Ш Silicon Motion

Ш SoCrates Software India Private Limited

Ш SoC Technology

Ш STMicroelectronics

Ш Tensilica

Ш Teridian Semiconductor

Ш Texas Instruments

Ш TLSI

Ш Transmeta

Ш TranSwitch

Ш VIVOTEK Inc.

Ш Zoran Corporation

Ш Xilinx

Ш НИИМЭ и Микрон

Ш ОАО НПЦ «ЭЛВИС»

Ш Миландр

Ш BROADCOM

1.6 Програмовані СнК Triscend Corp

Засновниками фірми Triscend є фахівці, які працювали раніше в Xilinx і Intel. Володіючи великим практичним досвідом на ринку вбудованих додатків, вони помітили, що значну частину кінцевих систем складають вироби, які включають в себе три базові компоненти, а саме: мікропроцесорне/ мікроконтролерне ядро, масив програмованої логіки і блок пам’яті. Тому кінцевим рішенням стало об'єднання цих трьох базових блоків для створення різноманітних мікропроцесорних систем з багатим набором периферійних вузлів в одному кремнієвому кристалі.

Triscend Corp. об'єднала в одній мікросхемі швидкісне ядро промислового стандарту «turbo» 8032 з типовим набором периферійних вузлів, матрицю конфігурується системної логіки FPGA з об'ємом від 6500 до 40 000 еквівалентних логічних вентилів, набір фіксованих допоміжних периферійних вузлів, швидкісну шину для внутрішнього обміну даними і масив статичної пам’яті. Такий виріб класу CSoC, підтримуване потужним і інтуїтивно зрозумілим програмним пакетом, дозволяє розробникам в найкоротші терміни створювати спеціалізованими процесорні платформи для телекомунікацій та ринку різноманітних вбудованих застосувань, значно виграючи у швидкості виведення на ринок нових розробок.

Triscend Corp. активно залучає сторонні фірми і компанії для реалізації різних ідей, які можна «покласти на реконфігуруються кристал». В даний час партнерами Triscend є такі відомі фірми, як ARM, Cadence, Sharp, Synopsys, Synplicity і UMC. З квітня 1999 р. і по теперішній час корпорація Triscend серійно випускає сімейство швидкісних конфігуруються мікроконтролерів Е5 з ядром «turbo» 8032, що забезпечує продуктивність до 10 MIPS на тактовій частоті 40 МГц. Дане сімейство CSoC допускає повністю автономне функціонування з використанням єдиного зовнішнього пристрою незалежної пам’яті для зберігання конфігурації і виконуваного коду. В кінці жовтня 2000 анонсовано нове сімейство CSoC-А7, у якого в якості процесорного ядра виступає вже 32-розрядний ARM7TDMI, і вироби цього класу з нетерпінням очікують багато розробники в усьому світі. Масове виробництво мікросхем сімейства A7 почнеться в середині січня 2001 р., коли буде реалізовано повноцінне програмне забезпечення підтримки розробки. В даний час продукція Triscend Corp. випускається за технологією 0,35 мкм, а перехід до більш досконалих проектним нормам 0,25 мкм і 0,18 мкм планується в середині 2001 р.

Основними областями для використання кристалів CSoC є телекомунікації, Інтернет-додатки, провідні та безпровідні мережеві рішення, інтелектуальна носимая апаратура, медичне обладнання, охоронні системи, системи промислової автоматики, контролю і керування та багато іншого. По суті, будь-яке масове додаток середньої складності, що використовує ядро ??8051 і набір нестандартних периферійних вузлів, може бути переведено на новий рівень техніки і технології при мінімальних витратах. Крім того, численні споживачі замовних / полузаказних мікросхем класу ASIC отримують відмінну альтернативу — реконфігуруються замовний кристал середньої складності з фіксованим процесорним ядром. При цьому помітно знижуються терміни виведення кінцевої продукції на ринок і усуваються значні початкові капіталовкладення. Застосування конфігурується системи на кристалі забезпечує також більш повне задоволення всіх потреб користувача в залежності від його завдання, при цьому ризик отримати фіксований кристал з логічними помилками зводиться практично до нуля. Доступне оновлення як апаратної частини, так і програмного коду надає кінцевим виробам додаткову гнучкість, не кажучи вже про те, що численні напрацьовані заздалегідь IP-ядра можуть бути з успіхом включені на кристал з вже наявних бібліотек.

Пристрої класу CSoC, як випливає з назви, поєднують на одному кристалі різні вузли, характерні для процесорної системи, — ядро мікропроцесора, блок пам’яті і набір периферійних пристроїв, причому останні можуть бути як фіксованими (вбудованими), так і конфігуруються розробником. Характерна для мікросхем CSoC можливість побудови реконфігуруються користувачем пристроїв дозволяє розглядати системи на кристалі з двох різних точок зору. З одного боку, конфігурується система на кристалі може бути звичайною мікропроцесорною системою з шинної архітектурою, де чільним елементом є процесорний ядро??. У цьому випадку мікросхема CSoC стає варіантом мікроконтролера із змінною користувачем периферією.

З іншого боку, конфігурується система на кристалі може бути набором незалежних апаратних вузлів та блоків пам’яті, інтерфейс між якими не є зумовленим і може бути обраний розробником «під завдання». Ці два підходи визначають як різницю архітектур конфігуруються систем на кристалі у різних виробників, так і особливості побудови та використання програмних засобів підтримки розробок.

1.7 Мікропроцесор hynet32xs/s компанії hyperstone

Компанія Hyperstone, розробник мікросхем без власних виробничих потужностей, пропонує широку номенклатуру 32-біт мікропроцесорів і мікроконтролерів класу «система на кристалі», виконаних на базі RISC/DSP-архітектури E1−32X. Завдяки поєднанню можливостей RISC- та DSP-процесорів компанії вдалось досягти збільшення виробничості не за рахунок підвищення тактової частоти, а завдяки застосуванню АЛП для виконання звичайних RISC-команд та команд цифрової обробки сигналу. Процесори виконують команди прозоро для користувача з високим рівнем паралелізму, сумісно використовуючи набір регістрів. Програми для мікропроцесорів з архітекстурою E1−32X, в порівняні з програмами більшості RISC-процесорів, займають більш ніж вдвічі менший обсяг пам’яті. Більша частина команд виконується за один тактовий цикл. Мікросхеми сімейства призначені для промислових установок автоматизації, будівельної техніки, засобів безпеки, систем «інтелектуального» дому, причому застосування цих мікросхем дозволяє обійтись без додаткових DSP-пристроїв. 32-біт мікропроцесори серії HyNet32XS на базі E1−32XR-ядра поєднують єксплуатаційну гнучкість з великим числом вбудованих функцій та інтерфейсів, необхідних для мережевих рішень. Продуткувість серії - 220 MIPS і до 880 MOPS, тактова частота — 220 МГц. Максимальні потужність, що споживається мікросхемою при роботі в несприятливих умовах, не перевищує 1,7 Вт. Блок-схема мікропроцесора HyNet32XS/S приведена на малюнку 1.2.

Рисунок 1.2 — Блок-схема мікропроцесора HyNet32XS/S

1. 8 Прикладні процесори OMAP-L1x для додатків з низьким енергоспоживанням

Платформа прикладних процесорів OMAP (Open Multimedia Applications Platform) створювалася компанією Texas Instruments, щоб задовольнити досить суперечливі вимоги ринку мобільних пристроїв: необхідність в високої обчислювальної потужності - з одного боку, і мінімальне енергоспоживання (і, як наслідок, максимально можливий час роботи пристрою без перезарядки акумуляторної батареї) — з іншого. Сімейство OMAP-L1x включає на даний момент два вироби L137 і L138. Процесори двоядерні і містять 32-розрядне ядро універсального процесора з сімейства ARM9E — ARM926EJ-S і ядро цифрового сигнального процесора сімейства TMS320C674x. Сімейство DSP-процесорів TMS320C674x включає в даний шість мікросхем: C6742, C6743, C6745, C6746, C6747 і C6748. Дві останніх і є попередниками OMAP-L137 і L138, відповідно. Більш того, пара С6747 і L137 (так само як і С6748 і L138) повністю сумісна за висновками, а їх архітектури ідентичні в частині підсистем DSP, керуючої і периферійних систем. Різниця — в OMAP-L1x додано ARM-ядро, яке не має виходу на зовнішні висновки. Взаємозв'язок ядра ARM926EJ-S, сигнальних процесорів TMS320C674x і прикладних процесорів OMAP-L1x ілюструється малюнком 1. 4

Рисунок 1.4 — Взаємозв'язок ARM926EJ-S, TMS320C674x і OMAP-L1x

Цифрові сигнальні процесори оптимізовані для виконання алгоритмів цифрової обробки сигналів, в яких значні масиви однотипних даних (відліки сигналів, пікселі зображень) обробляються по одним і тим же процедурам, причому, в переважній більшості випадків, ці процедури (або їх фрагменти) можуть виконуватися одночасно, тобто паралельно. Процесори ARM, будучи процесорами загального призначення, обробляють дані тільки з фіксованою точкою, але більш пристосовані для вирішення завдань управління. Таким чином, додавання ARM-ядра дозволяє розбити алгоритм на фрагменти, для ефективного виконання яких є найбільш підходящий інструмент. Іншою істотною перевагою є простота адаптації вироби для роботи під управлінням операційних систем реального часу (Windows CE, Linux, VxWorks).

2. СПЕЦІАЛЬНИЙ РОЗДІЛ

2.1 Загальний аналіз СНК TI OMAP-L138

TI OMAP-L138 — один з яскравих представників СНК середнього цінового сегменту, в якому поєднуються багатий набір периферії, одне з високопродуктивних ядер TI DSP C674 з апаратною підтримкою математичних операцій з плаваючою комою, екосистема PRUSS — два 32х-бітних ядра, що дозволяють розвантажити, до Приміром ARM ядро, виконуючи рутинну роботу по передобробки потоку даних, або перетворити одне з ядер PRU в CAN периферію. Блок-схема данної СНК представлена на малюнку 2. 1

Рисунок 2.1 — Загальна схема СНК OMAP-L138

Відмінною рисою даного СНК є багаторівнева центральна шина з інтегрованим контролером EDMA (контролер прямого доступу до пам’яті). По-перше, дана шина має внутрішні зв’язки з шириною до 64 біта, що зв’язують периферію і пам’ять, минаючи процесор і не займаючи інші зв’язки шини, що дозволяє чудово вирішити проблему арбітражу. По-друге, до даної шині підключений контролер прямого доступу до пам’яті з розширеними можливостями (EDMA), який в свою чергу вміє не тільки передавати дані, не займаючи процесори, але і виконувати операції, аж до сортування масиву, апаратно. Приємним доповненням до обширної периферії можна назвати наявність відеопортів і SATA інтерфейсу з підтримкою швидкості передачі до 3Гбіт/сек. Це дозволяє реалізувати на даному СНК систему захоплення, обробки та зберігання медіаконтенту. Крім того, в даному СНК присутня звуковий інтерфейс McASP (мультіканальний аудіо порт) який може приймати і відправляти дані до пристроїв по 16 незалежних каналів, що дозволяє реалізувати на базі даного СНК такі пристрої як DVD-програвач, аудіо інтерфейс, аудіо процесор і багато іншого. На наш погляд, дана СНК варта уваги з боку розробників і застосовна для реалізації великої кількості завдань. На даному СНК реалізовано повнофункціональне ядро?? ARM926EJ-S з усіма необхідними внутрішніми модулями для запуску продуктивної операційної системи. Однією з таких систем можна назвати операційну систему реального часу Microsoft Windows Embedded CE 6.0.

2.2 Архітектура процесора OMAP-L138

Архітекстура процесора OMAP-L138 представлена на малюнку 2. 2

2.2.1 Підсистема ARM

Підсистема ARM складається з наступних складових:

· 32-розрядний RISC-процесор ARM926EJ-S з модулем управління пам’яттю (MMU), що працює на частоті 300МГц.

· Кеш-пам'ять команд на 16Кбайтам.

· Кеш-пам'ять даних на 16Кбайтам.

· Внутрішня пам’ять ARM, в тому числі: оперативну пам’ять 8Кбайт (використовувана як таблиця векторів) і ПЗП обсягом 64Кбайт (дані для початкового завантаження).

· Вбудований буфер трасування (ETB).

Процесор ARM926EJ-S орієнтований на застосування в багатозадачних додатках, для яких суттєве значення мають ефективне управління пам’яттю, висока ефективність і мала споживана потужність. Додаткові можливості процесора позначені суфіксами E, J і S в його найменуванні.

Суфікс E вказує на автоматичне наявність функцій T, D, M, I. Розглянемо ці функції докладніше:

Суфікс T вказує на підтримку процесором набору інструкцій Thumb. Спочатку система команд ARM містила тільки 32-розрядні інструкції. Необхідно відзначити, що програми, підготовлені для 32-розрядної системи команд, вимагають значного обсягу пам’яті, що, в свою чергу, призводить до зростання загальної вартості системи, оскільки Flash-пам'ять є одним з її найбільш дорогих компонентів. Технологія Thumb пропонує наступне рішення — з усього набору 32-розрядних інструкцій відібрані найбільш часто використовувані та перекодовані в 16-розрядні коди. При вибірці такої інструкції апаратним чином відновлюється істинний 32-розрядний код, який і виконується процесором. Програміст має можливість перемикати процесор між наборами ARM і Thumb, використовуючи команду BX. Таким чином, можна знаходити компроміс між розміром коду і продуктивністю, готуючи критичні до розміру фрагменти в коді Thumb і критичні до продуктивності - в кодах ARM. Цей підхід забезпечує дуже високу щільність коду.

За оцінками компанії TI, розмір програмного коду при використанні набору Thumb знижується на 35%, якщо порівнювати з програмами, що використовують тільки набір інструкцій ARM. При цьому продуктивність приблизно на 60% вище, ніж у системи, в якій еквівалентний 32-розрядний процесор працює з 16-розрядної пам’яттю.

Суфікс D вказує на можливість використання порту JTAG для налагодження системи.

Суфікс M вказує на наявність вбудованого помножувача (MAC), що реалізує операцію «множення / акумулювання» за один цикл. Суфікс I вказує на наявність вбудованого внутрішньосхемного емулятора (в даному випадку — EmbeddedICE-RTTM) для налагодження в реальному часі. Функція E вказує на наявність додаткових інструкцій в системі команд, які розширюють арифметичні можливості процесора.

Суфікс J вказує на підтримку Java-інструкцій.

Технологія Jazelle, використовувана в ряді ARM-процесорів, призначена для додатків з підтримкою мови програмування Java. Ця технологія дає можливість ARM-процесору виконувати Java-код на апаратному рівні. У цьому випадку крім двох наборів інструкцій ARM і Thumb додається третій набір інструкцій — Java, який активізується у новому Java-режимі. Таким чином, розробники мають можливість ефективно використовувати Java-додатки, у тому числі - операційні системи та прикладної код, на одному процесорі.

І, нарешті, суфікс S вказує на той факт, що в даному виробі застосована синтезируемая версія, тобто поставляється виробнику кристала у вигляді вихідного тексту, що вимагає компіляції (синтезу). На відміну від синтезованих, фіксовані версії мають задану (фіксовану) топологію, переноситься виробником на кристал без змін.

2.2.2 Підсистема DSP

Підсистема DSP включає в себе:

· Процесорний ядро TMS320C674x, що працює на частоті 300МГц.

· Кеш-пам'ять L1P команд на 32Кбайт.

· Кеш-пам'ять L1D даних на 32Кбайт.

· Оперативну пам’ять L2 об'ємом 256Кбайт.

· Постійну пам’ять L2 програм на 1024Кбайт.

· Вбудовані засоби налагодження (Advanced Event Trigerring — AET).

Рисунок 2.2 — Архітектура прикладного процесора OMAP-L138

Ядро C674x складається з восьми функціональних блоків, двох файлів і двох інформаційних каналів. Два реєстрових файлу містять по 32 32-розрядних регістра, тобто в загальній складності 64 регістра. Регістри використовуються або для зберігання даних, або для зберігання покажчиків адреси даних.

Підтримуються такі типи даних:

· упаковані 8-розрядні дані,

· упаковані 16-розрядні дані,

· 32-розрядні дані,

· 40-розрядні дані,

· 64-розрядні дані.

Вісім функціональних блоків (M1, L1, D1, S1, M2, L2, D2, і S2) можуть виконувати одну команду за один тактовий цикл. Функціональні блоки M виконують всі операції множення. Модулі S і L виконують загальний набір арифметичних і логічних операцій, а також функції переходу. Модулі D завантажують дані з пам’яті в регістровий файл і записують результати з реєстрового файлу в пам’ять. Кожна четвірка модулів пов’язана зі своїм регістровий файл, взаємодія яких здійснюється через блоки D. Розглянемо докладніше модуль M. Кожен модуль M ядра C674x за один тактовий цикл може виконати:

· одне множення 32×32 біта

· два множення 16×32 біта

· два множення 16×16 бітів (у тому числі, з можливістю накопичення)

· чотири множення 8×8 бітів (у тому числі, з можливістю накопичення)

Крім того, модуль M підтримує множення комплексних величин, яке застосовується в багатьох алгоритмах цифрової обробки сигналів (наприклад, в швидкому перетворенні Фур'є). Команда комплексного множення в якості вхідних даних використовує два 32-розрядних числа (по 16 розрядів для дійсної та уявної частин) і отримує в результаті 64-розрядне число (по 32 розряду в кожній частині). Комплексне множення з округленням формує результат у вигляді 32-розрядного числа (по 16 розрядів в кожній частині).

Ядро C674x використовує дворівневу архітектуру кеш-пам'яті. Перший рівень кеш-пам'яті команд (L1P) є прямим відображеним кешем розміром 32 Кбайт. Перший рівень кеш-пам'яті даних (L1D) є асоціативним кешем об'ємом 32 Кбайт з двома каналами доступу. Передбачена можливість незалежно варіювати розмір кеш-пам'яті, як команд, так і даних, вибираючи одне із значень: 0К (тобто, відключати відповідний кеш), 4К, 8К, 16К або 32К.

Пам’ять другого рівня (L2) складається з простору пам’яті розміром 256 Кбайт, що розділяється між пам’яттю даних і команд. Пам’ять L2 може бути конфігурувати як розширена пам’ять, кеш або їх комбінація. Вбудовані засоби налагодження (AET) можуть використовуватися як безпосередньо для налагодження програм, так і для оцінки показників продуктивності користувальних додатків.

2.2.3 Периферійна система

Периферійна система включає в себе набір функціональних модулів багаторазового застосування (тобто, віртуальних компонентів, що входять в різні вироби компанії TI без будь-яких змін). У нього входять:

· Контролери прямого доступу до пам’яті з розширеними функціями (EDMA3) — один в OMAP-L137 і два в OMAP-L138.

· Багатоканальні послідовні аудіо-порти (McASP) — три в L137 і один в L138.

· Контроллери послідовних інтерфейсів:

o Два багатоканальних буферізованние послідовних порту (McBSP) — тільки в L138.

o Два контролера інтерфейсу I2C,

o Два контролера послідовного периферійного інтерфейсу (SPI),

o Три універсальних асинхронних прийомопередавача (UART),

o Контроллер жидкокристаллического дисплея (LCD Ctrl).

· Інтерфейс відеопортів (VPIF) — тільки в L138.

· Універсальний паралельний порт (uPP) — тільки в L138.

· Розділюваний пам’ять об'ємом 128Кбайт.

· Управляющие таймеры:

o Генератори ШІМ-сигналів з?? розширеними функціями (ePWM) — три в L137 і два в L138,

o Три модуля захоплення з розширеними функціями (eCAP),

o Два модуля кодера квадратурного датчика положення з розширеними функціями (eQEP) — тільки в L137.

· Контроллеры коммуникаций:

o Хост-контролер універсальної послідовної шини USB 1.1 OHCI,

o Порт універсальної послідовної шини USB 2.0 OTG,

o Ethernet-контролер медіадоступа 10/100 Мб / с (EMAC),

o Контролер інтерфейсу HPI, o Контролер карт пам’яті MMC і SD (MMC / SD),

o Контролер інтерфейсу Serial ATA (SATA) — тільки в L137.

· Контролери інтерфейсу підключення зовнішньої пам’яті:

o Контролер підключення модулів пам’яті SDRAM (шина даних — 16 біт), NAND і NOR (8 або 16 біт) об'ємом до 128 Мбайт (EMIF A),

o Контролер підключення модулів пам’яті SDRAM (16 або 32 біт) об'ємом до 256 Мбайт (EMIF B) — тільки в L137,

o Контролер модулів пам’яті DDR2 і MobileDDR (DDR2/mDDR).

Порт вводу виводу загального призначення GPIO, що включає дев’ять незалежних 16-розрядних регістрів.

2.2.4 Керюча система

Керуюча система включає:

· Модуль синхронізації (PLL/Clock Generator). В якості основного генератора, що задає може використовуватися або кварцовий резонатор, або зовнішній синхросигнал. Частота вхідного синхросигналу-від 20 до 30МГц. На схемі фазового автопідстроювання (PLL) вхідна частота множиться до частоти 600МГц, з якої формується ряд вторинних синхросигналов різних частот для синхронізації компонентів системи.

· Годинник реального часу (RTC). В якості задаючого генератора використовується кварцовий резонатор годинний частоти 32кГц.

· Контролер електроживлення (Power and Sleep Controller). Контролер управляє включенням і вимиканням харчування й синхронізації окремих модулів, а також формуванням сигналів скидання пристроїв і модулів. Дозволяє забезпечити оптимальне регулювання споживаної процесором потужності в залежності від виконуваної в конкретний момент часу завдання.

· Сторожовий 64-розрядний таймер (Watchdog) і універсальні 64-розрядні таймери-один в L137 і три в L138.

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

2.3 Екосистема pruss і драйвер pru-модуля

Структура ядра підсистеми PRU приведена на малюнку 2. 3, повна структура підсистеми приведена у додатку 1. Цікавою особливістю даного сімейства СНК є наявність у ньому окремої підсистеми, заснованої на двох 32-бітних ядрах з власною пам’яттю команд і даних. Застосування даної підсистеми може бути різноманітно, починаючи від реалізації додаткових інтерфейсів і обслуговування інтерфейсів з метою організації певних протоколів до розробки допоміжного центру для ядра DSP або ARM. На малюнку 6 представлена?? загальна структура підсистеми PRU (програмований модуль реального часу). Дана підсистема містить два незалежних 32-бітних ядра з власним набором команд. Дані ядра мають спрощену RISC-архітектуру, підтримують 40 команд з детермінованим часом виконання (1 такт) і розширеною можливістю оперування бітами в регістрах. Крім того, ядра не мають конвеєра команд і векторів переривань (всі переривання обробляються в режимі опитування через прапор в одному з регістрів), відсутні команди апаратного множення і ділення. Також в підсистемі PRU присутній загальний контролер переривань. Він дозволяє уніфікувати події від периферії, ARM, DSP і PRU-ядер.

Даний контролер обслуговує 32 події в двох напрямках: як від підсистеми PRU до ядер ARM і DSP, так і до системи PRU. Це означає, що даний контролер переривань має можливість посилати подія контролерам переривань ARM-і DSP-ядер, що, в свою чергу, призводить до викликів обробників переривань цих ядер, якщо такі є і дозволені у відповідних регістрах. За допомогою контролера переривань модуля PRU можна реалізувати просте взаємодія не тільки між ядрами PRU, але і між ядрами ARM і DSP.

Рисунок 2.3 — Структура ядра підсистеми PRU

На малюнку представлена структура ядра PRU. Кожне ядро PRU містить 32 регістра, виконавчий модуль, таблицю з 29 константами і 4-Кбайт ОЗП команд. Цікавою особливістю підсистеми PRU є наявність у кожного ядра незалежного швидкого порту вводу виводу (GPIO), підключеного безпосередньо до двох регістрів. Це дає можливість реалізувати як власні інтерфейси зв’язку, так і стандартні, наприклад: UART, CAN, ProfiBus з різними фізичними рівнями. Приємним доповненням є наявність ОЗП команд безпосередньо у самого ядра, що і забезпечує виконання інструкцій за 1 такт.

До даних ОЗП мают доступ ВСІ Чотири ядра СНК (ARM, DSP, PRU0 и PRU1), альо кожне ядро PRU має можлівість віконуваті код Тільки Зі свого ОЗП команд, хоча треба відзначіті, Що обидвоє ядра PRU мают доступ до всієї періферії через центральну шину. Наявність вбудованого ОЗП команд і даних дозволяє розвантажити центральну шину СНК і реалізувати взаємодію з периферією, пам’яттю mDDR/DDR2 і ядрами ARM/DSP з мінімальним навантаженням. Ключовими особливостями є можливості системи управління живленням і тактуванням підсистеми PRU. Для тактирования підсистеми використовується половина частоти ядра ARM. Це означає, що при роботі ядра на частоті 450 МГц існує можливість запустити ядра PRU на частоті 225 МГц (4,4 нс на інструкцію). Менеджер харчування даної СНК дозволяє відключати підсистему PRU, коли в ній немає необхідності, тим самим знижуючи загальне енергоспоживання СНК.

3. ЕКСПЛУАТАЦІЙНИЙ РОЗДІЛ

3.1 Аналіз сучасних методів відладки, контролю і діагностики систем-на-кристалі

Діагностика несправності - процес визначення причини появи помилки за наслідками тестування. Відладка — процес виявлення помилок і визначення джерел їх появи за наслідками тестування при проектуванні мікропроцесорних систем (МПС). Засобами відладки є прилади, комплекси і програми.

Відладка апаратури припускає перевірку окремих пристроїв мікропроцесорної системи — процесора, ОЗП, контролерів — шляхом подачі тестових вхідних дій і знімання у відповідь реакцій.

До традиційних методів комплексної відладки апаратури і програмного забезпечення мікропроцесорних систем можна віднести наступні:

1. Схемна емуляція, зокрема внутрішньосхемна.

2. Емуляція пам’яті програм.

3. Використання внутрішніх спеціальних засобів мікропроцесорних БІС.

4. Використання зовнішніх щодо цільової ВІС апаратних засобів, що розміщуються на платі мікропроцесорного контролера.

5. Використання супервізора відладки, приєднуваного до плати мікропроцесорного контролера на період відладки.

Відладка і діагностика несправностей мікропроцесорних систем має два аспекти: апаратний і програмний.

Апаратний аспект має на увазі використання апаратурних засобів діагностики — стандартної контрольно-вимірювальної апаратури (КВА), спеціальною КВА, сервісних плат, пристроїв і комплексів.

При апаратному методі діагностики, використовуються інструменти і прилади для вимірювань напруги, параметрів сигналів і логічних рівнів в схемах МПС.

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

Програмний аспект діагностики має на увазі використання тестуючих програм різних класів: мікропрограмні тести, вбудовані тест-програми, зовнішні тест-програми загального застосування, нарешті, — зовнішні тест-програми поглибленого тестування.

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

3.2 Засоби контролю та налагодження мікропроцесорних систем

Засоби контролю та налагодження повинні:

* управляти поведінкою системи та / або її моделі;

* збирати інформацію про поведінку системи та / або її моделі, обробляти і представляти на зручному для розробника рівні;

* моделювати поведінку зовнішнього середовища проектованої системи.

Остаточний контроль працездатності повинен проводитися на реальній апаратурі і на робочих тактових частотах. Тому інструментальні засоби повинні забезпечувати вирішення завдань генерації вхідних впливів і реєстрації вихідних реакцій в реальному часі. Наявність в МПС двонаправлених шин вимагає забезпечення можливості перемикання контрольного устаткування з передачі на прийом протягом одного періоду тактової частоти. Для контролю тимчасових характеристик потрібні досить швидкодіючі інструментальні засоби. Крім того, значна довжина тестових програм викликає потребу у використанні запам’ятовуючих пристроїв великої ємності.

На початку проводиться автономна налагодження апаратної і програмної частин МПС. Налагодження апаратури передбачає тестування окремих пристроїв мікропроцесорної системи: процесора, ОЗП, контролерів зовнішніх пристроїв, блоку живлення, генератора тактових імпульсів і т. д.

При автономної налагодженні апаратури можуть знадобитися прилади, які вміють:

* виконувати аналогові вимірювання;

* подавати імпульси певної форми і тривалості;

* подавати послідовність сигналів одночасно на кілька входів відповідно до заданої тимчасової діаграмою або заданим алгоритмом функціонування апаратури;

* зберігати значення сигналів з багатьох ліній протягом проміжку часу, обумовленого задаються подіями;

* обробляти і представляти зібрану інформацію в зручному для розробника вигляді.

Для автономної налагодження апаратури на схемний рівні широко використовуються осцилографи, вольтметри, амперметри, частотоміри, генератори імпульсів, сигнатурні аналізатори. На більш високому рівні застосовують внутрісхемний емулятор, емулятори ПЗП, логічні аналізатори, плати розвитку, а також спеціальні налагоджувальний засоби, які вбудовуються в БІС на етапі їх розробки.

Одним з головних обставин, що ускладнюють налагодження МПС, є недоступність внутрішніх елементів БІС для тестових впливів і безпосереднього контролю їх станів. Контроль і зміна станів внутрішніх елементів БІС здійснюються опосередковано, шляхом передачі інформації від внутрішніх елементів БІС до її висновків при контролі і в зворотному напрямку при зміні стану елементів.

3.2.1 Внутрісхемний емулятор (ВСЕ)

Це найбільш потужне і універсальне налагоджувальної засіб, який робить процес функціонування налагоджують системи прозорим, тобто легко контрольованим, довільно керованим і модифікується. Основна область застосування ВСЕ в даний час — це розробка вбудованих систем на базі однокристальних мікроконтролерів. ВСЕ являє собою програмно-апаратний засіб, здатне замінити емульований МК в реальній схемі.

Стиковка ВСЕ з відладжуваної системою проводиться за допомогою кабелю зі спеціальною емуляціонной головкою, яка вставляється в роз'єм на платі налагоджують МПС замість МК. Якщо М К не можна видалити з відладжуваної системи, то використання емулятора можливо, тільки якщо цей мікроконтролер має налагоджувальний режим, при якому всі його висновки знаходяться в третьому стані. У цьому випадку для підключення емулятора використовують спеціальний адаптер-кліпсу, який підключається безпосередньо до висновків емульованого МК. При цьому процесор системи проектування (хост-процесор) виконує всі функції цільового МК і до того ж дозволяє відстежувати хід обчислювального процесу.

З точки зору процесу налагодження ВСЕ виконує в складі отладочного комплексу наступні функції:

* управління ходом обчислювального процесу в макетної зразку МПС: ініціалізацію початкового стану керуючих та інформаційних регістрів МК і запуск програми налагоджують МПС по кроках або до виконання заданої умови;

* збір інформації про хід обчислювального процесу налагоджують МПС та передачу її в налагоджувальний комплекс для перетворення, аналізу, відображення та документування

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

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

Зазвичай це друкована плата з встановленим на ній МК або ЦСП і всієї необхідної йому стандартної периферією. На цій платі також встановлюють схеми зв’язку з зовнішнім комп’ютером. Як правило, там же є вільне поле для монтажу специфічних схем користувача.

Іноді передбачена вже готова розводка для установки додаткових пристроїв, рекомендованих фірмою, наприклад, ПЗП, ОЗП, РКІ-дисплей, клавіатура, АЦП і т. д.

Ці засоби можуть застосовуватися для наступних цілей:

* тестування і налагодження програмного забезпечення систем на реальних зразках мікроконтролерів і сигнальних процесорів;

* комплексне налагодження макета системи, використовуваного потім в якості зразка для реалізації прототипних системи;

* реалізація одноплатних контролерів, що вбудовуються в дрібносерійну продукцію;

* вивчення функціонування мікроконтролерів, отримання навичок їх практичного застосування.

3.2.2 ПЗП-монітори

В якості допоміжного засобу при використанні внутрішньосхемного емулятора застосовуються резидентні монітори налагодження, або ПЗП-монітори (ROM-monitors). ПЗП-монітор — це дуже проста і по можливості невелика програма, яка дає користувачеві можливість певною мірою контролювати виконання тестованої програми, одночасно працюючої в цільовому пристрої. У простому випадку налагоджувальний монітор поставляється у вигляді мікросхеми ПЗП, яка вставляється в спеціальну розетку на платі розвитку. Плата також має ОЗП для програм користувача і канал зв’язку з зовнішнім комп’ютером або терміналом. Прикладна програма повинна бути спеціально підготовлена: у потрібні місця необхідно вставити виклики налагоджувальних підпрограм монітора. Готову прикладну програму одержують з налагодженої шляхом видалення всіх викликів моніторних функцій і самого монітора налагодження.

ПЗП-монітори зазвичай використовуються для контролю виконання тестової програми на налагодженому устаткуванні. Вони, як правило, поставляються виробниками інтегральних схем або їх партнерами для випробувань периферійних пристроїв, тестових алгоритмів на реальному кристалі або на остаточній цільовій системі. ПЗП-монітори дешевше повнофункціональних ВСЕ. Основні недоліки ПЗП-моніторів полягають у тому, що вони не є програмами реального часу і змінюють карту пам’яті.

3.2.3 Емулятор ПЗП

При генерації тестових впливів в МПС використовуються емулятори ПЗП, які являють собою спеціальним чином подключаемую оперативну пам’ять, яка замінює ПЗП на час налагодження системи. Цей пристрій дозволяє користувачеві уникнути багаторазових циклів перепрограмування ПЗП, пов’язаних з налагодженням програми.

Для виконання функцій завантаження та зміни вмісту пам’яті емулятор повинен мати засоби для підключення до зовнішнього пристрою. Як правило, роль такого пристрою виконує зовнішня ЕОМ.

Програма з комп’ютера завантажується в емуляціонное ОЗП через один зі стандартних каналів зв’язку. Для логічного, електричного та конструктивного узгодження емулятора ПЗП і розробляється МПС служить буфер-адаптер. Буфер-адаптер може бути змінним і вибирається в залежності від конструктивного виконання МПС і типу застосовуваних у ній мікросхем пам’яті.

Емулятор ПЗП використовується як для заміни на етапі налагодження зовнішньої постійної пам’яті мікроконтролера, так і для емулювання його внутрішньої пам’яті команд. В останньому випадку знаходиться на кристалі МК пам’ять повинна бути налаштована таким чином, щоб усі звернення до ПЗП команд призводили до обігу виключно до зовнішньої пам’яті. Наприклад, в мікроконтролерах з архітектурою MCS-51 для цієї мети може служити спеціальний вхід DEMA.

В кінці етапу налагоджена програма заноситься за допомогою програматора в енергонезалежну пам’ять МК, і перевіряється робота МПС без емулятора ПЗП на реальних частотах.

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

3.2.4 Сигнатурний аналізатор

Сигнатурний аналіз заснований на перетворенні довгих послідовностей двійкових сигналів в двійкове число, зване сигнатурою. Вимірювані двійкові послідовності збуджуються в контрольних точках МПС під дією спеціальної тестової програми. Сигнатури контрольних точок визначаються на свідомо працездатною системі та вказуються на принциповій схемі МПС подібно до того, як на схемах аналогових пристроїв вказуються осцилограми і деякі параметри аналогових сигналів. Сигнатура видається, як правило, у вигляді декількох шістнадцятирічних цифр. В даний час у зв’язку з усе зростаючою інтелектуалізацією пристроїв сигнатурні аналізатори поступово втрачають свої позиції.

3.2.5 JTAG-емулятор

Останнім часом компанії - виробники мікропроцесорів і мікроконтролерів інтегрують у свої нові розробки модулі з функціями вбудованої налагодження — відладчики на кристалі. Для підтримки функцій вбудованої налагодження необхідний спеціальний канал зв’язку з комп’ютером. Найчастіше в якості такого каналу використовується тестовий послідовний інтерфейс типу JTAG, тому апаратне засіб налагодження, побудоване на базі вбудованого в кристал отладочного модуля, часто називають JTAG-емулятором. Абревіатура JTAG виникла по найменуванню розробника — об'єднаної групи по тестам JoINT Test Action Group.

Інтерфейсом JTAG, реалізованим відповідно до стандарту IEEE 1149. 1−2001, управляє один пристрій-контроллер (найчастіше це персональний комп’ютер, оснащений відповідним програмним забезпеченням і інтерфейсним адаптером), до якого може бути підключено кілька тестованих пристроїв.

До складу інтерфейсу JTAG входять 5 односпрямованих послідовних ліній зв’язку (один із сигналів необов’язковий). Ці сигнали утворюють тестовий порт ТАР (Test Access Port), через який тестоване пристрій підключається до тестує обладнання (контролеру).

У завдання тестуючого устаткування входить формування тестових сигналів по програмі тестування, визначеною розробником тестованого пристрою, і порівняння отриманих результатів з еталонами.

Один і той же контролер і порт можуть використовуватися для тестування будь-якого числа пристроїв, що підтримують JTAG. Для цього пристрою своїми портами ТАР з'єднуються в ланцюжок. Стандартизований логічний формат дозволяє контролеру незалежно спілкуватися з кожним з пристроїв ланцюжка.

JTAG-емулятор дозволяє виконувати наступні дії:

1. Покроковий (на рівні машинних команд) режим виконання програми.

ПоказатьСвернуть
Заполнить форму текущей работой