Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Програмная эмуляция дисплея 
:(
    Опции темы
RinOSpro
Дата 29.9.2008, 12:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте! Есть алфавитно-цифровой индицирующий модуль на основе контроллера HD44780. 4 строки на 20 символов. Данные поступают по 4-х разрядной шине. 

Цель заключается в следующем выводить данные не на LCD экран, а на монитор копьютера. То есть считывать эти биты и интерпретировать их... Хотел узнать есть ли какие нибудь програмные эмуляторы дисплея?

Еще проблема в маске, я не знаю правильно ли я читаю данные, ведь от маски зависит все...
Люди кто работал с ней помагите плиз!!!
  Вверх
smalcom
Дата 29.9.2008, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



Цитата

Хотел узнать есть ли какие нибудь програмные эмуляторы дисплея?

что именно имеется ввиду? можно выходы с устройства для дисплея кинуть на железку которая генерит видео-сигнал, а можно к примеру на LPT компа и софтом выводить в окошке данные.

Цитата

Еще проблема в маске, я не знаю правильно ли я читаю данные, ведь от маски зависит все...

ну и? надо угадать как читаешь?


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
RinOSpro
Дата 30.9.2008, 09:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(smalcom @  29.9.2008,  19:04 Найти цитируемый пост)
софтом выводить в окошке данные.

вот примерно это и надо как то интерпретировать получаемый сигнал... но как... там ведь поток неизвестных байтов... и к тому же этот поток предназначен для этой LCD панели... а вот я хз по какому принципу там картинка строиться...

Ах забыл сказать данные поступают по 4-х разрядной шине от чипа FTDI2232C по USB в системе ее видно как 2 COM порта, использую их библиотеку. Пишу на Delphi.
  Вверх
Mazzi
Дата 30.9.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Возьми документацию на твой дисплей, припаяйся к выводам, затем по даташиту программно определяешь, что в него пихают.
На самом деле, там всё не так сложно, вот тебе пример работы с таким дисплеем, из которого ты многое поймёшь(может быть smile )

Код

/**************************************************/ 
/*                                                */ 
/* LcdTest.c                                      */ 
/* LCD interface implementation                   */ 
/*                                                */ 
/* Version : 1.3                                  */ 
/*                                                */ 
/*                                                */ 
/* By: J. Winpenny                                */ 
/*                                                */ 
/* Date: 19/7/1999                                */ 
/*                                                */ 
/*                                                */ 
/* Mode : HD44780 type LCD displays               */ 
/*                                                */ 
/* Notes : Requires "Delays.c"                    */ 
/*                                                */ 
/* This version is for 4 bit mode                 */ 
/*                                                */ 
/*                                                */ 
/**************************************************/ 
#include "lcd.h"

code uchar hex_code[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

/***********************************/ 
/* Setup the lcd device */ 
/***********************************/ 
void LCD_Setup(void) 

/* Reset the LCD */ 

    LCD_SEL = 0;

    delay_ms(30); /* Power up delay */ 
    LCD_FunctionMode(); 
    
    
    LCD_Write_8_Bit( system_set_4_bit ); /* This sequence resets the LCD */ 
    delay_ms(5); 
    LCD_Write_8_Bit( system_set_4_bit ); 
    delay_ms(5); 
    LCD_Write_8_Bit( system_set_4_bit ); 
    delay_ms(5); 
    
    LCD_Write_4_Bit( system_set_4_bit ); 
    delay_ms(2); 
    LCD_Write_4_Bit( display_off ); 
    delay_ms(2); 
    LCD_Write_4_Bit( entry_mode ); 
    delay_ms(2); 
    LCD_Write_4_Bit( display_on ); 
    delay_ms(2); 
    LCD_Write_4_Bit( set_dd_ram ); 
    delay_ms(2); 
    
    LCD_DataMode(); 


/* END OF MAIN */ 


/***********************************/ 
/* Put LCD in Function Mode */ 
/***********************************/ 
void LCD_FunctionMode(void) 

    LCD_RS = 0;
    LCD_Delay(); 

/***********************************/ 
/* Put LCD in Data Mode */ 
/***********************************/ 
void LCD_DataMode(void) 

    LCD_RS = 1;
    LCD_Delay(); 

/***********************************/ 
/* Write a single byte to the LCD */ 
/* 8 Bit Mode */ 
/***********************************/ 
void LCD_Write_8_Bit(char d ) 

/* Write Mode */ 
    LCD_WR = 0;
    LCD_Delay(); 

/* Setup data */ 
    if ( d & 0x80 )   LCD_DATA_7 = 1;
    else              LCD_DATA_7 = 0;
    
    if ( d & 0x40 )   LCD_DATA_6 = 1;
    else              LCD_DATA_6 = 0;
    
    if ( d & 0x20 )   LCD_DATA_5 = 1;
    else              LCD_DATA_5 = 0;
    
    if ( d & 0x10 )   LCD_DATA_4 = 1;
    else              LCD_DATA_4 = 0;
    
    LCD_Delay(); 
    LCD_SEL = 1;
    LCD_Delay(); 
    LCD_SEL = 0;/* De-select LCD */ 

/***********************************/ 
/* Write a single byte to the LCD */ 
/* 4 Bit Mode */ 
/***********************************/ 
void LCD_Write_4_Bit(char d ) 

/* Write Mode */ 
    LCD_WR = 0;
//    LCD_Delay(); 

/* Output Higher 4 bits */ 

    if ( d & 0x80 )    LCD_DATA_7 = 1;
    else               LCD_DATA_7 = 0;
    
    if ( d & 0x40 )    LCD_DATA_6 = 1;
    else               LCD_DATA_6 = 0;
    
    if ( d & 0x20 )    LCD_DATA_5 = 1;
    else               LCD_DATA_5 = 0;
    
    if ( d & 0x10 )    LCD_DATA_4 = 1;
    else               LCD_DATA_4 = 0;

    
//    LCD_Delay(); 
    LCD_SEL = 1;
//    LCD_Delay(); 
/* Clock in the data */ 
    LCD_SEL = 0;
//    LCD_Delay(); 
    LCD_Wait();
    
    LCD_WR = 0;
    LCD_RS = 1;
    
    d <<= 4; /* Output Lower 4 bits */ 
    
    
    if ( d & 0x80 )    LCD_DATA_7 = 1;
    else               LCD_DATA_7 = 0;
    
    if ( d & 0x40 )    LCD_DATA_6 = 1;
    else               LCD_DATA_6 = 0;
    
    if ( d & 0x20 )    LCD_DATA_5 = 1;
    else               LCD_DATA_5 = 0;
    
    if ( d & 0x10 )    LCD_DATA_4 = 1;
    else               LCD_DATA_4 = 0;

    
//    LCD_Delay(); 
    LCD_SEL = 1; 
//    LCD_Delay(); 
    LCD_SEL = 0; /* Clock in the data */ 

    LCD_Wait();


/***********************************/ 
/* LCD timing delay */ 
/* Adjust for your LCD Display */ 
/***********************************/ 
void LCD_Delay(void) 

    delay_ms(1); 

/***********************************/ 
//
/***********************************/ 
void delay_ms(unsigned char ms)
{
     xdata uint ui;
     ui = ms*10;
/*     if (ms == 1) 
        WaitResp();
     else */
        while (ui) ui--;
}
/***********************************/ 
//
/***********************************/ 
void PrintUintHex(uint ui, uchar Position)
{
    SetPos(Position);
    LCD_Write_4_Bit(hex_code[(ui >> 12)&0x0F]);
    LCD_Write_4_Bit(hex_code[(ui >>  8)&0x0F]);
    LCD_Write_4_Bit(hex_code[(ui >>  4)&0x0F]);
    LCD_Write_4_Bit(hex_code[(ui      )&0x0F]);
}
/***********************************/ 
//
/***********************************/ 
void PrintUint(uint ui, uchar Position)
{
    xdata uchar a[5];

    a[0] = 0; while (ui > 9999) { ui -= 10000; a[0]++;} a[0] |= 0x30; 
    a[1] = 0; while (ui >  999) { ui -=  1000; a[1]++;} a[1] |= 0x30; 
    a[2] = 0; while (ui >   99) { ui -=   100; a[2]++;} a[2] |= 0x30; 
    a[3] = 0; while (ui >    9) { ui -=    10; a[3]++;} a[3] |= 0x30; 
    a[4] = ui | 0x30;                                                 

    SetPos(Position);
    LCD_Write_4_Bit(a[0]); LCD_Write_4_Bit(a[1]); LCD_Write_4_Bit(a[2]); 
    LCD_Write_4_Bit(a[3]); LCD_Write_4_Bit(a[4]);
}
/***********************************/ 
//
/***********************************/ 
void PrintUcharHex(uchar uc, uchar Position)
{
    SetPos(Position);
    LCD_Write_4_Bit(hex_code[(uc >>  4)&0x0F]);
    LCD_Write_4_Bit(hex_code[(uc      )&0x0F]);
}
/***********************************/ 
//
/***********************************/ 
void PrintFloat(float fl, uchar Position)
{
    PrintUint(fl,Position);
/*    xdata uchar a[5], b[2];
    a[0] = 0; while (fl > 9999.0)   { fl -= 10000.0;  a[0]++; } a[0] |= 0x30; 
    a[1] = 0; while (fl >  999.0)   { fl -=  1000.0;  a[1]++; } a[1] |= 0x30; 
    a[2] = 0; while (fl >   99.0)   { fl -=   100.0;  a[2]++; } a[2] |= 0x30; 
    a[3] = 0; while (fl >    9.0)   { fl -=    10.0;  a[3]++; } a[3] |= 0x30; 
    a[4] = 0; while (fl >    0.9)   { fl -=     1.0;  a[4]++; } a[4] |= 0x30;                                                 

    b[0] = 0; while (fl >    0.09)  { fl -=     0.1;  b[0]++; } b[0] |= 0x30; 
    b[1] = 0; while (fl >    0.009) { fl -=     0.01; b[1]++; } b[1] |= 0x30; 

    SetPos(Position);
    LCD_Write_4_Bit(a[0]); LCD_Write_4_Bit(a[1]); 
    LCD_Write_4_Bit(a[2]); LCD_Write_4_Bit(a[3]); 
    LCD_Write_4_Bit(a[4]); LCD_Write_4_Bit('.');
    LCD_Write_4_Bit(b[0]); LCD_Write_4_Bit(b[1]);*/
}
//-------------------------------
//        Set cursor position
//-------------------------------
void SetPos(uchar position)
{
    LCD_FunctionMode(); 
    LCD_Write_4_Bit(position | 0x80); //
    LCD_DataMode();
}
//-------------------------------
//        Print string
//-------------------------------    
void PrintString(uchar *mess, uchar Position)
{
    SetPos(Position);
    while (*mess!='\0')
    {
        LCD_Write_4_Bit(*mess);
        mess++;
    }
}
//-------------------------------
//        Clear screen
//-------------------------------
void ClrScr(void)
{
    LCD_FunctionMode(); 
    LCD_Write_4_Bit(clear_lcd); 
    LCD_DataMode();
}
//-------------------------------
//        Wait for the response
//-------------------------------

void LCD_Wait(void)
{
    do
    {
       LCD_SEL=1;  
       LCD_RS=0;  LCD_WR=1;  LCD_DATA_7 = 1;//DAT=0xff;
    }  while(LCD_DATA_7 == 1);    
//    LCD_SEL=0;  LCD_WR=0;
}

Это рабочий модуль.

Удачи!



--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 30.9.2008, 12:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Mazzi - Все уже припаяно... я программист поэтому ни че не паяю... 

Мне нужно читать данные которые уже шлются в режиме биг банг... (вроде так электронщики говарят) так вот читать я могу но незнаю какую точно маску задавать... в процедуре FT_SetBitMode (эта процедура из библиотеки D2XXUnit чипа FTDI2232C) как я понял от этой маски зависит почти все...
  Вверх
smalcom
Дата 30.9.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



может поможет
пример

Цитата

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

для этой... распространенней этой модели наверно и нету - это ж стандарт

Цитата

а вот я хз по какому принципу там картинка строиться...

картинка ту непричем, там оччень простой набор команд. не пожалей времени - осиль доку.

Цитата

Ах забыл сказать данные поступают по 4-х разрядной шине от чипа FTDI2232C по USB в системе ее видно как 2 COM порта, использую их библиотеку. Пишу на Delphi.

п...ц. я так понял вы не особо думая(архитектор или электронщики) тупо прибили 4портовый вариант на входные линии USB. передай умельцам, что еще есть R/-W и строб. вобщем выбери кто недоделал - или ты не дорасказал или они недопаяли

Это сообщение отредактировал(а) smalcom - 30.9.2008, 21:50


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
Mazzi
Дата 1.10.2008, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Цитата(RinOSpro @ 30.9.2008,  12:27)
(эта процедура из библиотеки D2XXUnit чипа FTDI2232C)

Интересно, где ты взял такую микросхему? На сайте производителя, 
http://www.ftdichip.com/FTProducts.htm такой нет... smile 

Вот список, чипов которые есть:

FT232R - USB UART IC (Lead Free)
FT245R - USB FIFO IC (Lead Free)
FT2232C - Dual USB UART/FIFO IC
FT2232L - Dual USB UART/FIFO IC (Lead Free)
FT2232D - Dual USB UART/FIFO IC (Lead Free)
FT232BM - USB UART IC
FT232BL - USB UART IC (Lead Free)
FT232BQ - USB UART IC (QFN-32 Lead Free Package)
FT245BM - USB FIFO IC
FT245BL - USB FIFO IC (Lead Free)
FT245BQ - USB FIFO IC (QFN-32 Lead Free Package)
FT8U232AM - USB UART IC
FT8U245AM - USB FIFO IC
FT8U100AX - Multi-Function USB 1.1 Hub Controller IC


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 1.10.2008, 13:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Mazzi @  1.10.2008,  09:10 Найти цитируемый пост)

FT232R - USB UART IC (Lead Free)
FT245R - USB FIFO IC (Lead Free)
FT2232C - Dual USB UART/FIFO IC


FT2232C - Dual USB UART/FIFO IC - Она самая! 
  Вверх
Mazzi
Дата 1.10.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Так в чём проблема? Эта микросхема  всего лишь преобразователь на железном уровне, в поток данных он не вносит ничего своего. 

Бери исходник который я выложил раньше и потрудись почитать. В противном случае, тебе не сможет помочь никто. (я имею в виду, если не будешь ничего делать).


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
RinOSpro
Дата 1.10.2008, 15:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот нарисовал примерную схему:
user posted image
Mazzi с кодом ознакомился. Но это не совсем то... помоему у меня как раз наоборот не писать в чип который управляет экраном а читать то что идет на него. И наверно придется формировать кодовую таблицу как у знакогенератора HD44780.

Тут еще проблема со чтением с 4 битной шины, никогда не читал с такой... может подскажите литературу? В общем как говарит разработчик нужно читать когда 3 бит установле в 1 потом когда он идет в 0 как бы по этому стробу нужно получить первый полубайт потом получить второй полубайт и потом их склеить... вот мне просто интересно где гарантии что я не пропущу первый или 2 полубайт... и к томуже разработчик говарит что там между 2 полубайтами время 15 мкр секунд. я из под винды вообще можно их прочитать? этож вроде оч. быстро...

Это сообщение отредактировал(а) RinOSpro - 1.10.2008, 15:43
  Вверх
smalcom
Дата 1.10.2008, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



Цитата

И наверно придется формировать кодовую таблицу как у знакогенератора HD44780.

доку все-таки не читал?...

Цитата

Тут еще проблема со чтением с 4 битной шины, никогда не читал с такой... может подскажите литературу?

но коментс.

судя по схеме и по тому что говорит разработчик данная тема вообще плохо относится именно к LCD-модулю. 15микросекунд, то поймать можно но в лупе ждать их... плюс еще и юсб... это изврат

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


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
Mazzi
Дата 2.10.2008, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



RinOSpro,  одно из двух, либо ты пытаешься поглумиться над нами, либо не понимаешь, что четырёхбитная шина и ЮСБ это несколько разные вещи и выполнить то, что ты говоришь, именно так как ты говоришь нереально.

Ты пишешь для компа, значит данные с ЮСБ к тебе должны приходить в какой нибудь буфер, и не нужно ловить никаких стробов. 


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
xvr
Дата 2.10.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(Mazzi @ 2.10.2008,  08:44)
RinOSpro,  одно из двух, либо ты пытаешься поглумиться над нами, либо не понимаешь, что четырёхбитная шина и ЮСБ это несколько разные вещи и выполнить то, что ты говоришь, именно так как ты говоришь нереально.

Сдается мне, что человеку нужно сделать из компа эмулятор железной HD44780, подключив его (комп с программой эмулятором) через FT2232C.
IMHO cие невозможно. Нужен какой нибудь CPLD/FPGA/MCU для отлова записей/чтений в эмулируемую HD44780, их буферизации и заливки в USB.

PM MAIL   Вверх
RinOSpro
Дата 2.10.2008, 12:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











xvr +1. Ну наконец кто то понял что я хочу. 

xvr скажи пожалуста на языке электронщиков почему это не возможно? я им попытаюсь объяснить это на их языке... 

Цитата(xvr @  2.10.2008,  11:45 Найти цитируемый пост)
Нужен какой нибудь CPLD/FPGA/MCU

А это что?

Это сообщение отредактировал(а) RinOSpro - 2.10.2008, 12:41
  Вверх
smalcom
Дата 2.10.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



Цитата

Сдается мне, что человеку нужно сделать из компа эмулятор железной HD44780

неа. лучше просмотреть схемку которую выложил топикстартер. по-крайней мере если хочет чтоб действительно помогли кусок схемы в студию

Цитата

Ну наконец кто то понял что я хочу. 

правильно заданный вопрос содержит половину ответа. обратимся к первому сообщению


Цитата

Данные поступают по 4-х разрядной шине. 

Цитата

То есть считывать эти биты и интерпретировать их

и? где тут разговор о знакогенераторе

Цитата

Еще проблема в маске, я не знаю правильно ли я читаю данные, ведь от маски зависит все...

те мало того что топик стартер не разбирается в теме вопроса так еще и основывает некоторые утверждения на своем заблуждении

Цитата

RinOSpro,  одно из двух, либо ты пытаешься поглумиться над нами, либо не понимаешь, что четырёхбитная шина и ЮСБ

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

действия, топикстартер, действия должны быть.


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
RinOSpro
Дата 2.10.2008, 14:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Повторяю еще раз что не понимаю в железе! 

Я даже вопрос не знал как точно задать, потому что плохо разбираюсь в этом вопросе!

smalcom и что ты меня там везде процитировал? хотя по сути не сказал ни бита полезной информации! Но зато могу сказать большое спасибо Mazzi и xvr.
А то что тебе там кажется:
Цитата(smalcom @  2.10.2008,  13:24 Найти цитируемый пост)
 вполне возможно что в какойто конторе с динозаврами электронщиками

это кажется лично тебе, мне кажется это самое совсем по другому. Как уже сказал Mazzi и xvr вроде это не возможно сделать. и тут уже всатёт вопрос о компетентности наших электронщиков... что они мне такую железку дали...

И если не чем помощь, то хотя бы не ненадо захломлять топик насмешками.

Это сообщение отредактировал(а) RinOSpro - 2.10.2008, 14:38
  Вверх
smalcom
Дата 2.10.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



Цитата

Повторяю еще раз что не понимаю в железе! 
Я даже вопрос не знал как точно задать, потому что плохо разбираюсь в этом вопросе!

в таком случае идут к электронщикам и просят карту состояний, а не призрачное упоминание о каком-то модуле

Цитата

вполне возможно что в какойто конторе с динозаврами электронщиками
это кажется лично тебе, мне кажется это самое совсем по другому

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

Цитата

что они мне такую железку дали...

пролистни, плиз, назад и посмотри когда я тебе об этом сказал

Цитата

И если не чем помощь, то хотя бы не ненадо захломлять топик насмешками.

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


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
xvr
Дата 2.10.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(RinOSpro @ 2.10.2008,  12:38)
xvr +1. Ну наконец кто то понял что я хочу. 

xvr скажи пожалуста на языке электронщиков почему это не возможно? я им попытаюсь объяснить это на их языке... 

Внимательно изучил datasheet на FT2232. Похоже, если не надо ЧИТАТЬ с эмулируемого HD44780, то это сделать можно
FT2232 должен быть включен в режиме 245 FIFO Mode. Команды, вместе с битом адреса для HD44780 будут записываться в FIFO по каждому стробу записи. Со стороны PC их можно будет читать сплошным потоком.
Если же нужно и чтение, то на одном голом FT2232 уже не получится.

Цитата

Цитата(xvr @  2.10.2008,  11:45 Найти цитируемый пост)
Нужен какой нибудь CPLD/FPGA/MCU

А это что?
Это всякие железки, на которых можно сделать полную эмуляцию HD44780

PM MAIL   Вверх
RinOSpro
Дата 8.10.2008, 10:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Завтра совещание... скажите как грамотно объяснить пути решения проблемы!

Это сообщение отредактировал(а) RinOSpro - 13.12.2010, 11:51
  Вверх
xvr
Дата 8.10.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(RinOSpro @ 8.10.2008,  10:24)
Завтра совещание... скажите как грамотно объяснить что это не возможно? и пути решения проблемы!

Я же писал (2 письма назад) - это возможно при некоторых ограничениях:
  •  Не будет полной програмной эмуляции дисплея, но возможно этого хватит, что бы вывести на PC то, что выводят на дисплей
  •  Дисплей должен быть подключен к FT2232 правильным образом (просто кинуть какие попало провода дисплея на какие попало ноги FT2232 недостаточно) - необходимо задействовать режим 245 FIFO Mode на запись в FT2232
Если нужна ПОЛНАЯ эмуляция дисплея (включая чтение из него), то для этого понадобится АППАРАТНЫЙ (с точки зрения PC) эмулятор, т.к. канал передачи (FT2232 через USB) НЕ ПОЗВОЛИТ обеспечить временные характеристики чтения-записи чипа дисплея. Дело в том, что данные, читаемые из дисплея непосредственно зависят от того, что в него писали, а буферизация USB (причем в обе стороны) не позволит организовать циклы запись-чтение быстрее, чем 1 фрейм USB, а это 1ms. 
Про режим BitBang можно вообще забыть - стробы записи/чтения на дисплей много короче.

PM MAIL   Вверх
RinOSpro
Дата 9.10.2008, 09:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











xvr я мож опять туплю но 
Цитата(xvr @  8.10.2008,  22:16 Найти цитируемый пост)
 Дисплей должен быть подключен к FT2232 правильным образом

Вообще то не дисплей... а провод который раньше шел к дисплею теперь идет к FT2232.
  Вверх
Mazzi
Дата 9.10.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Тогда такой вопрос, были переделки электронной части, или просто отброшен дисплей?


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
xvr
Дата 9.10.2008, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(RinOSpro @ 9.10.2008,  09:13)
xvr я мож опять туплю но 
Цитата(xvr @  8.10.2008,  22:16 Найти цитируемый пост)
 Дисплей должен быть подключен к FT2232 правильным образом

Вообще то не дисплей... а провод который раньше шел к дисплею теперь идет к FT2232.

Я это и имел в виду. И вообще, пусть ваши электронщики выдадут схему (электрическую принципиальную) что и куда они подключили, без нее все это гадание на кофейной гуще  smile  
PM MAIL   Вверх
RinOSpro
Дата 9.10.2008, 13:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как можно включить в режиме 245 FIFO MODE
  Вверх
Mazzi
Дата 9.10.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Схема в студии будет? Или это запретная тема?


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
smalcom
Дата 9.10.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



Цитата

Тогда такой вопрос, были переделки электронной части, или просто отброшен дисплей? 

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

Цитата

Как можно включить в режиме 245 FIFO MODE 

для этого надо ставить внешний EEPROM и при помощи утилитки от FTDI ключить нужный режим

ОФФ:
Цитата

Схема в студии будет?

думаю схемы не будет.



--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
RinOSpro
Дата 12.12.2008, 17:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Отвечу... лучше поздно чем ни когда.

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

После они перепаяли его и сделали на контроллере, а мне приходили 1 и 2 полубайт.

А дальше дело за малым... Написть эмулятор HD44780.
Написал... Эмулятор разделял данные и команды. Сделал адресацию памяти как в чипе, реализовал команды (команды чаще это всего указатели на адреса по которым должны писаться данные), а данные записывал по этим адресам.

В общем все классно получилось ) даж самому нравиться. Теперь в красивой, удобной программе вижу, то что, должно было бы находиться в тяжёлом и дорогом пульте )
  Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1265 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.