Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

stm32 + FSMC + ssd1963:?

Непрочитано 06.02.2013, 11:14  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Сообщение от Batisto4ka Посмотреть сообщение
PHP код:
p.FSMC_AddressHoldTime = 1;
 p.FSMC_DataSetupTime = 15;
 p.FSMC_BusTurnAroundDuration = 0;
 p.FSMC_CLKDivision = 0;
 p.FSMC_DataLatency = 0; 
Попробуй увеличить
p.FSMC_AddressHoldTime и p.FSMC_DataLatency
Реклама:
omercury вне форума  
Непрочитано 06.02.2013, 15:20  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Сообщение от omercury Посмотреть сообщение
Попробуй увеличить p.FSMC_DataLatency
Это для синхронного доступа только нужно.
realid вне форума  
Непрочитано 06.02.2013, 15:52  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

А тут асинхронно?
omercury вне форума  
Непрочитано 06.02.2013, 15:55  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,578
Сказал спасибо: 175
Сказали Спасибо 1,567 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Сообщение от omercury Посмотреть сообщение
А тут асинхронно?
Ну сигнала FSMC_CLK от мк я не вижу.
realid вне форума  
Непрочитано 06.02.2013, 17:18  
_Nikson_
Прохожий
 
Регистрация: 17.10.2005
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
_Nikson_ на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Batisto4ka,
а Вам вообще удалось запустить этот индикатор?
Я бы сначала прикрутил его к GPIO, добился работы и только потом потихоньку переделал под FSMC....
_Nikson_ вне форума  
Непрочитано 07.02.2013, 10:18  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

конкретно этот-нет, так как нет подсветки, но вроде удалось прочитать регистры с него. подсветка-вопрос времени. пока делаю паузу, когда появится-вернусь на форум. всем огромное спасибо, кто помогал.
Batisto4ka вне форума  
Непрочитано 28.03.2013, 10:42  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Таки появилась подсветка, долгими мучениями удалось настроить fsmc для работы с экраном:
Код:
  p.FSMC_AddressSetupTime = 10;
  p.FSMC_AddressHoldTime = 20;
  p.FSMC_DataSetupTime = 60;
  p.FSMC_BusTurnAroundDuration =0;
  p.FSMC_CLKDivision = 0;
  p.FSMC_DataLatency = 0;
  p.FSMC_AccessMode = FSMC_AccessMode_A;
именно с такими настройками fsmc удается читать записанные при инициализации дисплея регистры и данные.
Но изображение на экран не выводится, вместо заливки экрана заданным цветом на экране отображаются разноцветные полосы. не могу понять, что не так.
Если регистры тфт и данные, записанные в него считываются верно, значит fsmc настроен правильно?Следовательно скорее всего ошибка в инициализации тфт?
Код инициализации взят из апноута для экранов winstar(5.7") с контроллером ssd1963, но у меня экран raystar rfc571A.
Подскажите, где искать ошибку.
И еще, у моего экрана есть линии scan direction UP и LR, не пойму как ими управлять, в даташите на экран о них ни слова.
Batisto4ka вне форума  
Непрочитано 28.03.2013, 11:20  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Вот код моей инициализации TFT
Код:
RESETCLR;//RS=0
DelayUS(1);
RESETSET;//RS=1
DelayUS(1);
	
	
LCD_WriteCommand(CMD_SOFT_RESET);
LCD_WriteCommand(CMD_SOFT_RESET);
LCD_WriteCommand(CMD_SOFT_RESET);
		
	
LCD_WriteCmd(CMD_PLL_START,0x01);//START PLL
LCD_WriteCmd(CMD_PLL_START,0x03);//LOCK PLL

	
LCD_WriteCommand(CMD_SET_PANEL_MODE);//SET LCD MODE SET TFT 18Bits MODE
	
	
LCD_WriteData(0x0c);//c	 //SET TFT MODE & hsync+Vsync+DEN MODE
LCD_WriteData(0x00);	 //SET TFT MODE & hsync+Vsync+DEN MODE
LCD_WriteData(0x01);	 //SET horizontal size=320-1 HightByte
LCD_WriteData(0x3f);	 //SET horizontal size=320-1 LowByte
LCD_WriteData(0x00); 	//SET vertical size=240-1 HightByte
LCD_WriteData(0xef); //SET vertical size=240-1 LowByte
LCD_WriteData(0x00); //SET even/odd line RGB seq.=RGB
	
	
LCD_WriteCmd(CMD_SET_DATA_INTERFACE,0x00); //SET pixel data I/F format=8bit
LCD_WriteCmd(CMD_SET_PIXEL_FORMAT,0x60); // SET R G B format = 6 6 6
	
LCD_WriteCommand(CMD_SET_PLL_MN); //SET PLL freq=113.33MHz ;
LCD_WriteData(0x22);
LCD_WriteData(0x03);
LCD_WriteData(0x04);

		
LCD_WriteCommand(CMD_SET_PCLK); //SET PCLK freq=9MHz ; pixel clock frequency
LCD_WriteData(0x00);
LCD_WriteData(0xE7);
LCD_WriteData(0x4f);
  
	
	
LCD_WriteCommand(CMD_SET_HOR_PERIOD); //SET HBP
LCD_WriteData(0x01); //0x01  //SET HSYNC Total = 440
LCD_WriteData(0xb8);
LCD_WriteData(0x00); //SET HBP = 68
LCD_WriteData(0x44);
LCD_WriteData(0x0f); //0x0f//SET VBP 16 = 15 + 1
LCD_WriteData(0x00); //SET Hsync pulse start position
LCD_WriteData(0x00);
LCD_WriteData(0x00); //SET Hsync pulse subpixel start position
	
LCD_WriteCommand(CMD_SET_VER_PERIOD); //SET VBP
LCD_WriteData(0x01); //SET Vsync total 265 = 264 + 1
LCD_WriteData(0x08);
LCD_WriteData(0x00); //SET VBP = 19
LCD_WriteData(0x12);//
LCD_WriteData(0x07); //SET Vsync pulse 8 = 7 + 1
LCD_WriteData(0x00); //SET Vsync pulse start position
LCD_WriteData(0x00);


LCD_WriteCommand(CMD_SET_COLUMN);//SET column address
LCD_WriteData(0x00); //SET start column address=0
LCD_WriteData(0x00);
LCD_WriteData(0x01); //SET end column address=320
LCD_WriteData(0x3f);
	
LCD_WriteCommand(CMD_SET_PAGE);//SET page address
LCD_WriteData(0x00); //SET start page address=0
LCD_WriteData(0x00);
LCD_WriteData(0x00); //SET end page address=240
LCD_WriteData(0xef);
	

LCD_WriteCommand(CMD_ENT_NORMAL_MODE);
LCD_WriteCommand(CMD_ON_DISPLAY); //SET display on
Batisto4ka вне форума  
Непрочитано 28.03.2013, 18:36  
Batisto4ka
Временная регистрация
 
Регистрация: 19.05.2010
Сообщений: 78
Сказал спасибо: 10
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Batisto4ka на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

такс, таки вроде проблема была в шлейфе, пару раз подергав получилось добиться вывода на экран заливки. но теперь мучаюсь с настройкой для корректного отображения изображения. во-первых у меня быстро мигает изображение, как бы рябит, не знаю как описать, а во-вторых получается, что у меня ширина пикселя как бы в 2 раза уже. вот если вывести полоску шириной в 5 пикселей зеленого цвета, то невооруженным глазом видно, что идет следующая последовательность зеленый-черный, зеленый-черный, зеленый-черный,зеленый-черный, зеленый-черный.то есть выведенно 5 пикселей с промежутками. как бы так настроить, чтобы была корректная картинка и не мигала? дисплей rfc57a1
Batisto4ka вне форума  
Непрочитано 28.03.2013, 19:25  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: stm32 + FSMC + ssd1963:?

Выведи полоску шириной 160 пикселей. Если она займет половину экрана - поднимай в 2 раза частоту, если займет весь экран - значит контроллер фактически вместо одного байта отправляет 2, с нулями в каждом втором
niXto вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Режим захвата в STM32 serb-radio ARM 5 25.02.2016 12:22
STM32 printf не работает sanstan Embedd С 1 17.01.2013 13:21
STM32 eeprom emulation serb-radio Микроконтроллеры, АЦП, память и т.д 0 26.10.2011 13:42
STM32-Comstick Flyguy06 Микроконтроллеры, АЦП, память и т.д 0 18.06.2011 08:49


Часовой пояс GMT +4, время: 14:38.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.