Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: lpc22xx + монохромный LCD
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
HEX
Нужно подключить к lpc2xx монохромный дисплей 240х128 на длинной шине (до 1.5м). До этого использовался PowerTip PG240128 контролер T6963, но на длинной линии T6963 начинает глючит, приходиться его ресетить, изображение при этом промаргивает. Помимо устранения глюков, хотелось бы:
- иметь возможность подключать другие типы ЖКИ модулей (разрешением до 320x200) без аппаратных переделок.
- сократить кол-во ног используемое под дисплей т.е. подключать последовательному каналу

Я пока вижу такие варианты:
1. На процессорной плате ставить шинные формирователи
2. Подключать ЖКИ модуль через расширитель (типа MAX7300/MAX7301), а процессору тянуть соотв. I2C/SPI. По I2C большое сомнение, хватит ли скорости для быстрого обновления дисплея ( на прямую с T6963 полная заливка страницы у меня занимает порядка 50 мс).
3. Устанавливать на ЖКИ модули дополнительный проц, который будет связываться с основным по I2C/UART/SPI. В этом случае можно не просто транслировать команды, а перекладывать часть работы на дополнительный процессор, но соответственно программа для разных типов модулей будут не совместимы.

Ссылки на тему:
Драйвер для подключения ЖКИ с контролером T6963 по I2C: www.microllix.nl/content_eng/driver.html
Отечественный аналог: http://home.mts-nn.ru/~medsintez/electro.html
Шурила
Стандартные решения предлагают многие фирмы, в том числе и Maxim
это пара Serializers & Deserializer -> http://para.maxim-ic.com/cache/en/results/13556.html
HEX
Цитата(Шурила @ Oct 20 2007, 10:01) *
Стандартные решения предлагают многие фирмы, в том числе и Maxim
это пара Serializers & Deserializer -> http://para.maxim-ic.com/cache/en/results/13556.html


Вариант интересный, но подошел если бы обмен с дисплеем был одно сторонний (перед обращением к контроллеру дисплея надо проверять его готовность). Думаю лучше использовать RS232/485, чем делать две связки сериал -> десериал в ту и другую сторону
alexander55
Цитата(HEX @ Oct 19 2007, 17:03) *
Я пока вижу такие варианты:
1. На процессорной плате ставить шинные формирователи
2. Подключать ЖКИ модуль через расширитель (типа MAX7300/MAX7301), а процессору тянуть соотв. I2C/SPI. По I2C большое сомнение, хватит ли скорости для быстрого обновления дисплея ( на прямую с T6963 полная заливка страницы у меня занимает порядка 50 мс).
3. Устанавливать на ЖКИ модули дополнительный проц, который будет связываться с основным по I2C/UART/SPI. В этом случае можно не просто транслировать команды, а перекладывать часть работы на дополнительный процессор, но соответственно программа для разных типов модулей будут не

Я подобную задачу решал 3 способом через RS485.
Это был пульт дистанционного управления: uC, дисплей, клавиатура, светодиоды, RS485.
Главный uC ничего про индикацию не знает. Он получает команды от ПДУ и дает нужную информацию.
HEX
Цитата(alexander55 @ Oct 22 2007, 14:05) *
Я подобную задачу решал 3 способом через RS485.
Это был пульт дистанционного управления: uC, дисплей, клавиатура, светодиоды, RS485.
Главный uC ничего про индикацию не знает. Он получает команды от ПДУ и дает нужную информацию.

Я тоже рассматривал вариант делать теминал + объект управления. Тут минус в том, если чего то меняем, надо обновлять программу в двух контролерах, изменять протокол обмена, отладка тоже сложнее, вообщем более геморойно сопровождать будет. Я по этому хочу всю логику держать в одном контролере.
alexander55
Цитата(HEX @ Oct 22 2007, 15:08) *
Я тоже рассматривал вариант делать теминал + объект управления. Тут минус в том, если чего то меняем, надо обновлять программу в двух контролерах, изменять протокол обмена, отладка тоже сложнее, вообщем более геморойно сопровождать будет. Я по этому хочу всю логику держать в одном контролере.

Вы не правы и вот почему (почти Булгаков).
Я отрабатываю программу контроллера через RS232 PC.
Когда все сраслось - уже есть готовый программный интерфейс. Теперь вместо PC ставлю ПДУ. Ничего в главном контроллере делать не надо.
Преимущества:
- модульность на уровне железа и программного обеспечения;
- функциональная модульность;
- взаимозаменяемость PC или ПДУ;
- программа от PC используется в ПДУ.
HEX
Цитата(alexander55 @ Oct 22 2007, 15:37) *
Вы не правы и вот почему (почти Булгаков).
Я отрабатываю программу контроллера через RS232 PC.
Когда все сраслось - уже есть готовый программный интерфейс. Теперь вместо PC ставлю ПДУ. Ничего в главном контроллере делать не надо.
Преимущества:
- модульность на уровне железа и программного обеспечения;
- функциональная модульность;
- взаимозаменяемость PC или ПДУ;
- программа от PC используется в ПДУ.

С преимуществами я не спрорю, но бесплатно ничего не бывает.
Если все собрано на одном мк, операции делаются элементарно и внутри памяти мк.
Если выносить отображение в ПДУ, передача данных, событий будет производиться по узкому каналу.
Потребуются буферы для гарантии приема/передачи блоков информации. Например, отображение графика (пусть 4кбайт), который раз 1сек обновляется уже вызовет много сложностей в реализации.
alexander55
Цитата(HEX @ Oct 23 2007, 11:41) *
Если выносить отображение в ПДУ, передача данных, событий будет производиться по узкому каналу.

Я не понял про узкий канал. Поясните мысль.

Цитата(HEX @ Oct 23 2007, 11:41) *
Потребуются буферы для гарантии приема/передачи блоков информации.

Для гарантии приема/передачи используется контрольные суммы (протокол ModBus с CRT16).

Цитата(HEX @ Oct 23 2007, 11:41) *
Например, отображение графика (пусть 4кбайт), который раз 1сек обновляется уже вызовет много сложностей в реализации.

Каких сложностей ? Если речь идет о нехватке памяти, то вряд ли имеет смысл гнать лишнюю ненужную информацию (только ту, на что поступил запрос на передачу).
HEX
Цитата(alexander55 @ Oct 23 2007, 13:51) *
Я не понял про узкий канал. Поясните мысль.

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

Цитата(alexander55 @ Oct 23 2007, 13:51) *
Для гарантии приема/передачи используется контрольные суммы (протокол ModBus с CRT16).

Если вовремя передачи блок данных может измениться, то отсылаться должна копия данных из буфера, что бы не получилось половина блока новых данных, половина старых.
Прошу понять меня правельно, я совсем не хочу придераться, если бы у меня стояла задача изменять десяток параметров я бы склонился в сторону мк - пду.
alexander55
Цитата(HEX @ Oct 23 2007, 14:53) *

Я понял Вас.
Сделаю только 2 примечания.
1. На дисплеях очень плохо смотрится информация прыгающая с частотой 3-10 Гц (ничего не понять) и хорошо с частотой 1 Гц и ниже.
2. Буферы данных 4к для графика- это (если взять по 2 байта на точку) 2048 точек по оси Х. Даже у Тектроникса вроде 128 точек на экране (если мне память не изменяет). biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.