ElektronPL_WiTu Napisano Styczeń 4, 2021 Udostępnij Napisano Styczeń 4, 2021 (edytowany) Witam! Kilka dni temu zrobiłem płytkę do testowania mikrokontrolera STM32H747. Celem jest podłączenie wyświetlacza z interfejsem DSI. Niestety bardzo ciężko jest mi znaleźć jakąś dobrą dokumentację, która pozwoliłaby mi zrozumieć istotę DSI. Jeśli ktoś coś ma bardzo chętnie się zapoznam 🙂 Równie pomocne było by dla mnie, gdyby ktoś przedstawił przykładowy kod, który np. odczytał by "Display ID". http://read.pudn.com/downloads746/sourcecode/embedded/2975114/RM69032_datasheet_V04_20140206.pdf (używam STM32CubeIDE) Z góry dziękuję za pomoc, pozdrawiam! Edytowano Styczeń 4, 2021 przez ElektronPL_WiTu Cytuj Link do komentarza Share on other sites More sharing options...
Zealota Styczeń 4, 2021 Udostępnij Styczeń 4, 2021 (edytowany) A czytałeś to: https://stm32.eu/2017/03/07/interfejs-mipi-m-phy-srodka/ https://wiki.st.com/stm32mpu/wiki/DSI_internal_peripheral https://www.st.com/resource/en/application_note/dm00287601-dsi-host-on-stm32f469-479-stm32f7x8-x9-and-stm32l4r9-s9-mcus-stmicroelectronics.pdf https://www.st.com/content/ccc/resource/training/technical/product_training/group0/78/a1/45/b9/54/53/48/dc/STM32F7_Peripheral_DSIHOST/files/STM32F7_Peripheral_DSIHOST.pdf/jcr:content/translations/en.STM32F7_Peripheral_DSIHOST.pdf Edytowano Styczeń 4, 2021 przez Zealota 1 Cytuj Link do komentarza Share on other sites More sharing options...
ElektronPL_WiTu Styczeń 5, 2021 Autor tematu Udostępnij Styczeń 5, 2021 Dzięki, zapoznałem się z tymi dokumentami na które nie trafiłem wcześniej. Już wiem sporo więcej, na podstawie tej dokumentacji https://www.st.com/resource/en/application_note/dm00287601-dsi-host-on-stm32f469-479-stm32f7x8-x9-and-stm32l4r9-s9-mcus-stmicroelectronics.pdf skonfigurowałem CubeMX w trybie "Adapted Command Mode" i utworzyłem taki kod: (main.c) /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DSIHOST_DSI_Init(); MX_LTDC_Init(); /* USER CODE BEGIN 2 */ uint8_t error = 0; uint8_t buffer[3]; HAL_Delay(500); // W tym momencie robię hardware'owy reset wyświetlacza HAL_StatusTypeDef status = HAL_DSI_ConfigFlowControl(&hdsi, DSI_FLOW_CONTROL_BTA); if (status != HAL_OK) error++; HAL_DSI_Start(&hdsi); status = HAL_DSI_Read(&hdsi, 0, buffer, 3, DSI_DCS_SHORT_PKT_READ, 0x04, buffer); if (status != HAL_OK) error++; HAL_DSI_Stop(&hdsi); Kod ma odczytać ID wyświetlacza. Niestety funkcja HAL_DSI_Read zwraca HAL_TIMEOUT. Wyświetlacz raczej podłączyłem prawidłowo, również napięcie na VCAP_DSI jest prawidłowe, konfigurację CubeMX przeprowadziłem zgodnie z dokumentacją, jedynie wybrałem "One Data lane" bo ten AMOLED nie ma innej możliwości. Mam spory problem, ponieważ jeden z wyświetlaczy jakie kupiłem ma drobne pęknięcia na rogach, a kończy mi się termin zwrotu i bardzo mi zależy aby jakkolwiek przetestować ten wyświetlacz. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!