Часовой пояс: UTC + 3 часа




Куратор(ы):   zauropod   



Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 399 • Страница 15 из 20<  1 ... 12  13  14  15  16  17  18 ... 20  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Первое знакомство с микроконтроллерами Atmel, STM и другими.

Первый рассказ
Предэксплуатационный ремонт отладчика Atmel AVR Dragon
Цветное изображение на монохромном LCD
Конвертер растровой графики для монохромного LCD (128х64)
Дизеринг для монохромных LCD и конвертер растровых изображений
ZP-STM32 и беспроводной последовательный порт
Куда уходят миллисекунды? Способ повышения FPS
Open Logic Sniffer в действии
AVR XMEGA – разгон, вольтмод и производительность SDRAM


Последний раз редактировалось zauropod 15.12.2010 0:33, всего редактировалось 6 раз(а).


Партнер
 

Junior
Статус: Не в сети
Регистрация: 14.03.2012
zauropod писал(а):
"Соответствующие порты" - что вы имеете в виду?

Я думал ножку микроконтроллера можно настроить на последовательный прием данных по 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, чтобы передаваемые от девайса биты логически эндились с единицами.


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
Вычитал:
MOVS r0,#0x00
LDR r1,[pc,#88]
STR r0,[r1,#0x00]

Таким образом, для установки или сброса бита необходимо выполнить три 16-битных инструкции. Микроконтроллер STM32, работающий на частоте 72 МГц, выполнит их за 80 нс.
Правда все это относится к Cortex-M3.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
max0000000 писал(а):
Таким образом, для установки или сброса бита необходимо

сделать так, как учит нас товарищ Лю в своем классическом труде про Cortex-M3, используя бит-бэнд диапазон

Код:
LDR R0,=0x22000008 ; Setup banding address
MOV R1, #1 ; Setup data
STR R1, [R0] ; Write


Для чтения любого бита нужны только две инструкции. Нужно работать с бит-бэндом потому (хотя не всегда это возможо - только первый мегабайт SRAM и первый мегабайт адресов периферии связывются с соответствующим адресным пространством, плюс некоторые, навроде STM32W, бит-бэндинг не поддерживают), что это "атомная", т.е не прерываемая операция, в отличие от чисто программных путей установки битов по маске.


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
zauropod писал(а):
Максимальное дрыганье ногами 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.
Во-вторых, любой адрес можно установить предварительно, затем дергай, сколько влезет

Код:
MOV R1, #1
STR R1, [R0]
MOV R1, #0
STR R1, [R0]
...



В третьих, МК использует кучу прерываний (в реальных приложениях, а не демках), что при неспециализированном интерфейсе вывода приведет к непредсказуемым задержкам, т.е. половинная частота - это для демонстрационного максимума. Для реальной работы с быстрым ногодрыганьем, если так уж необходим нестандартный интерфейс, применяют CPLD/FPGA.

А насчет простых задач - у каждого они свои, к тому же кто-то и на счетах отлично справляется, а кто-то и на калькуляторе ничего не сможет сделать. Странно, что как минимум шестикратно более высокое быстродействие STM32F4 все же приводит к выводу о том, что
max0000000 писал(а):
если все пересчитать у STM32F4 особых приимущества в простых операциях нет


max0000000 писал(а):
включить циклы ожидания то STM32F4 с треском проиграет.

Нет. Будет в несколько раз быстрее.

Вот что мне нравится в XMEGA так это регулярность внешней структуры выводов и наличие большего числа простых интерфейсов (I2C, SPI, USART). Вот я сейчас намучался с вариантами одновременно работающей периферии на 176-ногом STM32F4 - при подсоединенном ULPI, SDIO и аудиокодеке даже пары портов SPI не получить.


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
zauropod писал(а):
т.е. половинная частота - это для демонстрационного максимума

Ну даже так получается не половина, а четверть частоты.
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

Touch sensor 5Ch (PCB Joystick pads)
Navigator (Up-Down-Enter)

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 там не скажется емкость диодов и прочая ерунда. Поглядим.


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
zauropod писал(а):
Какого-то монстра я сотворил под 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 раз(а).
Превышение допустимого размера исправлено


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
zauropod писал(а):
анонсирован Raspberry B - 700Мгц ARM11 компьютер

30.05 пришло письмо с предложением оформить заказ.
Zauropod если есть что то раскажи плиз.


 

Куратор темы
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
max0000000 писал(а):
если есть что то раскажи плиз

Eсли ты имеешь в виду Raspberry, то я за ней специально не охочусь, если будет в свободном доступе-куплю, а предзаказы и прочие передачи своих данных для маркетинговых служб делать не буду. К тому же мне совсем не интересно работать на базе готовых ОС, а там все-в-одном, будет BSP. То есть эта штука интересна для встраивания куда-нибудь, а не для мышиной возни, коей я занимаюсь. Хотя гаджет интересный и при свободной продаже куплю его, если цена не взлетит.

***
SOLOMON SYSTECH в лице главы европейского отделения (Германия) все же прислал версию доки 1.5 на SSD1331, она аж от 2009 года, но то, что меня интересовало, не изменилось. Вообще драйвер интересен наличием аппаратной прорисовки произвольных линий и прямоугольников с заполнением и рамкой, есть как горизонтальный, так и вертикальный скроллинг и ряд опций по расщеплению строк.


 

Junior
Статус: Не в сети
Регистрация: 03.02.2011
2 max0000000
Если не секрет, вы когда предзаказ оформляли?
Я все хотел заиметь эту штуковину, дважды оставлял свои контакты у них на сайте(фарнела) в феврале и потом еще когда то, и с тех пор молчок...

Кстати, какая незадача, хотел сегодня у них купить пару модулей zigbee, позвонили, сказали, что продукция двойного назначения и за пределы евросоюза они их поставит не могут(.


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
avco писал(а):
Если не секрет, вы когда предзаказ оформляли?

Зарегили меня 4.03, когда оформлял не помню.

Попробывал оформить заказ. Одна 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МГц):

PNG 1918x625, 15.1 KB

В цикле крутится код (для иллюстрации):

Код:
  while(1)
  {
     pBuffer = (uint16_t*)pBuff;
     *(uint16_t *) (Bank1_SRAM1_ADDR + 0x02) = 0xaa;
     *(uint16_t *) (Bank1_SRAM1_ADDR + 0x10) = 0x55;
     *(uint16_t *) (Bank1_SRAM1_ADDR + 0xf0) = 0x18;

     *pBuffer++ = *(uint16_t*) (Bank1_SRAM1_ADDR + 0x02);
     *pBuffer++ = *(uint16_t*) (Bank1_SRAM1_ADDR + 0x10);
     *pBuffer++ = *(uint16_t*) (Bank1_SRAM1_ADDR + 0xf0);
  }


Так как лень было цеплять к снифферу 16-бит, использовался только младший байт адреса и данных.
Поскольку шина FSMC 16-бит, то адрес 0x02 транслируется в 0x02>>1, т.е в 0x01, соответственно 0x10 и 0xf0 видны как 0x08 и 0x78.
Остановился на таймингах:
Код:
   p.FSMC_AddressSetupTime = 3;
   p.FSMC_AddressHoldTime = 6;
   p.FSMC_DataSetupTime = 6;


Чтение по приведенному коду с записью во внутреннюю SRAM (не CCM) идет примерно при 12MBs, что видно на картинке. Запись там побыстрее, так как используются иммедиаты.

Для выборки кристалла (NE_RAM) используется дешифратор адреса (двойной инвертор и пара 2И-НЕ), так как как к FSMC подключен и видеоконтроллер, а NE1 - единственный. Хотя нужно чуть проще сделать (без одного инвертора), так как видеоконтроллер не только развести в старшие адреса, а и на другой банк, что нет прямого аппаратного NE на другие банки - не влияет, зато на другом банке можно убрать мультиплекс.
Защелка 16-бит стробируется по ALE (т.е. по инвертированному NADV, на половинке SN74LVC2GU04).


 

Member
Статус: Не в сети
Регистрация: 26.01.2011
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, плюс нужна куча времени на изучение - и чего ради? Пущай сначала маркетологи поработают и независимые тесты и экспертные оценки на их сайте появятся. А то там только про их переезд в Сколково. Сразу вспоминается пародия на это в "Большой разнице"...


Показать сообщения за:  Поле сортировки  
Форум закрыт Новая тема / Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. Закрыто  Сообщений: 399 • Страница 15 из 20<  1 ... 12  13  14  15  16  17  18 ... 20  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan