Оглавление:

Мозг робота: создайте одноплатный компьютер за вечер: 11 шагов
Мозг робота: создайте одноплатный компьютер за вечер: 11 шагов

Видео: Мозг робота: создайте одноплатный компьютер за вечер: 11 шагов

Видео: Мозг робота: создайте одноплатный компьютер за вечер: 11 шагов
Видео: Я Создал Свой Компьютер с Нуля! Он Работает! 2024, Май
Anonim
Мозг робота: создайте одноплатный компьютер за вечер
Мозг робота: создайте одноплатный компьютер за вечер

Закончилась память на вашем Picaxe или Arduino? Но компьютер - это слишком много для работы? Взгляните на этот одноплатный компьютер с открытым исходным кодом, который можно программировать на таких языках, как C, Basic, Forth, Pascal или Fortran. На этой плате используются недорогие микросхемы и специально используются большие микросхемы, поэтому ее легко паять. Он использует операционную систему под названием CPM, работающую на Z80, которая была популярна в конце 1970-х - середине 1980-х годов. В результате доступен как минимум гигабайт программного обеспечения, включая языки программирования, программы для работы с электронными таблицами и текстовые процессоры. CPM - это текстовая операционная система и простая версия DOS. Эта плата идеально подходит, если вы создаете очень сложный робот или систему домашней автоматизации и постоянно обнаруживаете, что однокристальные компьютеры, такие как pics, arduinos и atmegas, просто не имеют объем памяти. Современные технологии означают, что жесткие диски и дисководы для гибких дисков могут существовать на отдельных микросхемах памяти, а компьютеры, которым раньше требовалось трехфазное питание, теперь могут быть эмулированы на плате с питанием от батарей. Ряд плат N8VEM строится по всему миру. от группы дружелюбных энтузиастов https://groups.google.com.au/group/n8vemBoards - это проект с открытым исходным кодом, и вы можете создать его самостоятельно или купить его у энтузиаста в США по себестоимости (20 долларов США). Эпромы можно приобрести предварительно запрограммированными, или вы можете запрограммировать свои собственные. Давайте соберем один и посмотрим, на что он способен …

Шаг 1. Присоединяйтесь к группе Google

Присоединяйтесь к группе Google
Присоединяйтесь к группе Google

Вы можете просматривать группу https://groups.google.com.au/group/n8vem, но если вы отправите запрос на присоединение к группе, вы сможете участвовать в обсуждении. Есть библиотека файлов и множество картинок рабочих плат. Несколько недель назад я отправил группе сообщение и попросил присоединиться. Я заказал доску, и она прибыла через неделю, что довольно быстро из США в Австралию. У меня не было много деталей, так что я получил список деталей здесь https://n8vem.googlegroups.com/web/TestPrototype_BOM_PART-LIST.lst?gda=6DMrhVQAAABRoI8ydU505jGCwGWcAnRLVYTZaCdyJias028kLbDjM7mHeIlRNZNuWyWm5kKNAJr2D8gD3ctlIYKczaAghgqdUwk_6Qi3BU8HCN0q6OYwM6JXPqrFQS5SIfKND7QsaYYQuite несколько магазинов имеют части, в то числе Digikey, Jameco и Futurlec. Все логические микросхемы указаны как части LS. LS - это немного старая школа, и чипы потребляют больше энергии и прогреваются. Я заменил все чипы LS на более современные HCT. HCT напрямую совместимы, но потребляют гораздо меньше энергии. Точно так же я выбрал CMOS Z80, CMOS UART (16C550) и чип ввода / вывода CMOS (82C55). Плата прибыла примерно в то же время, что и детали, и пора было приступать к пайке.

Шаг 2: припаяйте плату

Припаиваем плату
Припаиваем плату

