2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
|
|
1 | |
Бит-банг тестер29.10.2010, 20:46. Показов 74160. Ответов 141
Метки нет (Все метки)
Уважаемые товарищи программисты софта!
Сформулирую тут идею, которую таскаю уже пару недель по разным темам - пока без особого внимания. Возможно, "выделенка" поможет не маскировать суть вопроса и дело сдвинется, как сказал уважаемый zyxmom в другой ветке. Итак, о чем речь. Мы все любим время от времени сделать-купить новый программатор. Его первый запуск - это проверка и железки, и программы (все ли там дрова стоят, все ли пучком мы задали и т.д.), и соединений между компом и программатором, между программатором и таргет-девайсом... Всегда ли все с первого раза чики-пики? Смею утверждать, что чаще не с первого... А ведь наши нетерпеливые коллеги часто задачу усугубляют портвейном одновременным запуском и таргет-платы! Тады уж полный капец - не знаешь, где же та причина, по которой комп матерится или просто огоньки, блин, не бегают по положенным дорожкам :) Посмотрите по форуму - такие ситуации часто-густо! А добавьте еще одну программаторско-порожденную засаду: "умершие" МК. У каждого, небось, уже кладбище таких чипов. Что с ними не так? Часто не знаем. Шилось-шилось, не зашилось. И "бездыханность" не всегда признак летальности. Может его еще и можно оживить, да только как? Уже высоковольтный программатор искать али где? Вот такие ситуации и сподвигнули меня на поиски способа творить с МК некоторые шаманские действия, причем именно те, которые ХОЧИЦЦА, на которые хватило фантазии, со скоростью, которую я сам выбираю. А не быть в заложниках у узкозаточенных на непосредственно программирование устройств и программ. Тут вариантов немеряно. Думаю, коллеги могут привести и чегонить похитрее, чем ЩАС предложу. Но... пока коллеги разминаются красненьким, нет, упражняются словоблудием в курилке, нет, заняты более важными делами, я свою концепцию изложу. Проще всего взять простой безмозглый битбанговый программатор. Или с мозгами, но они в этом случае только заменяют FT232, т.е. последовательности импульсов на ногах программирования определяются полностью софтом компа. Верно я понимаю? В таком программаторе с помощью стандартного софта, скажем любимой ДУДКИ, ноги RESIT, SCK, MOSI дрыгаются для создания стандартных посылок на МК, а в ответ наблюдается нога MISO. И вот, когда что-то не так, мы и начинаем ломать голову, что за х*ня... А теперь представьте, что я ничего не отключаю, аппаратно точненько все так подключено, как только что при (безуспешной) попытке зашить ДУДКОЙ, но запускаю некую софтинку, которую назову ТЕСТЕР.ЕХЕ И вот эта програмулька умеет подавать на назначенные ноги СОМ-порта (истесна, с полной свободой выбора конкретных номеров) любую последовательность и в любом темпе (хоть до постоянного тока) и любое количество раз. Это ж какой класс! Можно проверить тестером, что доходит до МК, можно зациклить посылку и рассмотреть осциллоскопом, можно просто задать ту последовательность оху невероятной длины (читать из файла, например) и просто зашить нечто полезное. А что, кто знает формат SPI - так 2 пальца об асфальт какие-нить фузы передернуть. Одним словом, делай со мной шо хочь! Сбываются эротические мечты юности :) Как это сделать? Да фиг его знает! Знал бы - сделал. Думаю, что среди нас есть много ребят, которым такая задача по плечу. Ну, если кому покажется слишком простой, то можно и развить: научиться читать XML-описания контроллеров и, через это, просто шить по-взрослому. Или вообще научиться настраиваться на разные семейства процессоров. Но все это, ИМХО, излишества. Переплюнуть ДУДКУ можно - но зачем? А вот дополнить арсенал эмбеддера таким тестером - святое дело. Что скажете, други? У меня уже налито, отвлекусь маленько
0
|
29.10.2010, 20:46 | |
Ответы с готовыми решениями:
141
Поменять местами значения бит в заданном количестве пар бит. Номера бит в парах задаются с клавиатуры Поведение дочерних окон 32 бит MDI приложения под Windows 7 64 бит Самые часто встречающиеся 24 символа кодировать по 5 бит. А все остальные по 10 бит При сложении по модулю два двух чисел по 48 бит пропадает 1 бит |
0 / 0 / 0
Регистрация: 30.04.2010
Сообщений: 831
|
|
13.11.2010, 20:35 | 121 |
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
Регистрация: 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
|
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
Правильно дрыгнуть РЕСТЕТом (там как-то он связан с начальным состоянием 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
Например, 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
ЗЫ: Если пин вход - он автоматом подтягивается к VCC, т.е СИГНАЛ, это когда пин на GND.
0
|
0 / 0 / 0
Регистрация: 27.01.2010
Сообщений: 209
|
|
22.11.2010, 20:13 | 140 |
Для страждущих - Процесс написания "тестера" не остановлен. Каждый день, после работы, делаю как минимум по одной функции для новой версии.
0
|
22.11.2010, 20:13 | |
22.11.2010, 20:13 | |
Помогаю со студенческими работами здесь
140
Поделить строку на блоки по 12 бит и заменить в каждом блоке случайный бит Замена процессора с 32-бит на 64-бит в ноутбуке Acer TravelMate 4672LMi Сделать в числе n циклическую перестановку четных бит на k бит вправо Поменять местами значения бит в заданном количестве пар бит В заданном массиве из 10 слов, в каждом элементе бит 5 установить в 1, а бит 2 поменять на противоположный Подскажите какую аппаратную платформу с моим железом ставить? 64-бит или 86-бит ! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |