Я думал ножку микроконтроллера можно настроить на последовательный прием данных по SDIO. На ADNS-2610 нету ножек MISO и MOSI не могу понять как можно соединить. SDIO - для приема и передачи MISO - для передачи MOSI - для приема Если нам нужно что то записать в сенсор, то мы настраиваем ножку МК на MISO, если что-то прочитать на MOSI, вывод МК в это время соединен с SDIO сенсора? В документации к stm32, в таблице альтернативные функции, указано (PA6 - SPI1_MISO, PA7 - SPI1_MOSI). Настраиваем PA6 и PA7 соответственно на MISO, MOSI. И припаиваем два проводка к выводу SDIO? В той же таблице, в альтернативных функциях, есть SDIO. Например PB9 - SDIO_D4 можно настроить его, как я понимаю, на I/O с вывода сенсора по SDIO? (пытаюсь рассуждать).
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
sonyk писал(а):
пытаюсь рассуждать
В последний раз предупреждаю, изучение МК должно идти от простого к сложному, слева направо, сверху вниз. SDIO - это акроним, который может иметь различное значение в разных контекстах. У ADNS - это последовательный цифровой ввод-вывод. У STM "есть SDIO" относится к интерфейсу карт памяти SD и сюда никоим боком не лезет.
Вам же нужно изучить (четвертый раз пишу об этом, как вы думаете, кому?) интерфейс мастер - SPI у МК. Он имеет клок и два вывода, один на выдачу данных в девайс, второй на прием. Клок дает только мастер и одновременно он может, посылая данные в девайс, принимать их, а когда прием не нужен (нужна только передача в девайс), принятые данные игнорируются. У ADNS есть вход для клока, но только одна линия ввода - вывода (под названием SDIO), по которой идет и прием, и передача, а управление направлением (прием или передача) делает только мастер, показывая это первым битом. Поэтому и требуется соединить у МК MISO и MOSI, настроить 2МГц SPI в режиме 16 бит передачи, для записи в ADNS формировать двухбайтовое слово как адрес и данные, а для чтения - адрес и второй байт 0xff, чтобы передаваемые от девайса биты логически эндились с единицами.
Таким образом, для установки или сброса бита необходимо выполнить три 16-битных инструкции. Микроконтроллер STM32, работающий на частоте 72 МГц, выполнит их за 80 нс. Правда все это относится к Cortex-M3.
Для чтения любого бита нужны только две инструкции. Нужно работать с бит-бэндом потому (хотя не всегда это возможо - только первый мегабайт SRAM и первый мегабайт адресов периферии связывются с соответствующим адресным пространством, плюс некоторые, навроде STM32W, бит-бэндинг не поддерживают), что это "атомная", т.е не прерываемая операция, в отличие от чисто программных путей установки битов по маске.
Максимальное дрыганье ногами STM32F4 также равно половинной частоте процессора (84MHz в номинале), сказанное про 100МHz - это программная установка из возможного ряда {2,10,50,100}
Так всетаки, чтоб дергнуть ногой нужно три 16-битных инструкций, да еще данные ,=0x22000008. На XMEGе, если порт связать с виртуальным, требуется одна 16-битная инструкция, данные (номер ноги) забиты в самой инструкции. Так что если все пересчитать у STM32F4 особых приимущества в простых операциях нет. Он просто не для этого создан. И вообще не верю я в кеширование, свои подводные камни там думаю есть, если включить циклы ожидания то STM32F4 с треском проиграет.
Жаль нет у меня STM32F4DISCOVERY а то можно было проверить подключив осцил.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
max0000000 писал(а):
Так всетаки, чтоб дергнуть ногой нужно три 16-битных инструкций, да еще данные ,=0x22000008. На XMEGе, если порт связать с виртуальным, требуется одна 16-битная инструкция, данные (номер ноги) забиты в самой инструкции.
Во-первых, три инструкции STM32F4 выполняются как минимум в два раза быстрее одной на XMEGA. Во-вторых, любой адрес можно установить предварительно, затем дергай, сколько влезет
В третьих, МК использует кучу прерываний (в реальных приложениях, а не демках), что при неспециализированном интерфейсе вывода приведет к непредсказуемым задержкам, т.е. половинная частота - это для демонстрационного максимума. Для реальной работы с быстрым ногодрыганьем, если так уж необходим нестандартный интерфейс, применяют CPLD/FPGA.
А насчет простых задач - у каждого они свои, к тому же кто-то и на счетах отлично справляется, а кто-то и на калькуляторе ничего не сможет сделать. Странно, что как минимум шестикратно более высокое быстродействие STM32F4 все же приводит к выводу о том, что
max0000000 писал(а):
если все пересчитать у STM32F4 особых приимущества в простых операциях нет
max0000000 писал(а):
включить циклы ожидания то STM32F4 с треском проиграет.
Нет. Будет в несколько раз быстрее.
Вот что мне нравится в XMEGA так это регулярность внешней структуры выводов и наличие большего числа простых интерфейсов (I2C, SPI, USART). Вот я сейчас намучался с вариантами одновременно работающей периферии на 176-ногом STM32F4 - при подсоединенном ULPI, SDIO и аудиокодеке даже пары портов SPI не получить.
т.е. половинная частота - это для демонстрационного максимума
Ну даже так получается не половина, а четверть частоты. MOV R1, #1 STR R1, [R0] MOV R1, #0 STR R1, [R0]
А потом чтоб дергнуть другой ногой этого-же порта нужно опять "адрес можно установить предварительно" , а на XMEGе опять-же одна инструкция. Все решил гори огнем 1000 с лишним даташита, буду убивать XMEGу
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Сегодня Atmel Studio 6.0 перестала быть бетой. Молодцы атмеловцы, еще бы они так шевелились и с доступностью своих новых МК (SAM3X и SAM4S). Мало того, что они послабее, чем у конкурентов, так и только бумажный анонс был. Стоит вспомнить как больше года после анонса не было UC3C, только в китах, а кому они нужны сейчас? Atollic тоже на днях обновился до 3.1, странно, но NXP LPC43xx не добавлен в список поддерживаемых.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Какого-то монстра я сотворил под STM32F4 На плате почти полтыщи пассивных элементов, более 50 микросхем, это все не считая модулей расширения (RAM, ТВ-процессор, HDMI etc).
Заодно решил и попроще сделать - докстанцию под STM32F4-Discovery, вот уже готовая плата:
#77
Вот чего на нее навставлял:
1MByte SRAM (512K x 16) 4MBit Serial MRAM 64MBit Serial flash
RS-232 driver OLED color display (96x48) IR (38KHz) sensor
Videocontroller with embedded 464 KBytes SRAM, supports resolution up to 800x480
FM radio module (based on Airoha 1010) Audio power amplifier (1W) with a volume control (I2C) and diagnostics Loudspeaker
Analog input switch for the power amplifier (FM/DAC and may be connected to Discovery audio output) 4 color LEDs (controlled via VDC GPIOs by user) Green LEd "Key" for the touch/navigator activity indication Red LED "Fault" for the PA fault state (overcurrent, no load, shorted output etc.)
Connectors:
2 x IDC socket (2x25) for the STM32F4-Discovery board uSD with SPI IF uSD with SDIO IF DCMI IF (IDC 2x10) (or may be used as general purpose pins instead of camera) 40 pin FPC for a RGB panel (up to 800x480) DB9 RS-232 A lot of (about 50) GPIO pins Mini-usb for an external power (3V or VDD from the Discovery board not used) A lot of configuration jumpers Backup battery holder (CR1220/25) 3.5mm audio socket (in for the internal power amplifier or out for the internal DAC) Some testpoints
Забыл купить пару микросхем на дешифратор адреса (в 100 ноговом корпусе только единственный NE1, его надо делить с VDC), так что только через недельку его запущу. Хотелось бы минимальных доработок на плате Discovery, пока там нужно только заменить один резистор на диод - чтобы Backup домен заработал и часы получали питание, плюс пару резисторов отпаять, если нужны все опции бута. А можно ничего этого и не отпаивать. Еще надо проверить, как будет себя вести FSMC, так как на Discovery его линии частично перекрыты, но, думается, на 60MHz там не скажется емкость диодов и прочая ерунда. Поглядим.
Какого-то монстра я сотворил под STM32F4 На плате почти полтыщи пассивных элементов, более 50 микросхем, это все не считая модулей расширения (RAM, ТВ-процессор, HDMI etc).
Это какого размера плата будет, да еще на двух слойке все это развеси. Zauropod твою энергию да в мирных целях.
Не смогли мне поставить ATxmega256A3BU на http://www.electronshik.ru/ сказали, что ктото их там подвел. Хотя счет был выстовлен и мной вовремя оплачен. В результате полтора месяца потерено, деньги вернули почти без проблем.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
max0000000 писал(а):
Это какого размера плата будет
Ровно 256 кв. см., то есть всего в два раза больше по площади, чем моя Docking Station для STM32F4-Discovery. Ее линейные размеры по ширине больше ZP_DSF4 на 37мм, по высоте - на 50мм. Я как-то раньше показывал предварительную картинку платы, с тех пор внешние размеры не изменялись, только компоновка внутри.
max0000000 писал(а):
твою энергию да в мирных целях
Только в мирных. На военные цели уже полжизни было отдано, хватит.
max0000000 писал(а):
Не смогли мне поставить ATxmega256A3BU
Какая-то левая контора, тем более, что на сайте они себя позиционируют как работающие по каталогу Farnell, где эти микросхемы есть, как есть они и на Маузере и т.д. А доставка у них 2-4 недели, что вообще бред. У меня в деревне маленький дистрибутор Farnell (не единственный)- обычный интернет-магазин, кроме Farnell еще всякой ерундой занимается, сегодня заказал - завтра все на базе, из Америки - три дня. Надо тебе просто найти нормального поставщика.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Начались натурные испытания ZP_DSF4 Docking Station для STM32F4-Discovery.
#77
OLED дисплей хоть и маленький (96x64), но зато углы обзора неограниченные - никакой деградации цветопередачи не происходит.
#77
Драйвер дисплея - соломоновский SSD1331, в сети пдфка только на стартовый релиз 2006 года версии 0.3, хотя на сайте у них уже 1.5. Мой запрос на новый документ остался без ответа, маленькие инди им совсем не интересны. Собственно, интересуют только две вещи - последние официальные тайминги, в частности, макс клок SPI, так как по доке 0.3 он 6МГц, а реально работает и на 20МГц, и в старой версии режимы энергосбережения были TBD, биты нераскрыты, интересно уточнить.
PS. Там на первой фотке ссылка на мой вебсайт - там смотреть нечего, нет пока его, вот как эту игрушку доделаю, там будет материал. А то здесь ПС зачем-то разгромили (ну это исключительно мое мнение, по крайней мере ощущение уютного место напрочь исчезло).
Последний раз редактировалось zauropod 29.05.2012 0:01, всего редактировалось 4 раз(а).
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
max0000000 писал(а):
если есть что то раскажи плиз
Eсли ты имеешь в виду Raspberry, то я за ней специально не охочусь, если будет в свободном доступе-куплю, а предзаказы и прочие передачи своих данных для маркетинговых служб делать не буду. К тому же мне совсем не интересно работать на базе готовых ОС, а там все-в-одном, будет BSP. То есть эта штука интересна для встраивания куда-нибудь, а не для мышиной возни, коей я занимаюсь. Хотя гаджет интересный и при свободной продаже куплю его, если цена не взлетит.
*** SOLOMON SYSTECH в лице главы европейского отделения (Германия) все же прислал версию доки 1.5 на SSD1331, она аж от 2009 года, но то, что меня интересовало, не изменилось. Вообще драйвер интересен наличием аппаратной прорисовки произвольных линий и прямоугольников с заполнением и рамкой, есть как горизонтальный, так и вертикальный скроллинг и ряд опций по расщеплению строк.
2 max0000000 Если не секрет, вы когда предзаказ оформляли? Я все хотел заиметь эту штуковину, дважды оставлял свои контакты у них на сайте(фарнела) в феврале и потом еще когда то, и с тех пор молчок...
Кстати, какая незадача, хотел сегодня у них купить пару модулей zigbee, позвонили, сказали, что продукция двойного назначения и за пределы евросоюза они их поставит не могут(.
Попробывал оформить заказ. Одна Raspberry Pi Type B Single Board Computer вышла в Goods total 27.40€ Tax 5.48€ Standard Delivery (Despatch expected within 6 week(s)) 6.28€ Order Total 39.16€
Но в Select your country from the list нашу федерацию не нашел. Белорусия и Украина есть. Так что делать пока не знаю.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Сегодня обновилась утилитка ST-Link до версии 2.3, это связано с официальной поддержкой семейства F0. Заодно она наконец стала правильно показывать объем флэша МК. Сеггеровский дебаггер это уже давно делал , правда даже его последняя прошивка по-прежнему считает, что у МК не бывает больше 96К SRAM...
А на днях обновились доки на STM32F4, масса уточнений, в т.ч. введен новый тип корпуса WLCSP90 (шары с шагом 0.4), все камни 405 и 415 с ревизии Z стали поддерживть OTG FS.
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
На STM32F4-Discovery, установленной на докстанцию ZP_DSF4, протестил работу внешней памяти (55нс 66WV51216ALL) в мультиплексном режиме. Вот картинка с логического анализатора, цена деления времени 5нс, что примерно соответствует такту процессора (разогнан до 216МГц):
Так как лень было цеплять к снифферу 16-бит, использовался только младший байт адреса и данных. Поскольку шина FSMC 16-бит, то адрес 0x02 транслируется в 0x02>>1, т.е в 0x01, соответственно 0x10 и 0xf0 видны как 0x08 и 0x78. Остановился на таймингах:
Чтение по приведенному коду с записью во внутреннюю SRAM (не CCM) идет примерно при 12MBs, что видно на картинке. Запись там побыстрее, так как используются иммедиаты.
Для выборки кристалла (NE_RAM) используется дешифратор адреса (двойной инвертор и пара 2И-НЕ), так как как к FSMC подключен и видеоконтроллер, а NE1 - единственный. Хотя нужно чуть проще сделать (без одного инвертора), так как видеоконтроллер не только развести в старшие адреса, а и на другой банк, что нет прямого аппаратного NE на другие банки - не влияет, зато на другом банке можно убрать мультиплекс. Защелка 16-бит стробируется по ALE (т.е. по инвертированному NADV, на половинке SN74LVC2GU04).
Zauropod привет. Так и не смогли мне поставить ATXMEGA256A3BU, другая контора сослалась на отсутствие лицензии именно на эту МС. Взял у них с "растройства" две ATXMEGA128A4U для развлечений зимой. Пришлось отказаться от 32 bit RTC, но в прнципе от моих устройств пока и не требуется лет десять сидеть в засаде от одной Li-батарейки. **** Наконец-то хоть что-то выложили http://www.multiclet.com/docs/PO/Manual ... 100101.pdf Уже около года за ними наблюдаю, буду паралельно с AVR изучать. Интересно твое мнение насчет мультиклеточных процах, всетаки позиционируется эта контора из Екатеринбурга как "ОАО «Мультиклет» обладает патентом на собственную, принципиально новую мультиклеточную процессорную архитектуру"
Куратор темы Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
max0000000 Завязывай ты с 8-битными. 32-битные армы в разы произодительнее, нисколько не сложнее в программировании (на С, асм у них чуток посложнее) и дешевле. Вон EM даже на своих 100-ногих 48MHz МК ствит и USB хост, и поддержку SDRAM, и RGB интерфейс для TFT. Нет никакого смысла продолжать ковыряться с восьмибитками, если это не вопрос совместимости или минимального размера (типа 6-ногий СОТ или QFN28).
Что касается мультиклета - так они самого главного не рассказывают (или я с ходу не увидел,а внимательно штудировать документацию желания нет). А назвать словами происходящие процессы можно как угодно, словами будет звучать по-новому, а по сути - все уже изобретено ранее. Военный процессор, наверняка на базе старых разработок. Но при цене в полтора десятка баксов отладочная плата (полплощади которй уходит на радиаторы подсистемы питания) на его базе стоит $1200, плюс нужна куча времени на изучение - и чего ради? Пущай сначала маркетологи поработают и независимые тесты и экспертные оценки на их сайте появятся. А то там только про их переезд в Сколково. Сразу вспоминается пародия на это в "Большой разнице"...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения