Статистика
Время:
Зарегистрированных: 88436
Последним зарегистрирован: 4known
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 712
 Гостей: 703
 Анонимных: 1
 Пользователей: 8
 Зарегистрированные:
nik517 Maloy50 AMOZZZ ArtHD lb222 варадеро romario1180 Serega974

> Разное -> Zlodey FM - Si4711 FM modulator (atmega32)
Итак, начну =)

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

Представляю вам свою новую разработку - "ZlodeyFM" - Si4711 FM modulator - устройство для установки параметров микросхемы Si4711, таких как частота, мощность, девиация, работа с сообщениями RDS, и др. Микросхема Si4711 представляет собой стереопередатчик с функцией RDS на одном кристалле с минимумом внешних компонентов. Она может быть использована например, как основа для мощного FM передатчика начинающего радиопирата...

image

Собран проект на микроконтроллере Atmega32 фирмы Atmel, работает на тактовой частоте 16 мгц (от внешнего кварца).
Питание всей схемы 3,3 вольта, поэтому крайне желательно использовать микроконтроллер с индексом "A" на конце (ATmega32A).
Si4711 тактируется от отдельного тактового генератора, например, вот такого:
image
Его можно выковырять из большинства старых сотиков, например на 13 или на 26 Мгц. После запуска передатчика необходимо зайти в дополнительное меню, и выбрать там RCLK=26 MHz или RCLK=13 MHz (в зависимости от того, на какую частоту генератор вы подключили к SI4711!!!!!)

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

Код

Основной целью было получение более-менее адекватной, ПОЛНОСТЬЮ АВТОНОМНОЙ от ПК конструкции, с минимальным количеством багов в работе, и более-менее понятным интерфейсом. Ввиду корявого кода (по меркам современного программирования) исходный код распространяться не будет. Приветствуется нахождение багов, для последующего их устранения. Приветствуются адекватные замечания по работе конструкции, а также адекватные замечания по улучшению функционала. Встраивание термометров и мп3-плееров я делать не буду, ибо оно не надо тут!! Связь с ПК делать тоже смысла нет - для это уже имеется другой проект , который на этом сайте присутствует, а мой проект является автономным от ПК.

Штатный запуск:
image

Запуск на чистом/БУ-шном МК:
image

Основное меню:
image

Дополнительное меню:
image


************************************
************************************
************************************
По поводу использованного в этой схеме дисплея:
Все дисплеи я брал от старых мобильников Siemens, проектом поддерживаются четыре разновидности дисплея. Разрешение всех четырёх дисплеев одинаковое - 132*176 пикселов.
Для конкретного типа дисплея нужна конкретная прошивка (ссылки ниже)!!!
Итак, поддерживаются дисплеи от следующих моделей Siemens:


*****дисплей от Siemens C75 ME75 с жёлтой подложкой на обратной стороне,
image
РАСПИНОВКА дисплея
прошивка 6.016
(ATmega32 тактируется от кварца 16 МГц)
(Si4711 тактируется от отдельного тактового генератора)

Скачать прошивку


*****дисплей от Siemens C75 ME75 с зелёным текстолитом на обратной стороне,
image
РАСПИНОВКА дисплея
прошивка 6.016 (отличается только повышенной в 2 раза скоростью отрисовки изображения)
(ATmega32 тактируется от кварца 16 МГц)
(Si4711 тактируется от отдельного тактового генератора)

Скачать прошивку


*****дисплей от Siemens S65 M65 CX65 SK65 SX65 CX70 контроллер LS020,
image
РАСПИНОВКА дисплея
прошивка 6.016
(ATmega32 тактируется от кварца 16 МГц)
(Si4711 тактируется от отдельного тактового генератора)

Скачать прошивку


*****дисплей от Siemens S65 M65 CX65 SK65 SX65 CX70 контроллер LPH88,
image
РАСПИНОВКА дисплея
прошивка 6.016
(ATmega32 тактируется от кварца 16 МГц)
(Si4711 тактируется от отдельного тактового генератора)

