Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

demiurg301 писал(а):Да, действительно слишком быстро опрашивал каналы.
Запустил смену и измерение канала раз в 10 мс ( по таймеру) и всё заработало :)

Что-то в этой жизни не так! :)
А если по условию надо быренько аналог оцифровать, тот же самый голос, к примеру?... Я оцифровывал на периоде 52 мксек (19 КГц), без проблем...
Правда, без переключения каналов.
С уважением,
Виктор.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

ut1wpr писал(а):Правда, без переключения каналов.

Значит, иногда лучше жевать...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Engineer_Keen писал(а):То что вы написали больше похоже на последовательность для шагового двигателя у которого 4 обмотки. У вас 3. Вот и подавать надо на 3 ноги - 100-010-001 или 011-101-110.

Ну да, а можно вот так :100-110-010-011-001-101 :)
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

Подскажите, плизззз! Соеденил значит 4 сдвиговых регистра 74HC595 и подключил по 3 проводкам к МК, в протеусе видно как выставлены все биты на выводах каждого регистра и все работает нормально, собрал схему но микропрограмма отказывается работать как в протеусе, померял тестером лог. уровни на каждом выводе, каждого регистра и они не соответствуют как показано в протеусе. Почему и как это исправить? Такое ощущение что биты перемешиваются при передаче из МК в регистр.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Притягивайте все входы соответственно логике обычно нужно к плюсу притягивать.В протеусе многие ошибки прощаются в том числе неподключенные ножки питания или кварца !!!
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

естественно я подключил согласно даташиту на регистр, пробую с двумя регистрами все работает нормально, но увеличиваю кол-во до 4-х и все тут
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Ну тут уже медиумов вызывать нужно.
код то меняете, после добавления?
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

да, длинна проводников может влиять?
Пользуюсь программатором USBAsp, с помощью него можно как-то заглянуть что происходит в МК?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Может влиять, но эффект будет нестабильным(всегда разный результат).
С помощью usbasp насколько я знаю можно только запрограммировать через ISP разъём.
Ну если вы конечно не гений и не вставите в контроллер программу, позволяющую общаться через него.
Какой контроллер то хоть?

И правильно писать длина!!!
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

Atmega128, про результат, при каждом включении он действительно меняется
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

я слышал что с помощью внутрисхемного программатора можно отлаживать МК
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Ну это если j- tag или d-wire поддерживает, а этим вряд ли.
Можно установить метки в виде отправки данных через uart.Или приобрести j- tag адаптер
Ваш контроллер поддерживает этот протокол.
Дальнейший разговор без схемы, программы не имеет смысла
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

регистры не хотят работать стабильно более 1 шт., две 74hc595 еще можно заставить работать, а вот 3 и более уже не получается. Почему не знаю, уже всяко пробовал

Код: Выделить всё

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <util/delay.h>
#include <stdio.h>
#define F_CPU 8000000UL

void fnOutByte(unsigned int cByte) //вывод байта на регистр
{
unsigned char mask =0x80; //не менять!!!!
   do {
     if(mask & cByte)
     {
      PORTC&=~_BV(PC2); 
     }
      else
      {    
    PORTC|=_BV(PC2);
      }   
     PORTC|=_BV(PC0); //Импульс на SH_CP (запись)
      PORTC&=~_BV(PC0);
      mask>>=1;
    }
while(mask);
}

void ShowDigit(void)
{
fnOutByte(0x00); //U15   
fnOutByte(0x00); //U14
fnOutByte(0xFE); //U13
   PORTC|=_BV(PC1); //Импульс на ST_CP (защелка - вывод на индикатор записанных данных)
    PORTC&=~_BV(PC1);   
}

//Основное тело программы
int main(void)
{
//настраиваем порты ввода-вывода
  PORTC=0x00;//Первоначально устанавливаем на всех выходах 0       
  DDRC=0xff; //установить PC0-PC7 как выходы
while(1)//Бесконечный цикл
{
//Вывод на индикаторы
 ShowDigit();
}
}
Вложения
Безымянный111.JPG
(100.03 КБ) 221 скачивание
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

