Поиск по сайту

Результаты поиска по тегам 'spi' в публикация обновлено за последние год.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • Batanik's блог
  • STEN50's блог
  • fant's блог
  • mazzi's блог
  • lagutai's блог
  • Блог администрации
  • MiSol62's блог
  • Программирование AVR и PIC блог
  • OPeX3's блог
  • welder's блог
  • VLAD1996B's блог
  • Nokian блог
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • sqait's блог
  • Dudok's блог
  • Goluboglazyi's блог
  • Mosfet@'s блог
  • Marchenkokerya's блог
  • Почти бесполезные проги
  • satyrn's блог
  • дядюшка Филин's блог
  • Фильм Дом Солнца
  • Gubernator's блог
  • VMWare удобство и безопастность
  • РВС's блог
  • РВС's блог
  • ekadom's блог
  • Lisovic's блог
  • zaregan's блог
  • The Sin3v.electro
  • Sem2012's блог
  • slava_va@mail.ru's блог
  • slava_va@mail.ru's блог
  • реобас
  • Светомузыкальная установка для новачков
  • lagutai's блог
  • MBM75's блог
  • vOVK@'s блог
  • azlk3000's блог
  • SmallAlex's блог
  • bebulo's блог
  • Блог им. pryanic
  • З
  • Zer's блог
  • MEDBEDb's
  • hiMiческий блог
  • luna_kamen's блог
  • Алекс-Юстасу
  • kot sansher's блог
  • доброжелатель2's блог
  • pavlo's блог
  • viper2's блог
  • Selyk's блог
  • kpush's блог
  • конни's блог
  • ptimai's блог
  • Az@t's блог
  • Sun kapitane's blog
  • Sun kapitane's blog
  • AleksandrBulchuck's блог
  • Vrednyuka
  • grigorik's блог
  • rtfcnf's блог
  • KRALEX's блог
  • SeVeR36's блог
  • Кардшаринг SAT ТВ блог
  • Ещо раз о "Кощее 5И"
  • FREEMAN_77's блог
  • VMWare удобство и безопастность
  • дямон's блог
  • дямон's блог
  • artos5's блог
  • ukabumaga's блог
  • Kraftwerk's блог
  • Kraftwerk's блог
  • мастерская ky3ne4ik'а
  • EmmGold's блог; AVR
  • Aronsky
  • Мастерская Радио-техника
  • Создание монстра "Blaster 8920"
  • vitiv' блог
  • Для начинающих
  • EmmGold's блог
  • Металлоискатель Tracker FM-1D3
  • ivan15961596's блог
  • ivan15961596's блог
  • Интернет радио в машину
  • Блог Плотникова Ильи
  • AI
  • Гаусс-пушки
  • 7400's блог
  • Віталік Приходько_130349's блог
  • Евгений Малюта's блог
  • werekpro
  • afurgon's блог
  • odaplus' блог
  • Zvik's блог
  • aleksey9900's блог
  • BoBka777's блог
  • Нашел статью о пайке проводов к светодиодов
  • OdiS' блог
  • Костик0's блог
  • OPeX3's блог
  • это не хлам – это часть моей жизни
  • aleksfil's блог
  • yureika's блог
  • Fumitox's блог
  • Самоделки блог
  • Блок питания 0-12В для начинающих
  • ульян's блог
  • Dimko's блог
  • SolomonVR's блог
  • Иван Самец's блог
  • gendzz's блог
  • Alexeyslav's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • lolo's блог
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • leravalera's блог
  • ideomatic's блог
  • Dersu's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • ciornii's блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • cosmosemo's блог
  • Простое радиоуправление из того, что было.
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Бложиг Касянича
  • Обо всём
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Devchenky - женский журнал
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,
  • Твори, выдумывай, пробуй.
  • Эксперимент
  • Неделя сметчика
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Создание Маленькой Мастерской
  • Китайские бренды видеокамер
  • Изучение, наладка, исследование
  • короткие записки по ходу дела
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket

Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Конкурс 2017
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Новости радиоэлектроники
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 11 результатов

  1. Всем привет. Существуют ли готовые модули для измерения мгновенных значений тока и напряжения (ток до 100 А, напряжение до 250 вольт)? Т.е. измерять нужно с частотой 1000-5000 герц, точность 14-16 бит, связь по SPI лучше всего. Вообще нужно хотя-бы 4 канала по току и 4 по напряжению. Но лучше, чтобы можно было на одну шину ставить несколько модулей, расширяя количество каналов. Обрабатывать данные собираюсь на STM32F104 (хотя с ним никогда не работал) или Arduino Due, но это не важно. Понятно что можно взять АЦП и шунт или делитель напряжения, но хотелось бы готовый модуль и уже с оптической развязкой. Подскажите если кто сталкивался.
  2. Здравствуйте поверхностный поиск в Яндексе не дал результатов решил обратится к вам суть в следующем: к мк с логикой 5в подключена карта памяти по spi с логикой 3.3в через буферный элемент здесь все в порядке поскольку сигнал от карты памяти 3.3в из за длинны шнура он теряется и становится ниже уровня лог 1 контроллера 5в вопрос как простым методом усилить его до 5 вольт чтоб он не терялся предполагаю биполярным транзистором но по какой схеме? у меня есть такой он подойдет? http://uamper.com/products/datasheet/2N2222.pdf благодарю.
  3. Использую библиотеку HAL Вроде поднял SPI (как проверить не знаю) . Пытаюсь переписать существующию библиотеку для ардуино под стм но все что выдает SPI либо 0x00 либо 0xFF =( иногда пробегают цифры но это скорее случайность. Может кто объяснить в чем может быть причина? SS pin управляется железом. если есть время сегодня то - скайп Discord teamspeak Radmin - буду признателен за помощь - достаточно результата в правильном считывание регистров или ткнуть носом что идет не так. Для начала делаю без прирываний и DMA Использую мк - stm32f103c8t6 модуль : rc-522 - данные отправляю через USB в ПК KEil 5 + cubeMX последней версии. Код процедур прилагаю.
  4. Пытаюсь разобраться с ili9341 брал тут на пин LED и VCC подаю 3.3В с 2х ног ПЛИС Попытка получить ответ по команде D3h ... в ответ молчание (((( Кто работал с этим дисплеем, что делаю не так ?
  5. Пытаюсь реализовать SPI, вот только никак не могу скомпилить. ошибка странная.... Строчка кода. Синтаксис на неё не ругается... Что не так????
  6. Добрый день, столкнулся с проблемой на микроконтроллере AVR32UC3C0512, мне необходимо передать сообщение по SPI на микросхему TLE6208-6G и одновременно с этой передачей считать ответ. Разница в передаче и ответе на диаграмме: при передаче с кодом: spi_select_device(&AVR32_SPI0, &SPI_MVK_CS1); spi_write(&AVR32_SPI0, data_buff); while((AVR32_SPI0.cr & AVR32_SPI_SR_TXEMPTY_MASK) != 0) {}; spi_read(&AVR32_SPI0, &result); spi_set_chipselect_delay_bct(&AVR32_SPI0, &SPI_MVK_CS1, CONFIG_SPI_MASTER_DELAY_BCT); spi_deselect_device(&AVR32_SPI0, &SPI_MVK_CS1); код функции spi_write: spi_status_t spi_write(volatile avr32_spi_t *spi, uint16_t data) { uint32_t timeout = SPI_TIMEOUT; while (!(spi->sr & AVR32_SPI_SR_TDRE_MASK)) { if (!timeout--) { return SPI_ERROR_TIMEOUT; //return 0xFFFF; } } spi->tdr = data << AVR32_SPI_TDR_TD_OFFSET; return SPI_OK; } код функции spi_read: spi_status_t spi_read(volatile avr32_spi_t *spi, uint16_t *data) {unsigned int timeout = SPI_TIMEOUT; while ((spi->sr & (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) != (AVR32_SPI_SR_RDRF_MASK | AVR32_SPI_SR_TXEMPTY_MASK)) { if (!timeout--) { return SPI_ERROR_TIMEOUT; //return 0xFFFF; } } *data = (spi->rdr & 0x0000FFFF) >> AVR32_SPI_RDR_RD_OFFSET; return SPI_OK; } в result 0. хотя отправляю не 0 и плата отрабатывает верно (необходимые светодиоды светятся). Посылка осуществляется в цикле. На осциллографе я вижу все эти пакеты, даже ответ, но мне нужно его прочитать, что не получается сделать. Что может быть не так? Как получить верный ответ, пробовал даже оставлять от кода только строчки отправки и сразу чтение из регистра без задержек но ничего не помогло.. Пробовал также закольцевать SPI без изменения кода программы. ответ вижу передается через UART.
  7. <p>Доброго времени суток. Недавно решил заняться изучением AVR. Начал с изучения периферии, и вот остановилься на интерфейсе SPI. Опыты, пока что провожу в Proteus, подключая к МК виртуальный SPI Debugger. Когда МК в режиме Master то все отлично, байты отправляются и принимаются как надо, но когда МК в режиме Slave (Debugger соответственно Master) то в некоторых режимах SPI, МК передает какую-то кашу. Конкретнее: я передаю в МК(ATmega328P) и хочу считать из МК любое число (пусть и там и там будет 0x66), так вот это удается сделать только в режимах 1 и 3 (то есть только когда CPHA=1), при CPHA=0, МК передает данные с опозданием на 1 бит, или вовсе неправильно, что видно на графиках( зеленый - MOSI, красный - MISO, желтый - SCK, бирюзовый - SS). Вопрос: почему так происходит? Это просто глюк Proteus над которым не стоит заморачиватся или все же моя ошибка? Вот код: #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #define SPI_PORTX PORTB #define SPI_DDRX DDRB #define SPI_MISO 4 #define SPI_MOSI 3 #define SPI_SCK 5 #define SPI_SS 2 void SPI_Init(void) { SPI_DDRX|=(1<<SPI_MISO); SPCR|=(1<<SPIE)|(1<<SPE)|(0<<DORD)|(0<<MSTR)|(1<<CPOL)|(1<<CPHA)|(0<<SPR1)|(0<<SPR0); SPSR|=(0<<SPI2X); } ISR(SPI_STC_vect) { SPDR=0x66; } int main(void) { SPI_Init(); sei(); while (1) { } }
  8. Написал слой абстракции для мастера SPI, как программного так и аппаратного. Кому не лень посмотрите что можно исправить или доработать. Единственное, что мне не нравится, что avr-gcc ругается warning'ом на неинициализированную переменную. Я-то знаю, что после 9 сдвигов в ней не останется ни одного родного бита, но как это объяснить компилятору? char SPI_send(char data){ char res,i=7; spi.zip
  9. Здравствуйте. Хочу воспользоваться стандартным, 7-контактным SATA кабелем для питания (около 1 Ампер) и для связи (SPI, duplex) с устройством. 1) Подскажите пожалуйста, почему в документации на кабель написано, что сопротивление проводника 2 Ома ? Почему так много ? Да и формулировка странная - "Conductive ResistOR", а не "resistance". Даташит, вторая страница: http://www.molex.com...85610014_sd.pdf 2) Как бы вы скомбинировали SPI интерфейс с питанием в SATA кабеле ? Тоесть, в кабеле есть две экранированные пары и три провода отдельно. В даташите, на второй странице. Как будет правильно разделить три сигнальных провода SPI по двум экранированным парам ? А может и не надо пихать сигнальные провода именно по экранированным парам...
  10. Добрый день (утро/ночь)! Начну с того, что я полный чайник в электронике, и кроме законов Ома и кирхгофа, мало что понимаю в этой теме. Но есть у меня очень большое желание осилить хоть какой-нибудь микроконтроллер, и выбор мой пал на платку Arduino Uno, счастливым обладателем которой я сейчас являюсь Перехожу к насущной проблеме. Имеется Ардуино и EEPROM пр-ва Microchip с интерфейсом SPI, а также исходный код тьюториала работы с EEPROM, который я слегка переделал под мою конкретную микросхему (тьюториал сначала пишет в EEPROM возрастающую последовательность, а потом считывает её в основном цикле и выводит значения в последовательный порт, изначально код был для Атмеловской микросхемы, отличного от моей объёма). Назовём это устройство (MK + EEPROM) У1. По какой-то причине, читаю я совсем не то, что записал. Вопрос в том, как такую ситуацию отлаживать? Понятно, что отладка заключается в проверке соединений, вдумчивого чтения даташита и ещё более внимательного чтения исходника (который в сообществе, собравшемся вокруг проекта Ардуино принято писать аж на C++!). Но мне хотелось бы также иметь возможность мониторить шину физически. На осциллоскоп я пока не накопил, и хочу сделать простое устройство (У2) на основе того же Atmega328P, который позволил бы мониторить последовательность импульсов фиксированной длинны через аналоговый (или цифровой...) вход, и выводить её в последовательный порт в побайтовом формате (см. прикреплённую картинку). Возможно ли вообще такое устройство? Понятно, что У1 и У2 надо как-то синхронизировать, я пока оставлю этот вопрос открытым. Мой текущий вопрос связан с аналоговой электроникой. При подключении ко входу моего "щупа", на сколько я понимаю, ток текущий в (из) EEPROM (MK У1) уменьшится, а следовательно уменьшатся всякие внутренние напряжения портов В/В (входов микросхемы). EEPROM, на сколько я понимаю, может перестать адекватно реагировать на команды записи, а МК - на команды четения. Может быть нужно будет поставить какой-нибудь транзистор для сохранения величины тока? Как в теории расчитать схему сопряжения У1 и У2 так, чтобы мониторинг шины не вредил работе самой шины? На какие параметры при этом смотреть в даташитах МК и EEPROM. Только просьба не смеяться. Если мне нужно что-то почитать для ликбеза, я с удовольствием это сделаю. Но просьба быть более конкретными и писать по теме. Советы типа "иди в школу" или "учи матчасть" мне не помогут, т.к. для первого я слишком стар, а второе слишком абстрактно и непрактично.
  11. Здравствуйте, Столкнулся с непонятной для меня проблемой запуска графического контроллера FT800 через 1986ВЕ1Т. Вся работа производится с отладочными платами LDM-HELPER-K1986BE1QI-FULL и VM800C43A-D. Среда программирования Keil 5. Работаю руководствуясь данной статьей и демонстрационным примером для ARM. После инициализации, управляющий конnроллер должен получить от FT800 идентификатор 0x7C, который говорит о том что инициализация прошла успешно и можно работать дальше. Проблема состоит в том, что ничего подобного он не получает. Я больше склоняюсь к тому, что неправильно настроил SPI, вследствие чего 1986ВЕ1Т шлет некорректные команды. Отладочная плата с FT800 работает, проверяли подключив к плате ардуино. Схема подключения на картинке, справа графический контроллер, слева 1986ВЕ1: void SPI1_Init(void) //инициализация SPI { SSP_InitTypeDef SSP_InitStructure; PORT_InitTypeDef GPIO_user_ini; RST_CLK_PCLKcmd(PCLK_BIT(MDR_SSP1_BASE), ENABLE); RST_CLK_PCLKcmd(RST_CLK_PCLK_PORTC , ENABLE); GPIO_user_ini.PORT_Pin = PORT_Pin_5 | PORT_Pin_6 | PORT_Pin_7; GPIO_user_ini.PORT_FUNC = PORT_FUNC_ALTER; GPIO_user_ini.PORT_MODE = PORT_MODE_DIGITAL; GPIO_user_ini.PORT_SPEED = PORT_SPEED_SLOW; GPIO_user_ini.PORT_OE = PORT_OE_OUT; PORT_Init(MDR_PORTC, &GPIO_user_ini); SSP_DeInit(MDR_SSP1); SSP_BRGInit(MDR_SSP1, SSP_HCLKdiv1); SSP_InitStructure.SSP_SCR = 0x10; SSP_InitStructure.SSP_CPSDVSR = 12; SSP_InitStructure.SSP_Mode = SSP_ModeMaster; SSP_InitStructure.SSP_WordLength = SSP_WordLength8b; SSP_InitStructure.SSP_SPH = SSP_SPH_1Edge; SSP_InitStructure.SSP_SPO = SSP_SPO_Low; SSP_InitStructure.SSP_FRF = SSP_FRF_SPI_Motorola; SSP_InitStructure.SSP_HardwareFlowControl = SSP_HardwareFlowControl_SSE; SSP_Init(MDR_SSP1, &SSP_InitStructure); SSP_ITConfig(MDR_SSP1, SSP_IT_RX | SSP_IT_RT | SSP_IT_TX | SSP_IT_ROR, ENABLE); SSP_Cmd(MDR_SSP1, ENABLE); } void ft800cmdWrite(unsigned char ftCommand) //функция для отправки команды по SPI { unsigned char cZero = 0x00; CS_RESET; SSP_SendData(MDR_SSP1, ftCommand); // Отправляем команду SSP_SendData(MDR_SSP1, cZero); // Отправляем первый нулевой байт SSP_SendData(MDR_SSP1, cZero); // Отправляем второй нулевой байт //CS_SET; // тут почему то когда перевожу CS на высокий уровень, ничего не работает, и дисплей не включается } //---------------------------------------* unsigned char ft800memRead8(unsigned long ftAddress) // Здесь происходит чтение идентификатора REG ID для проверки корректного завершения этапа инициализации { unsigned char ftData8 = ZERO; // Place-holder for 8-bits being read unsigned char cTempAddr[3]; // FT800 Memory Address unsigned char cZeroFill = ZERO; // Dummy byte cTempAddr[2] = (char) (ftAddress >> 16) | MEM_READ; // Compose the command and address to send cTempAddr[1] = (char) (ftAddress >> 8); // middle byte cTempAddr[0] = (char) (ftAddress); // low byte CS_RESET; // Set chip select low for (i = 2; i >= 0; i--) { SSP_SendData(MDR_SSP1, cTempAddr[i]); // Send Memory Write plus high address byte } SSP_SendData(MDR_SSP1, cZeroFill); // Send dummy byte for (j = 0; j < sizeof(ftData8); j++) // Start with least significant byte { while (SSP_GetFlagStatus(MDR_SSP1, SSP_FLAG_BSY) == 1){} if (SSP_GetFlagStatus(MDR_SSP1, SSP_FLAG_RNE) == 1) { ftData8 = SSP_ReceiveData(MDR_SSP1); // Receive data byte } } CS_SET; // Set chip select high return ftData8; Return 8-bits } //--------------------------------------------------------- //--------------------------------------------------------- //Тут начинается основная программа. Init_PORT_INT_PD(); //Инициализация портов PD, CS, INT// SPI1_Init(); //Инициализация SPI PD_SET; // формируем delay_ms(20); // импульс PD_RESET; // длительностью delay_ms(20); // 20 мс PD_SET; // в активном режиме на линии PD всегда высокий уровень // Дисплей включается и без формирования этого импульса, главное // что бы в PD оставался высокий уровень ft800cmdWrite(FT800_ACTIVE); // тут шлем команды FT800_ACTIVE = 0х00, delay_ms(5); // FT800_CLKEXT = 0x44 ft800cmdWrite(FT800_CLKEXT); // FT800_CLK48M = 0x62 delay_ms(5); // между ними 5 мс для того чтобы FT800 ft800cmdWrite(FT800_CLK48M); // обрабатывать команды delay_ms(5); if (ft800memRead8(REG_ID) != 0x7C) // чтение идентификатора REG ID для проверки корректного завершения этапа инициализации { while(1) {LED0_ON;} //если не получаем данный идентификатор, то нету смысла продолжать дальше } При включении дисплей загорается белым цветом и больше ничего не происходит.