Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 27.03.2012, 23:22  
andron-kip
Прописка
 
Регистрация: 28.10.2007
Адрес: краснодарский край
Сообщений: 137
Сказал спасибо: 16
Сказали Спасибо 557 раз(а) в 84 сообщении(ях)
andron-kip на пути к лучшему
По умолчанию 93c46+avr си-код

приветствую всех участников данного форума!!!
решил попробовать использовать внешнюю микросхему eeprom 93c46 в связке с авр-контроллером в своих устройствах.Пишу на си.Пробовал писать код по даташитам атмела и СТ,обгуглил всё вокруг и везде,нашёл очень мало да и то не помогло,хотя очень совпадало с даташитами.
Сам уже голову сломал,мозги на бекрень....ничто ещё не вызывало столько трудностей,сколько эта восьминогая хе..ня.Уже ,бляха,и танец с бубном пробовал,и заклинания.Короче,последняя надежда на вас.
Пожалуйста,хлопцы,помогите хотя-бы одной какой-нибудь функцией для работы с ней,ну или ткните куда-нибудь.Два месяца регулярного секаса,а ей похеru.Заранее премного благодарен!
Реклама:
andron-kip вне форума  
Непрочитано 28.03.2012, 00:02  
Scadauser
Почётный гражданин KAZUS.RU
 
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
Scadauser на пути к лучшему
По умолчанию Re: 93c46+avr си-код

Взяли бы лучше 24CXX на I2C - с ней я смог разобраться двадцать лет назад до интернета и под досом через LPT запрограммировать. А уж сейчас-то! Тогда пошли первые импортные телеки, и у них сразу начали слетать прошивки. Ни про какие сервисные режимы я слыхом не слыхивал. В телеке пропали настройки на каналы и прочие, остались только громкость и перекл. каналов. Тупо побил память пополам, очистив одну половину - всё испортилось, зато появились настройки. Эту половину опять пополам - и так за разумное число итераций я нашёл бит, отвечающий за включение настроек. Ну все знают о поиске льва в пустыне. Это сильно потом я узнал про "гостиничный режим", а тогда в паспорте об этом сказано не было...
Scadauser вне форума  
Непрочитано 28.03.2012, 03:37  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: 93c46+avr си-код

Насчет 24сХХ не согласен. У них протокол заметно сложнее, чем у 93сХХ. В последних вообще все элементарно, а уж если не смогли разобраться с ними...

Когда-то я пользовался вот этими "даташитами", скачанными еще из FIDO. Они не очень наглядны, поскольку в текстовом формате, но разобраться можно. Программу свою писал по ним (правда, не для 46-й, а для 56-й), так что всё проверено и 100% работает. Удачи!
Вложения:
Тип файла: txt 93C46.TXT (5.8 Кб, 345 просмотров)
Тип файла: txt 93C56.TXT (5.5 Кб, 156 просмотров)

Последний раз редактировалось RECTO; 28.03.2012 в 03:41.
RECTO вне форума  
Непрочитано 28.03.2012, 09:37  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: 93c46+avr си-код

i2c eeprom хорошь тем, что его не надо из платы выпаивать. Шей на лету и все дела.
Easyrider83 вне форума  
Непрочитано 28.03.2012, 20:15  
andron-kip
Прописка
 
Регистрация: 28.10.2007
Адрес: краснодарский край
Сообщений: 137
Сказал спасибо: 16
Сказали Спасибо 557 раз(а) в 84 сообщении(ях)
andron-kip на пути к лучшему
По умолчанию Re: 93c46+avr си-код

ребятки,спасибо за отзывы!
с 24сХХ я тоже давно разобрался,без особых проблем.тем не менее,такая простая микросхема ,как 93с46,создала у меня кучу проблем.И вроде бы соблюдал тайминги,и сравнивал с даташитами и чужим кодом.От этого интерес к микросхеме только возрос.Хочу не согласиться с тем,что с 93с46 проще.У24сХХ всего две функции-read,write.А у 93с46 их побольше будет и каждая со своими вы..босами.Самое обидное,что я не могу понять свою ошибку.выложил бы код,но я его уже удалил из-за нерабочести,ну и со злости......
кстати,например,тайминги чтения в даташитах атмела и микрочипа разные,х..ерня какая-то...
или это я туплю..

Последний раз редактировалось andron-kip; 28.03.2012 в 20:24.
andron-kip вне форума  
Непрочитано 28.03.2012, 21:10  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,510 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: 93c46+avr си-код

Сообщение от andron-kip Посмотреть сообщение
кстати,например,тайминги чтения в даташитах атмела и микрочипа разные
А в руках то камень чей? Там не только тайминги, у микрочиповских камней с индексами A и B на конце нет ORG, первые строго восьмибитные, вторые - 16-ти. Так что с Атмеловским только 93С46С совпадет.
__________________
Halex
Halex07 вне форума  
Непрочитано 28.03.2012, 22:17  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,676
Сказал спасибо: 74
Сказали Спасибо 1,806 раз(а) в 654 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: 93c46+avr си-код

А что конкретно не получается? Запись? Чтение? Есть ли под рукой программатор, который работает с этой памятью? Возможно, стоит и саму микросхему проверить...
Я работал с ними в 16-разрядном режиме, по тем даташитам, что выкладывал. Все пошло с первого же раза. Никакими "таймингами" вообще не заморачивался - обмен шел через порты в/в, каждое действие занимало несколько микросекунд, всяко получалось заведомо больше, чем необходимо. Единственно что после записи нужно выдерживать паузу в несколько миллисекунд.
В общем, никаких сложностей с ними не помню...
RECTO вне форума  
Непрочитано 28.03.2012, 23:02  
andron-kip
Прописка
 
Регистрация: 28.10.2007
Адрес: краснодарский край
Сообщений: 137
Сказал спасибо: 16
Сказали Спасибо 557 раз(а) в 84 сообщении(ях)
andron-kip на пути к лучшему
По умолчанию Re: 93c46+avr си-код

на руках имею два чипа-атмел и СТ-оба 93с46 без всяких индексов.
оба включены в 8-битном режиме,код тоже писал под 8-битный режим.
уже сижу и пишу по шагово каждую инструкцию,как в асме,пользуясь даташитом микрочипа.
сразу оговорюсь:профессионалом не являюсь,возможно неправильно понимаю даташит и тайминги,сильно не издевайтесь,выкладываю рутину последней версии со свежими косяками....
честно признаюсь-основа кода спижена мной уже не помню откуда

#define CS PORTB.0
#define MCLK PORTB.1
#define MOSI PORTB.2
#define MISO PINB.3

void w (void)
{
delay_us(2);
}

void ewen(void)
{
unsigned char i=0;
CS=0;
MCLK=0;
MOSI=0;
w();
MCLK=1; //1 front
w();
MCLK=0;
MOSI=1;
CS=1;
w();
MCLK=1; //2 front
w();
MCLK=0;
MOSI=0;
w();
MCLK=1; //3 front
w();
MCLK=0;
w();
MCLK=1; //4 front
w();
MCLK=0;
MOSI=1;
w();
MCLK=1; //5 front
w();
MCLK=0;
w();
MCLK=1; //6 front
w();
MCLK=0;
MOSI=0;
w();

for(i=0;i‹=4;i++)
{
MCLK=1;
w();
MCLK=0;
w();
}
MCLK=0;
MOSI=0;
CS=0;
}



void ewds(void)
{
unsigned char i=0;
CS=0;
MCLK=0;
MOSI=0;
w();
MCLK=1; //1 front
w();
MCLK=0;
MOSI=1;
CS=1;
w();
MCLK=1; //2 front
w();
MCLK=0;
MOSI=0;
w();
MCLK=1; //3 front
w();
MCLK=0;
w();
MCLK=1; //4 front
w();
MCLK=0;
//MOSI=1;
w();
MCLK=1; //5 front
w();
MCLK=0;
w();
MCLK=1; //6 front
w();
MCLK=0;
MOSI=0;
w();

for(i=0;i‹=4;i++)
{
MCLK=1;
w();
MCLK=0;
w();
}
MCLK=0;
MOSI=0;
CS=0;
}







void ee_write(unsigned char address , unsigned char data)
{
unsigned char i=0;
ewen();

CS=0;
MCLK=0;
MOSI=0;
w();
MCLK=1; //1 front
w();
MCLK=0;
MOSI=1;
CS=1;
w();
MCLK=1; //2 front
w();
MOSI=0;
MCLK=0; //
w();
MCLK=1; //3 front
w();
MCLK=0;
MOSI=1;
w();
MCLK=1; //4 front
w();
MCLK=0;
MOSI=0;
w();

for(i=0;i‹=6;i++){
MCLK=1;
if(address&0x80) MOSI=1;
else MOSI=0;
w();
MCLK=0;
address=address‹‹1;
w();
}

for(i=0;i‹=7;i++){
MCLK=1;
if(data&0x80) MOSI=1;
else MOSI=0;
w();
MCLK=0;
data=data‹‹1;
w();
}
MOSI=0;
CS=0;
w();
CS=1;

while(1)
{
if(MISO==1) break;
w();
}
CS=0;
w();
CS=1;
w();

ewds();
}




unsigned char ee_read(unsigned char address)
{
unsigned char dump=0;
unsigned char i=0;
CS=0;
MCLK=0;
MOSI=0;
w();

MCLK=1; //1 front
w();
MCLK=0;
CS=1;
MOSI=1;
w();
MCLK=1; //2 front
w();
MCLK=0;
w();
MCLK=1; //3 front
w();
MCLK=0;
MOSI=0;
w();
MCLK=1; //4 front
w();
MCLK=0;
MOSI=1;
w();

for(i=0;i‹=6;i++){
MCLK=1;
if(address&0x80) MOSI=1;
else MOSI=0;
w();
MCLK=0;
address=(address‹‹1);
w();
}

for(i=0;i‹=7;i++){
MCLK=1;
dump=(dump‹‹1);
dump|=MISO;
w();
MCLK=0;
w();
}
CS=0;
w();
CS=1;
return dump;
}

Последний раз редактировалось andron-kip; 28.03.2012 в 23:06.
andron-kip вне форума  
Непрочитано 28.03.2012, 23:09  
Scadauser
Почётный гражданин KAZUS.RU
 
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
Scadauser на пути к лучшему
По умолчанию Re: 93c46+avr си-код

Я знаю одно - геморроя с ними не оберёшься. Даже паршивые телеки попадаются, которые работают только с одной определённой 93c46, не так давно с таким поролся - бабульки-сторожихи попросили сделать. Перебрал всё, что было в доступности - не работает. Единственное, чего добился - нашёл такую, которая хотя-бы читается. Залил прошивку из инета. Хоть звук при включении орать перестал. Но настроек не сохраняла. Спустя 2 недели выпаял из каких-то весов, смотрю - она. Сбегал, заменил - заработало. Хотя попадались и всеядные телеки и стиралки.
В программаторе тоже морока - читается-пишется как 8 или 16 бит, как копировать - непонятно. Не так скопируешь - не работает. Тьфу! Сам бы в своих разработках - ни за что не применил. Ног у контроллера надо больше на одну. Не знаю, есть ли контроллеры с её интерфейсом, с I2C - точно есть.
Scadauser вне форума  
Непрочитано 28.03.2012, 23:19  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: 93c46+avr си-код

Сообщение от Scadauser Посмотреть сообщение
Не знаю, есть ли контроллеры с её интерфейсом
Примитивнейший SPI... ...переменной длины...
omercury вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SPI и 93C46 xoz Микроконтроллеры, АЦП, память и т.д 0 30.05.2010 18:49
Atmega64 код на С Trikohero Производственное оборудование 10 09.03.2010 23:50
Код NRZ Mitrar Микроконтроллеры, АЦП, память и т.д 12 09.10.2009 22:21
преобразователь код-код zazan111 TTL и CMOS логика 18 05.01.2009 06:11
93c46 и nmc93c46en- в чем отличия? dansit Микроконтроллеры, АЦП, память и т.д 0 21.07.2005 09:55


Часовой пояс GMT +4, время: 18:50.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot