|
|
  |
Выбор ARM микроконтроллера, Поиск кандидата |
|
|
|
Nov 26 2013, 09:31
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 11-12-09
Из: Lithuania
Пользователь №: 54 191

|
Цитата(winipuh @ Nov 26 2013, 11:22)  Кстати тут уже предлагали LPC43xx. Принцип такой же - cm0 пинами дрыгает, cm4 - в буфер подкидывает + USB/LAN. Мне кажется этот вариант был несправедливо проигнорирован.  Да нет, не проигнорирован. Правду говоря, то всё и началось от того, что увидел LPC4370. Но основной вопрос - успеет ли микроконтроллер (LPC43xx или какой нибудь другой) дрыгать пинами на такой частоте так и остается не отвеченным...
|
|
|
|
|
Nov 26 2013, 10:08
|

Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189

|
Цитата(microchaos @ Nov 26 2013, 13:31)  Да нет, не проигнорирован. Правду говоря, то всё и началось от того, что увидел LPC4370. Но основной вопрос - успеет ли микроконтроллер (LPC43xx или какой нибудь другой) дрыгать пинами на такой частоте так и остается не отвеченным... А ЦАП какой? Ссылку на даташит можете скинуть? Цитата(HardEgor @ Nov 26 2013, 13:59)  Из STM32F4xx получится, у него макс частота GPIO 180MHz на 10пФ. Главное чтобы хватило внутренней скорости. Это-же надо читать 160Mbyte/sec и выдавать с такой-же скоростью. Возможно получится нахимичить с FSMC взяв 16-разрядные ЦАП, RAM и регистр, т.е. контроллер выдает адрес, память выставляет данные, которые защелкиваются в регистре и по синхросигналу с МК ЦАП считывает их с регистра. Тут еще вопрос какой допустимый джиттер с выставлением сэмплов? Хотел было еще про PSoC 5 вспомнить, но... цена у них... дешевле мк + нормальная fpga
|
|
|
|
|
Nov 26 2013, 11:14
|

Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189

|
Так или иначе, а между перед ЦАП-ом нужно FIFO, данные из которого читаются по внешнему клоку (от ЦАП-а) строго каждые 12.5 ns, а пишутся более-менее регулярно burst-ами. Полагаю на МК такое хрен сделаешь. Даже если прерываниями дергать DMA чтобы он записывал в GPIO OUT - сэмплы все равно будут выставляться с джиттером не менее 20-30 ns из-за коллизий на внутренней шине данных. На PRUSS кстати тоже видимо не получится (по той же причине — двухпортовой памяти там кажется нет). Так что можно не парится и сразу переходить к варианту "Б" - на FPGA. Тем более, что напр. у Spartan-6 SDRAM-контроллер уже есть встроенный.
xlx_s6_lx9_microboard_pb040811.pdf ( 614.76 килобайт )
Кол-во скачиваний: 171  А что это за opensource-проект будет?
|
|
|
|
|
Nov 26 2013, 12:26
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 11-12-09
Из: Lithuania
Пользователь №: 54 191

|
Цитата(winipuh @ Nov 26 2013, 13:14)  Полагаю на МК такое хрен сделаешь. Даже если прерываниями дергать DMA чтобы он записывал в GPIO OUT - сэмплы все равно будут выставляться с джиттером не менее 20-30 ns из-за коллизий на внутренней шине данных. На PRUSS кстати тоже видимо не получится (по той же причине — двухпортовой памяти там кажется нет). Ну вот, это я и хотел знать. Цитата Так что можно не парится и сразу переходить к варианту "Б" - на FPGA. Скорее - вариант "Б" это ARM, так что оставляемся на варианте "А" - FPGA. Цитата А что это за opensource-проект будет?  Генератор радио сигнала на этой платформе: http://myriadrf.org/myria-rf-board-1/
|
|
|
|
|
Nov 27 2013, 03:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(microchaos @ Nov 26 2013, 13:52)  Здесь все проще - закачал данные в SDRAM один раз, а потом те же самые данные циклически передаешь в ЦАП. Если вам не нужно в реальном времени качать данные откуда-то, а можно проигрывать заранее записанные данные (из ОЗУ), то можно сделать дёшево и сердито: CY7C68013A+какая-нить подходящая микросхема памяти с пакетным обращением (или микросхема FIFO-памяти). На x51-ядре CY7C68013A эмулируем старт пакета (управляющие сигналы), далее через GPIF наполняем ОЗУ. Проигрывание: опять же - формируем сигналы для старта пакета на x51. Наверное потребуется добавить немножко логики. Будет огромный запас по частоте и никаких джиттеров. Можно ещё попробовать использовать ИС FIFO (не силён в них) вместо ИС RAM. Ещё вариант: просто CY7C68013A + мультиплексор на её параллельные выходы. Их там 16, а макс. частота CY7C68013A до 48МГц. Так что может удастся обойтись даже без внешней ОЗУ
|
|
|
|
|
Nov 27 2013, 06:09
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(sonycman @ Nov 27 2013, 10:37)  И каким образом 48 мегагерцовый чип будет выставлять данные на скорости 80 МГц? Лень открывать даташит, но если его можно завести на 40МГц, то мультиплексор на 16-битной шине творит чудеса  Цитата(Golikov A. @ Nov 27 2013, 11:02)  не только 48 МГц, но еще и шина 8 бит. правильно будет А вы моё письмо внимательнее прочитайте. Там шина 16бит Цитата(Golikov A. @ Nov 27 2013, 11:02)  Я так понимаю основная надежда это на ОЗУ (наверное внешние, потому что внутреннего 4 кБ), да еще такое которое само сможет на АЦП данные выдавать, ну тогда можно и другой любой чип брать... Ещё раз - прочитайте письмо прежде чем отвечать. Выдавать такты на ОЗУ сможет внешний генератор+небольшая обвязка из логики. А ядра x51 должно хватить для формирования сигналов управления этим хозяйством (разрешения/чтения/записи).
|
|
|
|
|
Nov 27 2013, 06:42
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата(jcxz @ Nov 27 2013, 10:09)  Лень открывать даташит, но если его можно завести на 40МГц, то мультиплексор на 16-битной шине творит чудеса  может если не ленится, и почитать Цитата(jcxz @ Nov 27 2013, 10:09)  А вы моё письмо внимательнее прочитайте. Там шина 16бит то можно увидеть что шина 8 бит, хотя вы не привели конкретного контроллера, может есть еще какие -то Цитата(jcxz @ Nov 27 2013, 10:09)  Ещё раз - прочитайте письмо прежде чем отвечать. Выдавать такты на ОЗУ сможет внешний генератор+небольшая обвязка из логики. А ядра x51 должно хватить для формирования сигналов управления этим хозяйством (разрешения/чтения/записи). если есть ОЗУ которое при помощи внешней логики генерирует посылку данных на АЦП, а также рефрешиться что надо в случае современных озу, и прочее, то можно поставить любой контроллер.
|
|
|
|
|
Nov 27 2013, 07:29
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Golikov A. @ Nov 27 2013, 12:42)  то можно увидеть что шина 8 бит, хотя вы не привели конкретного контроллера, может есть еще какие -то Как не привёл? А CY7C68013A ? Открываем даташит на него и видим: 8-Bit or 16-Bit External Data InterfaceЦитата(Golikov A. @ Nov 27 2013, 12:42)  если есть ОЗУ которое при помощи внешней логики генерирует посылку данных на АЦП, а также рефрешиться что надо в случае современных озу, и прочее, то можно поставить любой контроллер. Любой и ставим, только CY7C68013A удобнее.  Зачем рефреш? Чем SRAM не подходит? Про объём топикстартер ничего не писал. Да и для DRAM рефреш я думаю нужен только во время простоя. Когда идёт чтение в ЦАП - это и есть рефреш.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|