Скачать прошивку


Все эти дисплеи имеют одинаковое разрешение (132*176), но немного разные по размерам.


************************************
************************************
************************************
Как работать с проектом подробно рассказано на видео, поэтому на работе проекта останавливаться не буду, зырьте видосы:

Смотреть видео1

Смотреть видео2

На данный момент в новой версии прошивки (v4) произошли некоторые изменения:
***ну во-первых... Добавил параметр отвечающий за скорость смены сообщений RDS (стандартная скорость аццки быстрая- читать такой текст нереально);
***далее добавил ещё два слова в текст RDS, итого теперь 5 слов RDS (итого 40 символов RDS);
image
***глобально оптимизировал код, отвечающий за RDS, поэтому прошивка занимает меньше места на несколько килобайт, при этом функций стало больше;
***сделал счётчик неуспешных настроек (CTS Errors), сейчас поясню:
-----
-----
Когда МК отправляет сишке какую-либо команду, МК считывает статус-байт, и ждёт пока CTS не будет =1. Если CTS=0 то МК делает ещё 9 попыток чтения статус-байта. Если после девяти попыток бит CTS так и не стал =1, то признаём неуспешную установку параметра, и прибавляем в "CTS Errors" +1. Этот счётчик поможет отследить неполадки связи МК и СИ-шки. Счётчик "CTS Errors" всегда должен быть =0.
Подробнее про статус-байт, и про бит CTS можно прочитать в даташите на Si4711.







Печатка под корпус СК-М-24

image

Запаял

image

Внутренности

image

Внешний вид

image

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

image







************************************
************************************
************************************
схемы проекта
СКАЧАТЬ
------------
ATmega32 тактируется от кварца на 16 мгц при использовании любого из четырёх дисплеев.
------------
Si4711 тактируется от внешнего кварцевого генератора, например, ТАКОГО (в настройках необходимо выставить параметр RCLK !!!)
Список поддерживаемых частот тактового генератора для Si4711

32768,
4 мгц
7,2 мгц
8 мгц
12 мгц
13 мгц
14,3 мгц
16 мгц
20 мгц,
26 мгц

-------------
на схеме есть Диагностический контакт.. его задействовать нигде ненужно, а вот если после сборки конструкции начнутся проблемы, то этот контакт нас выручит cool.gif
-----------
печатка (вариант без ВЧ-усилителя)
СКАЧАТЬ

печатка (вариант под корпус СК-М-24 с ВЧ-усилителем на BFG541)
СКАЧАТЬ
СКАЧАТЬ ПЕЧАТКУ переходника QFN20-DIP20
--------------
на видео работа прошивки под 16 мгц (примерная скорость отрисовки изображения на дисплее C75_green)
Смотреть видео
-------------------
фузы для 8 и для 16 мгц
СКАЧАТЬ
------------
если не смогли достать Si4711 то её можно выковырять из некоторых современных моделей Nokia (можно у ремонтников поспрашивать.....)
n97, n79, n78, n86, n9, n8, c7-00, n900.



Исходный код проекта под дисплей Siemens C75 ME75 с зелёным текстолитом на обратной стороне (написано в среде Flowcode 4.3.6.61 или 4.3.9.65)
Исходный код проекта под дисплей Siemens C75 ME75 с желтым текстолитом на обратной стороне (написано в среде Flowcode 4.3.6.61 или 4.3.9.65)
Исходный код проекта под дисплей Siemens S65 M65 CX65 SK65 SX65 CX70 контроллер LS020 (написано в среде Flowcode 4.3.6.61 или 4.3.9.65)
Исходный код проекта под дисплей Siemens S65 M65 CX65 SK65 SX65 CX70 контроллер LPH88 (написано в среде Flowcode 4.3.6.61 или 4.3.9.65)

Обсуждение- здесь

Также возможно написание прошивки под индикатор WG12864, WH1604 или подобный, если найдётся желающий поделиться данным дисплеем =)



Всем удачных самоделок!!!
Ваш Zlodey (August-October 2012) ©




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X