
В тему названию сайта, наши часики тоже будут космические!
Можно было бы написать две статьи, но у меня получилась одна, но состоящая из двух частей.
Часть 1.
Пример использования популярного в народе символьного LCD-дисплея WH0802. Это восьмисимвольный двухстрочный жидкокристаллический дисплей со светодиодной подсветкой.
Для его подключения был спаяна вот такая платка:

Ее схема:

Кроме того, сам дисплейчик был слегка доработан. На плате есть посадочные места, но не впаяны резисторы, с помощью которых можно подать питание на светодиоды подсветки. Мы поставили два резистора на 33 ома.

Дисплей имеет не сложный параллельный интерфейс, подробно описанный в документации (
). Для сокращения количества подключаемых пинов мы использовали 4х-битный режим, хотя из-за этого несколько усложнился проект для платы Марсоход ().Хочу отметить несколько важных моментов при работе с дисплеем. Сразу после включения питания нужно немного подождать - в дисплее есть свой контроллер, и на его инициализацию уходит какое-то время (мы ждем 1 секунду). Далее в него нужно занести управляющую последовательность, включить 4-х битный режим, отображение второй строки и так далее. ( мы, кроме того, пишем слово "Marsohod" в верхней строке ). После этого можно выводить нужную нам информацию, не забывая корректировать указатель на дисплейную память.
Теперь, когда мы можем пользоваться дисплейчиком и хотим сделать из него часы, встает резонный вопрос, а где, собственно, брать время?
Часть 2.
GPS-приемник.
Приобрел по случаю GPS модуль CONDOR67650-10. К счастью, к самому модулю, в магазине, где я его покупал, мне предложили взять и антенну, за что им огромное спасибо.

К сожалению, документация на него не очень подробная (
), но что куда подключать в принципе понятно.Для экспериментов была спаяна платка:

Обратная сторона:

Модуль имеет последовательный интерфейс, и первое, что мы сделали - это подключили его к компьютеру (правда понадобился еще преобразователь уровней RS232). Сразу после включения модуль один раз в секунду передает примерно такие сообщения:
$GPRMC,115403.908,V,,,,,0.00,0.00,261110,13.6,W,N*06
$GPGGA,115404.908,,,,,0,0,,,M,,M,,*4C
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,115404.908,V,,,,,0.00,0.00,261110,13.6,W,N*01
$GPGGA,115405.908,,,,,0,0,,,M,, $GPGGA,115417.908,,,,,0,0,,,M,,M,,*4E
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,115417.908,V,,,,,0.00,0.00,261110,13.6,W,N*03
$GPGGA,115418.908,,,,,0,0,,,M,,M,,*41
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,115418.908,V,,,,,0.00,0.00,261110,13.6,W,N*0C
Что они конкретно означают, можно почитать где-нибудь в википедии, а нас интересуют только первые цифры после названия сообщения - это время UTC в символьном виде ( московское UTC+3, в проекте мы это учли ).
Причем время есть с разных сообщениях, для нас достаточно какого нибудь одного, например, "$GPRMC".
Нам остается подключить приемник к плате Марсоход и из каждого сообщения "$GPRMC" выводить время на дисплей.
Сразу после включения GPS-приемник выдает какое-то свое время (2:59:47),
а правильное начинает выдавать только через некоторое время, когда настроится на спутник. Причем, в зависимости от условий приема, это время может быть достаточно большим.

Точно не помню, но , по моему никаких команд не надо, только код символа.
(Upper4 bit и Lower 4 bit)
в таблице он равен LHLH и LLLH и теперь мне надо выставить команду Write Data to RAM с этим адресом и на LCD появится символ "Q"????
Для восьмибитной шины даже проще чем для четырехбитной. Последовательно сть есть в даташите - пнкт13.
А с алгоритмом работы можете пояснить? Хотя бы последовательно сть инициализации дисплея для шины 8бит, ну и вывод символа к примеру...можно если есть пример кода на VHDL или Verilog или AHDL... а то в данной статье всё спроектировано на SimdolFile-е и я не могу с ним разобраться. Спасибо
видел статью, как его переделать на 3.3, Там, нужно какой-то резистор перепаивать. Кроме того, может не
хватить напряжения на ногу контрастности, прийдется отрицательного немного добавлять. Попробуйте дисплей
запитать от 5В, а все ноги подключите через резисторы на 75-100 ом. Если из дисплея не нужно читать, то должно работать.
Input High Volt ---0.7 VDD= 0,7*5В=3,5В
т.е. Min 3,5V а Max 5V а I/O CPLD выдают MAX +3,3V
Решил прикрутить этот дисплей к Cyclone III ,будет ли он работать? LVTTL=3.3V максимум что можно выставить на Циклоне.
Похоже, антенна нужна активная
Значить Вы не припаивали нижнее по-серебряное покрытие к "земле" а просто наклеили на имеющуюся самоклейку?
Может ввиду некого особенного согласования антенного входа модуля ничего не вышло, ведь SMA имеет минус для подключения оплетки кабеля, а в вашем впаиваемом модуле это согласование делают на плате, в которую впаивается модуль, отдельно?
У нас в офисе металлическая крыша, поэтому в середине комнаты связи приходится ждать минут 40.
Я экспериментиров ал на подоконнике.
Как подключить антенну?
Купил GPS-модуль TISTAR-15 и антенну B35-3556920-AMT03.
Антенна по размеру больше, но аналогичной конструкции с таким же методом крепления.
Основной критерий покупки -цена(модуль и пассивная антенна очень дешевы).
Модуль подключил к COM порту компa, преобразователь уровня сделал на транзисторе BC557, диоде, конденсаторе и трех резисторах по схеме из популярного Arduino на Atmega8. Виндовым терминалом наблюдаю пакеты аналогичные приведенным в статье - где на связи нет спутников.
В TISTAR-15 все на разъемах, не под пайку, и SMA ВЧ разъем для антенны.
Подставлял антеннку центральной жилой к центральной SMA, и результата нет.
На фото проекта, антенна припаяна за штырь, но не видно, что было проделано с ее обратной стороной, которая имеет метализированое покрытие, как и верхняя сторона, но на это покрытие наклеина самоклейка, и нет намеков на припаивание его к "земле".
вместо какого-нибудь двоеточия,напри мер,спасибо.
"$GPRMC,115417.908,А" вроде как станет вот так так сразу можно и время начинать выводить на экран