Пайка прошла довольно легко и заняла полтора часа. Я решил вставить большие микросхемы, а меньшие впаять напрямую. Самая большая проблема заключалась в том, чтобы немного согнуть все штырьки микросхемы, чтобы они вошли в плату. Есть микросхема часов реального времени, которая мне не нужна, поэтому я ее не упомянул. Его можно будет добавить позже. Еще я поставил на свою плату штекер постоянного тока и стабилизатор на 5 В. Эта плата настолько эффективна, что даже радиатор на регуляторе не нужен. Я запустил его от стенной бородавки 9 В. На окошке ЭПЗУ есть этикетка, иначе он может стереться, если выйдет на солнце. Схема находится здесь https://n8vem.googlegroups.com/web/Printing+TestPrototype- sch.pdf? gda = MaRhCFMAAABRoI8ydU505jGCwGWcAnRLnTJP08ZxIX8TVeSmRPYsxGLTiGlLa5mMzgNTsMYdvKCD3Kr1rUv-XML38vqpBkuybcV, чтобы эта плата не понимала эту схему. Но мне было полезно сравнить с моим первым компьютером, на котором было 8 чипов RAM, чтобы получить 64 КБ. На этой плате полмегапикселя на одном чипе. Процессор - Z80. Z80 произошел от чипа 8080, а 8080 также породил 8086, от 80286 до 80586, который назывался Pentium, потому что патентное бюро заявило, что вы не можете запатентовать номера. Инструкции машинного кода 8080 в Z80 все еще существуют на современных ПК.

Шаг 3: запрограммируйте Eprom

Запрограммируйте Eprom
Запрограммируйте Eprom

Если вы не хотите программировать eprom, вы всегда можете купить запрограммированный, когда получите плату. Но я подумал, что могу использовать запрограммированные эппрома в некоторых других проектах, поэтому у меня есть программатор и ластик. Раньше они стоили тысячи. Но я купил программатор за 34 доллара, включая доставку (поиск программатора eprom на ebay), а ластик стоил 25 долларов, включая доставку. Программатор поставляется со своим собственным программным обеспечением, и если вы сообщите ему номер чипа, он даст вам представление о том, как вставить чип и установить все переключатели. Eproms пустые, но я запрограммировал один, затем стер его на 5 минут и перепрограммировал, просто чтобы убедиться, что все работает. Весь образ ROM находится здесь https://n8vem.googlegroups.com/web/ROMIMAGE.zip?gda = 5RkX1kEAAABRoI8ydU505jGCwGWcAnRLTpwShSoH8O7HvxGhdHl1lXeXmbZQXujx0V3ulhJIKNrhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hm и некоторые полезные файлы операционной системы. Это похоже на ваш установочный диск XP, за исключением того, что он входит в микросхему. Разархивируйте файл, запустите программатор, загрузите файл.bin и запрограммируйте чип. Вы можете прочитать данные, чтобы убедиться, что они прошли. Единственная загвоздка этого программатора в том, что ему нужен параллельный порт. Некоторые новые ПК не имеют параллельного порта. Я сделал себе удлинительный кабель параллельного порта, чтобы мне не приходилось тянуться за ПК. Он состоит из вилки IDC D25, розетки IDC D25 и двухметрового ленточного кабеля. С помощью тисков прижмите штекер к разъему. Приобретенный мной программатор willem не показывает все настройки, необходимые для программирования 1-мегабайтной eprom. Слева от микросхемы внизу нужно переставить перемычку. Однако настройки находятся в руководстве, которое представляет собой файл Willem PCB5.0 Manual.html в разделе руководства. Здесь гораздо больше подробностей о настройках.

Шаг 4: Подключите последовательный кабель

Подключите последовательный кабель
Подключите последовательный кабель

Если вы вернетесь к шагу 2, вы увидите последовательный кабель на картинке. Это состоит из трех частей: 1) Мой удлинитель, который идет с задней стороны ПК. Это радужный кабель. Я построил его так же, как и удлинительный кабель для программатора, за исключением того, что в нем используются вилка и розетка D9 IDC. Действительно полезно не тянуться все время за компьютером. Удлинитель имеет гнездо на одном конце и штекер на другом. 2) Нулевой модем. Это связь между женщиной и женщиной. Я получил схему отсюда https://www.beyondlogic.org/serial/serial.htm (прокрутите немного вниз). По сути, нуль-модем соединяет контакты 7 и 8, соединяет контакты 1, 4, 6 и меняет местами контакты 2 и 3. Затем 9-контактное соединение становится 3-проводным - заземление, передача и прием данных. Это как бы упрощает RS232. 3) 10-контактный разъем на плате к штекерному разъему D9. Подробнее об этом на следующей странице. На схеме мужской D9 слева подключается к ПК. Нулевой модем представляет собой соединение «мама-мама» с подключениями в штекерах. Я мог бы подключить все это к намного меньшему количеству вилок, но я буду использовать нуль-модем в других проектах.

Шаг 5: Подключите серийный заголовок

Подключите последовательный заголовок
Подключите последовательный заголовок

