Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/405: Рейтинг темы: голосов - 405, средняя оценка - 4.97
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
1

Бит-банг тестер

29.10.2010, 20:46. Показов 74160. Ответов 141
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые товарищи программисты софта!

Сформулирую тут идею, которую таскаю уже пару недель по разным темам - пока без особого внимания. Возможно, "выделенка" поможет не маскировать суть вопроса и дело сдвинется, как сказал уважаемый zyxmom в другой ветке.

Итак, о чем речь. Мы все любим время от времени сделать-купить новый программатор. Его первый запуск - это проверка и железки, и программы (все ли там дрова стоят, все ли пучком мы задали и т.д.), и соединений между компом и программатором, между программатором и таргет-девайсом... Всегда ли все с первого раза чики-пики? Смею утверждать, что чаще не с первого...
А ведь наши нетерпеливые коллеги часто задачу усугубляют портвейном одновременным запуском и таргет-платы! Тады уж полный капец - не знаешь, где же та причина, по которой комп матерится или просто огоньки, блин, не бегают по положенным дорожкам :)
Посмотрите по форуму - такие ситуации часто-густо!

А добавьте еще одну программаторско-порожденную засаду: "умершие" МК. У каждого, небось, уже кладбище таких чипов. Что с ними не так? Часто не знаем. Шилось-шилось, не зашилось. И "бездыханность" не всегда признак летальности. Может его еще и можно оживить, да только как? Уже высоковольтный программатор искать али где?

Вот такие ситуации и сподвигнули меня на поиски способа творить с МК некоторые шаманские действия, причем именно те, которые ХОЧИЦЦА, на которые хватило фантазии, со скоростью, которую я сам выбираю. А не быть в заложниках у узкозаточенных на непосредственно программирование устройств и программ.

Тут вариантов немеряно. Думаю, коллеги могут привести и чегонить похитрее, чем ЩАС предложу. Но... пока коллеги разминаются красненьким, нет, упражняются словоблудием в курилке, нет, заняты более важными делами, я свою концепцию изложу.

Проще всего взять простой безмозглый битбанговый программатор. Или с мозгами, но они в этом случае только заменяют FT232, т.е. последовательности импульсов на ногах программирования определяются полностью софтом компа. Верно я понимаю?
В таком программаторе с помощью стандартного софта, скажем любимой ДУДКИ, ноги RESIT, SCK, MOSI дрыгаются для создания стандартных посылок на МК, а в ответ наблюдается нога MISO. И вот, когда что-то не так, мы и начинаем ломать голову, что за х*ня...
А теперь представьте, что я ничего не отключаю, аппаратно точненько все так подключено, как только что при (безуспешной) попытке зашить ДУДКОЙ, но запускаю некую софтинку, которую назову ТЕСТЕР.ЕХЕ

И вот эта програмулька умеет подавать на назначенные ноги СОМ-порта (истесна, с полной свободой выбора конкретных номеров) любую последовательность и в любом темпе (хоть до постоянного тока) и любое количество раз. Это ж какой класс! Можно проверить тестером, что доходит до МК, можно зациклить посылку и рассмотреть осциллоскопом, можно просто задать ту последовательность оху невероятной длины (читать из файла, например) и просто зашить нечто полезное. А что, кто знает формат SPI - так 2 пальца об асфальт какие-нить фузы передернуть.
Одним словом, делай со мной шо хочь! Сбываются эротические мечты юности :)

Как это сделать? Да фиг его знает! Знал бы - сделал. Думаю, что среди нас есть много ребят, которым такая задача по плечу. Ну, если кому покажется слишком простой, то можно и развить: научиться читать XML-описания контроллеров и, через это, просто шить по-взрослому. Или вообще научиться настраиваться на разные семейства процессоров. Но все это, ИМХО, излишества. Переплюнуть ДУДКУ можно - но зачем?
А вот дополнить арсенал эмбеддера таким тестером - святое дело.

Что скажете, други? У меня уже налито, отвлекусь маленько
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2010, 20:46
Ответы с готовыми решениями:

Поменять местами значения бит в заданном количестве пар бит. Номера бит в парах задаются с клавиатуры
1.Разработать алгоритм ввода с клавиатуры требуемых типов данных и показать на экране их внутреннее...