Может моя ошибка в том, что я решил с экономить на кол-во выводах МК? Я решил реализовать динамическую индикацию, подключив аноды и катоды к регистрам, например: один регистр будет отвечать за сегменты ABCDEFG, а все остальные регистры за разряды, так как мой индикатор имеет общий катод, это будет выглядеть примерно так:
попытаемся сформировать цифру 7
1рег. = 00000111 зажжём сегменты ABC, на остальные подадим лог. 0
2рег. = 11111110 зажжём 1 разряд, тут мы наоборот подаем лог. 0, типа минус
3рег. = 11111111 и так далее
может я ошибся в том что пытаюсь использовать лог. 0 как минус, может надо было использовать ключевые транзисторы?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

1.пробуйте тут поставить паузу между командами.регистры могут быть не такими быстрыми как ваш Мк.

Код: Выделить всё

PORTC|=_BV(PC1); //Импульс на ST_CP (защелка - вывод на индикатор записанных данных)
    PORTC&=~_BV(PC1); 

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

2.не вижу в вашей схеме резисторов на входе.в этом регистре вроде на минус должны быть.на пару килоом.

3.все правильно вы подумали,что лог ноль это минус для кмоп логики это работает.ваша Мк как раз такая и к тому же совместима с низковольтной шоттки ТТЛ логикой.

4.зачем вам больше двух регистров?целых восемь семисегментных индикаторов можно подключить к двум регистрам.
В поисках истины человек развивается.
alexey6522
Встал на лапы
Сообщения: 149
Зарегистрирован: Чт июл 28, 2011 18:12:28

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение alexey6522 »

Мне нужно подключить 21 индикатор, вот и получается 4 регистра, а для чего на DS (это DATA вход) ставить резистор?
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

чтобы не было неопределенного уровня.допустим при включении питания.и чтобы какие нибудь легкие наводки не портили вам жизнь.
В поисках истины человек развивается.
Аватара пользователя
player259
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн май 02, 2011 05:16:16

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение player259 »

МК ATtiny2313 (во всяком случае так написано).
Сигнатура 1Е 91 01 (что соответствует AT90S2313), должна быть 1E 91 0A.
Несмотря на это чип прошивается.
Фьюзы не читаются, но зато пишутся (во всяком случае кварц запущен, таймер отмеряет точное время, собираю часы).
Вторая проблема PCINT. Подтянул резистором 10k PORTB.4 и замыкаю на землю, когда хочу прерывание.
Пример кода ниже, прерывание не срабатывает ни разу. Сгенерил в CVAVR.

***
походу брак.. скорее всего это и есть AT90S2313, поэтому PCINT и не работает. К тому же должна была быть низковольтная версия, от 3В не запускается. Уныло :(
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Engineer_Keen »

Маркировка лазерная? Может действительно подделка, раз сигнатура от AT90... А протоколы у всех авр-ок одинаковые, поэтому и прошивается.
Аватара пользователя
player259
Встал на лапы
Сообщения: 93
Зарегистрирован: Пн май 02, 2011 05:16:16

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение player259 »

Engineer_Keen писал(а):Маркировка лазерная? Может действительно подделка, раз сигнатура от AT90... А протоколы у всех авр-ок одинаковые, поэтому и прошивается.
Маркировка лазерная.
Забавно... В AT90S2313 для тактирования от кварца, как я понял, нужно лишь припаять его к выводам. В ATtiny2313 - прошить фьюзы.
Собираю проект в CVAVR под AT90S2313 - кварц не работает. Проект под ATtiny2313 - все в порядке кроме нечитающихся фьюзов и PCINT. Хз, мистика.
Ответить

Вернуться в «Разные вопросы по МК»