Собрал регулятор TDA7313+PIC16F84, по причине отсутствия готовой прошивке пишу свою. Но по datasheet не могу разобраться с шиной I2C. читал статейки, тоже ничего ясного. Кто-нибудь может объяснить на пальцах как с ней работать. Заранее спасибо.
Собрал регулятор TDA7313+PIC16F84, по причине отсутствия готовой прошивке пишу свою. Но по datasheet не могу разобраться с шиной I2C. читал статейки, тоже ничего ясного. Кто-нибудь может объяснить на пальцах как с ней работать. Заранее спасибо.
Если пишется на С то искать готовые исходники для работы с шиной. Если пишется на ассемблере, то переходить на С и задача сводится к предыдущей, раз самому разобраться не получается.Но по datasheet не могу разобраться с шиной I2C
Спонсор данного сообщения - Газпром.
Вот, старовато конечно, 10 лет назад писал эту статью, но может поможет:
http://altor.sytes.net/lit/I2C_RP.pdf
Исходник в конце врядли пригодится - он на ТурбоПаскале + его встроенный ассемблер, для РС под ДОС, но описания думаю более чем достаточно.
"Замполит, чайку?"(с)"Охота за Красным Октябрем".
"Ну что, можете меняться обратно."(с)типа анек.
<-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.
Alex спасибо за ссылку, вроде начинаю понимать как функционирует.
ЗамэчаниэС Золотой теленок)
7314S предположительно имеет адрес 80h
а 7314 без буквы имеет адрес 88h
ДА!....Но нет!
Я года два назад делал предусилитель на TDA7313 или ТDA7318(они по управлению практически одинаковые) LA2785 SSM2160. Процессор управления был как раз PIC16F84 который впоследствии был заменен на F877 т.к в 84 оказалось мало памяти для такого проекта! Но если надо управлять только TDA7313 то его хватает даже если индикацию делать на ЖК дисплее и прикручивать к этому RC5 пульт ДУ. Управляется ТДА очень просто: при первом включении питания в нее надо прошить все управляющие регистры (селектор входов, громкость тембры т.е. все которые там есть). Причем это делается так: адрес микросхемы-адрес первого регистра и все данные поочередно начиная с первого по даташиту. Потом можно заливать в нее только те параметры которые требуется изменить. Передача при этом если например требуется изменить только тембр то в нее надо прошить только три байта:адрес микросхемы-адрес регистра тембра-данные для тембра. Если вы будете разрабатывать свою программу для ПИК советую скачать Basic компилятор с сайта www.oshonsoft.com. Очень удобная среда разработки уже готовые функции для работы с шиной I2C и ЖК жисплеями и весит всего 1,5М. В этой среде я написал программу управления ТДА за полчаса!
Это детская игрушка, и Бейсик - сам по себе язык дя этого непригодный.
Для Микрочипа есть только одно нормальное средство - High Tech C, только не берите 9-ю версию, 8-я лучше.
Где? Ну там, где обычно беруться все кракнутые програмы.
Напрмер - в е-муле.
Хотя, помоему "студенческая" версия доступна на сайте производителя и так.
А вот "среду", которая идет с ними (в 8 и ниже - примитив, в 9-й - наоборот, излишне навороченная) лучше не использовать.
Я пользуюсь микрочиповским МПЛАБом, поскольку только он умет работать с эмуляторами и для простых вещей в нем есть симулятор. Но вообще были и другие среды (причем с более удобными редакторами) с симуляторами.
Если без симуляторов/эмуляторов - то можно любым тестовым редактором пользоваться, хоть в ФАР*е, хоть МультиЭдитом.
"Замполит, чайку?"(с)"Охота за Красным Октябрем".
"Ну что, можете меняться обратно."(с)типа анек.
<-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.
Я пользуюсь МПЛАБом, только потому, что он поддерживает эмуляторы.
Хотя и симулятор его досаточно неплох.
"Замполит, чайку?"(с)"Охота за Красным Октябрем".
"Ну что, можете меняться обратно."(с)типа анек.
<-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.
Да я согласен внутрисхемный эмулятор это очень хорошо! Но сколько он стоит вот в чем вопрос? и использовать эмулятор для программы для TDA это извращенство (мое мнение). Но в MPLABе не симуляции ЖК дисплев LED дисплеев и др. подобных. Мне очень не нравится в MPLABе симуляция входных сигналов МК. Хотя я в нем тоже много разного писал!
Блин, а я думал надо только послать только один байт для изменения чего-либо. Раньше с такими штуками вообще не работал, даже как-то и не представлялось.
Значит первый байт-адрес, а как его можно узнать или надо его назначать? В даташите вроде адрес регистра и данные для него формируются, вроде, одним байтом (или я не правильно расшифровал?)
(в компьютере все намного проще!)
Да на самом деле там просто как апельсин! При подаче питания на TDA в нее надо прошить все регистры:Volume control,Speaker attLR,Speaker attRR,Speaker attLF,Speaker attRF, audio switch,bass control,treble control.
Это необходимо сделать т.к в даташите не расписано состояние внутренних регистров на момент сброса. Адрес этой микросхемы уже установленный 10001000 (двоичный код). Далее если в процессе необходимо например изменить тембр НЧ то в ТДА прошивается всего два байта:Это ее адрес и регистр который будет изменяться (в этом случае регистр Bass control. Если надо переключить вход ТДА то в нее надо прошить тоже два байта: адрес и регистр audio switch. А уже какие биты надо изменять в этих регистрах подробно расписано в даташите на нее. Если надо могу приложить файл на бейсике где все показано и реализованы практически все возможности ТДА. И в компьютере все намного сложнее чем тда!
Всё, наконец-то разобрался, я наверно даташит вверх ногами читал , а с компами проще! В следующие выходные буду эксперементировать. Надеюсь удачно.
А какие проги-симуляторы посоветуете для дисплея Pic и tda
Как я уже писал на мой взгляд самая лучшая прога с симулятором это PIC Simulator IDE. Находится в сети за несколько минут весит 1,5 Метра (искать лучше версию 5.92 она есть с кряком) В ней есть довольно путевое описание Basic команд! Так что думаю за день-два Вы напишете программу управления TDA! Если что непонятно спрашивайте! Удачи в этом деле!!!
Социальные закладки