Перейти к содержанию
    

7 hours ago, DASM said:

а этот 6745 он для минимальной системы чего требует?

C6745 + кварц 24 МГц (такая частота делает возможной загрузку с UART) + контроллер сброса (использую MAX6390) + два питания (3.3V и 1.3V) = минимум.

Я добавил ещё SPI EEPROM для автономной загрузки и SDRAM на 32 МБ - для своих целей.

 

Quote

У 21489 нутряной озу 600 кБайт, и он при загрузке и еепром заливает в нее прогу.

У C6745 тоже есть внутренние ОЗУ: 32+32+256 кБ, которые можно пустить на кеш 1-го и 2-го уровней - всю или не всю.

Заливать там UART Boot Host'ом (прога от TI) - его возможности очень большие: часть секций может лить во внутреннюю, часть - во внешнюю память.

У БлекФинов такого вроде не было (либо я опять что-то пропустил )))

 

Quote

У меня и внешняя сдрам висит, но пока что до нее даже не доходил.

Для моих применений без SDRAM нельзя - много данных будет: видео-буфера MPEG, ROM-ы эмуляторов и многое другое.

Поэтому в моем случае оптимальный вариант, когда внутренняя память полностью расходуется на L1, L2 кеши.

 

Quote

Заливаете джитагом? Я на покупной чего то жадничаю Ice

Заливаю через UART на 115200, да, медленно, но что поделать...  Скоро загрузчик с SD-карты напишу, будет веселее.

От компа с RS-232 стоит преобразователь лог-уровней MAX3232  и на UART C6745-го.

Индусы делают на своих платах через  FT232 (USB-UART).

 

Quote

светодиода и самописного spi-uart для отладки хватает. 

Тоже начинал отлаживаться со светодиода, тест SDRAM был со светодиодом)

Позже прикрутил LCD, теперь его использую в качестве индикатора при отладке - можно сразу  кучу данных показать.

Правда традиция диктует использовать UART и терминалку для этого, но исторически сложилось так, что дисплей подключил первее и UART-отладка потеряла смысл ))

 

 

По исследованиям C6745 создал целую тему здесь:   http://vrtp.ru/index.php?showtopic=30775&st=0

 

Но там больше на монолог похоже - сам с собой разговариваю!)

 

Драфт-схема отладочной платы на C6745 (резисторы на BOOT-пинах изменены: 1 кОм на +3.3V,  220 Ом на GND.  Номиналы резисторов для LDO на 1.3V - вместо 5,6 кОм надо 240 Ом, а вместо 220 Ом надо 10 Ом. ):

G2KVQKmE92.png

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, вот надумалось применение для PRUSS - обработка кнопок джойстика от SEGA MegaDrive (Genesis).  Для 6-кнопочного варианта важно выдержать интервалы между посылками, иначе джойстику сорвёт крышу и часть кнопок будет считываться неправильно.

 

В свое время на ARM9 и BlackFin делал обработчик прерывания по таймеру и опрашивал кнопки. Но... от задержек я не ушёл!

А с PRUSS эта задача становится лёгкой и не мешает основному CPU работать и отвлекаться на задержки.

 

Код для BF532,533 ниже:

Spoiler


volatile u16 Joystick=0xFFF; //11 10 9 8 7 6 5 4 3 2 1 0 => M Z Y X S C B A R L D U

EX_INTERRUPT_HANDLER(Timer0_ISR) //Обработчик прерывания Джойстика
{
 register u32 CBRLDU;
 register u32 SA____;
 register u32 __MXYZ;
 *pTIMER_STATUS=0x0001; //Подтверждение прерывания
 CBRLDU=*pFIO_FLAG_D>>8;
 *pFIO_FLAG_C=0x4000;
 ssync();
 SimpleDelay(180);
 SA____=*pFIO_FLAG_D>>8;
 *pFIO_FLAG_S=0x4000;
 ssync();
 SimpleDelay(180);
 *pFIO_FLAG_C=0x4000;
 ssync();
 SimpleDelay(180);
 *pFIO_FLAG_S=0x4000;
 ssync();
 SimpleDelay(180);
 *pFIO_FLAG_C=0x4000;
 ssync();
 SimpleDelay(180);
 *pFIO_FLAG_S=0x4000;
 ssync();
 SimpleDelay(180);
 __MXYZ=*pFIO_FLAG_D>>8;
 *pFIO_FLAG_C=0x4000;
 ssync();
 Joystick=(CBRLDU&0x0F)|((CBRLDU&0x30)<<1)|(SA____&0x10)|((SA____&0x20)<<2)|((__MXYZ&0x0A)<<8)|((__MXYZ&0x04)<<6)|((__MXYZ&0x01)<<10);
 SimpleDelay(180);
 *pFIO_FLAG_S=0x4000;
 ssync();
}

void Joystick_Prepare(void)
{
 *pSIC_IMASK=0x00000000;
 *pTIMER0_CONFIG=0x0059;                //Count to end of PERIOD, Disable pad in PWM_OUT mode, Use SCLK
 *pTIMER0_PERIOD=2950000;               //SCLK/PERIOD=60Hz
 *pTIMER0_WIDTH=1475000;                //PERIOD/2
 *pTIMER_ENABLE=0x0001;                 //Enable only Timer0
 *pSIC_IAR0=0xFFFFFFFF;
 *pSIC_IAR1=0xFFFFFFFF;
 *pSIC_IAR2=0xFFFFFFF4;                 //Timer0 - ID4
 register_handler(ik_ivg11,Timer0_ISR); //Timer0 - IVG 11
 *pSIC_IMASK=0x00010000;                //Enable Timer0 interrupt
}

 

 

 

Использование джойстика:  https://eax.me/arduino-sega-controller/

 

Так как он КМОП, то и от напряжения 3.3V он тоже работает (проверено не раз)

 

sega-controller-pinout.png

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а платки все распродали? Я тут у Техаса усилок заказал, у них вроде store работает, по крайней мере оплатить и ждать Fedex удалось, если не прикопаются федексы то можно и чип заказать бы. Правда не знаю зачем мне два. Сабж на вид мощнее 21489 конечно, но как бы и 21489 избыточен. Да и звук у ADSP более аудиофильский теплый ламповый :-D

"STM32 очередной раз курит в сторонке, нервно кусая ногти " правда копая 21489 и ожидая очередной SBC на 8 ядерном Самсунге у меня есть смутное подозрение что страдаю фигней, ибо даже одно ядро того А53 кортекса скорее всего уделает на плав. точке все наши ДСП. А уж 8 и говорить нечего. Причем документация у этого самса достаточно вменяма вроде как

Но с другой стороны гонять звук на проце, на котором будет крутится Линукс или ведроид не улыбает совершенно, железный сопроцессор таки нужен

Сколько у сабжа каналов Sport? у техаса по другому зовется, перефразирую "могу ли я подключить 4 ЦАП и 2 АЦП по i2S одновременно"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, DASM said:

а платки все распродали?

Ещё есть

Quote

Я тут у Техаса усилок заказал, у них вроде store работает, по крайней мере оплатить и ждать Fedex удалось, если не прикопаются федексы то можно и чип заказать бы. Правда не знаю зачем мне два. Сабж на вид мощнее 21489 конечно, но как бы и 21489 избыточен. Да и звук у ADSP более аудиофильский теплый ламповый :-D

Мне не для аудиофилии,  одного канала хватит за глаза, начиная с 12 бит (использую 16).

Quote

"STM32 очередной раз курит в сторонке, нервно кусая ногти " правда копая 21489 и ожидая очередной SBC на 8 ядерном Самсунге у меня есть смутное подозрение что страдаю фигней, ибо даже одно ядро того А53 кортекса скорее всего уделает на плав. точке все наши ДСП. А уж 8 и говорить нечего. Причем документация у этого самса достаточно вменяма вроде как

Если это Cortex-A* , то вменяемой она в принципе быть не может! ))) Уже проходили!  Кто-бы Cortex-M7 сделал бы на пару гигагерц с 64-разрядной шинами данных-адреса?

Quote

Но с другой стороны гонять звук на проце, на котором будет крутится Линукс или ведроид не улыбает совершенно, железный сопроцессор таки нужен

Я о том же! Есть ПК для этого. Молодежи этого не понять - одни пыхтоны с линуксами...

Quote

Сколько у сабжа каналов Sport? у техаса по другому зовется, перефразирую "могу ли я подключить 4 ЦАП и 2 АЦП по i2S одновременно"?

Sport это ж SPI, нет?   В C6745 SPI всего два.  А McASP - тоже два.   В McASP - туча каналов! Ниже подробно.

1.thumb.gif.e83f4752fdb2af58cb56bf87b8e4c31a.gif

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/14/2019 at 12:41 PM, __inline__ said:

Кстати, вот надумалось применение для PRUSS - обработка кнопок джойстика от SEGA MegaDrive (Genesis).  Для 6-кнопочного варианта важно выдержать интервалы между посылками, иначе джойстику сорвёт крышу и часть кнопок будет считываться неправильно.

Довёл до ума - джойстик теперь на PRU0.

 

Перенес один из эмуляторов:  https://www.youtube.com/watch?v=kTSq8R1Dnzk

 

game.jpg.25d3ce5704a1440b99545fefe452d906.jpg

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SEGA,  пришлось использовать PRUSS для отрисовки.

 

Видео - сравнение двух режимов : без PRUSS и с ним: https://www.youtube.com/watch?v=O1g8AbYWrzE

 

Здесь показана максимальная производительность всей системы (CPU+PRUSS), убрана кадровая синхронизация.

Чисто для наглядности https://www.youtube.com/watch?v=1JhDl9Cbn9I

 

Видео работы эмулятора SEGA Megadrive: https://www.youtube.com/watch?v=NY6x8q0-Xjo

 

2.jpg.f40b62a439942f969d5661a94a81bdbf.jpg

 

1.jpg.c9d535751ec8816b90c9902090aef49d.jpg

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё пара эмуляторов:

 

