Например TDA7294

Форум РадиоКот • Просмотр темы - ATmega8+АЦП зависают
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб июл 26, 2025 00:23:09

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


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



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ATmega8+АЦП зависают
СообщениеДобавлено: Сб май 29, 2010 22:55:51 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Здравствуйте!
Делаю диплом на тему регистрации аналоговых сигналов на ПК. За основу взял схему, представленную здесь http://dikoy44.narod.ru/projects/vkr11.htm (автор Dykoy). Работает МК с АЦП AD7896. Тест (инициализацию) проходит, но при запуске считывания данных с АЦП МК зависает: горит желтый светодиод (опрос АЦП как я понимаю) и не реагирует на нажатия - нужно переподключать устройство (или МК резетить).
Удачно получалось запустить только несколько раз. При этом все работало, можно было менять режимы, но при переподключении та же проблема.
Посмотрите, пожалуйста, в чем может быть дело?
Код прошивки:
Вложение:
Комментарий к файлу: Программа пользователя
vkr.c [10.71 KiB]
Скачиваний: 255
.
Еще может конструкторские ошибки у меня какие есть? Вот фото платы:
Вложение:
Плата.JPG [141.41 KiB]
Скачиваний: 629
Вложение:
Плата 2.JPG [171.63 KiB]
Скачиваний: 383

Например, не мешает ли, что микросхемы в панельках сидят?


Последний раз редактировалось WandererX Вс май 30, 2010 08:44:53, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 00:10:52 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Получилось запускать таким образом:
МК проходит тест и даже начинает опрос БЕЗ АЦП. После этого вставляю АЦП в опрашиваемую панельку:) и далее передача данных и регистрация идет нормально.
Почему же не получается по-человечески? :dont_know:... То есть по-кошачьи :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 04:43:17 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
Скажите на кой пес нам конструкция?
Схему надо, а не исполнение.
Выкладывайте схему - будет тогда разбор полетов

_________________
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 08:27:01 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Meteor писал(а):
Скажите на кой пес нам конструкция?
Схему надо, а не исполнение.
Выкладывайте схему - будет тогда разбор полетов
Так здесь же есть
WandererX писал(а):
взял схему, представленную здесь http://dikoy44.narod.ru/projects/vkr11.htm
Не хотел повторяться. Вот схема:
Вложение:
Схема.GIF [85.1 KiB]
Скачиваний: 403
Желтый светодиод на 28 выводе МК (в комментариях прошивки подписан).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 11:52:41 
Друг Кота
Аватар пользователя

Карма: 9
Рейтинг сообщений: 96
Зарегистрирован: Пн июл 13, 2009 14:37:39
Сообщений: 3961
Откуда: Московская область, наукоград.....
Рейтинг сообщения: 0
Насколько понял, вы прерываниями практически не работаете- только ждете поступления данных от ПК. От того и нет никаких реакций на нажатия.
Лучше наверное будет перелопатить код таким образом, что бы был цикл с проверкой флагов, установка которых происходит по прерываниям. (на форуме мульйон раз обмусолено)

_________________
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 13:23:24 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Meteor писал(а):
Лучше наверное будет перелопатить код
Это можно сказать программу занова писать! :shock: а я с программированием на Вы. Если бы не защита скоро, можно было бы поразбираться с прерываниями, почитать. Я обычно так и делаю, но это очень долго.
С этой прошивкой устройство у автора работало при скорости UART=2Mbs. Я и на 1Mbs перестраивал - не помогает. Хочу понять почему у меня не работает, где слабое звено... точнее даже работает, но очень редко... или с бубном при помощи вынимания АЦП.
На каком этапе выполнения кода в прошивке оно происходит (сам понимаю его очень поверхностно)? Может это поможет найти проблему в аппаратной части или в том же коде?
Вот лог портмона при удачном старте:
Код:
[size=85]Открытие порта:
2   0.02186814   COMTEST.EXE   IRP_MJ_CREATE   VCP4   SUCCESS   Options: Open    
3   0.00000531   COMTEST.EXE   IOCTL_SERIAL_GET_BAUD_RATE   VCP4   SUCCESS      
4   0.00000223   COMTEST.EXE   IOCTL_SERIAL_GET_LINE_CONTROL   VCP4   SUCCESS      
5   0.00000223   COMTEST.EXE   IOCTL_SERIAL_GET_CHARS   VCP4   SUCCESS      
6   0.00000168   COMTEST.EXE   IOCTL_SERIAL_GET_HANDFLOW   VCP4   SUCCESS      
7   0.00087665   COMTEST.EXE   IOCTL_SERIAL_SET_BAUD_RATE   VCP4   SUCCESS   Rate: 1000000   
8   0.00098756   COMTEST.EXE   IOCTL_SERIAL_CLR_RTS   VCP4   SUCCESS      
9   0.00098057   COMTEST.EXE   IOCTL_SERIAL_CLR_DTR   VCP4   SUCCESS      
10   0.00098253   COMTEST.EXE   IOCTL_SERIAL_SET_LINE_CONTROL   VCP4   SUCCESS   StopBits: 1 Parity: NONE WordLength: 8   
11   0.00000196   COMTEST.EXE   IOCTL_SERIAL_SET_CHAR   VCP4   SUCCESS   EOF:0 ERR:0 BRK:0 EVT:0 XON:0 XOFF:0   
12   0.00097051   COMTEST.EXE   IOCTL_SERIAL_SET_HANDFLOW   VCP4   SUCCESS   Shake:0 Replace:0 XonLimit:0 XoffLimit:0   
13   0.00093084   COMTEST.EXE   IOCTL_SERIAL_CLR_RTS   VCP4   SUCCESS      
После нажатия INIT (зеленый светодиод моргает 4 раза):
494   0.00082413   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 01    
496   0.00000559   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 44    
После нажатия ЗАПУСК (100 мс, 1 измерение):
1043   0.00057382   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 02    
1044   0.00021539   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 64    
1045   0.00043777   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 00    
1046   0.00025757   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 05    
1047   0.00047101   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 01    
1048   0.00069422   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 00    

После нажатия "OK" на запрос "АЦП настроен! Нажмите ОК для начала измерения.":
//ИМЕННО ПОСЛЕ НАЖАТИЯ ОК ОБЫЧНО ЗАГОРАЕТСЯ ЖЕЛТЫЙ СВЕТОДИОД И НЕ ПРИХОДИТ ОТВЕТ ОТ МК (строки "IRP_MJ_READ")
//ПРИ УДАЧНОМ ЖЕ ЗАПУСКЕ НАЧИНАЮТСЯ ИЗМЕРЕНИЯ И ПРИХОДЯТ "IRP_MJ_READ":
1196   0.00071266   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 07    
1198   0.00000698   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 00    
1206   0.00000698   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 80    
2574   0.00056180   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 1B    
2575   0.00048470   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 64    
2576   0.00073920   COMTEST.EXE   IRP_MJ_WRITE   VCP4   SUCCESS   Length 1: 00    
2653   0.00027629   COMTEST.EXE   IOCTL_SERIAL_SET_RTS   VCP4   SUCCESS      
2656   0.00000754   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 00    
2664   0.00000670   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 80
...
2672   0.00000670   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 80        
2666   0.00000615   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 00    
   
10658   0.00097750   COMTEST.EXE   IOCTL_SERIAL_CLR_RTS   VCP4   SUCCESS      
10660   0.00000698   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 80    
10662   0.00000698   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 00    
10668   0.00000698   COMTEST.EXE   IRP_MJ_READ   VCP4   SUCCESS   Length 1: 80    
Закрытие порта:
34435   0.00000615   COMTEST.EXE   IRP_MJ_CLEANUP   VCP0   SUCCESS      
34436   0.11547836   COMTEST.EXE   IRP_MJ_CLOSE   VCP0   SUCCESS      [/size]


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 15:58:05 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Нашел, почему МК виснет: BUSY АЦП после подачи питания все время 1! Если эту ножку BUSY не всавлять в панель, то все ок, но я так понимаю измерения будут неверными.
Вопрос: почему так может получаться? Что даст раскоммент следующих строк ?
#define UDRE 5
//#define ADC_BUSY PINB.0
#define NCONVST PORTB.1
#define RXC 7
#define ERROR PINC.3
//#define INIT PINC.1
#define TxGO PINC.5


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 17:58:48 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Проблема вроде решилась! Помог хороший человек alex312: немного изменил код:
Вложение:
vkr.c [11.08 KiB]
Скачиваний: 491
Еще один вопрос есть:
Кнопка RESET в программе не работает, точнее в прошивке. Программа при нажатии на кнопку посылает 08H в МК. Я так понял это резет МК. Можно его все-таки реализовать? И как?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Вс май 30, 2010 18:39:05 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
По-видимому поторопился я с выводами :( Активное состояние Busy при запуске убирал шлейф для прошивки к парал. порту, который я не отпаял после прошивки... Причем методом исключения обнаружил, что достаточно, чтобы были припаяны только выводы SCK и GND.
Они между собой не имеют электрической связи, от порта разъем отключен... Значит помехи? Но вроде и кондюки и индуктивности по входу питания стоят... Может я чего-то не учитываю? Старожилы подскажите пожалуйста!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega8+АЦП зависают
СообщениеДобавлено: Пн май 31, 2010 18:52:40 
Родился

Зарегистрирован: Ср фев 04, 2009 13:34:01
Сообщений: 12
Рейтинг сообщения: 0
Автор схемы (Dykoy) помог с бизи разобраться! :)) Подтянул CLK к земле через 10 кОм.
Насчет резета вопрос остается в силе. Прочитал, что можно на нулевой адрес сослаться для перезагрузки программы МК, но как это реализовать не нашел :dont_know:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 10 ] 

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


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

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


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

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


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