Например TDA7294

Форум РадиоКот • Просмотр темы - SPI или i2C ?
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 13:45:33

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 50 ]    , , 3
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Чт окт 26, 2017 10:53:48 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
7seg писал(а):
Мне просто пришлось только написать алгоритм
я уже в курсе вашего умения программировать

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 11:47:10 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
В протеусе почему то не захотел симулироватся 597 регистр, решил попробовать пока на 165ых.
Как я понял защелка для 165 должна быть инвертирована ?
Изображение

Добавлено after 3 minutes 24 seconds:
И все равно при каскодирование симулируется только 1вый регистр.

_________________
andrei23061996@gmail.com
.................................................................................................................


Последний раз редактировалось 7seg Пт окт 27, 2017 11:51:36, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 11:48:43 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
А как насчет матрицы контактов 8*8? (один 595 и один 597/165).
Или всего два порта МК/порт МК плюс сдвиговый регистр.
:tea:
Да и вывод таким способом соорудить удобно...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 11:57:53 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
К сожалению матрица не подходит,пока жду регистры мучаю протеус ( на всякий пожарный заказал 165,595,597x10шт) .
Просто интересно это глюк протеуса с регистрами или все таки не правильно микры объединил ?

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 12:20:05 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
7seg писал(а):
В протеусе почему то не захотел симулироватся 597 регистр
я вас предупреждал
Сразу предупреждаю: протеус некорректно моделирует поведение регистров 74HC597, которые я рекомендовал вам для опроса дискретных входов - протеус не поддерживает корректно их каскадирование. один в протеусе нормально себя показывает, а цепочка из двух и более ведет себя, как один - первый. просто имейте ввиду.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 12:21:11 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14054
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Если аппаратный модуль МК используется... Желательно вывод /SS (PB2) не трогать (функцию параллельной записи переставить на другой вывод).
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 13:27:40 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
AVR , я помню ваши предупреждение т.к логика работы одинакова решил в протеусе использовать 165.
А вот почему лучше переназначить SS(PB2) Это интересно.

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 13:36:03 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Так как логика одинакова, нет смысла лепить в протеусе несколько регистров, достаточно отладить работу с единственным - остальное регулируется простым изменением константы в программе.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Пт окт 27, 2017 13:50:55 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Я хотел убедиться в правильности подключения ( но протеус упорно не дает мне это сделать ) чтобы развести пп под макет.
Как я понял подключение правильное , и могу начинать рисовать ПП, пока жду микрухи начинать приводить прошивку под мк в порядок.

Добавлено after 2 minutes 6 seconds:
НА самом деле просто странно протеус позволяет эмулировать работу архитектуры авр но при этом не может с эмулировать работу тригеров )) этоже аналог садеповской логики ИР10 ))

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: SPI или i2C ?
СообщениеДобавлено: Сб окт 28, 2017 10:07:36 
Потрогал лапой паяльник
Аватар пользователя

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Ср май 03, 2017 03:22:26
Сообщений: 303
Рейтинг сообщения: 0
Решил все таки еще не много помучать эмулятор.
Запустил тактирование на 7Hz, все-таки смог считать два регистра, но вот интересно почему у меня не получилось это сделать по SPI?)
Изображение
Изображение

Добавлено after 15 minutes 34 seconds:
Кажись понял у меня защелка срабатывает каждые 8бит и он просто не может считать дальше(это в протеусе так), а как дела обстоят с настоящим железом ?)

Добавлено after 5 hours 15 minutes:
получилось вроде, в протеусе с данным кодом все считывается и пишется.
Код:
#define F_CPU 8000000UL

#include <avr/io.h>
#include <util/delay.h>

#define SPI_PORT PORTB
#define SPI_DDR DDRB

#define SPI_MISO PB4
#define SPI_MOSI PB3
#define SPI_SCK PB5
#define SPI_SS PB2

struct UnionBits
{
   unsigned DO0: 1;
   unsigned DO1: 1;
   unsigned DO2: 1;
   unsigned DO3: 1;
   unsigned DO4: 1;
   unsigned DO5: 1;
   unsigned DO6: 1;
   unsigned DO7: 1;
};

union Byte {
   uint8_t ByteRegister;
   struct UnionBits Register;
};

union Byte OneOUT;
union Byte TwoOUT;
union Byte ThreeOUT;
union Byte OneIN;
union Byte TwoIN;
union Byte ThreeIN;
union Byte FourIN;
union Byte FifthIN;

void StartInitIO()
{
   OneOUT.ByteRegister=0x00;
   TwoOUT.ByteRegister=0x00;
   ThreeOUT.ByteRegister=0x00;
   OneIN.ByteRegister=0x00;
   TwoIN.ByteRegister=0x00;
   ThreeIN.ByteRegister=0x00;
   FourIN.ByteRegister=0x00;
   FifthIN.ByteRegister=0x00;
}

/*инициализация SPI модуля в режиме master*/
void SPI_Init(void)
{

   /*настройка портов ввода-вывода
   все выводы, кроме MISO выходы*/
   SPI_DDR |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(0<<SPI_MISO);
   SPI_PORT |= (1<<SPI_MOSI)|(1<<SPI_SCK)|(1<<SPI_SS)|(1<<SPI_MISO);

   /*разрешение spi,старший бит вперед,мастер, режим 0*/
   SPCR = (1<<SPE)|(0<<DORD)|(1<<MSTR)|(0<<CPOL)|(0<<CPHA)|(0<<SPR1)|(1<<SPR0);
   SPSR = (0<<SPI2X);
}
uint8_t SPI_UpdataByte(uint8_t data)
{
   uint8_t report;
   SPDR = data;
   while(!(SPSR & (1<<SPIF)));
   report = SPDR;
   return report;
}

void SpiOutRegister()
{
   SPI_PORT &= ~(1<<SPI_SS);
   OneIN.ByteRegister=SPI_UpdataByte(0);
   TwoIN.ByteRegister=SPI_UpdataByte(0);
   ThreeIN.ByteRegister=SPI_UpdataByte(ThreeOUT.ByteRegister);
   FourIN.ByteRegister=SPI_UpdataByte(TwoOUT.ByteRegister);
   FifthIN.ByteRegister=SPI_UpdataByte(OneOUT.ByteRegister);
   SPI_PORT |= (1<<SPI_SS);
}
int main(void)
{
   SPI_Init();
   StartInitIO();
   _delay_us(100);
   while(1)
   {
      SpiOutRegister();
      OneOUT.ByteRegister=OneIN.ByteRegister;
      TwoOUT.ByteRegister=TwoIN.ByteRegister;
      ThreeOUT.ByteRegister=ThreeIN.ByteRegister;
      OneOUT.Register.DO3
      
   }
   return 0;
}

_________________
andrei23061996@gmail.com
.................................................................................................................


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 50 ]    , , 3

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y