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

Yevgeniy_F

Members
  • Постов

    197
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Yevgeniy_F

  1. Добрый день! Из Китая прислали ферритовые кольца 31х19х10 мм (Mn-Zn). Проницаемость 880. Пойдут ли они на синфазный фильтр помех на вход ИИП? Мощность ИИП предполагается 1-3 КВт. 

  2. Здравствуйте! Существует ли драйвер типа TC4420 или IR4427, только чтобы работал и с отрицательным сигналом, типа УНЧ? И поддерживаемая частота ~ 20-100 КГц.

    Есть генератор сигнала 0-10 МГц (синус, прямоугольник, треугольник). Но выход по току слабый. Хотелось бы выход сделать помощней хотя бы в диапазоне ~ 20-100 КГц, хотя бы для прямоугольника.   

  3. А какие нужны оптимальные размеры дросселя из альсифера для этих параметров, ну хоть примерно? Частота преобразования 45-50 КГц.

  4. Что-то я не понял Вашего ответа. Насколько я знаю, выходной дроссель делается из распыленного железа, а материалы №52 и №26 состоят именно из него. Или Вы имеете ввиду, что не стоит делать дроссель из распыленки для таких выходных параметров? 

  5. Добрый вечер! Планирую собрать полумостовой преобразователь примерно на 300 Вт. Он будет применятся в качестве гальванической развязки для экспериментов. На выходе напряжение 310 В и ток от 0,1 до 1 А. Вопрос вот какой: какой сердечник наиболее оптимальный по величине надо подобрать для выходного дросселя из материала №52? Или лучше использовать материал №26? 

  6. Часто натыкаюсь на ЦАП с добавление Аудио. Давно хочу спросить, можно ли для регулировки напряжения использовать Audio DAC, например, такие как ad1865 и т.п? Или они чисто для использования в аудио системах? В чем их особенность?

    Наверно нельзя, по той-же причине по, которой нельзя использовать звуковые ОУ вместо инструментальных, на звуковых микросхемах не нормируются параметры по постоянному току или они сильно хуже, тот-же дрейф например, а по остальным параметрам аудио ЦАП наоборот сильно избыточны для приборов и поэтому слишком дороги... конечно если выковырять откуда, и схема без особых претензий то можно попробовать... я так думаю, но могу и заблуждаться.

    А что скажите о PCM1702? Он вроде не аудио, но популярен среди аудиофилов.

    pcm1702p.pdf

  7. Часто натыкаюсь на ЦАП с добавление Аудио. Давно хочу спросить, можно ли для регулировки напряжения использовать Audio DAC, например, такие как ad1865 и т.п? Или они чисто для использования в аудио системах? В чем их особенность?

  8. Как я теперь понял, добавив элемент Пельтье можно модернизировать систему охлаждения, сделав её более быстрой с более глубоким охлаждением, но как чисто альтернатива не прокатит.

  9. Всё, наконец-то разобрался. Проблема была в инициализации портов для FSMC. Чёртова SPL-ня. Уже начал грешить на бракованный дисплей. В общем, проинициализировал с помощью CMSIS и всё заработало как часики.

    Благодарю всех за помощь!

  10. микрочип .сю

    :D

    Буду по порядку инициализации блоков:

    Твой

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

    архив

     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

    Так и так пробовал, без разницы, надо попробовать сделать подтяжку к земле.

    Твой

    GPIO_PinAFConfig(GPIOE, GPIO_PinSource7, GPIO_AF_FSMC); // D4
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource8, GPIO_AF_FSMC); // D5

    архив

     GPIO_PinAFConfig(GPIOE, GPIO_PinSource2 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource7 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource8 , GPIO_AF_FSMC);

    Твой

    GPIO_PinAFConfig(GPIOG, GPIO_PinSource5, GPIO_AF_FSMC); // RS - A15 Command/Data
    GPIO_PinAFConfig(GPIOG, GPIO_PinSource14, GPIO_AF_FSMC);// LCS - A25 - Chip Select
    

    архив

    
    GPIO_PinAFConfig(GPIOG, GPIO_PinSource5 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOG, GPIO_PinSource12 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOG, GPIO_PinSource13 , GPIO_AF_FSMC);

    Я инициализировал, основываясь на разводке борды. Сначала прозвонил, потом всё прописал как есть. Даже в даташите пины совпадают с моими. А в этом архиве почему-то написано немного по-другому.

  11. В коде инициализации строчку LCD_WriteReg(0x0001,0x2B3F) заменил на LCD_WriteReg(0x0001,0x6B3F) и стала закрашиваться другая сторона. Наверно произошел разворот изображения на 180 градусов. Закрашивается не доходя до середины, что в первом случае, что во втором. Блин, такое чувство, что массив данных смещен в памяти RAM и вот надо как-то его обратно сместить, а может и нет.

    post-171792-0-65136400-1424182718_thumb.jpg

  12. Борду заказывал с Китая. Прозванивал. Распиновка МК полностью совпадает с распиновкой разъема для дисплея на борде, а также с распиновкой самого дисплея, как и указывалось выше.

    В общем сейчас проверил осциллографом и получил вот такие вот результаты:

    На PD0, PD1, PD5, PD8, PD9, PD14, PD15, PE7, PE14 и PE15 сигнал в виде периодических пачек как рис 4. Растянул картинку на осциллографе и получил изображение как на рис 5.

    На PD10 - наблюдается сигнал как на рис 6 - непонятные периодические импульсы не более 1 В. Очень странно, но на PD13 точно такие же импульсы, хотя этот пин и не используется.

    На PE13, PG14 постоянный низкий уровень.

    На PD4, PG5, PE8, PE9, PE10, PE11, PE12 постоянно высокий уровень.

    PD0 - D2 - правильно (идут импульсы)

    PD1 - D3 - правильно (идут импульсы)

    PD4 - NOE (RD) - правильно (высокий уровень), режим чтения не используется.

    PD5 - NWE (WR) - правильно (идут импульсы. т.к режим записи)

    PD8 - D13 - правильно (идут импульсы)

    PD9 - D14 - правильно (идут импульсы)

    PD10 - D15 - наверно неправильно (идут непонятные импульсы как на рис 6)

    PD14 - D0 - правильно

    PD15 - D1 - правильно

    ​PE7 - D4 - правильно (идут импульсы)

    PE8 - D5 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE9 - D6 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE10 - D7 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE11 - D8 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE12 - D9 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE13 - D10 - здесь что-то непонятно (постоянно высокий уровень), возможно неправильно.

    ​PE14 - D11 - правильно (идут импульсы)

    ​PE15 - D12 - правильно (идут импульсы)

    PG5 - RS (A15) - Command/Data - здесь тоже непонятно, по идее должны идти импульсы, хотя бы во время инициализации дисплея, ведь там есть функция LCD_WriteReg (reg, data), она организует передачу и команд и данных, а вместо этого на осциллографе наблюдается постоянный высокий уровень.

    PG14 - CS (A25) - правильно (постоянный низкий уровень).

    ЗЫ: я просто фигею, как вообще может дисплей инициализироваться при таком раскладе?!

    post-171792-0-82909600-1424167077_thumb.jpg

    post-171792-0-07865500-1424167182_thumb.jpg

    post-171792-0-31580500-1424167472_thumb.jpg

    post-171792-0-67471400-1424167544_thumb.jpg

    post-171792-0-83711700-1424167563_thumb.jpg

    post-171792-0-49592000-1424167592_thumb.jpg

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

    Логический анализатор отсутствует.

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

    И все таки забросил бы SPL, до добра не доведет...

    Полностью согласен. Это я просто на первом этапе, пока изучаю модули и систему в целом, использую SPL, чтобы быстро запустить и посмотреть как ведет себя система, чтобы увидеть так сказать общую картину и не запутаться во множестве деталей. Потом обязательно буду переделывать код с помощью CMSIS.
  14. uint32_t i

    Инициализировал только вот эти выводы:

    PD0 - D2

    PD1 - D3

    PD4 - NOE (RD)

    PD5 - NWE (WR)

    PD8 - D13

    PD9 - D14

    PD10 - D15

    PD14 - D0

    PD15 - D1

    ​PE7 - D4

    PE8 - D5

    ​PE9 - D6

    ​PE10 - D7

    ​PE11 - D8

    ​PE12 - D9

    ​PE13 - D10

    ​PE14 - D11

    ​PE15 - D12

    PG5 - RS (A15) - Command/Data

    PG14 - CS (A25)

    Может быть не хватает еще какого-нибудь вывода?

    Или может быть там нужна какая-нибудь синхронизация (проблема с разверткой или ещё что-нибудь) или проблема с таймингами FSMC?

    Ещё такое чувство, что там проблема со смещением в RAM (смещение в массиве) - смещение картинки относительно экрана.

    Может быть существует настройка смещения изображения, как в мониторе от компа?

    Пробовал работать с библиотекой, тоже самое явление:

    uint32_t i;
    
    int main()
    {		
     FSMC_Init();
     LCD_Init();
    
     while(1)
           {		
              LCD_Clear(LCD_COLOR_GREEN); // Очищаем экран, закрашивая зеленым цветом
           }
    }
    

    Тело функции:

    void LCD_Clear(uint16_t Color)
       {
         uint32_t index = 0;
    
         LCD_SetCursor(0x00, 0x013F);
         LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
         for(index = 0; index < 76800; index++)
           {
              LCD_RAM = Color;
           }
       }
    

    Как я понял: 76800 - количество точек дисплея. Пробовал увеличивать - не помогает. Пробовал уменьшать - уменьшается закрашиваемая область от центра к верху.

  15. Добрый вечер! Запустил 3.2 TFT с помощью STM32F407ZGT6 на Development Board.Вроде кое-что получилось. Но что-то закрашивается только часть экрана зеленым цветом. Остальная часть закрашена цветной рассыпухой. Всё перепробовал, не получается закрасить весь экран. Может кто в курсе в чём проблема?

    Закрашивание в главном цикле:

    int main()
    {				
    FSMC_Init();
    LCD_Init();
    
    for (i = 0; i < 6000000; i++){} // Задержка
    
    LCD_WriteReg(34, 0x0000); // Установка режима записи
    
    while(1)
    {			
    LCD_WriteData(0x07E0); // Закрашивание
    }	
    }
    

    Инициализация SSD1289:

    LCD_WriteReg(0x0007,0x0021);
    // set R00h at 0001h (OSCEN=1)
    LCD_WriteReg(0x0000,0x0001);
    // set R07h at 0023h (GON=1,DTE=0,D[1:0]=11)
    LCD_WriteReg(0x0007,0x0023);
    // set R10h at 0000h (Exit sleep mode)
    LCD_WriteReg(0x0010,0x0000);
    
    for (i = 0; i < 1000000; i++){} // Задержка
    
    // set R07h at 0033h (GON=1,DTE=1,D[1:0]=11)
    LCD_WriteReg(0x0007,0x0033);
    // Entry mode setting (R11h)
    // R11H Entry mode
    // vsmode DFM1 DFM0 TRANS OEDef WMode DMode1 DMode0 TY1 TY0 ID1 ID0 AM LG2 LG2 LG0
    // 0	 1 1	 0	 0	 0	 0	 0	 0 1 1 1 * 0 0 0
    LCD_WriteReg(0x0011,0x6058);//Entry Mode
    // LCD driver AC setting (R02h)
    LCD_WriteReg(0x0002,0x0600);
    // power control 1
    // DCT3 DCT2 DCT1 DCT0 BT2 BT1 BT0 0 DC3 DC2 DC1 DC0 AP2 AP1 AP0 0
    // 1	 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0
    // DCT[3:0] fosc/4 BT[2:0] DC{3:0] fosc/4
    LCD_WriteReg(0x0003,0x0804);// power control 1
    LCD_WriteReg(0x000C,0x0000);// power control 2
    LCD_WriteReg(0x000D,0x0808);// power control 3
    // power control 4
    // 0 0 VCOMG VDV4 VDV3 VDV2 VDV1 VDV0 0 0 0 0 0 0 0 0
    // 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0
    LCD_WriteReg(0x000E,0x2900); // power control 4
    LCD_WriteReg(0x001E,0x00B8); // power control 5
    LCD_WriteReg(0x0001,0x2B3F); // Driver output control
    LCD_WriteReg(0x0010,0x0000);
    LCD_WriteReg(0x0005,0x0000);
    LCD_WriteReg(0x0006,0x0000);
    LCD_WriteReg(0x0016,0xEF1C);
    LCD_WriteReg(0x0017,0x0003);
    LCD_WriteReg(0x0007,0x0233);
    LCD_WriteReg(0x000B,0x0000|(3<<6));
    LCD_WriteReg(0x000F,0x0000);
    LCD_WriteReg(0x0041,0x0000); //Vertical scroll control (1)
    LCD_WriteReg(0x0042,0x0000); //Vertical scroll control (2)
    LCD_WriteReg(0x0048,0x0000); //First window start
    LCD_WriteReg(0x0049,0x013F); //First window end
    LCD_WriteReg(0x004A,0x0000); //Second window start
    LCD_WriteReg(0x004B,0x0000); //Second window end
    //---------------------------------------------
    // initial and final address horizontal
    LCD_WriteReg(0x0044,0xEF00);// 0-239
    // initial and final address vertical
    LCD_WriteReg(0x0045,0x0000);// 0
    LCD_WriteReg(0x0046,0x013F);// 319
    //---------------------------------------------
    for (i = 0; i < 1000000; i++){}
    //-------- GAMMA CONTROL ----------------------
    LCD_WriteReg(0x0030,0x0707);
    LCD_WriteReg(0x0031,0x0704);
    LCD_WriteReg(0x0032,0x0204);
    LCD_WriteReg(0x0033,0x0201);
    LCD_WriteReg(0x0034,0x0203);
    LCD_WriteReg(0x0035,0x0204);
    LCD_WriteReg(0x0036,0x0204);
    LCD_WriteReg(0x0037,0x0502);
    LCD_WriteReg(0x003A,0x0302);
    LCD_WriteReg(0x003B,0x0500);
    //----------------------------------------------
    LCD_WriteReg(0x0023,0x0000);
    LCD_WriteReg(0x0024,0x0000);
    LCD_WriteReg(0x0025,0x8000); // 65hz
    LCD_WriteReg(0x004f,0x0000); // X = 0
    LCD_WriteReg(0x004e,0x0000); // Y = 0
    

    post-171792-0-70746500-1424103691_thumb.jpg

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