Процесорен модул CompuLab CM-X255. Процесорен модул

Много рядко можем да чуем думите „вградена система” в разговорите около нас, а ако се чуе, най-вероятно това са разговорите на специалисти (или такива, които се смятат за такива). Очевидно това по някакъв начин е свързано с особеностите на „великите и могъщи“, защото всъщност тези „вградени системи“ ни съпътстват от дълго време – първата такава система беше компютър, инсталиран на борда на космическия кораб APPOLO 11, световно известен по съвсем друга причина.

Така че нека си спомним и разсъждаваме. Според висококомпетентни източници, вградената система (Embedded system) е специализирана компютърна система, напълно капсулирана в устройството, което управлява. Ако читателят няма нищо против, ще използваме това определение по-долу. Самите вградени системи могат да бъдат разделени на два основни типа (умишлено жертване на детайли, за да се подчертае целта).

Първият тип са микроконтролерни системи. Те са изградени на базата на специализирана микросхема (или няколко микросхеми), изпълняват една или две или три доста специфични функции. Най-яркият пример е съвременен телевизор: процесор за обработка на различни видео формати и действителните телевизионни настройки, стерео звуков процесор, подсистема за обработка на телетекст. Изглежда не сте забравили нищо? .. Всички те работят по предварително програмирана програма (фърмуер) и могат да бъдат препрограмирани с голяма трудност, ако не изобщо. Освен телевизора можете да донесете и доста устройства с вградена система от този тип - пейджър, мобилен телефон, скенер, пералня. Да, в една инжекционна кола (и в чужда кола - още повече) можете да преброите няколко десетки такива устройства - контролер за впръскване, ABS контролер, регулатор на обменния курс ...

Вторият тип са микропроцесорни системи. За разлика от системите от първия тип, те са изградени на базата на микропроцесори, използвани в обикновените персонални компютри. Дори структурата на тези системи често наподобява структурата на личен акаунт. Има обаче разлика – често във вградените системи липсват някои детайли, от които не се нуждаят поради спецификата на решавания проблем. Съгласете се - няма нужда цифров фотоапарат да има мощна видеокарта с 3D ускорител. Е, оставих го да се изплъзне преди време... Е, добре, все пак трябва да кажа за това. Каква е основната разлика между системите от този тип? Може да има няколко отговора, но има няколко основни: първо, това са препрограмируеми системи. Второ, това са повече или по-малко лесно препрограмируеми системи, тъй като са софтуерно съвместими с компютри, за които вече е написан доста софтуер и на които е написан този софтуер. Примери за системи от този тип са малко по-трудни за даване поради по-малкото им разпространение в ежедневието: повечето домакински DVD плейъри, вече споменатите цифрови камери, автомобилни компютри (подчертавам - не най-простите бордови компютри, които принадлежат към първия тип , но сериозни компютри с Windows Automotive, с GPS, MPEG2 и т.н.), PDA, джобни устройства и почти всичко свързано с нишата PDA (Personal Digital Assistant), както и различни екзотични устройства като хладилник с достъп до Интернет...

Вградените системи от втория тип са най-разпространени в индустрията, тъй като тяхното използване намалява времето за разработка, опростява поддръжката и т.н., и така нататък... Тук няма да изброявам всички предимства - те могат да бъдат намерени в почти всяка литература за тази тема. Именно поради тези причини съвременните методи за автоматизация са немислими без използването на такива системи. Естествено търсенето създава предлагане. Това, което имаме днес: значителен брой стандарти за "тухли" за създаване на вградени системи и още по-голям брой фирми, които произвеждат същите тези "тухли". Преценете сами: само PC / 104 Consortium (организация, която обединява производители на платки от посочения стандарт) вече има повече от 200 участници. А ако вземем и PC / 104Plus, CPCI, VME? Стотици производители, хиляди имена на продукти. И всичко това е за удобство на разработчиците на пазара на вградени системи.

Но законът за запазване на енергията все още не е отменен (въпреки че имаше опити) и трябва да платите за тези предимства. И в буквалния смисъл - често микропроцесорната система е по-скъпа от микроконтролерната. И в процеса на разработване на нова вградена система, трябва да решите някакво икономическо уравнение. В това уравнение не са включени толкова много променливи - разходите за разработване на устройство на микроконтролер или закупуване на готова микропроцесорна платка, разходите за разработка на софтуер или разходите за писане на фърмуер, разходите за поддръжка на която и да е от системите, продължителността му на живот и възможността за неговото надграждане към този момент. Уравнението се оказва доста сложно и е решено далеч не еднозначно. Например, касовите апарати обикновено се изработват на микроконтролер, а игралните машини на микропроцесор. Но се случва и обратното!

Както можете да си представите, цената на готовата дъска играе важна роля при решаването на такова уравнение. И ако в допълнение към атрактивната цена, активите на тази платка имат удобна среда за разработка на софтуер, добра техническа поддръжка от производителя, възможност за извършване на хардуерни промени в готовото устройство - изборът ще бъде очевиден. Както вече разбрахте, ето колко меко и непретенциозно се опитвам да прехвърля разговора към микропроцесорни системи. Но какво има да се крие - за продуктите на един разработчик!

Историческа справка

КомпюЛаб ООД (Израел) е основана през 1992 г. и започва дейността си с консултации в областта на инженерните решения в електрониката. През следващите пет години компанията е участвала в няколко десетки персонализирани разработки. Натрупаният опит, бизнес активност, пазарни проучвания и най-високият инженерен потенциал позволиха на КомпюЛаб ООД. за доста кратко време да се ангажират с дизайна на собствените си продукти. През 1997 г. компанията пусна своя собствена разработка - семейство процесорни модули CORE. За съжаление, въпреки иновативността на техническите и инженерни решения, включени в първото поколение модули, архитектурата на използвания в тях процесор (i960) не отговаря на очакванията на разработчиците за широко разпространение.

Второто поколение модули е пуснато през 1999 г. Тези модули бяха базирани на процесора AMD ELAN SC400 (архитектура x86) и бяха наречени 486CORE. По това време това са най-малките компютри в света. Фантастичният успех на 486CORE на пазара потвърди правилността на избраната стратегия. Оттогава семейството модули CORE беше попълнено няколко пъти и смеем да се надяваме, че ще продължи да расте.

Комбинацията от висока изчислителна мощност и малки размери на модулите допринесе за бързото завладяване на пазара на вградени системи. Днес продуктите на CompuLab се използват от повече от 300 компании в 50 страни по света, а самата компания произвежда почти 20% от продуктите на този пазар. Сред основните купувачи на тези модули могат да се споменат такива известни гиганти като Cisco Systems, Marconi, General Electric, OKI и много други производители, не толкова широко известни в Русия.

Обхватът на приложения на модулите CORE е много широк: военна и авиационна индустрия, медицински технологии, транспорт, телекомуникационно оборудване, интелигентни мрежови устройства, мини-компютри, компютърна периферия, оборудване за развлекателната индустрия ...

Техническа бележка № 1

Процесорни модули КомпюЛаб ООД са пълнофункционални изчислителни системи с RAM, вградени флаш устройства, Ethernet контролер, поддръжка за стандартни настолни периферни устройства и други красиви и полезни малки неща, които улесняват живота на разработчика. Всички електрически линии, необходими за тяхното функциониране, се насочват към унифицираните от компанията конектори (CAMI - CompuLab's Aggregated Module Interface) и са предназначени за докинг със съответната носеща платка (обикновено PC / 104 формат). Тези платки могат или не съдържат повече за това по-късно) следните устройства: захранващ преобразувател, драйвери за серийна шина, шини PC / 104 и PC / 104 Plus, допълнителен Ethernet контролер, PCMCIA контролер и др. Когато са свързани заедно, носещата платка и процесорният модул образуват компютър с идентични възможности като обикновен компютър, но много по-малък.

Един изтънчен читател може да се присмива на тези редове, защото в това описание няма нищо ново. Но сега - най-интересното: носещите платки имат електрическа схема и дори препоръки за оформлението на собствените си носещи платки. Как е? Впечатляващо? Достатъчно е да направите своя собствена платка и да поставите в нея готово изчислително ядро ​​- и това е всичко! Имам нужда от слот машина - моля, имам нужда от вградено устройство за съхранение (в някакъв форм-фактор като ARINC-429) - моля! Няма ограничение за съвършенството! Между другото, точно това правят повечето клиенти на CompuLab.

Това е, повече няма да се мъча с неясни фрази. Следващата част на статията съдържа по-подробно описание на продуктите. Веднага ви предупреждавам: ако вие, скъпи читателю, вече сте запознати с тези дъски, не четете нататък. Цифрите и техническите термини на английски ви вкарват в блус...

Техническа бележка №2

През 2005 г. компанията промени името на своите продукти, така че оттук нататък ще използваме само нови дефиниции. Таблицата от уебсайта на производителя е дадена тук с малки съкращения и коментари:

  1. В допълнение към тези опции, всички модули включват PCI шина, часовник за реално време, интерфейси на твърдия диск и аудио кодек.
  2. Височината на модулите е посочена без радиатор.
  3. Производителност, измерена от бенчмарк SiSoft Sandra.
  4. Таблицата съдържа данни само за най-новите и популярни модули. Къде можете да получите по-подробна информация, ще ви информирам по-късно.

Таблица. Характеристики на изчислителни модули CompuLab Ltd.

Както може би сте забелязали, наред с по-познатата архитектура x86, списъкът с продукти включва и продукти, базирани на RISC процесори. Първоначално тази статия беше планирана като преглед на CM-X255 (модулът CM-X270W беше обявен в момента на писането му), така че нека започнем с тази платка. Искам да изясня веднага - има две версии на модула CM-X255 (2.0 и версия 3.0, наричани още "GX"), ще говорим само за последния.

Блоковата схема на модула е показана на фиг. 1. Обърнете внимание на елементите, маркирани с реда "опт". Това са точно поръчаните позиции („опция“) в конфигурацията на процесорната платка, които могат да бъдат инсталирани (или премахнати) по желание на клиента.

Ориз. 1. Блокова схема на модула CM-X225

Сега - преглед на основните компоненти на тази платка. Мисля, че би било логично да започнем с процесора. И така - Intel XScale PXA255. По принцип целият брой на това списание би могъл да бъде посветен само на него, но тъй като не става дума само за него, ще се опитам да бъда кратък:

  • Процесорният кристал е изработен по 0,18-микрона технология, която гарантира ниска консумация на енергия при висока тактова честота (400 MHz).
  • Процесорът е съвместим с архитектура ARM v.5TE.
  • Intel Media Processing Technology (включително 40-битов акумулатор и 16-битова операция за умножение) ускорява декодирането на аудио/видео потоци.
  • В допълнение към самия калкулатор, процесорът включва поддръжка за PCMCIA / Compact Flash, 17 универсални входни / изходни линии (GPIO), часовник за реално време (RTC), таймер за наблюдение, контролер за управление на захранването, контролер за прекъсване , контролер за директен достъп до паметта, контролер за нулиране на хардуера, графичен контролер, поддържащ LCD панели, включително TFT, три серийни порта, Bluetooth, IrDA (SIR и FIR), I2C, I2S, AC97, SPI, USB, JTAG, MMC контролер, два независими тактови генератори (32768 Hz и 3,6864 MHz).
  • Процесорът се предлага за нормални и разширени температурни диапазони.

Оказа се доста кратък... За тези, които очакваха повече, съветвам да погледнете списъка с референции в края на статията.

Сега малко повече за останалите компоненти и характеристики на модула (фиг. 1).

Системна памет от тип SDRAM с 32-битова шина и честота 100 MHz.

Флаш паметта са два вида - NOR и NAND. Първият мегабайт от NOR се използва за съхраняване на програмата за монитор (ARMMON), останалата част се използва за съхраняване на ядрото на Linux или Windows CE bootloader. ARMMON включва драйвер за памет NAND, който ви позволява да пишете Linux файлова система или Windows CE изображение там. И двете устройства имат хардуерна защита от запис (една от CAMI конекторните линии).

Interface Bridge е така нареченият придружаващ чип, който разширява възможностите на процесора. Тази микросхема включва SDRAM контролер, PCI bus контролер (версия 2.1, 33 MHz), разширение на контролер за прекъсване, разширение на DMA контролер, четириканален брояч, LPC контролер на шина, два допълнителни USB канала (тип хост, 1, 5-12 Mbps) и още един сериен порт.

Няма да се спирам на Ethernet контролера дълго време: 10–100 Mbit / s.

Аудио кодек и сензорен контролер разширяват възможностите на AC97 интерфейса на процесора. С инсталирания кодек (Crystal CS4299 или UCB1400), модулът има моно микрофонен вход, стерео линеен вход и изход. Част от чипа UCB1400 е четирипроводен резистивен сензорен контролер.

Супер-I/O микросхема. Може би сега експертите биха могли да ме потупат снизходително по рамото, казвайки, че има и други неща. може би. Но, честно казано, бих могъл да пиша поезия – бих написал ода на CompuLab за красотата на инженерните решения. Един от тях е използването на контролери тип Super-I/O. Това решение се използва във всички модули, произвеждани от компанията и прави живота много по-лесен за разработчиците. В този случай CM-X255 има чип IT8711F, който поддържа следните устройства: PS / 2 клавиатура и мишка, паралелен порт (с възможност за свързване на флопидисково устройство) и друг сериен порт.

Друг RTC контролер (MAX6902) е инсталиран на модула за отчитане на времето, когато изключен процесор.

Единственият RS-232 драйвер за серийния порт (COM-A) е инсталиран директно на модула. Този порт действа като конзолен порт при работа с ARMMON, може да се използва и за диагностика и отстраняване на грешки при работа в Linux и Windows CE.

Много суха информация за размерите на модула (таблица) може леко да се оживи със снимка (фиг. 2). Двата големи 180-пинови конектора на него са споменатият по-рано CAMI.

Ориз. 2. Модул CM-X225 - изглед отдолу

Сега няколко думи за носещата платка. По-точно за носещите платки, защото има два вида за даден модул. Да започнем с по-малкия.

Техническа бележка №3

Платка SB-X255 (наричана преди ARMBASE). Това е носител за CM-X255, изработен във форм-фактор PC / 104 (на фиг. 3 SB-X255 е показан с инсталиран процесорен модул на него). Жалко е, че съвременните медии все още не позволяват да се използват всички сетива ...

Нарастването на темповете на производство след икономическата криза от 90-те години предопредели необходимостта от спешни мерки за обновяване на оборудването.

Сериозен проблем за машиностроителите е липсата на домашно оборудване за автоматизация в страната, както и наличието на голям парк от машини с остарели електронни системи за управление: програмни контролери "MicroDAT", UPU TP и др. микроконтролер SAFB-C165- LF, който има следните характеристики:

  • FLASH ROM и статична RAM 128 KB всяка;
  • TSR за изтегляне на софтуер;
  • капацитет на паметта на потребителски (технологични) програми 46 или 62 Kb;
  • запазване на съдържанието на FLASH-паметта за най-малко 10 години;
  • възможност за програмиране през серийния порт RS-232;
  • нулиране при прекъсване на захранването;
  • ранно предупреждение за ниско ниво на литиева батерия;
  • Watchdog таймер;
  • консумация на ток в режим на работа - 100 mA;
  • захранващо напрежение - 5 V;
  • минимално захранващо напрежение - 4,65 V;
  • честота на кварцовия резонатор - 40 MHz;
  • работна температура - 0 ... + 70 (-45 ... + 85) ° С.

Всички характеристики и надеждност на модула са проверени от три години опит в използването му в шест завода при най-тежки условия на работа. Нито един модул не даде нито един сериозен отказ. Когато тази грубост липсваше, модулът беше тестван при специални условия, например във фурни - 24 часа непрекъсната работа при температура 75 ° C.

Блоковата схема на модула е показана на фиг. 1.

Ориз. 1. Блокова схема на модула

Модулът е изцяло изработен по метода на SMD монтаж с двустранно разположение на елементите (фиг. 2). Размер на дъската 90х96х1,5 мм. Височина сглобена с батерия - до 21 мм, без батерия - 13 мм. Електрическият контакт се осигурява от два мъжки конектора X1 и X2 с 20 точки на конектор. Механичното закрепване се осъществява чрез четири винтови връзки чрез пластмасови вложки в ъглите на дъската.

Ориз. 2. Топология на печатната платка на модула

Модулът включва:

  • микроконтролер SAF-C165-LF с тактова честота 20 MHz;
  • 128KB TC551001 SRAM с ниска мощност за системни данни и програма за процеса;
  • 128 Kb FLASH ROM AM29F010 за съхранение на системната програма и копие от технологичната програма;
  • LTC1235 Надзорник за управление на мощността;
  • LT1281A приемопредавател за RS-232 сериен порт;
  • литиева батерия R6 / AA размер за съхранение на технологичната програма в RAM (опция).

Системната програма се съхранява във FLASH ROM и в зависимост от това как софтуерът е настроил битовете във файла със състоянието на потребителската програма, тя може автоматично да бъде заредена в процесора при включване. От 128 Kb, потребителската програма може да заеме 46 или 62 Kb, в зависимост от работния тип процесор, избран в софтуера.

Модулът се програмира през RS-232 сериен порт и всеки IBM-съвместим компютър с i386 или по-висок процесор може да действа като програмист. Скоростта на предаване се избира в софтуера и може да варира от 110 до 57600 bit/s.

За визуална проверка на състоянието на модула, външните индикатори показват пет сигнала, които показват следното:

  • Захранване (зелено) - е напрежението 5 V, подавано към модула;
  • Running (зелено) - модулът е в състояние RUNNING;
  • Afterburner (жълт) - има ли допълнител в програмата и забранени ли са или разрешени;
  • Източник на разряд (жълт) - дали е монтирана литиева батерия и дали напрежението й е достатъчно;
  • Грешка (червено) - модулът е в състояние ERROR.

Освен това, когато използвате процесорния модул в мрежата с помощта на интерфейсната платка PControl, са активни още два малки индикатора:

  • Запис (зелен) - в ход е процесът на пренос на данни от модула;
  • Четене (червено) - процесът на получаване на данни в модула е в ход.

За работа с модула софтуерът използва езика на релейно-контактните схеми със следните типове инструкции: бит (6 броя), таймери и броячи (6), сравнения (8), логика и движение (6), математически ( 14), програми за управление на изпълнението (12), файл (2), смяна и стъпка (9), I/O управление и съобщения (8), специални (3). 1 KB битови инструкции се изпълняват за 1,6 ms и, например, логическа AND инструкция се изпълнява за 14,4 μs.

Всички вътрешни и външни (вход/изход) характеристики напълно отговарят на декларираните характеристики на компонентите и се използват максимално.

Този модул се използва в контролери PControl, произведени от NTB. Модулът се използва и с други ACS контролери, за да ги подобрят и модернизират, например:

  • MicroDAT MB 57.0. Производител Киев, Украйна.
  • PS2000. Производител - VEB NUMERIK iUKARL MARXl. Карл-Маркс-Щад, ГДР.
  • UPU-TP. Производител - НПО "ЕЛЕКТРОМЕХАНИКА"

В този случай модулът се доставя с адаптерна платка за избрания контролер, за да координира логиката на вътрешната шина на контролера и да даде на процесорния модул необходимите размери, за да се избегне повторно окабеляване на контролера и външни вериги. Когато е сглобена, височината на конструкцията не надвишава 25 мм и може да се монтира в почти всеки контролер.

Предимството на първото приложение е, че собствениците на оборудването получават по-евтин контролер от вносните, който по нищо не им отстъпва. Софтуерът на модула е разработен от руски специалисти на руски език, естествено. Не забравяйте за подробния набор от руска документация, която улеснява самостоятелното научаване как да работите с процесорния модул.

Предимството на второто приложение е, че подмяната на най-уязвимия възел (MicroDAT) или няколко възела наведнъж (PS, Penza) на контролера води до рязко подобряване на неговите работни характеристики. В този случай премахнатите "родни" модули могат да послужат като база за ремонт на останалите немодернизирани контролери.

Софтуерът за режим на процесора работи както в режим On-Line (on-line), така и в Off-Line (off-line) и осигурява удобен интерфейс и реализация на всички възможности на модула. Софтуерът и системната програма на модула поддържат горните контролери без никакви промени.

Възможността за създаване на адаптерни карти за различни контролери, както и добавяне на поддръжка за нови типове контролери в софтуера се определя само от икономическата целесъобразност.

Като контролен модул, централен процесор или процесорен модул (CPU), имаме предвид PLC модул, който изпълнява функции за управление на процеса, обработва приложни програми, достъп до периферни модули, наблюдение/контрол на цялата система, PLC логически контролни функции и комуникационни функции (обмен на информация чрез програмен интерфейс, а също и за обмен на данни с други интелигентни устройства на системата за автоматизация).

Фигура 2.2 - Типична PLC архитектура

По време на работа процесорът "чете" входни данни от свързани полеви устройства, използвайки своите входни интерфейси, и след това изпълнява управляващата програма, която се зарежда в паметта на модула на процесора. Програмите обикновено се разработват на специални езици за програмиране на PLC и трябва да бъдат заредени в паметта на контролера, преди той да започне да работи.

И накрая, на базата на програмата, PLC "записва" или актуализира контролните изходи чрез изходните интерфейси. Този процес, наречен цикъл на сканиране, се изпълнява постоянно в една и съща последователност без спиране и се променя или когато настъпят определени предварително определени събития, или когато се направят промени в програмата за управление.

Процесорният модул включва микропроцесор (централен процесор - CPU), устройства с памет, часовник за реално време и таймер за наблюдение. Термините "микропроцесор" и "процесор" вече са станали синоними, тъй като всички новоизлезли процесори са направени под формата на VLSI, т.е. са микропроцесори.

Основните характеристики на микропроцесора са битовата дълбочина (ПЛК използват 8, 16 и 32-битови микропроцесори), тактова честота, архитектура, работа с плаваща запетая, видове поддържани входно-изходни портове, работен температурен диапазон и консумация на енергия.

Производителността на микропроцесорите със същата архитектура е пропорционална на тактовата честота. Повечето контролери използват микропроцесори за изчисление с намален набор от инструкции (RISC), които използват малък брой инструкции със същата дължина и голям брой регистри. Намаленият набор от инструкции позволява изграждането на по-ефективни компилатори и процесорен конвейер, способни да генерират резултат от изпълнението на следващата команда за всеки такт.

За контролери, които извършват интензивна математическа обработка на данни, е важно да имат математически копроцесор (спомагателен процесор, който изпълнява операции с плаваща запетая) или сигнални процесори, в които операции като Y = A * B + X се извършват в един цикъл. Сигналните процесори ви позволяват да ускорите изпълнението на операции на навиване или бързо преобразуване на Фурие.



Капацитет на паметтаопределя броя на променливите (таговете), които могат да бъдат обработени по време на работа на PLC. При микропроцесорите времето за достъп до паметта е един от значимите ограничаващи производителността фактори. Следователно паметта е разделена на няколко нива от йерархията в зависимост от честотата на използване на съхраняваните в нея данни и скоростта. Йерархията на паметта е съществена характеристика на архитектурата на процесора, тъй като помага за намаляване на отрицателното въздействие на бавната памет върху производителността на микропроцесора. Основните типове памет са памет само за четене (ROM), памет с произволен достъп (RAM) и набор от регистри. Регистрите са най-бързите елементи на паметта, тъй като се използват от аритметично-логическата единица (ALU) за изпълнение на елементарни инструкции на процесора. ROM се използва за съхраняване на информация, която рядко се променя, като операционна система, драйвери на устройства, зареждане и изпълним модул на потребителската програма. RAM се използва за съхраняване на данни, които се променят многократно по време на работа на контролера, например стойности на етикети, междинни изчисления, диагностична информация, масиви, показани на графики, данни за показване на дисплея.

Като ROM (или ROM - "Read Only Memory") обикновено се използва електрически изтриваема програмируема памет (EEPROM - "Electrically Erasable Programmable ROM").Специална характеристика на флаш паметта е нейната непостоянство, т.е. запазване на данни, когато захранването - “flash.” Недостатъкът на всички ROM е тяхната ниска производителност.

Като RAM съвременните микропроцесори използват статична памет (SRAM - Static Random Access Memory) и динамична (DRAM - "Dynamic Random Access Memory"), SDRAM ("Synchronous DRAM"). SRAM се изпълнява на тригери, информацията в които се съхранява за неопределено време при захранване. В динамичната памет информацията се съхранява на кондензатори и следователно DRAM изисква периодично регенериране (презареждане на кондензатори). Недостатъците на тригерната памет включват нейната висока цена, свързана с ниска плътност на подреждането на тригерите върху чипа и ниско съотношение капацитет към цена. Предимството е висока скорост, достигаща гигахерци, докато кондензаторната памет не може да работи на честоти над стотици херца. И двата типа памет (DRAM и SRAM) не могат да запазват информация, когато захранването на PLC е изключено. Поради това някои видове PLC използват памет, поддържана от батерии, за да поддържат системата за автоматизация работоспособна след кратко прекъсване на захранването.

Моноблоковите и модулните контролери, като правило, използват паралелна шина за обмен на данни с I / O модули, което позволява да се увеличи скоростта на тяхното запитване с порядък в сравнение със серийната шина. Паралелните шини могат да бъдат стандартни (ISA, PC / 104, PCI, ComactPCI, VME, CXM) или собствени. Серийната шина на контролера (базирана на интерфейса RS-485) се използва за свързване на отдалечени (разпределени) I / O модули към него.

Таймер за наблюдение(Watchdog Timer - WDT) е брояч, който отброява тактовите импулси и периодично се нулира (рестартира) от работещ процесор в нормален режим. Ако процесорът "замръзне", тогава сигналите за нулиране не се изпращат към брояча, той продължава да брои и при достигане на определен праг генерира сигнал "Нулиране" за рестартиране на "замразения" процесор.

Часовник за реално време(PB) е кварцов часовник, който се захранва от батерия и следователно продължава да работи, когато PLC е изключен. Часовникът RV се използва например за управление на уличното осветление в зависимост от времето на деня, в системите за сигурност на обектите и в други случаи, когато е необходимо да се свържат данни или събития с астрономическо време.

Изпратете вашата добра работа в базата от знания е лесно. Използвайте формуляра по-долу

Студенти, специализанти, млади учени, които използват базата от знания в своето обучение и работа, ще ви бъдат много благодарни.

Публикувано на http://www.allbest.ru/

Въведение

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

Модулът не съдържа нищо необичайно за микропроцесорна система и използва само онези свойства на микропроцесора, които са общи за повечето от тях. Благодарение на това се постига независимост на структурата на модула от избора на микропроцесора. Разработчикът е поканен да изгради целева микропроцесорна система, базирана на процесорен модул с вградени функции за отстраняване на грешки и зареждане.

Методът за проектиране на микропроцесорна система с помощта на модул за отстраняване на грешки позволява да се ускори и намали цената на процеса на разработка на целевата система. Използването на метода дава възможност да се избегнат разходите, свързани с закупуването на емулатор във верига, емулатор на ROM и микропроцесорен софтуерен модел, за да се опрости технологията за разработване и отстраняване на грешки на части от целевата система, свързани директно към микропроцесор. Потребителят незабавно закупува част от целевата система с вградени функции за отстраняване на грешки и диагностика.

В хода на този курсов проект ще бъде извършено проектиране на процесорния модул - независимо устройство, което може да извършва две определени действия върху операндите. Резултатът от проекта ще бъде диаграма на устройство, което отговаря на изискванията за системи за обработка на информация.

1 . Анализ на задачата

Електронна система, която реализира сложен алгоритъм за обработка на данни, може условно да бъде разделена на две функционално свързани подсистеми - управляваща и оперативен автомат. Взаимодействието на тези две подсистеми е показано на фиг. 1.1.

Управляващата машина определя реда на изпълнение на изчислителните операции и показва графична диаграма на функционирането на електронната система. Входната информация за управляващия автомат е набор от информационни сигнали (X) и набор от външни флагове за разклоняване (F), резултатът от функционирането е набор от признаци на извършените микрооперации (Y).

Оперативният автомат извършва изчислителни операции върху операндите. Структурно оперативният автомат се състои от елементи на паметта (регистри), които съхраняват стойностите на операндите, и комбинационни схеми, които отговарят за извършването на микрооперации. Входната информация за оперативния автомат са редове от данни (D) и набор от микрооперации, извършени в даден цикъл (Y), изходите са редовете за резултат (R) и генерираните знаци за резултат (X), използвани в управлението автомат.

Според получената задача е необходимо да се реализира процесорен модул, който изпълнява алгоритмите на следните действия: умножение на беззнакови двоични цели числа, започвайки от най-малките цифри на множителя, преобразуване на двоично-десетично число в двоично.

Фигури 1.2 и 1.3 показват GAW на действията, които трябва да бъдат извършени от проектирания процесорен модул.

Фигура 1.2 - Умножение на незнакови двоични цели числа, започвайки с най-малките битове на множителя

Фигура 1.3 - Умножение на двоични цели числа без знак, започвайки с най-значимите битове на множителя

За да се изпълни възложената задача, е необходимо да се комбинират два GSA, тъй като проектираният процесорен модул трябва да извърши две операции. За да изберете една от операциите в комбинираната GAW, която е показана на Фигура 1.4, се добавя условен връх, който проверява състоянието на регистъра COP (код на операцията). Данните в COP са, подобно на операндите, входната информация за проектирания процесорен модул.

В комбинирания GSA, спрямо оригиналните алгоритми, операцията за нулиране на регистъра C беше променена. Нулирането на долните осем бита на регистъра беше променено на нулиране на всички битове, тъй като това при проектирането на управляващата машина ще намали броя на признаци на извършени микрооперации (Y). За същата цел е създаден връх на изходния резултат, общ за двата GAW.

По този начин при проектирането на процесорен модул е ​​необходимо да се използва унифициран HSA, който описва алгоритмите за извършване на планираните действия. Процесорният модул ще бъде логически разделен на две подсистеми - ОА и УА, които ще бъдат проектирани като самостоятелни устройства.

Фигура 1.4 - Обща GAW

2 . Дизайн на работната машина

2.1 Общи въпроси за функционирането на оперативните атоми

Функциите на ОА се свеждат до вход-изход и съхранение на думи от информация, изпълнение на микрооперации и изчисляване на логически условия. За изпълнение на тези действия е необходим набор от елементи, който е достатъчен за изграждане на структури с определени функции. Този набор от елементи се нарича структурна основа на ОА.

Основните оперативни елементи, използвани в ОА са:

Контролирани автобуси, осигуряващи трансфер на информация;

Регистри;

Комбинирани схеми, използвани за извършване на трансформации и формиране на логически условия.

Като цяло структурата на ОА е показана на Фигура 2.1, където Ф - комбинационни схеми, извършващи преобразуването, S - памет,? - комбинационни схеми, формиращи информационни сигнали.

Фигура 2.1 - Обща структура на ОА

информация за обработка на процесорния модул

2.2 Структурна организация на М-машините

Според заданието ОА за проектирания процесорен модул трябва да е от тип М. М-автомат е такъв ОА, който се синтезира на базата на принципа на обобщаване на комбинационните схеми, използвани за извършване на всички микрооперации. М-автоматът има най-ниски разходи за хардуер, но недостатъкът на М-автомат е, че не може да извърши повече от една микрооперация на трансформация на цикъл на работа. Следователно производителността на М-автома е ниска.

Принципът на обобщаване на комбинационните схеми определя структурата на машината, показана на фигура 2.2.

Фигура 2.2 - Обобщена структура на ОА тип М

В такава структура на микрооперация, свързана с трансформацията y p: S k:

M (S i, S j), следният набор от оператори е свързан:

M: z: =? m (A 1, A 2);

y p = (a i, b i,? m, d k).

2.3 Проектиране на М-автомат

Развитието на структурата на М-автомата включва следните етапи:

1. За автомата изберете регистрите, които ще съхраняват резултатите от микрооперации:

A (7: 0), B (7: 0), C (15: 0), CnT (3: 0), COP.

2. Нека разпределим регистрите на две автобуси A 1 и A 2:

Arg1 = (C), Arg1 (15:0);

Arg2 = (A, B), Arg2 (7: 0).

3. Нека дефинираме микрооперациите, изпълнявани от М-автомат:

Таблица 2.1 - Операции за М-машината

Микрооперация

Резултат

C (15: 0): = C (15: 0) + A (7: 0)

Z = Arg1 (15: 0) + Arg2 (7: 0)

B (7:0): = R1 (C (0). B (7:1))

Z = R1 (Arg1 (0) .Arg2 (7: 1))

C (7:0): = R1 (CF.C (7:1))

Z = R1 (CF. Arg1 (7: 1))

R (15:0): = C (7:0). B (7:0)

C (15:0): = L1 (C (14:0) .0)

Z = L1 (Arg1 (14:0) .0)

B (7: 0): = L1 (B (6: 0) .0)

Z = L1 (Arg2 (6:0) .0)

R (15:0): = C (15:0)

4. Нека изберем класове еквивалентни микрооперации и да намерим обобщени микрооператори за тях:

5. Да построим схемата на М-автомат на ниво предаване на регистъра:

Фигура 2.3 - Схема на М-автомат на ниво предаване на регистъра

3 . Проектиране на управляваща машина

3.1 Общи въпроси за функционирането на управляващите устройства с твърда логика

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

UU, изпълнявайки програми, организира всички необходими действия за получаване, оценка и преобразуване на първоначалната информация с цел получаване и издаване на необходимите резултати. Че. CU може да се разглежда като трансформация на първичната командна информация, предоставена от системните команди, във вторична командна информация, представена от генерирания CU, изпълнителни адреси, кодове и управляващ сигнал, чието въздействие върху съответните възли и блокове води до изпълнение на определени операции.

Последователност на изпълнение на програмата:

избор на екип от ОП

декодиращи операции

определяне на изпълнителните адреси на операндите

извличане на операнди в кеша

извършване на операции

Фигура 3.1 - Обща структура на CU

BUK съхранява командата, прочетена от паметта, и генерира адресите на следващата команда. Четенето от паметта на следващата команда, преобразуването на адреса и оперативните части на командата се извършва от блока за управление.

За генериране на синхронизиращи сигнали и координиране на работата на BUK и CUO се използва BMU.

Когато се използва "твърда" логика, UA се изграждат от различни комбинационни схеми и елементи на паметта. Законът за функциониране на UA се определя от реда, в който елементите са свързани един с друг.

Основните елементи, с които могат да бъдат изградени UA са:

1 елементи за забавяне (D-тригер)

2 разпределителя на сигнала (сменни регистри)

3 Като цифров автомат

3.2 Усъвършенствана граф-схема на алгоритъма

За проектиране на управляващия автомат е необходимо да се използва усъвършенстван GSA, който отчита вида на управляващия автомат.

Преобразуването на комбинирания GAW в усъвършенстван включва следните стъпки:

1. замяна на микрооперациите с тяхното конвенционално обозначение y i;

2. разделяне на оперативни върхове с n трансформационни микрооперации на n оперативни възли, тъй като ОА от тип М не може да извърши повече от една трансформационна микрооперация в един работен цикъл;

3.маркиране на състоянията на управляващата машина по правилата:

Състоянието след "началото" и преди "край" трябва да бъде етикетирано

Състоянието след всеки операторен връх трябва да има етикет

Фигура 3.2 - Ревизиран (маркиран) GAW

3.3 Проектиране на управляваща машина с твърда логика

Развитието на структурата на UA включва следните стъпки:

Графиката на преходите на алгоритъма е изградена на базата на маркирания HSA:

Фигура 3.3 - Графика на прехода на управляващата машина

Таблица 3.1 - Кодиране на състояния

състояние

Брой входове

Кодиране

Таблица 3.2 - Структурна таблица на преходите на управляващата машина

Първоначалното състояние

Първоначално състояние на двоичен код

Резултатно състояние

Двоичен код на полученото състояние

Състояние за скок

Формируем изход

Функции на възбуждане

От тази таблица можете да получите следните зависимости:

За декодер на състояние:

За функции за изход

За функция за възбуждане на задействане

Нека построим схема на UA на нивото на предаване на регистъра:

Според обобщената структура на управляващата машина, следните елементи се използват за изграждане на верига:

Т-спусък

DC - декодиращо устройство, което преобразува позиционен двоичен код;

MX - мултиплексор, който избира едно от проверените логически условия;

Фигура 3.4 - Схема на ниво AE на прехвърляне на регистри

4 . Проектиране на процесорен модул

Според декомпозицията на процесорния модул, показана на фигура 1.1, проектирането се състои от два етапа: проектиране на операционното устройство и управляващата машина.

Очевидно полученият процесорен модул е ​​връзка на две отделни устройства - OA и UA. Операнди (D 1, D 2), условие за избор на операция (COP или D 3) и управляващи сигнали (Clk, Start, Stop, Reset) се подават към входовете на целия процесорен модул. Вътрешното взаимодействие между OA и UA се състои във взаимно предаване на сигнали: OA генерира стойностите на изчислените логически условия (X) на всеки цикъл, UA генерира сигнали за извършване на микрооперациите, необходими в даден цикъл (Y). Също така операционното устройство генерира резултата от изпълнението на определената стойност на COP регистъра на действието, който се подава към изходната шина R.

В допълнение към схемите OA и UA на нивото на прехвърляне на регистър, резултатът от курсовия проект са текстовете на VHDL-модели на управляващото устройство, операционния автомат и процесорния модул. VHDL-моделът на процесорния модул включва OA и UA модели като компоненти.

5 . Анализ на резултатите от синтеза

В резултат на автоматизиран синтез бяха получени модели на операционната машина, на устройството за управление и на целия процесорен модул. Можете да оцените работата на разработените компоненти, като използвате получените времеви диаграми, изградени в проектната среда.

5.1 Тестване на VHDLоблече работното устройство

След разработването на VHDL-модела на ОА беше получена времева диаграма на работата на устройството, показана на Фигура 5.1.

Фигура 5.1 - Времева диаграма на VHDL модел OA

Моделирането на работата на ОА беше извършено, когато входните данни (d1, d2, d3), текущата микроинструкция и сигналите за синхронизация (clk) и асинхронно нулиране (rst) бяха приложени към входовете на устройството. В резултат на моделирането и отстраняването на грешки беше направено заключение за съответствието на устройството с изискванията за OA. (Текстът на VHDL-модела на операционната машина е в Приложение 1).

5.2 Тестване на VHDLоблечете устройството за управление

След разработването на VHDL-модела на UA беше получена времева диаграма на работата на устройството, показана на Фигура 5.2.

Фигура 5.2 - Времева диаграма на VHDL-модела на UA

За да се симулира работата на управляващото устройство, към входовете на устройството бяха изпратени сигналите за синхронизация (clk) и асинхронно нулиране (rst), както и стойностите на логическите условия, изчислени от работния автомат. (Текстът на VHDL-модела на управляващата машина е в Приложение 2).

Моделирането на работата на устройството беше извършено според стратегията за заобикаляне на всички дъги. В резултат на симулацията беше направено заключението, че моделът е работещ, тъй като във всички състояния на UA сигналите за микрооперации, съответстващи на тези, отбелязани в усъвършенствания HSA, се подават като изходен вектор.

5.3 Тестване на VHDLоблече процесорния модул

След разработването на VHDL-модела на UA бяха получени времеви диаграми на изпълнение на две действия, представени на фигури 5.3 и 5.4. За симулация към входовете на модела на процесорния модул се подават данни за извършеното действие (d1, d2 - операнди; d3 - код на извършената операция). Резултатът от операцията е получен на изходната шина r.

Фигура 5.3 - Умножение на двоични цели числа без знак, започвайки от най-малките битове на множителя

Проверка на резултатите от симулираната работа, представена на фигура 5.3:

28 * 10 = 280, или

00011100 * 00001010 =100011000.

Фигура 5.4 - Умножение на двоични цели числа без знак, започвайки от най-значимите битове на множителя

Симулацията даде правилния резултат.

заключения

Резултатът от курсовия проект е процесорен модул, състоящ се от оперативен М-автомат и управляващ автомат с твърда логика от тип Mealy и изпълняващ действия според заданието: умножение на неподписани двоични числа, започващи с най-значимите битове на множител и умножаване на двоични цели числа без знак, започвайки с най-малките цифри на множителя

Изходните данни за проектиране бяха графични диаграми на алгоритми за дадени действия, типове OA и UA и ширината на операндите.

По време на курсовия проект бяха придобити знания за организацията и функционирането на сложни системи за цифрова обработка на информация, получени практически умения за проектиране на процесорен модул с помощта на езика VHDL.

В резултат на анализа на автоматизирания синтез на устройства може да се заключи, че заданието за дизайн на курса е правилно и напълно изпълнено, тъй като разработеният процесорен модул правилно изпълнява предвидените в заданието действия.

Списък на използваните източници

1. Кораблев Н.М. - Бележки от лекции по дисциплината "Компютърни схеми" - Харков, 2010г

2. Кораблев Н.М., Саранча С.Н., Саранча О.Н. - Методически указания за лабораторна работа по дисциплината "Компютърни схеми": Част 2 "Проектиране на сложни системи" - Харков: ХНУРЕ, 2006 г.

3. Бибило П.Н. Синтез на логически схеми с помощта на VHDL език. - М .: СЛОН-Р, 2002 .-- 384 с.

4. http: // vhdl- 1 .ru /

5. http://www.vhdl- 1 .ru / component.html

6. http://www.bsuir.by/vhdl/index.php? сection = main

Приложение1

VHDL-модел на работещата машина

използвайте IEEE.STD_LOGIC_1164.all;

clk, първи: в STD_LOGIC;

d3: в STD_LOGIC;

r: изход STD_LOGIC_VECTOR (15 надолу до 0);

x: изход STD_LOGIC_VECTOR (4 надолу до 0)

архитектура арка на OA_M е

Деклариране на вътрешни сигнали

сигнал A, B, Arg2: STD_LOGIC_VECTOR (7 надолу до 0);

сигнал CF: STD_LOGIC_VECTOR (8 надолу до 0);

сигнал C, Arg1, Z: STD_LOGIC_VECTOR (15 надолу до 0);

сигнал Cnt: INTEGER;

сигнал COP: STD_LOGIC;

Сигнали A, B, C, COP - входове на съответните регистри

Сигнали Arg1, Arg2 - аргументни шини

Cnt сигнал - брояч

процес (clk, rst) е

Асинхронно нулиране

А<=(others=>"0");

Б<=(others=>"0");

° С<=(others=>"0");

elsif rising_edge (clk) тогава

Синхронно записване към регистър A

ако y (1) = "1", тогава A<=d1;

Синхронно записване към регистър B

ако y (2) = "1", тогава B<=d2;

elsif (y (7) или y (12)) = "1", след това B<=Z (7 downto 0);

Синхронно записване към регистър C

ако y (3) = "1", тогава C<=(others=>"0");

elsif (y (6) или y (8) или y (11)) = "1", след това C<=Z;

Синхронно записване на резултата

ако y (10) = "1", тогава r<=C (7 downto 0)&B (7 downto 0);

elsif y (13) = "1", тогава r<=C;

Синхронно писане към брояча

ако y (4) = "1", тогава Cnt<=8;

elsif y (9) = "1", тогава Cnt<=Cnt-1;

Синхронно записване в регистъра на COP

ако y (5) = "1", тогава COP<=d3;

иначе COP<="0";

Аргументен автобус 1

arg1<= C when (y(6) or y(7) or y(8) or y(11))="1"

друго (други => "0");

Аргументен автобус 2

arg2<= A when y(6)="1"

иначе B, когато (y (7) или y (12)) = "1"

друго (други => "0");

Формиране на флага за носене

CF<=("0"&A (7 downto 0))+("0"&B (7 downto 0)) when y(8)="1";

Резултат автобус

З<=Arg1 (15 downto 0)+arg2 (7 downto 0) when y(6)="1"

иначе "00000000" & Arg1 (0) & Arg2 (7 надолу до 1), когато y (7) = "1"

иначе "00000000" & CF (8) & Arg1 (7 надолу до 1), когато y (8) = "1"

иначе Arg1 (14 надолу до 0) & "0", когато y (11) = "1"

иначе "00000000" & Arg2 (6 надолу до 0) & "0", когато y (12) = "1"

друго (други => "0");

Формиране на признаци за резултати

х (2)<="1" when B(0)="1" else "0";

х (3)<="1" when Cnt=0 else "0";

х (4)<="1" when B(7)="1" else "0";

Приложение 2

VHDL-модел на управляващата машина

използвайте IEEE.STD_LOGIC_1164.all;

обект ua_mili е

clk: в STD_LOGIC; - вход за синхронизация

първо: в STD_LOGIC; - вход за нулиране

x: в STD_LOGIC_VECTOR (4 надолу до 1); - входове за логически условия

y: out STD_LOGIC_VECTOR (13 downto 1) - изходи за микрооперации

архитектура арка на ua_mili е

тип TSstate е (a0, a1, a2, a3, a4, a5, a6, a7, a8); - много вътрешни състояния

състояние на сигнала: TState;

процес (clk, rst) е - преходна функция

ако rst = "0", тогава състояние<=a0;

elsif rising_edge (clk) тогава

когато a0 => състояние<=a1;

когато a1 => състояние<=a2;

когато a2 => ако x (1) = "1", тогава състояние<=a3;

друго състояние<=a6;

когато a3 => състояние<=a4;

когато a4 => състояние<=a5;

когато a5 => ако x (3) = "1", тогава състояние<=a0;

друго състояние<=a3;

когато a6 => състояние<=a7;

когато a7 => състояние<=a8;

когато a8 => ако x (3) = "1", тогава състояние<=a0;

друго състояние<=a6;

процес (състояние) е - излиза от функцията

г<= «0000000000000»;

когато a0 => y (1)<="1"; y(2)<="1"; y(3)<="1"; y(4)<="1";

когато a1 => y (5)<="1";

когато a2 => ако x (1) = "1", тогава

ако x (2) = "1", тогава y (6)<="1";

иначе y (11)<="1";

когато a3 => y (7)<="1";

когато a4 => y (8)<="1"; y(9)<="1";

когато a5 => ако x (3) = "1", тогава y (10)<="1";

иначе, ако x (2) = "1", тогава y (6)<="1";

когато a6 => ако x (4) = "1", тогава y (6)<="1";

когато a7 => y (9)<="1"; y(12)<="1";

когато a8 => ако x (3) = "1", тогава y (13)<="1";

иначе y (11)<="1";

архитектурната структура на ua_mili е

сигнал D, Q: std_logic_Vector (3 downto 0); - входове и изходи на регистъра на състоянието

сигнал a0, a1, a2, a3, a4, a5, a6, a7, a8: STD_LOGIC;

процес (clk, rst) е - процесът описва 4-битов регистър

ако rst = "0", тогава Q<= «0001»;

elsif rising_edge (clk) тогава

Декодер на състоянието

a0<=(not Q(3)) and (not Q(2)) and (not Q(1)) and Q(0);

a1<=Q(3) and (not Q(2)) and (not Q(1)) and (not Q(0));

а2<=(not Q(3)) and (not Q(2)) and Q(1) and Q(0);

а3<=(not Q(3)) and (not Q(2)) and (not Q(1)) and (not Q(0));

а4<=(not Q(3)) and Q(2) and Q(1) and (not Q(0));

а5<=(not Q(3)) and Q(2) and (not Q(1)) and Q(0);

a6<=(not Q(3)) and (not Q(2)) and Q(1) and (not Q(0));

а7<=(not Q(3)) and Q(2) and (not Q(1)) and (not Q(0));

а8<=(not Q(3)) and Q(2) and Q(1) and Q(0);

Функции на задействане на възбуждане

г (0)<=a1 or a4 or (a5 and x(3)) or a7 or (a8 and x(3));

D (1)<=a1 or (a2 and not x(1)) or a3 or a7 or (a8 and not x(3));

Г (2)<=a3 or a4 or (a6 and x(4)) or (a6 and not x(4)) or a7;

Изходни функции

y (1)<=a0; y(2)<=a0; y(3)<=a0; y(4)<=a0; y(5)<=a1;

y (6)<=(a2 and x(1) and x(2)) or (a5 and not x(3) and x(2)) or (a6 and x(4));

y (7)<=a3; y(8)<=a4; y(9)<=a4 or a7; y(10)<=a5 and x(3);

y (11)<=(a2 and not x(1)) or (a8 and not x(3));

y (12)<=a7; y(13)<=a8 and x(3);

Приложение 3

VHDL модел процесор

използвайте IEEE.STD_LOGIC_1164.all;

използвайте IEEE.STD_LOGIC_unsigned.all;

clk, първи: в STD_LOGIC;

d1: в STD_LOGIC_VECTOR (7 надолу до 0);

d2: в STD_LOGIC_VECTOR (7 надолу до 0);

d3: в STD_LOGIC;

r: изход STD_LOGIC_VECTOR (15 надолу до 0)

архитектура PM на PM е

Компонент - работеща машина тип М

компонент OA_M е

clk, първи: в STD_LOGIC;

y: в STD_LOGIC_VECTOR (13 надолу до 1);

d1: в STD_LOGIC_VECTOR (7 надолу до 0);

d2: в STD_LOGIC_VECTOR (7 надолу до 0);

d3: в STD_LOGIC;

r: изход STD_LOGIC_VECTOR (15 надолу до 0);

x: изход STD_LOGIC_VECTOR (4 надолу до 1)

Компонент - управляващ автомат с твърда логика от тип Mealy

компонент ua_mili е

clk, първи: в STD_LOGIC;

x: в STD_LOGIC_VECTOR (4 надолу до 1);

y: изход STD_LOGIC_VECTOR (13 надолу до 1)

Сигнали, обменени между OA и UA.

сигнал y: STD_LOGIC_VECTOR (13 надолу до 0);

сигнал x: STD_LOGIC_VECTOR (3 надолу до 0);

OA: OA_M карта на портовете (clk, rst, y (13 downto 1), d1, d2, d3, r, x);

UA: ua_mili порт карта (clk, rst, x, y (13 downto 1));

Публикувано на Allbest.ru

Подобни документи

    Електронна система, която реализира сложен алгоритъм за обработка на данни. Обща структура на устройството за управление. Проектиране на процесорен модул. Основни работни елементи. Общи въпроси за функционирането на управляващите устройства с програмируема логика.

    курсова работа, добавена на 29.06.2011

    Изчисляване на статичен модул на паметта и паметта с произволен достъп. Изграждане на схематична диаграма и времева диаграма на модул памет с произволен достъп. Проектиране на аритметично логическа единица за делене на числа с фиксирана точка.

    курсова работа, добавена на 13.06.2015

    Изучаването на основните структурни елементи на компютър - електронно устройство, което извършва операции за въвеждане на информация, съхраняване и обработка по конкретна програма. Функции на централния процесор, устройство за съхранение, носители на информация.

    резюме, добавен на 18.01.2012

    Анализ на избора на цифров сигнален процесор и блокова схема на устройство за обработка на информация. Изчисляване на надеждността на устройството и производителността на обмен на данни, разработване на график на лентата. Преглед на характеристиките на радиалния и интермодуларния интерфейс.

    дисертация, добавена на 20.05.2012г

    Основни операции с матрици. Проектиране на обектно-ориентиран модул за работа с матрици в средата на Delphi 7. Разработване на програма, която ви позволява да извършвате различни действия върху матрици. Описание на програмния интерфейс, изходния код на модула.

    курсова работа, добавена на 15.01.2013

    Разработване на конвенционално графично обозначение на елемент на веригата. Разработване на отпечатък, типичен компонентен модул. Формиране на технически спецификации. Разположение на отделни възли и устройства. Разработване на електрическа принципна схема.

    ръководство, добавено на 26.01.2009

    Изборът на принципи на проектиране за запис, съхранение и предаване на номера. Разработване на алгоритъм за извършване на операции, необходими за обработка на информацията. Блокова схема на устройството. Елементарна база, необходима за разработването на схематична диаграма.

    Алгоритъм за извършване на операции, необходими за обработка на информация. Изчисляване и съставяне на времева диаграма на управляващите сигнали. Изборът на елементната база, необходима за разработването на схематичната диаграма. Откриване на грешки, допуснати при въвеждане на информация.

    курсова работа, добавена на 16.08.2012

    Разработване на модул за изчисляване на стойността на функция, който впоследствие се свързва с програмата за въвеждане на изходни данни с контрол на допустимата стойност в таблицата. Проектиране на модул за работа с низове и за обработка на масиви от текстова информация.

    курсова работа, добавена на 24.09.2010

    Клавиатура като основно устройство за въвеждане. Манипулативни устройства, техните видове и характеристики. Принципи на работа на скенерите. Предназначение на графичните таблети. Устройства за извеждане на информация, видове монитори. Външни пазители на информация.

Николай Семьонов [защитен с имейл], Алексей Некрасов - [защитен с имейл]

В повечето случаи разработването на техническо устройство е свързано със задачата за събиране на данни от входните устройства, обработката им и прехвърлянето на управляващо действие към изходните устройства. Докато изчисленията не изискват висока производителност и I/O устройствата са стандартни, можете да използвате микроконтролери или „системи на чип“ (System-On-Chip, SoC). Но какво ще стане, ако производителността на микроконтролера не е достатъчна или интерфейсите, предоставени от задачата или областта на приложение, са нестандартни?

В случай, че разработчикът е изправен пред задача, за която производителността на микроконтролера не е достатъчна или интерфейсите, предвидени например от областта на приложение, са нестандартни, преди имаше само един изход: за използване на универсални или специализирани микропроцесори, външна памет, дискове за зареждане и поддръжка на различни периферни устройства. Но този път изискваше много време от страна на разработчиците и програмистите. В същото време подобни проблеми бяха решени едновременно в различни части на света от различни инженери. Преносимостта на подобни решения обаче се оказа ниска поради наличието на специфични ограничения във всеки отделен случай. Този подход беше доминиращ, докато не се появиха готови евтини процесорни модули.

Компютър-на-модул (CoM) е по-нататъшно развитие на System-On-Chip (SoC). Такива модули се характеризират със своите малки размери, стандартни интерфейси и добра поддръжка за операционни системи. При използването им се спестява време за разработка, тестване, поддръжка, писане на системен софтуер и адаптиране на операционни системи, тъй като най-често всичко това вече е включено в готов процесорен модул. По този начин използването му значително намалява времето за пускане на готово устройство на пазара.

Самият термин CoM е въведен от VDC Research Group, Inc. (по-рано Venture Development Corporation, САЩ), за да опише цял клас произведени компютърни платки, той се вкоренява и се използва широко, главно след приемането на индустриалния стандарт COM-Express.

Класификация на процесорните модули

Структурно процесорните модули могат да бъдат разделени на модули с висока, средна и ниска производителност, като всички те се характеризират с ниска консумация на енергия с достатъчно висока изчислителна производителност в своя клас, тъй като са предназначени за вградени приложения, където задачата за отстраняване на топлината вътре компактният калъф е от решаващо значение при избора на типа модул.

Високопроизводителни модули

Ориз. 1. „Компютър-на-модул“ COM-Express стандарт: RadiSys CEQM77 с процесор Intel Core i7 IvyBridge

Високопроизводителните модули почти винаги изискват активно охлаждане, консумират 5-10 W или повече и са пълноценни компютри, най-често базирани на микропроцесори на Intel. Те постигат производителността на най-високите версии на Intel Core i7 с почти неограничено количество памет под формата на модули за разширение и високоскоростни интерфейси като PCIexpress, GBE, SATA3 и др. Основната задача на такива модули е да предоставят всички възможности на високопроизводителен персонален компютър в компактен едноплатков дизайн с възможност за свързване към тях както стандартни разширителни платки, така и специализирани, предназначени за решаване на конкретна задача. Стандартизацията на такива модули се извършва по отношение на външните размери, видове и местоположение на конекторите:

  • ETX (Embedded Technology eXtended) е форм-фактор на дънната платка с размери 95 × 114 mm и стандартно разположение на интерфейсните конектори. Конекторите имат I/O портове на PC/AT архитектурата (серийни, паралелни и др.), USB, аудио и видео конектори, Ethernet, както и пълна реализация на ISA и PCI шини.
  • XTX е еволюция на стандарта ETX със 75% съвместимост на контактите . XTX премахна ISA шината и добави PCI-Express, SATA и LPC. Днес тези стандарти са по-ниски по популярност от по-новия стандарт COM-Express, но все още се поддържат от доста голям брой производители. Модули от производители като Avalue, Congatec, Kontron, MSC, Norco, SECO и др. могат да се разглеждат като примери за ETX и XTX.
  • COM-Express (COMe) е стандарт на компютър върху модул, предназначен да замени старите ETX и XTX . Той беше въведен през 2005 г. от консорциума PICMG и определя както размера на модула (Фигура 1), така и неговите интерфейси. Днес беше пусната втора ревизия на стандарта, която описва седем различни типа изводи на конектори и четири възможни форм фактора на модули (от 55 × 84 до 110 × 155 mm). Стандартът се характеризира с използването му във високопроизводителни системи, задължителна е поддръжка на Ethernet10 / 100/1000, SATA, LPC, 8 × USB (включително поддръжка за USB 3.0), 6 × PCI-Express, аудио, видео. Захранване 12V. Най-известните производители на COMExpress модули включват RadiSys и Kontron, Congatec и AdLink.

В допълнение, високопроизводителните модули включват процесорни платки на гръбначно-модулни системи като CompactPCI и AdvancedTCA.

CompactPCI е системна шина, широко използвана в индустриалната автоматизация и шино-модулни системи. Той е електрически съвместим с PCI шината, но позволява свързването на повече устройства. Поддържа се горещо включване на платки, но в момента този стандарт всъщност е остарял по отношение на честотната лента. Основният конкурент са гумите VME, VME32, VME64, използвани във военната техника на НАТО, но тези стандарти не са получили разпространение в Русия. Разширения като PCI-E са в процес на разработка, но перспективите за тяхното използване не са определени.

Ориз. 2. „Компютър-на-модул“ от стандарта Qseven: SECO QuadMo747-X / i.MX6 с Freescale iMX6 процесор

AdvancedTCA, MicroTCA (Telecommunications Computing Architecture) е архитектура, разработена с участието на повече от 100 производителя на индустриално и телекомуникационно оборудване под ръководството на PICMG и е ново поколение стандартизирани телекомуникационни изчислителни платформи, които заместват остарелия CompactPCI. Механично представлява стандартни кошници за свързване на платки със стандартни размери със стандартни съединители и подреждането на контактите върху тях. Поддържа карти с възможност за горещо свързване и множество комуникационни топологии между тях. Ethernet е основната комуникационна среда между платките, въпреки че конекторът съдържа също JTAG тестови сигнали, тактови импулси и сигнални проводници, преминаващи през Switch Fabric. Освен това стандартът описва охладителна система за процесорни модули, която е еднаква за цялата кошница. Процесорните модули с TCA интерфейс могат да се използват в широк спектър от приложения - както за изграждане на клъстер за облачни изчисления (където основният интерфейс е между Ethernet модули), така и за телекомуникационни решения със синхронни серийни интерфейси, свързване на видеокамери, звук, външни сензори , и т.н.

Модули с ниска производителност

Ориз. 3. „Компютър върху модул“ Qseven стандарт: SECO uQ7-OMAP5 40 × 70 mm с процесор Texas Instruments OMAP5

Доскоро различни модули SoDIMM и 2.5" едноплаткови компютри, базирани на ARM процесори (най-често ARM9 се използва от производителите), можеха да бъдат причислени към нископроизводителните. Стандартизирането на такива модули не се очакваше, поради което всеки производител сам определяше формата и живота на продуктите. Което, разбира се, доведе до определени рискове за разработчиците, тъй като първоначално не се очакваше съвместимост на модули от различни производители. Днес обаче ситуацията леко се промени: с пускането на спецификацията на Ревизия 2.0 на отворения индустриален стандарт Qseven , от една страна, и пускането на нови процесори с ниска мощност (например, като Freescale i.MX6 Solo, фиг. 2), от друга. Сега разработчиците имат възможност да използват модули с ниска производителност, без да рискуват живота на получения продукт. Тъй като съответствието със стандарта от различни производители означава взаимозаменяемост на модулите един с друг, не е необходимо разработването да започва от нулата: можете просто да изберете подобен модул в стандарта Qseven от друг производител. В допълнение, новата ревизия на спецификацията Qseven предвижда модули с половин размер – само 40 × 70 mm (фиг. 3), което е най-подходящо за сегмента на системите от начално ниво и с ниска производителност.

Модули със среден капацитет

В случай, че имате нужда от евтини процесорни модули, които се характеризират с ниска консумация и сравнително висока изчислителна производителност, които не изискват активно охлаждане, единственото налично решение в момента са модулите, също произведени в стандарта Qseven. Освен това, в сравнение с останалата част от отворения индустриален стандарт, Qseven предоставя на разработчика най-голяма гъвкавост при разработването на технически устройства, тъй като е кросплатформен за ARM и x86 архитектури. С други думи, x86 модулите и ARM модулите са взаимозаменяеми в стандарта Qseven. Това означава, че след завършване на разработката на устройството на познат процесор x86, в бъдеще ще бъде възможно преминаването към ARM процесор, за да се намали консумацията на енергия и общата цена на устройството. .

Що се отнася до наличието на модули и техния живот, могат да се отбележат следните положителни характеристики. От една страна, модулите използват дълготрайни вградени процесори от производители като Intel, AMD, VIA Technology, NVidia, Texas Instruments и Freescale. От друга страна, в момента вече има повече от 50 производители на процесорни модули в стандарта Qseven. Освен това, ако е необходимо, можете да замените процесорния модул Q7 с подобен на нашия собствен дизайн на съществуващи продукти. В същото време времето за пускане на пазара ще бъде кратко и можете да преминете към собствена изчислителна платформа или да имате широка гама от процесорни модули в един стандарт за различни задачи.

Така разработчикът има избор не само между производителя както на процесора, така и на самия модул, което дава голяма свобода при избора на най-подходящото устройство въз основа на поставената задача (таблица).

Таблица. Класификация на модулите
Производител Първо ниво Мултимедия Високо
производителност,
изчисление
задачи
Отговорен
приложение, широк
температурен диапазон
Seco QuadMo747-X / i.MX6 uQ7-OMAP5 uQ7-OMAP5 QuadMo747-X / i.MX6
QuadMo747-X / OMAP3 QuadMo747-X / T30 QuadMo747-GSeries QuadMo747-X / OMAP3
QuadMo747-Z5xx QuadMo747-X / T20 QuadMo747-X / i.MX6 QuadMo747-XL
QuadMo747-X / i.MX6 QuadMo747-X / T30 QuadMo747-EXTREME
QuadMo747-X / i.MX51 QuadMo747-E6xx
QuadMo747-GSeries
QuadMo747-E6xx
Avalue EQM-CDV
EQM-A50M

Ако разгледаме стандарта Qseven по-подробно, можем да отбележим следните основни характеристики, които го отличават благоприятно от другите стандарти „компютри върху модул“.

Фиг. 4. Основни индустриални интерфейси Qseven стандарти

Първо, стандартът предоставя пълно логическо описание на всички сигнали, получени от модули с процесори както на ARM ядрото, така и на архитектурата x86. По-специално, това се отнася за:

  • високоскоростни интерфейси като PCI Express, SATA, USB 2.0+, GigabitEthernet и др.;
  • графични интерфейси като LVDS, SDVO, HDMI и DisplayPort;
  • основни индустриални интерфейси (включително CAN, SPI, SDIO, I 2 C и др.) (фиг. 4).

Второ, стандартът съдържа:

  • пълно електрическо описание на сигналите на посочените интерфейси;
  • пълно описание на дизайна на конектора (евтин и наличен MXM) с местоположението на сигналите върху него;
  • описание на дизайна на самите модули.

Размерите на модулите са само 70 × 70 мм, докато за COM-Express е 125 × 95 мм, а за ETX / XTX - 114 × 95. Готовите едноплаткови компютри от формат PC / 104 имат по-голям размер - 96 × 90 мм. Тази информация е отворена по природа и е достъпна за всеки в документацията за стандарта Qseven.

Опит с използване на модули

Ориз. 5. Структурата на предложеното устройство

За изграждане на многоканален видеорекордер със съхранение на данни на твърд диск и контрол върху локална мрежа, структурата, показана на фиг. 5.

AVx блоковете съдържат аудио и видео ADC. DSPx осигурява компресиране на получените данни и изпращане на компресирания поток през FPGA към процесорния модул на компютъра. Процесорният модул получава данни от няколко видеокамери, формира контейнери за съхранение от тях и записва на твърдия диск, а също така преминава през канал за преглед и архивиране на данни през локалната мрежа.

Потокът от данни вътре в такава система се оказа достатъчно голям, а нископроизводителните модули не бяха подходящи за внедряване. Високопроизводителните модули генерират твърде много топлина, така че не могат да бъдат инсталирани вътре в компактния рекордер. Затова Qseven - SECO QuadMo747-Z5xx бяха избрани като процесорни модули, съдържащи процесор Intel Atom Z500 серия 1.6 GHz, 1 GB DDR2, GBE и SATA2 памет. Наличието на NAND диск направи възможно инсталирането на операционната система Linux директно върху модула, така че да не зависи от наличието и здравето на твърдия диск. След оптимизиране на софтуера и намаляване на броя на камерите, използвани едновременно, стана възможно преминаването към модул с честота на процесора не 1.6, а 1.1 GHz, както и преминаването към процесорни модули с ARM процесори. Външният изглед на устройството е показан на фиг. 6.

Изборът на описаните модули значително намали времето за разработка на устройството и го направи по-опростен, по-надежден и по-функционален. Например, първоначално непланираната функция за безжично управление на рекордера стана възможна с инсталирането на миниатюрен USB-Wi-Fi модул. Точното време може да се получи от външно GPS устройство, също свързано чрез USB. За да се разшири температурният диапазон за използване на устройството, впоследствие беше свързан софтуерно управляван охлаждащ вентилатор. Резултатът е многофункционално компактно устройство, което изпълнява всички необходими определени функции и дори повече. Има запас от ресурси за разширяване на функционалността.

заключения

Ориз. 6. Отгоре - външният вид на устройството; дъно - местоположението на дъските

Статията разглежда различни варианти за модули на контролния процесор за вградени системи. Могат да се направят следните изводи:

  1. При обещаващи разработки COM-Express трябва да се разглежда като компактни високопроизводителни модули. Те са ефективни, евтини, но изискват външно охлаждане или голям радиатор.
  2. За да се изгради клъстер от голям брой както хомогенни, така и хетерогенни модули, е удобно да се използва стандарта AdvancedTCA или неговата намалена версия MicroTCA. Процесорните модули в такива системи са по-скъпи от същия COM-Express, но могат лесно да бъдат сглобени в клъстери, кошницата съдържа охладителен модул като стандарт, проблемите с обмена на информация между захранващите и резервните модули са разрешени.
  3. Препоръчително е да използвате стандартните модули Qseven като високопроизводителен модул с ниска мощност, способен да работи без активно охлаждане. Това е цяло семейство процесорни модули с различна производителност, изградени на различни платформи, но със стандартни интерфейси като Ethernet, USB, SATA, SPI, LPC и др. Има опит в практическото използване на серийни устройства, базирани на такива модули.
  4. За да управлявате бавни процеси, можете да използвате всеки от цял ​​клас нископроизводителни модули, подходящи по размер, интерфейс и цена.