«Аюша» - контролер на процесорі 6502

Arduino, RaspberryPi,… Ці слова все частіше зустрічаються в Мережі в контексті створення керуючих контролерів для будь-якого застосування, від розумного будинку до мигання світлодіодами. Незважаючи на технічну навороченность, ці залізяки до жаху нудні. Посудіть самі: подав харчування, завантажив програму,… і все! А що робиться всередині кремнію, встановленого на друковану плату — се нам не відомо. Або нецікаво?
Приводом вирішення проблеми «нецікавості» стала любов до процесора 6502, на якому збиралися первояблокі і ще деким помнімие «Агати», а також купка валяються без діла мікросхем. Схем на цьому процесорі в Інтернеті багато, але тих, які могли б бути корисними в господарстві — практично немає. Результат роботи — контролер «Аюша», вже готовий захоплювати керувати світом, допомагати нам в аматорській лабораторії, схемотехнику якого ми знаємо, можемо змінювати за своїми примхами, і який у більшості випадків застосування замінює * Дуіно та аналогічні борди.
 image
 
 
А чому саме 6502? Є ж 580ВМ80, Z80… ВМ80 не влаштовує технічно — три напруги живлення, другий претендент заморочений програмується… 6502 ж дуже простий у низкоуровневом програмуванні, хоч і має деякі «незвичності», такі як сторінкова адресація пам'яті і відображення портів введення / виводу на основну пам'ять. Однак при однаковій тактовій частоті 6502 обганяє Z80, а ВМ80 і поготів, має 258 регістрів (так, 256 зовнішніх, із спрощеною адресацією) і ще багато дечого смачного і цікавого, у тому числі і напрацьованого програмного забезпечення.
Отже, чим же опубліковані схеми нас не влаштували? Найголовніше — вони все не мали портів введення / виводу, через які могли б відчувати зовнішній світ і якось ним керувати. Значить додаємо в схему такий чіп. Вибір широкий, але оскільки мікропроцесорному комплекту 63хх/65хх/68хх якось не пощастило на 1/7 частини суші, то зупиняємося на мікросхемі 580ВВ55, що має три восьмибітних порту, до яких можна підключити практично будь-які датчики або керувати блоком реле або іншими коммутирующими схемами.
Далі, в аматорській лабораторії потрібен звуковий і радіочастотний генератор. Для звукових застосувань згадуємо про трьохканальному таймері 580ВІ53. Тепер ми можемо навіть музикувати або використовувати сформовані імпульси для синхронізації високочастотного синтезатора.
Оскільки нам до цих пір невідомо, коли ж закінчиться модернізація або її наповнення іншими вузлами, доповнюємо схему шинними буферами. Ах так, забули про зв'язок з господарем, треба ж якось приймати від нього команди і відповідати йому, що він десь неправий. Для цього використовуємо чіп послідовного порту, в нашому випадку під руками валявся 6850, але можна було використовувати і 580ВВ51. За СОМ-порту контролер може бути з'єднаний з будь-яким терміналом (хоч з телетайпних апаратом) або управлятися термінальної програмою з будь-якого комп'ютера (Hyperterminal з комплекту WindowsXP). Через послідовний порт контролер сприймає команди з клавіатури зовнішнього пристрою, кидає на зовнішній монітор свої повідомлення, через нього ж заливаються програми для подальшого функціонування контролера. А якщо використовувати конвертер СОМ-> Ethernet, то управляти «Аюшей» можна з будь-якої частини світу. Але це так, мрії…
Все! Зі схемою визначилися, а оскільки нам довелося дуже багато думати і нервувати, то треба заспокоїти нерви шляхом в'язання МГТФом…
 image
 
Вставляємо готовий контролер в корпус. Зрозуміло, що залишилося місце для подальшого розширення апарату.
 image
 
Основні коннектори і ручки управління виносимо на мордочку апарату. Маємо три паралельних порту, два канали від таймера ВІ53, причому один канал може управлятися іншим, якщо це буде потрібно, СОМ-порт для терміналу, вихід харчування терміналу або зовнішніх пристроїв, кнопка апаратного скидання, індикатор живлення і перемикач вибору прошивки ПЗУ.
 image
 
Що у нас вийшло по залізу? Отже, процесор 6502, 1 МГц тактовою (планується апгрейдити процесором 65С02 з тактовою частотою до 5 МГц — можна і більше, але, на жаль, 580ВВ55 перестане відповідати на подразники), 47К ОЗУ, 64К ПЗУ, поділене на 4 сторінки по 16К. Все це в невеликому корпусі і живиться трехамперним пятівольтового адаптером від відомої D-фірми.
 image
 
Добре, з залізом ми визначилися, залишилося оживити «Аюшу» за допомогою вбудованого програмного забезпечення. Оскільки згадані на початку статті * Дуіно використовують діалект мови Сі, то тут сам творець велів, на честь п'ятдесятиріччя, використовувати мову програмування Бейсік. Оскільки в Мережі є посилання, що дозволяють створити свій діалект мови, використовуємо їх, і ось тепер «Аюша» спілкується з нами на нормальному староанглійській.
 image
 
От і все для початку, тепер ми можемо «смикати пінамі» за допомогою команди POKE, дізнаватися що трапилося з допомогою команди рейок, зберігати результати роботи на «великого брата» і покласти якісь функції на контролер, спростивши наше життя.
Наступним кроком проекту буде створення простого «залізного» терміналу (адже якось нецікаво для роботи з малюком використовувати потужний комп'ютер) з можливістю збереження і завантаження програм на касету / диктофон / стільниковий телефон. Також цей термінал може бути корисний нам для роботи з іншими пристроями, програмованими або спілкуються з користувачами через послідовний порт. Але це буде вже інша історія…
 
Ознайомитися з повним описом «Аюші» можна на сторінці проекту, www.qsl.net/rw6hrm/html/6502.htm . Там же будуть викладатися його модифікації, нові вузли і програми, вказані джерела інформації для тих, кому подобається процесор 6502, звідки взяти по ньому початкову інформацію. А якщо хтось вирішити повторити схему, то прошу ставиться до неї як до збірки ідей, а не як до остаточного рішення.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.