реклама на сайте
подробности

 
 
> ADSP BF532 и TMS320C6745, помогите с выбором
__inline__
сообщение Mar 26 2018, 13:51
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Здравствуйте.

Ищу процессор в QFP корпусе, который будет производительнее, чем ADSP BlackFin BF532.
Цель: запуск обильного кода с 2D графикой (bitblt, colorkey, alfablending) + немножко 3D (поворот, перенос, масштабирование), тригонометрия. + эмуляция процессоров -8 и 16 бит:
Z80, 6502, M68000. + декодирование видео (H264, MJPEG,...) аудио (MP3, FLAC)

Пробовал собирать эмуляторы на BF532, разогнал до 700 МГц. Иногда эмуляция всей системы не достигает 60 FPS из-за отсутствия floating point, медленной производительности.

В качестве кандидата на замену рассматриваю : TMS320C6745 - доступен, корпус QFP, 475 МГц, шина SDRAM 32 бита, есть floating point, VLIW до 6 команд одновременно. Вроде как лучше чем BF532 ? Или даст выигрыш по сравнению с 532-м незначительно?

Сообщение отредактировал __inline__ - Mar 26 2018, 13:53
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Mar 30 2018, 07:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



что-то всё действительно загадочно, есть регистр tcon0_cpu_wr_reg у которого по даташиту 24 разряда и который при записи должен писать целиком в LCD_D[23:0],
а потом взяли и как попало подключили линии данных, не подряд, а старшие шесть разрядов каждого цвета (ну чтобы 24х разрядный цвет преобразовывать в 666, или 565 схемотехнически), а теперь руками каждый пиксель перепаковываем обратно из 16/18 в 24,
а нельзя было просто подключить шину подряд, LCD_D[15:0] или [17:0], и писать данные как есть, раз они уже изначально в таком формате?
Go to the top of the page
 
+Quote Post
__inline__
сообщение Mar 30 2018, 08:22
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126



Цитата(_pv @ Mar 30 2018, 07:26) *
что-то всё действительно загадочно, есть регистр tcon0_cpu_wr_reg у которого по даташиту 24 разряда и который при записи должен писать целиком в LCD_D[23:0],
а потом взяли и как попало подключили линии данных, не подряд, а старшие шесть разрядов каждого цвета (ну чтобы 24х разрядный цвет преобразовывать в 666, или 565 схемотехнически), а теперь руками каждый пиксель перепаковываем обратно из 16/18 в 24,
а нельзя было просто подключить шину подряд, LCD_D[15:0] или [17:0], и писать данные как есть, раз они уже изначально в таком формате?

Я бы отталкивался от того, по каким линиям пойдут биты байта при записи в регистр tcon0_cpu_wr_reg. Проверить в принципе это можно, просто зациклив передачу в этот регистр и путём вызванивания тестером логического уровня на каждом бите. Увы и ах - осциллографа и логического анализатора под рукой нет. sad.gif

А так да, получается индусский говнокод с нагромождением. Но к сожалению, нормальных SDK под эти чипы нет

Должно хватить вот этого(код я писал):

Код
#define CA 25 /* A1位 A1 bit */

#define TCON 0x01C0C000 /* TCON基地址 TCON Base Address */

#define TCON0_CPU_IF_REG *(volatile u32*)(TCON+0x60)
#define TCON0_CPU_WR_REG *(volatile u32*)(TCON+0x64)

void TCON0_INDEX(u32 index)
{
TCON0_CPU_IF_REG&=~(1UL<<CA); //清除CA位 clear CA bit
TCON0_CPU_WR_REG=index;       //写索引 write index
}

void TCON0_DATA(u32 data)
{
TCON0_CPU_IF_REG|=(1UL<<CA);   //设置CA位 set CA bit
TCON0_CPU_WR_REG=data;         // 写入数据 write data
}


Не забыв отремапить ноги GPIO и включив тактирование нужных узлов периферии.

и отынитить TCON для режима CPU I/F i8080 sm.gif

Ну и второй головняк - тайминги шины. Подозреваю, что на ширину строба записи будет влиять делитель для DCLK, а на длительность цикла - длина VSYNC лили LCDDE

Сообщение отредактировал __inline__ - Mar 30 2018, 08:23
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- __inline__   ADSP BF532 и TMS320C6745   Mar 26 2018, 13:51
- - jcxz   Цитата(__inline__ @ Mar 26 2018, 16:51) В...   Mar 26 2018, 15:00
- - _pv   allwinner V3s   Mar 26 2018, 17:09
|- - __inline__   Цитата(_pv @ Mar 26 2018, 17:09) allwinne...   Mar 28 2018, 05:51
|- - _pv   Цитата(__inline__ @ Mar 28 2018, 12:51) У...   Mar 28 2018, 18:34
|- - __inline__   Цитата(_pv @ Mar 28 2018, 19:34) нет, и с...   Mar 29 2018, 00:23
|- - _pv   Цитата(__inline__ @ Mar 29 2018, 07:23) С...   Mar 29 2018, 04:35
||- - __inline__   Цитата(_pv @ Mar 29 2018, 05:35) мы навер...   Mar 29 2018, 07:33
||- - _pv   Цитата(__inline__ @ Mar 29 2018, 14:33) д...   Mar 29 2018, 17:25
||- - __inline__   _pv, большое спасибо! Вот как раз этой схемы...   Mar 30 2018, 00:16
|- - jcxz   Цитата(__inline__ @ Mar 29 2018, 03:23) Я...   Mar 29 2018, 09:43
|- - AlexandrY   Цитата(jcxz @ Mar 29 2018, 12:43) ARM воо...   Mar 29 2018, 10:04
||- - jcxz   Цитата(AlexandrY @ Mar 29 2018, 13:04) А ...   Mar 29 2018, 10:09
|- - __inline__   Цитата(jcxz @ Mar 29 2018, 09:43) И где к...   Mar 29 2018, 10:20
|- - jcxz   Цитата(__inline__ @ Mar 29 2018, 13:20) д...   Mar 29 2018, 10:57
- - __inline__   Смотрю в даташит на 6745 и вижу - 2 шины EMIF A, B...   Mar 28 2018, 11:24
|- - jcxz   Цитата(__inline__ @ Mar 28 2018, 14:24) В...   Mar 28 2018, 11:32
- - __inline__   Поковырял немножко Linux BSP, "linux-master...   Mar 30 2018, 06:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 13:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016