чего б не запариваться и не взять нормальный современный арм? там и скорость, и усб и все что угодно.
чего б не запариваться и не взять нормальный современный арм? там и скорость, и усб и все что угодно.
Дайте ссылку посмотреть.
Да не очень я и запариваюсь. Век живи - век учись. Только ассемблер для атмег мне проще изучить, чем ARM. За всю жизнь приходилось писать простые программы на пяти ассемблерах для:
- КР580ВМ80А (Радио-86РК)
- Z80A (Спектрум)
- AT89S53 (МК ATMEL)
- PIC16F84 (MK MICROCHIP)
- INTEL x86 (PC)
Не думаю, что еще один изучить будет трудно. Мне от контроллера нужны только элементарные устройства: память, порты ввода-вывода и таймер.
Уже изучил:
- Как составить таблицу векторов прерываний
- Как установить стек
- Как записывать в порты
- Как считать байт из таблицы знакогенератора
Нашел книжку по ассемблеру, скачал простейший редактор и подключил его к ассемблеру из AVRSTUDIO4.
А USB-HOST VNC2, наверно, современнее, чем ARM-ы, и по возможностям им не уступает:
- Частота 48 МГц
- Dual USB 2.0 Host / Slave controller.
- Embedded 16-bit Harvard architecture MCU core, with 256KBytes of Flash memory and 16Kbytes RAM.
- 2 x Full-Speed / Low-speed USB 2.0 ports supporting Host or Slave operation.
- Programmable UART interface, supports up to 6MBaud transfers.
- 8-bit wide FIFO interface.
- 2 x SPI slave interfaces, 1 x SPI master interface.
- PWM (Pulse Width Modulation) interface.
- 4 channel DMA controller, and general purpose timers.
- Enhanced features with Vinculum Software Tool Suite
- Based on royalty-free flexible ‘C’ based Integrated Development Environment.
- Includes compiler, drivers and RTOS kernel to support user firmware development.
- Debug interface for real-time hardware based code debug.
- Pre-compiled libraries for several USB classes including FAT file system support.
Есть бесплатная среда разработки с примерами и драйверами, а также стандартные откомпилированные прошивки для добавления USB-HOST в существующие проекты. Потом буду подключить его к Спектруму.
То есть его тоже можно использовать в качестве управляющего контроллера. Только я пока не хочу лезть в дебри RTOS - мне проще использовать стандартную прошивку с монитором USB и добавить нужные функции с помощью простого контроллера.
Тем более, подобные функции потом будет выполнять и Z80.
Последний раз редактировалось zx-kit; 08.08.2012 в 10:53.
"L-256"
я в современных не очень ориентируюсь, поищите stm32f10x, там от самых слабых до мощных. и это не старее VNC2, мне кажетсянарод, по крайней мере, юзает их только так, и писать там надо на си, нечего искать проблемы там, где их нет (там и на си скорости хватит с запасом). статьи на русском тоже можно найти, в целом, это мэйнстрим, в отличие от VNC2.
http://easyelectronics.ru/category/arm-uchebnyj-kurs
Цикл статей. Начало снизу.
В комментах после статей там тоже много полезной инфы.
Последний раз редактировалось AIS; 08.08.2012 в 23:25.
Да не стоит ради простого устройства изучать ARM. И вот цитата об этом из вводной статьи:
У меня как раз задача простая, нужны только порты ввода-вывода, ОЗУ и таймер. Поэтому для меня достаточно изучить AVR, которые я давно мечтал изучить, но для меня было достаточно возможностей PIC. Теперь есть повод заняться изучением. Тем более ATMEGA8515 у меня есть в наличии в корпусе DIP-40. Программаторов аж 2 типа: ByteBlaster MV и USB-UART. Есть книги Ю.Ревича и А.В.Евстифеева. Плюс в любой момент могу обратиться за помощью к гуру на этом форуме.С другой стороны, если посмотреть на новые восьмиразрядники, такие как ATxMega, то фарша там тоже хоть ложкой загребай, причем по ряду показателей периферия превосходит ту, что стоит в конкурирующей ARM линейке. Плюс привычное окружение и паяемые корпуса.
Плюс надо учитывать, что в любительских разработках эта мощность нафиг не нужна. Потому как там где ее надо много (потоковая обработка, КПК всякие, промышленные компы), гораздо дешевле и качественней оказывается купить готовое решение. Спаять самому КПК конечно можно, но по результату, качеству исполнения и затратам он даже рядом не будет валяться с копечным ширпотребным поделием из Китая.
Так что если электроника это не более чем прикольное хобби, то дергаться смысла нет — восьмиразрядников вам хватит еще всерьез и надолго. Плюс они гораздо проще в изучении, по ним навалом проектов, инструкций, примеров кода.
Вопросы, связанные с особенностями ATMEGA почти усвоил. Вот начал кодировать программу.
Пока только второстепенные команды по настройке прерываний, фонтам для индикатора и т.п.
PS. При просмотре исходников ширину табуляции установить 10.
Последний раз редактировалось zx-kit; 12.08.2012 в 12:52.
"L-256"
вставлю свои 5 копеек. Для данной задачи вполне можно на Си писать, производительность AVR позволяет. Плюс легче отладка. В Code vision, например, есть удобный конструктор для инициализации таймеров, прерываний, периферии и т.п. и куча полезных библиотек. А еще CodeVision дружит с Proteus что дает возможность симуляции и отладки
Продолжаю урывками писать программу USB-RECORDER.
Добавил динамическую индикацию для семисегментного индикатора и макросы для работы с портами-ввода вывода.
Форматирование текста переделал под ширину табуляции 8.
"L-256"
Чтобы изучить ARM нужно больше изучить и книг, примеров, документации. И докупить микросхемы, программаторы. Для такой простой задачи как моя - подойдет ATMEGA. Даже если изучу - большинство возможностей ARMа будет неиспользована. А тут уже почти наполовину готова программа.
Переписал динамическую индикацию, чтобы было понятнее. Добавил функции записи с компьютера в буфер и воспроизведения из буфера на компьютер.
"L-256"
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)