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

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

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

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

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

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


 
Опции темы
Непрочитано 24.12.2012, 20:03  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от hubble Посмотреть сообщение
Остается тогда только вопрос №2.
Сообщение от hubble Посмотреть сообщение
2. Возможно ли оперативно переключать baud rate модели COMPIM из внешней программы? Или же в модели выставлять максимальную, а в программе менять на любую?
То ли я написал фигово??? То ли... кто то читает по диагонали через десять строк одну. Ну, то, что оперативно переключать невозможно, это наверное и ежу ясно. А где Вы в асинхронном интерфейсе видели изменение скорости в процессе обмена, что-то не припомню... Я вроде и примеры привел - что при этом произойдет (скриншот Рис.10-4-4). И еще про скорость из Вашего вопроса: "Или же в модели выставлять максимальную, а в программе менять на любую?" Приколюсь: в модели - это где и которую (их две) и в программе - это в какой, которая "внутри" или которая "снаружи".
ЗЫ Релевантность - если не понятен термин в переводе.
Реклама:

Последний раз редактировалось Halex07; 24.12.2012 в 20:10.
Halex07 вне форума  
Непрочитано 24.12.2012, 21:12  
Hmuryj_Mik
Частый гость
 
Регистрация: 22.06.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
Hmuryj_Mik на пути к лучшему
По умолчанию Re: Proteus общие вопросы

hubble, Думаю, что правильнее найти другое решение, чем манимулировать скоростью обмена. Либо использовать "мост". Меня удивляет применение ISIS для решений в "лоб". Или это самоцель?
Hmuryj_Mik вне форума  
Непрочитано 25.12.2012, 10:49  
hubble
Прописка
 
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
hubble на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от Halex07 Посмотреть сообщение
... и в программе - это в какой, которая "внутри" или которая "снаружи".
В программе, которая снаружи. Подсмотрел здесь. Ну да ладно. Скорее всего, действительно, по другому пути пойду.
Всем спасибо.
hubble вне форума  
Непрочитано 25.12.2012, 11:32  
JekaKey
Частый гость
 
Регистрация: 12.10.2012
Сообщений: 33
Сказал спасибо: 8
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
JekaKey на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Всем привет!
Прошу помощи в нахождении истины работы с таймером TMR0 в pic16.
Какую бы частоту срабатывания я не назначил, итоговая частота срабатываний как-то отличается от нужной в меньшую сторону...
Вот например расчет для таймера на 12MHz.

Расчетная частота прерываний 60.000 Гц.
Настройка таймера следующая:
PHP код:
    //Timer0 config
    
PS2 0//Prescaler 1/2
    
PS1 0;
    
PS0 0;

    
PSA 0// Prescaler Assignment bit for T0
    
T0CS 0//Internal clock 
Код выполнения прерывания:
PHP код:
//See interrupt from timer0
    
if (T0IE && T0IF) {
        
RC4=~RC4//Invert RC4 state
        
TMR0 231//60000Hz
        
T0IF 0

    } 
Однако если использовать любые инструменты анализа в протеусе, частота получается сильно меньше нужной.
Вот например картинка частотомера:

У нас происходит инвертирование выхода 60000 раз в секунду, соответственно частота должна быть показана ровно 30000, но она вообще не понятно какая. И чем больше частоту ставишь частоту, тем больше не адекватна цифра.
Я пробовал использовать внешний источник для таймера. На мелких значениях все вроде хорошо, но когда доходит до высоких значений происходит опять все тоже самое.
Пытаюсь получить частоту для передачи данных по программному UART, но никак не могу получить нужную частоту прерываний.
Подскажите где может быть косяк? В железе пока нет возможности проверить.

Последний раз редактировалось JekaKey; 25.12.2012 в 11:41.
JekaKey вне форума  
Непрочитано 25.12.2012, 19:57  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от hubble Посмотреть сообщение
Скорее всего, действительно, по другому пути пойду
Компас в дорогу...
Еще один... с крючком на линя.
А вообще, мониторинг 1-wire через COM-порт начинался еще во времена существования Dallas SemiКОНДУКТОРА. Вот еще одна статья многоуважаемого Л. Ридико десятилетней давности. Да и сейчас на сайте Максима полно всего по 1-wire, в том числе и SDK для разработчика. Ими же выпускался и готовый адаптер DS9097 под COM и тот самый мост DS2480B, про который уже чуть раньше упоминалось. Так что то, что Вы только "подсмотрели" известно уже более десятилетия.
ЗЫ Да, забыл добавить... А на хрена Вам для этих целей Протеус сдался? Эмулировать работу пары диодов и самой DS-ки, которой цена на любом китайском углу в пределах 1 голого Абамы? Это уже извращение в стиле российской стоматологии, ИМХО удаление зубов через ж..у.

Последний раз редактировалось Halex07; 25.12.2012 в 20:06.
Halex07 вне форума  
Непрочитано 25.12.2012, 20:41  
mimuh64
Прописка
 
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
mimuh64 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от JekaKey Посмотреть сообщение
Прошу помощи в нахождении истины работы с таймером TMR0 в pic16.
Посмотри вот это применительно к Протеусу. Скачай примеры.
Вот что еще (самое главное), при определенных (высоких) частотах прерывания, когда длительность периода соизмерима со временем выполнения самого прерывания добиться нужной частоты прерывания невозможно - это нужно учитывать.

Последний раз редактировалось mimuh64; 25.12.2012 в 21:45.
mimuh64 вне форума  
Непрочитано 25.12.2012, 23:14  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от JekaKey Посмотреть сообщение
Подскажите где может быть косяк?
А каким он был по счету, и чем "заряжен", если по-вашему неоспоримо следующее:
Сообщение от JekaKey Посмотреть сообщение
У нас происходит инвертирование выхода 60000 раз в секунду, соответственно частота должна быть показана ровно 30000
И потом, экстрасенсов и собак натасканных на наркотики здесь нет, поэтому точно вычислить - где спрятан недокуренный косяк, может только тот, кто его заныкал. Когда наступит "просветление", ну или косяки закончатся, подумайте над следующими проблемами:
1. Как происходит вход-выход в прерывание. Пока вы считаете, что это нуль-транспортировка, ИМХО мгновенно...
2. В обработчике прерываний присутствуют некие "поползновения" - чё-то сравниваем, корячим порт, устанавливаем флаги. Видимо, по вашему, это тоже происходит супер-мгновенно, т.е. за 0.0 микро(нано-пико)секунд.
Ну и решайте сами, то-ли по дедушке Ленину "учиться, учиться и учиться", тогда в доки по PIC, то-ли косяки с анашой "курить, курить...", тогда в итоге к наркологу.
Halex07 вне форума  
Непрочитано 26.12.2012, 10:50  
JekaKey
Частый гость
 
Регистрация: 12.10.2012
Сообщений: 33
Сказал спасибо: 8
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
JekaKey на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Halex07, спасибо, с упоением почитал ваш трактат о собаках, ленине и вреде курения =)
Собственно я именно поэтому и написал, что прошу помощи в том, что бы понять что я делаю не так. Я конечно понимаю, что все это не происходит мгновенно, однако я рассчитывал на то, что выполнение большинства команд занимает примерно 330 наносекунд, и получить четкую частоту в 31250 (именно к ней я стремлюсь) не будет такой большой проблемой, потому что это в 100 раз меньше чем время выполнения машинного цикла. Получается, сильно ошибался...
Таким образом не понятны так же реализации программный UART, где частоту таймера выставляют в 3 раза больше желаемой частоты UART (в моем случае мне прием не нужен, только передача), ведь при такой скорости дрейф таймера будет еще более значителен, и попасть в интервалы uart будет просто нельзя...

mimuh64, спасибо, полезная информация!
JekaKey вне форума  
Непрочитано 27.12.2012, 19:50  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от JekaKey Посмотреть сообщение
однако я рассчитывал на то, что выполнение большинства команд занимает примерно 330 наносекунд,
При 12МГц тактовой да, но каких команд (???) - ассемблерных. Вы пишете на Asm? Что-то по коду не похоже... А значит компилятор с языка высокого уровня Ваши строчки разложит в элементарные команды своим, одному автору компиллятора известным способом, и не всегда самым коротким, что тоже не добавит скоропульности.
Еще раз подчеркиваю - прочитайте , ну хотя бы здесь раздел 11 про таймер 0. Я вижу по расчетам у Вас большие непонятки с тем, что Вы делаете. Обратите особое внимание на 11.4 и ответ 2 в 11.7.
Сообщение от JekaKey Посмотреть сообщение
Таким образом не понятны так же реализации программный UART, где частоту таймера выставляют в 3 раза больше желаемой частоты UART ... ведь при такой скорости дрейф таймера будет еще более значителен
А что Вы его так страшитесь? Во-первых ни о каком значительном дрейфе самого таймера речи быть не может при кварцованной частоте МК на передающей/приемной стороне. Все будет достаточно стабильно. Во-вторых если не "грузить апельсины бочками", т.е. передавать инфу короткими пакетами, то тем более не страшно. Не забывайте, что у Вас имеется стартовый и стоповый (-е) биты, которые маркируют начало-конец кадра. А набег, ну или по вашему "дрейф", фазы от бита к биту внутри кадра (вот тут он между приемником и передатчиком точно будет) не успеет превысить критического значения, когда начнут теряться биты.
Halex07 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
homo_sapiens (27.12.2012), JekaKey (28.12.2012)
Непрочитано 27.12.2012, 20:47  
viczai1
Временная регистрация
 
Регистрация: 01.08.2007
Сообщений: 73
Сказал спасибо: 44
Сказали Спасибо 16 раз(а) в 7 сообщении(ях)
viczai1 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Для описания всех функций ног у мк STM32 не хватает знакомест для букв, приходится их дописывать как текстовые. Поднимал вопрос здесь, возможно не в этой теме, но на сайте, посоветовали убавить размер букв, но это не то. Для объяснения прикладываю фрагмент разрисовки схемы с STM32. Можете сами попробовать убавить размер или добавить букв в описании функций ноги какой нибудь.

Последний раз редактировалось viczai1; 28.12.2012 в 23:40.
viczai1 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
Вопросы по работе с Proteus dosikus Proteus 510 20.12.2007 18:48
CAN BUS общие впечатления vasseff Микроконтроллеры, АЦП, память и т.д 7 20.06.2007 09:15
Вопросы по Си. Zemlyanov Proteus, KiCAD и другие ECAD 5 20.11.2006 15:36


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


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