Jump to content

    

DanilinS

Участник
  • Content Count

    26
  • Joined

  • Last visited

Community Reputation

0 Обычный

About DanilinS

  • Rank
    Участник
  • Birthday 05/16/1971

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Еще вопросик "до кучи": Есть Gigabite Ethernet. По мануалу я должен банк на 2.5 вольт перевести. Собственно и Vivado об этом говорит: Но тут на глаза попадается схема макетки EBAZ4205: EBAZ4205/EBAZ4205-SCH.pdf Там и банк, интерфейс и чип LAN питается от 3.3 вольта. Разве так можно?
  2. Абсолютно. Он одни работают через MIO, а другие через логику AXI_GPIO. А я не могу понять причины этого выбора. Я могу понять дополнительную обработку сигналов в FPGA. Но зачем использовать AXI_GPIO для работы с кнопками и светодиодами? Если вся логика в проце крутится.
  3. Разобрался. Стал тыкаться в другие примеры и случайно увидел, что там вывод printf работает нормально! Далее анализ проектов, сравнение и поиск различий. Причина оказалась очень простой: отсутствие строки в начале файла. Если строки нет, то проект собирается без ошибки, но корректного вывода нет. Меня подвели кривые демонстрационные примеры из комплекта. Сейчас все работает отлично. И еще вопрос "до кучи": Все примеры по морганию светодиодами и опроса кнопок ( имеется в виду ARM ядром) написанные на С имеют 2 варианта. 1) Кнопки и светодиоды работают в режиме MIO. Соответственно программа напрямую ( через "xgpiops") опрашивает кнопки и зажигает светодиоды. 2) Использование AXI_GPIO. Соответственно в проекте появляется AXI_Interconnect с соответствующей обвязкой. Появляется bitstream. Работаем через функции "gpio.h" Какие принципиальные особенности каждого способа? Зачем городить дополнительный слой программной логики если я напрямую могу работать с выводами и периферией? Или там есть некоторые неочевидные особенности?
  4. Подскажите плиз новичку. Среда Vivado 2019.1 Отладочная плата - "голова" от Antminer. Чип xc7z010, microSD, DDR3L - 256M x 16, NAND Flash - 256M x 8, Gigabyte Ethernet Только начинаю осваивать, а потому такой вопрос: 1) Потихоньку осваиваю Vivado , написал первый "hello_world" 2) Программа нормально запускается, выводит нормально через USART. Освоил загрузку через "BootImage" на microSD и через JTAG. А теперь что не работает: 1) Я не вижу вывод print в консоле. Консоль подключена к USART1 2) Я не вижу вывод xil_printf. При этом вывод XUartPs_Send выводиться нормально. Почему так?. Примечание: На плате выведен только USART1. При описании железа на камне проброшен только USART1. По всем признакам print должен кидать в консоль. Но там тишина. Куда уходить вывод с print? В USART0? Но USART0 нигде не фигурирует. Если так - как переключить на USART1? Судя по всему вывод xil_printf завязан на BaseAddress. В system.hdf : ps7_usart_1 имеет адрес 0xe0001000. Соответственно при запуске BaseAddress имеет адрес 0xe0001000. Но ничего нет! Т.е. Я вижу вывод XUartPs_Send и не вижу xil_printf. Почему так? Хочу все видеть. Хотя конечно это не совсем правильно смешивать отладочный вывод и нормальный вывод в USART. Программа ( комментарии вырезаны для компактности): #include "xparameters.h" #include "xuartps.h" #include "xil_printf.h" #define UART_DEVICE_ID XPAR_XUARTPS_0_DEVICE_ID int UartPsHelloWorldExample(u16 DeviceId); XUartPs Uart_Ps; /* The instance of the UART Driver */ int main(void) { int Status; /* * Run the Hello World example , specify the the Device ID that is * generated in xparameters.h */ Status = UartPsHelloWorldExample(UART_DEVICE_ID); if (Status == XST_FAILURE) { xil_printf("Uartps hello world Example Failed\r\n"); return XST_FAILURE; } xil_printf("Successfully ran Uartps hello world Example\r\n"); return Status; } int UartPsHelloWorldExample(u16 DeviceId) { u8 HelloWorld[] = "Hello World"; int SentCount = 0; int Status; XUartPs_Config *Config; /* * Initialize the UART driver so that it's ready to use * Look up the configuration in the config table and then initialize it. */ Config = XUartPs_LookupConfig(DeviceId); if (NULL == Config) { return XST_FAILURE; } Status = XUartPs_CfgInitialize(&Uart_Ps, Config, Config->BaseAddress); if (Status != XST_SUCCESS) { return XST_FAILURE; } XUartPs_SetBaudRate(&Uart_Ps, 115200); while (SentCount < (sizeof(HelloWorld) - 1)) { /* Transmit the data */ SentCount += XUartPs_Send(&Uart_Ps, &HelloWorld[SentCount], 1); } return SentCount; } В Терминале на выходе: "Hello World". Строчки ""Successfully ran Uartps hello world Example\r\n"" в терминале нет.
  5. Спасибо. Опцию не нашел, но направление поиска подсказал. Сделал через опцию "-g UnusedPin" Bitstreram
  6. Можете подсказать, в каком состоянии у Spartan-6 выводы, которые я не прописал в проекте? У квартуса неиспользуемые выводы переключаются на выход и выставляется "0" (? - могу ошибаться) ( по умолчанию. можно переопределить поведение для неиспользуемых ног). А в Xilinx ISE Design Suite (Xilinx PlanAhead ) найти не могу.
  7. Есть несколько безперебойников. И один из них "сдох". По всем признакам чип TMS320F2812. Чип заменили. Естественно он "чистый". Теперь задача залить в него прошивку от хорошей платы. Разъем программирования распаян. CSS 3.3 чип видит и через программатор конектится (простейший программатор в LPT порт) Облазил всё - не могу сообразить как это сделать. View-Memory видит, позволяет сохранить выделенное в буфер. Но это просто текстовый снимок окна ..
  8. Сорри ... ошибся темой. Удалите плиз ...
  9. Насчет питания PIC - действительно напутал ...жара наверно виновата. Данная схема - часть устройства. Балбесы раздавили ЖК с контролером - и данная схема должна его заменить. ЖК был специализированный с специальным чипом управления. Контроллер - достаточно туповатый. Берет сигналы с входов и зажигает сегменты. Протокол управления практически расшифрован. Хочу собрать аналог. Хочу восстановить функционал. ЖК выбрана по габаратом (ограничение жесткое). Входа - чистая логика. 5 вольт. Длина шлейфа до основной платы - 3 см. Помех и наводок на шлейф не ожидается. В принципе ничего сложного. Брать цифровые сигналы с входов, обработать и вывести на дисплей. Веселее с подсветкой. В оригинале - стояла лампочка на 12 вольт и регулятор (с выключателем), который регулировал подсветку кучи барахла. Естественно городить огород с лампочкой не хочется. Есть модуль подсветки. А потому меряем входное напряжение подсветки и посредством ШИМ зажигаем подсветку.
  10. Господи ... Неужели в Вашем городе нет метрологической лаборатории?! Там есть поверенный эталон частоты и поверенные частотмеры. За скромные деньги они тебе померят и откалибруют прибор с нужной гарантированной точностью. Или ищи у прибористов нормальный поверенный эталон частоты. Не часто, но встретить можно. От него и пляши.
  11. Дабы не гадать на гуще прошу уточнить: 1) Датчики где расположены? На свежем воздухе? В помещении? В бетонном бункере на глубине в 100 метров? 2) Расстояние до датчиков? 3) Схема "Дерево"? С центральным устройством? 4) Датчики раскиданы хаотично? Или есть возможность передачи данных с использованием близлежащих датчиков как ретронсляторов? 5) Питание общее? Или автономное у каждого устройства? Как планируется обмен информацией между устройствами?
  12. А может автору и не нужно абсолютное время? Перед установкой собрать все коробочки в одном месте, соедениться по кабелю и синхронизировать кнопкой по "мастер-устройствам". А далее всё упирается в стабильность локальных часов. И раз в полгода-год обьезжать с эталоном точки измерения .... Да-бы погрешность не накапливалась :laughing: А 220 сеть у устройств общая? А то по 200 прекрасно можно сигнал синхронизации гнать.
  13. Тут приходят на ум следующие варианты: 1) + 1.5 - линейным, -1,5 LMC7660 (или аналог) без линейника. -1,5 стабилизировать ОС на чипе стабилизатора. 2) На 3 вольта посадить чип, на выходе которого будет ферритовое кольцо и 2-х полярный стабилизатор. Мини-импульсный блок питания.
  14. Лет 20 назад в радиокружке делал подобное. Датчик - простейший контактный. Пластина - поролоновый круг - пластина. В середине - кнопка от звонка. Ребенок сидит - кнопка замкнута. Игрушка - не замкнута, т.к. на хватает веса. И примитивная схема, которая считает замкнутые кнопки. Стулья соеденены с счетчиком проводами. Неужели через 20 лет это востребовано ;)
  15. Такое чувство, что кто-то случайно выложил последнее свое сообщение из конференции на 20 станиц. :)