Разъем на плате предназначен для подключения к 9-жильному ленточному кабелю IDC, а затем к штекеру D9. Единственная хитрость заключается в том, что 10-контактный разъем предназначен для подключения 10-контактного ленточного кабеля. Если вы используете 9-жильный кабель, то для недостающего провода останется зазор. Я сделал крупный план, чтобы прояснить это. Если вы подключите его правильно, то контакт 1 на плате перейдет к контакту 1 на D9. Контакт 5 на D9 должен быть подключен к земле на плате. Если эти два соединены, остальные провода тоже будут в порядке.

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

Шаг 6. Загрузите программное обеспечение

Скачать некоторое программное обеспечение
Скачать некоторое программное обеспечение

Нам нужно какое-то программное обеспечение на плате, и, прежде чем мы сможем загружать программы, нам понадобится программа для модема. Мы будем использовать xmodem, стандарт, который существует уже много лет. Xmodem существует как программа CPM, и она существует во многих формах в программах для ПК, таких как гипертерминал. Таким образом, мы можем использовать это для связи между старой и новой технологиями. Давайте захватить шестнадцатеричный файл XMODEM отсюда: https://n8vem.googlegroups.com/web/xm50_LB1.zip?gda=O2tYn0EAAABRoI8ydU505jGCwGWcAnRL1RQ8Aj5bHZQJ6hxcf7VyVbwBih-m421sIN3Oibiyd_vhtrFcBixfottYTQUy-Muj7WbB0sVAO2Hmgtm1PE2xNgUnzip, и вы получите два файла. Вам нужен тот, который заканчивается на.hex. Теперь нам нужно отправить это на доску. Вам понадобится терминальная программа, которая имитирует монитор и клавиатуру для этого одноплатного компьютера. В Windows есть один, называемый гипертерминалом, который обычно прячется в папке «Пуск / программы / аксессуары». Или вы можете использовать гипертерминал приват. Или Тератерм. Или абсолюттельнет. Или программа на основе dos под названием conex. Существует множество программ для терминалов, потому что именно так вы выходили в Интернет до появления широкополосного доступа. Давайте запустим гипертерминал. Это даст вам три экрана, и вам нужно, чтобы все настройки были правильными! После того, как вы ввели его один раз, вы можете сохранить этот сеанс, и он создаст небольшой файл, заканчивающийся на.ht. Если вы затем щелкните этот файл (перетащите его на рабочий стол, чтобы найти его позже), он запустит гипертерминал со всеми правильные настройки. Первый экран = название соединения. Назовите его SBC и выберите значок. Второй экран. Установите ком порт. На моем компьютере по умолчанию используется COM2 на экране настройки, и его нужно изменить на COM1. Перейдите к COM1. Третий экран. Скорость передачи и т. Д. Установите бит в секунду на 9600. 8 бит данных. Четность до Нет. Стоповые биты равны 1. И Управление потоком - Нет. Вероятно, вам нужно будет только изменить биты в секунду и управление потоком. Теперь вам будет представлен экран терминала. Подключите плату к последовательному порту и включите ее, и вы должны получить приветственное сообщение. Если нет, то войдите в группу Google и попросите помощи. Пришло время поговорить с доской!

Шаг 7: Загрузите Xmodem

Скачать Xmodem
Скачать Xmodem

Если вы купили чип оперативной памяти с батарейным питанием, вам нужно будет сделать это только один раз. На самом деле, другие работают над тем, чтобы поместить это на чип eprom, поэтому вам, возможно, вообще не понадобится делать это в самом ближайшем будущем. В командной строке> введите h

Больше ничего не печатайте. Не вводите Enter. Просто один h в нижнем или верхнем регистре. Курсор переместится на одну строку вниз, но больше ничего не произойдет. Теперь щелкните в верхней части программы гипертерминала в меню «Перевод». Щелкните Отправить текстовый файл. В поле «Имя файла» с помощью обзора найдите загруженную шестнадцатеричную копию xmodem. Он называется XM50LB1. HEX. Вам может потребоваться изменить поиск по умолчанию для *.txt на *.hex, чтобы найти его. Нажмите «ОК», и в течение 30 секунд на экране появится множество цифр. Подождите, пока они остановятся. Затем нажмите букву c еще раз без ввода. Подождите 2 секунды, и вы перейдете в режим CPM с подсказкой A>. Теперь введите следующее и нажмите Enter: Save 40 b: xm.com Теперь введите B: и введите, чтобы перейти на диск B, и вы получите приглашение B>. Теперь введите DIR и введите, чтобы вывести список файлов. На этом компьютере три диска: A, B и F. Вы можете увидеть, что находится на каждом из них, набрав букву диска, затем двоеточие, затем введите, а затем DIR. На картинке показан снимок экрана.

Шаг 8: возьмите программное обеспечение

Возьмите какое-нибудь программное обеспечение
Возьмите какое-нибудь программное обеспечение

Есть много программного обеспечения для CPM. Например, https://www.loomcom.com/cpm/cpm_cdrom/https://www.gaby.de/ecpmlink.htm Но давайте попробуем что-нибудь простое. Давайте начнем с Basic, чтобы сложить пару чисел и распечатать ответ. Для этого нам понадобится копия Basic. Существует множество копий, но давайте немного поговорим о симуляторе Альтаира. Эта небольшая программа представляет собой полную эмуляцию машины CPM, работающей на ПК. Он имеет большую программную библиотеку, удобно упакованную по частям размером с диск, и работает намного быстрее, чем настоящий компьютер CPM, что очень удобно при компиляции. Симулятор находится здесь: https://www.schorn.ch/cpm/intro.phpЗагрузите программное обеспечение и загрузите как минимум образ диска CPM2.2 и примерно на полпути вниз по странице базовый образ. Поместите их все в один каталог. Пока вы там, проверьте все другие языки, такие как C Cobal, Fortran, Pascal. Если вы запустите программу AltairZ80.exe, вы увидите окно dos. Если вы скачали файл basic.dsk, то можете запустить его с помощью команды Do basic в симуляторе. Затем DIR, чтобы перечислить файлы (которые находятся на диске A: и B:) Нам нужен MBASIC, и он находится на диске A. Чтобы скопировать его в каталог ПК, введите W MBASIC. COM, и это сохранит файл в каталог, в котором находится программа altair. Вы можете сделать обратное с помощью команды R, которая передает файлы с ПК на диски симулятора altair. Действительно, если вы хотите поиграть с CPM, это отличный способ сделать это без необходимости создавать или покупать что-либо. Если вы хотите сохранить файлы на виртуальном диске, выйдите из симулятора altair с помощью ctrlE (контрольная клавиша и E). Это выходит и сохраняет. Если вы не хотите сохранять какие-либо изменения, просто закройте окно с X в правом верхнем углу.

Шаг 9: переместите файл MBASIC. COM на доску

Переместите файл MBASIC. COM на доску
Переместите файл MBASIC. COM на доску

Перенесем Basic на доску.

В сеансе гипертерминала перейдите к диску B: и введите XM R MBASIC. COM, а затем введите. Это запустит программу xmodem, и она будет ждать прибытия файла. Теперь перейдите в меню гипертерминала и нажмите «Передача», а затем «Отправить файл». Найдите файл MBASIC. COM. В разделе протокола выберите Xmodem. В гипертерминале он третий вниз. Нажмите на «Отправить», и через несколько секунд файл уйдет. Это займет около минуты. Если это сработает, вы должны получить приглашение B>. Введите DIR, чтобы проверить его наличие. (Игнорируйте все буквы B> внизу экрана - я случайно несколько раз нажал клавишу ввода)

Шаг 10: запустите основной и напишите программу

Запустите основной и напишите программу
Запустите основной и напишите программу

Теперь мы можем запустить Basic на плате и написать небольшую программу. Например, mbasic10 A = 2020 B = 3030 C = A + B40 print «Ответ:»; CRUNSave «MYPROG», теперь у нас есть рабочий компьютер.

Шаг 11: компилируйте программу

Скомпилировать программу
Скомпилировать программу

Если вам действительно интересно, вы можете скомпилировать программу. Это создает.com (эквивалент.exe на ПК). Com-файлы могут запускаться как независимые программы и даже могут быть настроены на автоматический запуск при запуске платы. Теперь плата может функционировать как автономный контроллер, без необходимости подключения к ПК. Плата N8VEM может компилировать программы на плате, или вы можете использовать симулятор altair. Последний быстрее, но это не имеет особого значения. Если вы действительно хотите компилировать программы, вам понадобится следующее: MBASIC. COM, BRUN. COM L80. COM BCLOAD, BASLIB. REL И BASCOM. COMC немного отличается, но я думаю, что он все еще использует компоновщик L80. Посмотрите на снимок экрана, как написать, скомпилировать и запустить программу. И следите за обновлениями, потому что скоро появятся жесткие диски, мини-ЖК-дисплей, дисплей, использующий старый монитор vga https://www.tvterminal.de/index.html#english с интерфейсом клавиатуры, флэш-накопителем и вводом и выходные платы!

Рекомендуемые: