реклама на сайте
подробности

 
 
> MSP430F425
-TIM-
сообщение Nov 16 2004, 17:54
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 16-11-04
Пользователь №: 1 148



Можно ли использовать специальные выводы для управления LCD модулем (segment и com) в качестве универсальных портов ввода вывода? Т.е. управлять ими что то другое - например символьный LCD дисплей с встроенным контроллером.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
akostin
сообщение Dec 5 2004, 13:07
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322



Действительно, что-то Техас решил сэкономить на портах ввода-вывода в семействе MSP430F42x и FE42x и сделал их всего 14 в 64-выводном корпусе, зажав даже биты 6 и 7 от порта 2. Да и памяти оперативной маловато. Будем надеяться, что появится F429 с 2 кБ ОЗУ, но маловероятно, что в нем увеличится число портов ввода-вывода. smile.gif
Go to the top of the page
 
+Quote Post
akostin
сообщение Dec 5 2004, 14:35
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322



Цитата(-TIM- @ Nov 16 2004, 20:54)
Можно ли использовать специальные выводы для управления LCD модулем (segment и com) в качестве универсальных портов ввода вывода? Т.е. управлять ими что то другое - например символьный LCD дисплей с встроенным контроллером.
*


По поводу использования выводов, предназначенных для LCD (а именно S0…S23 и COMx), могу сказать с уверенностью, что использовать их в качестве портов ВВОДА невозможно, а вот в качестве портов ВЫВОДА - наверное, можно, но сложно. Здесь надо помнить, что, скорее всего, их нагрузочная способность будет намного ниже, чем у обычных портов (LCD потребляет очень мало энергии, и выходы вместе с внутренними блоками рассчитаны именно на него). Я думаю, максимум, чего можно ожидать – это токи порядка микроампер против 25-40 мА у стандартных портов ввода-вывода. Однако, это можно выяснить в ходе эксперимента (у меня, к сожалению, образца этого процессора в настоящее время нет).
Для полноценной работы портов необходимо:
- во-первых, использовать статический режим LCD,а не мультиплексный;
- во-вторых, вывод R03 подключить к общему проводу;
- в-третьих, самое главное, для более или менее сложных задач придется все-таки поставить дополнительную микросхему – буфер (заодно решается и проблема выходного тока). Подойдет 1554ИР22 (74AC373). К ее стробирующему входу подключается сигнал COM0, а к остальным восьми входам – порты Sxx. Более надежно будет, если использовать микросхему 1554ИР23 (74АС374), срабатывающему по фронту сигнала, а не по уровню. Но в этом случае придется как-то формировать фазовый сдвиг – задержку сигнала с вывода COM0 по сравнению с сигналом на выводах Sxx; Если -TIM- в своей разработке использует 5-вольтовый символьный LCD с контроллером, то буфер следут запитать от 5 вольт, а MSP от 3В до 3,6В.
- и в-четвертых, загрузить сразу байт в сделанный таким образом порт вывода не удастся, поскольку память LCD-memory MSP использует по одному-двум битам из каждого своего байта для формирования уровня на выводах Sxx в статическом режиме. Поэтому придется писать подпрограмму, которая бы ваш байт побитно переписывала бы в LCD-memory. Кстати, будет легче, если, например, для вывода восьмибитного байта использовать сегменты S0, S2, …, S14, так как будут использоваться только нулевые биты LCD-memory.
Если кто-нибудь предложит способ проще - без буферной микросхемы, будет очень интересно почитать, а пока только такой.
Go to the top of the page
 
+Quote Post
akostin
сообщение Dec 5 2004, 15:31
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322



А кто-нибудь уже попробовал Сигма-дельта АЦП, встроенный в MSP430F42x или FE42x ? Поделитесь впечатлениями.
Go to the top of the page
 
+Quote Post
-=KiV=-
сообщение Dec 6 2004, 11:48
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 27-08-04
Из: Минск
Пользователь №: 556



Вот пример сишного кода инициализации (MSP430F449) для использования выходов сегментов LCD в качестве _ВЫХОДОВ_ (на вход это дело работать не может В ПРИНЦИПЕ).
Каждый БАЙТ управляет двумя выходами. Их названия в соответствующих комментариях в строках, т.е. бит 0 байта LCD[x] управляет выходом SEG(yy), бит 4 байта LCD[x] управляет выходом SEG(zz) и т.д. Реальное соответствие бит и выходов найдете в документации. Для простоты я включал не бит, а сразу тетраду (0x0f или 0xf0) мне так было проще и нагляднее.

Код
   //************************************************************************
   //  LCD Module as OUTPUT Port
   //
   //************************************************************************

   // initialize LCD driver (output mode) //
   LCDCTL = 0x05;                //static LCD, segments = 0 - 23
   BTCTL  = BTHOLD+BTDIV+BTFRFQ1+BTFRFQ0;     // BTCTL;set fLCD = ACLK / 256 BTFRFQ1
 
   
   /* Setup LCD memory to initialize outputs */
                           // HIGH     |  LOW   nibbles
   LCD [1] = 0x00;         // Unused
   LCD [2] = 0x0F;         // Unused   | 2_5V_ON
   LCD [3] = 0x0F;         // Unused   | 3_3V_ON
   LCD [4] = 0x0F;         // Unused   | PWR_ON
   LCD [5] = 0xF0;         // RSTDRVn  | Unused
   LCD [6] = 0x0F;         // Unused   | KBO_0
   LCD [7] = 0xFF;         // KBO_2    | KBO_1
   LCD [8] = 0xFF;         // KBO_4    | KBO_3
   LCD [9] = 0xFF;         // KBO_6    | KBO_5
   LCD [10] = 0xFF;        // KBO_8    | KBO_7
   LCD [11] = 0xFF;        // KBO_10   | KBO_9
   LCD [12] = 0xFF;        // SYS2_OFFn| KBO_11
   LCD [13] = 0xFF;        // ADD2_CSn | SYS1_OFFn
   LCD [14] = 0x0F;        // EN_485(232n) | ADD2_CSn
   LCD [15] = 0x0F;        // FL_WP#   |485TX/RXn
   LCD [16] = 0x00;        // Unused   | Unused


САМОЕ ГЛАВНОЕ !!!
Выходной ток по выходам ЖКИ _ОЧЕНЬ_ маленький, пару десятков микроампер!
Поэтому максимальная нагрузка на уровне 100 кОм, не менее. И соответственно быстродействие выходов очень маленькое (до микросекунды - зависит от емкости подключенного входа).

Но например включить биполярный супер-бета транзистор вполне можно. Входы N-MOS полевиков или CMOS микросхем работают без проблем.Проверено.
Go to the top of the page
 
+Quote Post
akostin
сообщение Dec 6 2004, 16:53
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322



Так надо все-таки ставить внешнюю микросхему-регистр с защелкиванием или не надо? Ведь сигнал на сегментных выходах не держится на постоянном уровне, а меняется с частотой fLCD (=ACLK/256 в предыдущем примере).
Go to the top of the page
 
+Quote Post
-=KiV=-
сообщение Jan 3 2005, 10:40
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 104
Регистрация: 27-08-04
Из: Минск
Пользователь №: 556



Внешние защелки ставить НЕ НАДО!
На выходах устанавливается постоянный уровень.

У меня просто небольшая ошибка в примечаниях smile.gif. Частота там действительно ACLK/256, _НО_ !!! установлен бит BTHOLD - соответственно таймер не считает, и на выходах устанавливаются ПОСТОЯННЫЕ уровни! Просто я в примечания не добавил фразу об остановке таймера smile.gif - как всегда спешим.
Go to the top of the page
 
+Quote Post
dev-brain
сообщение Jul 8 2005, 11:06
Сообщение #8





Группа: Новичок
Сообщений: 1
Регистрация: 8-07-05
Пользователь №: 6 637



Цитата(akostin @ Dec 5 2004, 18:31)
А кто-нибудь уже попробовал Сигма-дельта АЦП, встроенный в MSP430F42x или FE42x ?  Поделитесь впечатлениями.
*


Пробовал , если от 32768kHz (ACLK) и на время преобразования в LPM3 -
при OVERSAMPLE =256 ~ 14 bit ; PGA - полное г*вн* ; Ref - неплох ,
раскажу потом , как с прочими параметрами ... и на вход -антиалиасинговыи
фильтр (LPF) . Хотябы RC . а то очень ловит хорошо ACLK .
На более высокой частоте - хуже . Могу сорцы намылить ...
А I/O - ну очень мало ... у меня ещё LCD в MUX=4 сидит .
а посколько i2c есть - PCF8574 .... а если только OUT - SHIFT REGISTER
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016