SNES: https://www.youtube.com/watch?v=EpVDKmqD0zw

 

Аркадный автомат NEO-GEO:  https://www.youtube.com/watch?v=mdpIz6Zkh78

 

Во всех эмуляторах исполюзуются 2 PRUSS: PRU0 - опрашивает кнопки джойстика, PRU1 - отрисовывает буфер на LCD дисплей (с конверсией палитры, где надо)

 

2.jpg.6fef8b235796b2857f5d10af133a43fd.jpg

222.jpg.a70a9b41175b2608f9851dff4fdbf7c2.jpg

 

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно: А какой смысл всей этой вашей деятельности? Просто хобби? Спортивный интерес? Или есть какой-то коммерческий выхлоп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

19 hours ago, jcxz said:

Интересно: А какой смысл всей этой вашей деятельности? Просто хобби? Спортивный интерес? Или есть какой-то коммерческий выхлоп?

Всё просто как "дважды два":

 

Во-1:  мне это интересно

 

Во-2: интересно было пощупать C6745 DSP на предмет уделывания им Блекфина и STM32H7 (сравнить производительность на мультимедиа-приложениях)

 

В-3: макет заточен как отладочная плата на C6745 - лишней не будет, архитектура крайне удачна: на этой доске очень удобно изучать неизведанные перифералы, отлаживать алгоритмы (не только для хобби!)

 

В-4:  коммерческого выхлопа нет. Дай бог хотя бы частично отбить затраты.

 

По первому - навеяно вот этими темами:

 

1) https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=61161  - я - автор данных приставок и мои посты.

 

2) https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=146347  - всё-же после небольших колебаний, я решился

 

3) https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=142964&page=6  - немного тут (с 6 страницы)

 

Кстати, некоторые товарищи в другом форуме считают, что STM32H7 уделают C6745 DSP - причем свято и непогрешимо в это верят, что начинают лезть своими дебатами, аж смешно! ))

 

Переписал рендеринг на ассемблере для PRU1,  включил unaligned word access для эмулятора СЕГи.  В итоге скорость возросла ещё больше!!!

 

https://www.youtube.com/watch?v=c7B8XvB4c7c

 

Да у меня Блекфин BF532  давился от этого эмулятора на 400 МГц,  а на 600 - 700 МГц получилось впритык:60 FPS.

 

А тут C6745 на 456 МГц + PRU 228 МГц  переваривают код эмулятора  намного быстрее!!!

 

Только положительные впечатления!  Самый лучший микроконтроллер, который я только использовал   (после AT91RM9200, BF532, BF533, STM32F407, STM32H743)

 

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, __inline__ сказал:

Кстати, некоторые товарищи в другом форуме считают, что STM32H7 уделают C6745 DSP - причем свято и непогрешимо в это верят, что начинают лезть своими дебатами, аж смешно! ))

Да и пусть себе считают. Диванных теоретиков не переубедить.

3 часа назад, __inline__ сказал:

Только положительные впечатления!  Самый лучший микроконтроллер, который я только использовал   (после AT91RM9200, BF532, BF533, STM32F407, STM32H743)

От L137 у меня остались такие же впечатления. Жаль что больше подходящих задач под него у меня нет.  :sad::sad::sad:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 hours ago, jcxz said:

От L137 у меня остались такие же впечатления. Жаль что больше подходящих задач под него у меня нет.  :sad::sad::sad:

Да присматривался я к OMAP-L137,  в QFP корпусе есть только на 300 МГц.  И в Россию их поставку ограничили.  А вот C6745 ещё лежат на складах нашей Родины со старых времён ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, __inline__ сказал:

Да присматривался я к OMAP-L137,  в QFP корпусе есть только на 300 МГц.  И в Россию их поставку ограничили.

Мы ставили BGA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, jcxz said:

Мы ставили BGA.

Я вообще слабо представляю себе как можно запаять BGA без инфра-красного визора.  Практически пайка вслепую  выходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

27 минут назад, __inline__ сказал:

Я вообще слабо представляю себе как можно запаять BGA без инфра-красного визора.  Практически пайка вслепую  выходит.

На производстве в печке, а в лабораторных условиях - обычным феном. Нужна просто некоторая сноровка. Мы без проблем ставим так BGA676 пачками. Да, на реболлинг уйдет 2-3 чипа (чтоб руку набить), но зато потом "руки делают и глаза не боятся":wink: Методика проста - наносим безотмывочный флюс равномерным слоем как на шарики микросхемы (жирно прям так), так и на плату. Ставим, ровняем немного - сверху равномерно прогреваем феном. Как только ей будет "пора" - она усядется ровно на столько, насколько ей нужно (зависит, конечно, от соответствия размеров контактных площадок требованиям соответствующего datasheet на чип). Если плата толстая (в том смысле, что полигонов в ней цельных много), то снизу подогреваем ее еще, помимо фена. Дальше остывает и на отмывку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нубу в BGA как проверить что первая пайка упешна или  нет?  И где взять "собак на опыты"? К тому же, портить микросхемы - дорогое удовольствие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...