Поведение дочерних окон 32 бит MDI приложения под Windows 7 64 бит
Все было хорошо с приложением под 32 бит Windows XP в течение 2-х лет. После установки программы на...

Самые часто встречающиеся 24 символа кодировать по 5 бит. А все остальные по 10 бит
Требуется: самые часто встречающиеся 24 символа кодировать по 5 бит. А все остальные по 10 бит....

При сложении по модулю два двух чисел по 48 бит пропадает 1 бит
Здравствуйте, помогите пожалуйста. В этой строке пропадает 1 бит, т.е. должно быть 48, а их 47. R...

141
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
13.11.2010, 20:35 121
Author24 — интернет-сервис помощи студентам
Тоже самое , файл такой-то не найден.
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,364
13.11.2010, 20:43 122
Это библиотеки Билдера.
0
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
13.11.2010, 22:21 123
Цитата Сообщение от dsodir
библиотеки скомпилить забыл, наверное
Скорее забыл включить их в состав экзешника (в опциях галочку поставить).
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
13.11.2010, 22:25 124
Канадский олень с Хогардом всю водку скушали. Вот и пришлось закусывать йентим самым vcl60.bpl ...
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
13.11.2010, 22:35 125
Драные библиотеки. Их конечно можно отдельно качнуть, но ща скомпилю в файл.
0
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
13.11.2010, 22:37 126
Вот, кидайте в папку с тестером и наслаждайтесь
0
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
13.11.2010, 22:41 127
Ещё одно говно. Теперь какой то другой файл не найден!
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
13.11.2010, 22:47 128
НОВАЯ СЦЫЛКА - https://docs.google.com/leaf?id=0B1wk0R ... YTdj&hl=en
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
13.11.2010, 23:34 129
Работает! Ставит линии в 0-1 и читает входы. Ну, до посылки последовательности еще надо подпилить надфилем...
0
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
13.11.2010, 23:42 130
Цитата Сообщение от drvtos
Работает! Ставит линии в 0-1 и читает входы. Ну, до посылки последовательности еще надо подпилить надфилем...
Кто работает, прогер или тестер?
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
13.11.2010, 23:56 131
А! Еще и прогер? Де нет, нечем сейчас проверить. Ну я ж тебе сказал, этот прогер я держу исключительно для поиграться с тестером. Вон завтра или послезавтра придет Otixokrat - пробнем мегу16 зашить. Или принесу домой ченить микропроцессорное...
0
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
14.11.2010, 00:09 132
Да , попробуем настрогать мегу.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
15.11.2010, 18:04 133
Уточним - SPI Посылки подразумевают реакцию на ответ подопытного (например МК)? Если да, то это не совсем зацикливание получается.

Может реализовать такую фичу, как ввод определённого байта и "долбление" им какой-либо бит порта бит-банг?

Например порт D0, байт 0b10101010 (0xAA), скорость Х бит в секунду и вперёд.
Только не совсем понимаю целесообразность такого.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
15.11.2010, 18:29 134
Цитата Сообщение от ridsot
Уточним - SPI Посылки подразумевают реакцию на ответ подопытного (например МК)? Если да, то это не совсем зацикливание получается.

Может реализовать такую фичу, как ввод определённого байта и "долбление" им какой-либо бит порта бит-банг?

Например порт D0, байт 0b10101010 (0xAA), скорость Х бит в секунду и вперёд.
Только не совсем понимаю целесообразность такого.
Попробую изложить, как я вижу. "Зациклить" я имел в виду именно посылку SPI-команды:

Правильно дрыгнуть РЕСТЕТом (там как-то он связан с начальным состоянием SCK, но в конце концов он упадет в ноль)
После этого стучать SCK, продвигая при этом на линию MOSI "заказанный" байт
После этого можно поднять РЕСЕТ, сделать паузу (по РЕСЕТу синхронизироваться осциллом удобно) и - все сначала.

Можно, в принципе, читать при этом MISO и где-то на мониторе выводить переданный - принятый байты после каждой посылки. Можно наблюдение оставить осциллу (хотя это фи!)

А еще лучше - законченную 4-х байтную SPI команду(например АС 53 00 00).

Понимаешь? Подопытный отвечает или нет - а мы тупо стучим ему раз за разом. И Обсматриваем :)
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
15.11.2010, 22:08 135
Вариант исполнения -
Выбираем на какой пин (Бит порта)будет выводиться тактирующий сигнал, опять-же с установленной нами частотой
далее
К каждому свободному пину, который выбран как выход, привязана строка. В данную строку вводим последовательность байт, вывод которых синхронизирован с тактирующим сигналом.
Если на определённом пине нужен "сигнал" на удержание РЕСЕТ - вписываем нужное количество нулей.

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

Чёто такое.

Кстати программирование "Бит-Банг" очень схоже с программированием портов МК.
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
15.11.2010, 22:50 136
Цитата Сообщение от ridsot
К каждому свободному пину, который выбран как выход, привязана строка. В данную строку вводим последовательность байт, вывод которых синхронизирован с тактирующим сигналом.
...
Кстати программирование "Бит-Банг" очень схоже с программированием портов МК.
Да, ты именно в 1том направлении и смотришь. Может быть, это и более универсальный подход - писать строки нулей и единиц на каждом выходе.

Например,
1111000000000000000000000000011111
0000011001100110011001100110011011010101010
0000011110000111111110000111100001111

Но трудно не ошибиться.
А если просто принять, что мы выдаем команды SPI, причем именно для программирования АВР МК, то последовательность можно задавать саму команду, типа АС или 53 или АС 53 00 00. А твоя прога уже будет знать, что эту последовательность по байтам, по битам надо выдать в MOSI, а ДО ТОГО дрыгнуть и держать РЕСЕТ, а ВО ВРЕМЯ каждого бита MOSI дрыгнуть SCK и принять MISO.

Будет не так универсально (заточено на АВР-программирование), но удобно.

Что скажешь?

А что-то мы давно не слышали начальника транспортного отдела...
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
16.11.2010, 01:05 137
Нас уже цицируют. Сливи не за горами. Поднажмем!
0
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
16.11.2010, 23:36 138
Только что нашёл время скачать тестер 1,0!Б! Работает!

Но что за красный - чёрный ? ХЗ.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
17.11.2010, 01:22 139
Цитата Сообщение от otixokrot
Только что нашёл время скачать тестер 1,0!Б! Работает!

Но что за красный - чёрный ? ХЗ.
НУ ты ЖЖош. Красный\чёрный это состояние на входе, если пин выбран как вход. Он, квадратик, ведь становится красным или чёрным только когда устанавливаешь пин как вход, иначе квадратик белый.

ЗЫ: Если пин вход - он автоматом подтягивается к VCC, т.е СИГНАЛ, это когда пин на GND.
0
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
22.11.2010, 20:13 140
Для страждущих - Процесс написания "тестера" не остановлен. Каждый день, после работы, делаю как минимум по одной функции для новой версии.
0
22.11.2010, 20:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2010, 20:13
Помогаю со студенческими работами здесь

Поделить строку на блоки по 12 бит и заменить в каждом блоке случайный бит
На входе есть строка типа string, каждый символ нужно перевести в последовательность битов, и эту...

Замена процессора с 32-бит на 64-бит в ноутбуке Acer TravelMate 4672LMi
Здравствуйте. Нужно сделать апгрейд ноутбука Acer TravelMate 4672LMi, там стоит чипсет - Mobile...

Сделать в числе n циклическую перестановку четных бит на k бит вправо
Написать программу, которая позволит ввести два числа n и k типа ulong с клавиатуры, напечатать их...

Поменять местами значения бит в заданном количестве пар бит
есть задание нужно поменять местами значения бит в заданном количестве пар бит. Номера бит в парах...

В заданном массиве из 10 слов, в каждом элементе бит 5 установить в 1, а бит 2 поменять на противоположный
Доброй ночи! кто может помочь с задачкой? В заданном массиве из 10 слов, в каждом элементе бит 5...

Подскажите какую аппаратную платформу с моим железом ставить? 64-бит или 86-бит !
Народ всем здравствуйте!!! Вчера обновил железо на своей машине! Проц. AMD Athlon II X4 631 для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
140
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru