-
Как поговорить с микросхемой из терминала по SPI?
от RW3XL Игорь 02 Нояб., 2016 18:28
-
Вопрос, наверняка, простой для тех, кто в теме, но для меня пока не решенный.
Задача проста: есть некое устройство, в которое надо загрузить по SPI несколько регистров. Конечно, можно (и нужно) написать загрузчик на чем-нибудь и вот оно-счастье. Но если взять тот же чип PLL, то содержимое некоторых регистров хотелось бы оперативно менять, чтоб, например, посмотреть как изменятся шумы и т.д. Есть для этого отладочные платы с красивым софтом, но... дорого и не под все есть. Хотелось бы что-то очень простое, дешевое, не требующее знаний в програмировании и удобное в использовании. Например, в простейшем случае что-то подключаемое по USB и с ПО, в котором есть поле DATA, где вводятся биты/байты для загрузки в устройство и кнопочка "Выдать".
Есть такое?
-
Ответ #1
от R3TGM Дмитрий 02 Нояб., 2016 18:44
-
да есть )почти для каждой микросхемы ФАПЧ есть отладочно-демонстрационные платы к ним софт идёт который есть на сайте производителя.Можете взять схему этой платы на том же сайте и сделать свою (повторить фактически ),но со своими особенностями какие вам надо и экспериментируйте долгими зимними вечерами ...........

это самый верный способ там у вас ошибок меньше будет ибо изначально всё работает , мудрить что то своё - это гораздо дольше - проверено опытом,знаний программирования там не надо . Тупо вбиваете в программе в окна регистров значения и нажимаете запуск,если что то неверное ввели то программа вам сообщит об ошибке. А что то простое - это контроллер и ваша микросхема ,но тут знания написания программы для МК нужны - вам это не подходит под ваши требования
-
Ответ #2
от RW3XL Игорь 02 Нояб., 2016 19:02
-
Дмитрий, есть, но дорого. Я понимаю такие цены если это конструкторская работа под массовое изделие, но у нас не так. К тому же зачастую приходится работать и раритетными вещами. К ним ничего нет. PMB2306 например )))
Я-то спрашивал про некоторое недорогое готовое устройство для универсального применения. Надо всего-то иметь возможность выдать сколько-то там бит по SPI. Неужели на тумблерах только? ))))
-
Ответ #3
от R3TGM Дмитрий 02 Нояб., 2016 19:10
-
Так а как вы по spi при помощи тумблеров выдадите - не получиться это протокол там идут синхроимпульсы по тактовому clk проводу шины ) а по проводу data идут информационные биты ,так же есть провод enable это сигнал при нуле (обычно ) разрешается приём устройством бит с провода data
-
Ответ #4
от RW3XL Игорь 02 Нояб., 2016 19:56
-
Так а как вы по spi при помощи тумблеров выдадите - не получиться
Получится, защиту от дребезга надо только. Три тумблера - EN, CLK и DATA. Нудно, но можно. Отвлекусь от темы, но раньше обслуживал я одну чудо-систему, где ключи были на 155РЕ3. Так вот программатор для этих ключей был именно такой: отдельно кнопки адреса, отдельно кнопки данных и кнопка "запись". Но сейчас-то времена другие!
-
Ответ #5
от R3TGM Дмитрий 02 Нояб., 2016 20:16
-
существует минимальная скорость на которой он работает .........если конечно микросхема поддерживает статический режим ввода - то может и реально )) но замудохаетесь ..... проще программирование освоить раз и навсегда
-
Ответ #6
от RW3XL Игорь 02 Нояб., 2016 20:23
-
Дмитрий, я умею написать загрузчик на ATTiny13 на ассеблере )))
Но переписывать ее каждый раз для экспериментов с регистрами PLL... можно, конечно. Вопрос и заключался в том, как оперативно выдать данные из компьютера (не из загрузчика) по SPI во внешнее устройство без отладочных device specific плат?
-
Ответ #7
от R3TGM Дмитрий 02 Нояб., 2016 20:36
-
не мучайтесь с компом ) а в вашем загрузчике - значения регистров выдавать - более лучший способ чем с компа ))Если ассемблер знаете - то Си быстро поднимете - пропишете через дерективу #define в заголовке текста программы - значения ваших регистров и меняйте её сколько хотите
#define N 20
int a[N];
int x;
void func (void)
{
int i;
for (i = 0; i < N; i++)
x += a;
}
после работы препроцессора будет выглядеть так
int a[20];
int x;
void func (void)
{
int i;
for (i = 0; i < 20; i++)
x += a;
}
-
Ответ #8
от RW3XL Игорь 02 Нояб., 2016 20:39
-
Советы все важны, спасибо Дмитрий!
-
Ответ #9
от R3KBF Петр 02 Нояб., 2016 20:46
-
ИМХО. Самое простое ПО - это терминалка типа Putty, т.е. под PC ничего писать не надо. И нужен микроконтроллер с SPI и UART (или USB) на борту, но тут надо будет писать код. Фактически это мост UART-SPI или USB-SPI. Наверно есть и другие варианты, но мне проще под МК прошивку написать. Если есть необходимость помогу. Пишите.
-
Ответ #10
от RW3XL Игорь 02 Нояб., 2016 20:50
-
Ээээх, а хочется как свободный художник выдать в шину BC0H, 251H, A02H и посмотрев на результат выдать BE0H и посмотреть, как изменившийся параметр повлиял на шумовые характеристики.
-
Ответ #11
от RW3XL Игорь 02 Нояб., 2016 20:51
-
Фактически это мост UART-SPI или USB-SPI
Петр спасибо! Вероятно это то, что я ищу. Буду читать!
-
Ответ #12
от RM5P 02 Нояб., 2016 20:55
-
Игорь, я использую arduino для таких вещей.
Код - три строчки, поменять регистры и перешить дело нескольких секунд. Все через USB.
Цена рублей 500, а то и меньше.