Proteus, KiCAD и другие ECAD Разработчик так или иначе сталкивается с системами автоматизированного проектирования. Данный раздел - по САПР. |
24.05.2007, 00:06
|
|
Прописка
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
|
DSIM SDK - первое знакомство
использую SDK к версии 6.9 SP5.
есть замечание:
- просмотр инклудов показал полное отсутствие модификатора const в случае, если данные передаются как константная ссылка (что странно, особенно если этот момент в хелпе не отражен).
- hlp откровенно слабый, и в нем описана далеко не вся информация, которая присутствует в ашниках (правда, разработчики за это извиняются прямо там же .
- да и без примеров плохо. возникают всякие вопросы, типа что делать, если пин сработал раньше или позже, чем нужно - ругаться или смолчать.. и т.п., а посмотеть негде
вопрос знатокам:
1) есть DSIMMODEL, и у нее ряд PINов. в случае simulate() или если всем пинам в sethandler() поставить одну callback-процедуру...
2) то КАК узнать какой из пинов сработал? для которого была вызвана эта процедура?
|
|
|
|
24.05.2007, 08:41
|
|
Прохожий
Регистрация: 16.04.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
с предыдущим вопросом вроде бы разобрался - перечисляю все входные пины, и смотрю isedge().
но появился другой вопрос:
1) исходные данные: рассматриваем чтение из озу. из даташита видно, что на AD должен быть выставлен адрес не позднее 50нс, относительно переднего фронта ALE и убран не ранее, чем 80нс после заднего фронта.
2) вопрос: что будет, если
2а) - адрес выставить позднее, чем за 50нс?
2б) - адрес снять раньше, чем пройдут 80нс?
общий вопрос - какое время обычно принимается для определения истинного значения сигнала?
|
|
|
|
24.05.2007, 12:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от test20079
|
с предыдущим вопросом вроде бы разобрался - перечисляю все входные пины, и смотрю isedge().
но появился другой вопрос:
1) исходные данные: рассматриваем чтение из озу. из даташита видно, что на AD должен быть выставлен адрес не позднее 50нс, относительно переднего фронта ALE и убран не ранее, чем 80нс после заднего фронта.
2) вопрос: что будет, если
2а) - адрес выставить позднее, чем за 50нс?
2б) - адрес снять раньше, чем пройдут 80нс?
общий вопрос - какое время обычно принимается для определения истинного значения сигнала?
|
Обычно это делается так. По переднему фронту ALE ставим callback-процедуру на 50 нс, внутри которой читаем AD. Не выставили - мы не виноваты, будем глючить
|
|
|
|
24.05.2007, 14:07
|
|
Прохожий
Регистрация: 16.04.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
так колбэк ставится вперед, а время-то ДО переднего фронта.
|
|
|
|
24.05.2007, 14:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от test20079
|
так колбэк ставится вперед, а время-то ДО переднего фронта.
|
Хм... Тогда - просто по фрону читаем данные, и всё.
Ну, или можно сделать так. Читаем данные по каждому изменению во внутренний буфер, в него же пишем время их изменения, а по фронту считаем сколько времени прошло с изменения данных на шине. Если меньше чем время в даташите - ругаемся, но данные используем. Тогда разработчик будет видеть где он не прав.
Кстате намного удобнее использовать шины (IBUSPIN) вместо обычных пинов, чтение и запись всей шины производится за одну операцию.
|
|
|
|
24.05.2007, 19:53
|
|
Прописка
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
|
вопрос по схемотехнике:
применяются состояния - питание1, сильный1, слабый1, слабый0, сильный0, земля0, z-состояние.
если используются ТТЛ и МДП-логики, то каков алгоритм выставления сильного или слабого значения?
я так понимаю, что в выходных сигнальных линиях питание1 и земля0 практически не используются?
и какая реакция должна быть, если вывод напрямую соединен с питание1 ? в смысле, проверка на то - может ли элемент сгореть или нет - должна в общем случае выполняться или нет?
|
|
|
|
24.05.2007, 20:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.06.2005
Сообщений: 1,389
Сказал спасибо: 19
Сказали Спасибо 210 раз(а) в 156 сообщении(ях)
|
Сообщение от um
|
вопрос по схемотехнике:
применяются состояния - питание1, сильный1, слабый1, слабый0, сильный0, земля0, z-состояние.
если используются ТТЛ и МДП-логики, то каков алгоритм выставления сильного или слабого значения?
я так понимаю, что в выходных сигнальных линиях питание1 и земля0 практически не используются?
и какая реакция должна быть, если вывод напрямую соединен с питание1 ? в смысле, проверка на то - может ли элемент сгореть или нет - должна в общем случае выполняться или нет?
|
Проверка выполняется в самом симуляторе, поэтому проверять самому нет необходимости, да и весьма затруднительно.
Для TTL я обычно использую слабый1 и сильный0. КМОП - сильный0 и сильный1. Насчет МДП не знаю, давно не работал с ними.
Питание1 и земля0 - как это такие выходы вообще могут использоваться в цифровой схемотехнике? разве что в релейной...
кстате ещё есть инжект1 (IHI) и инжект0 (ILO) - обычно применяется для генераторов - промежуточное между питанием (землей) и сильным, а также слабыйКонфликт (WUD), сильныйКонфликт (SUD) и питаниеКонфликт (PUD).
P.S. Может всё-таки в мыло?
|
|
|
|
24.05.2007, 20:12
|
|
Прописка
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
|
ок. просто подумал, может еще кому интересно будет - все-ткаи с этими вопросами рано или поздно столкнется каждый новичек
в моей версии сдк состояний всего 9. видимо, много воды утекло...
|
|
|
|
24.05.2007, 20:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Еслиб найти "гетин статид" на примерах я б тоже что нибудь смоделировать попробовал.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
24.05.2007, 22:07
|
|
Прописка
Регистрация: 16.01.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 8 раз(а) в 6 сообщении(ях)
|
такой официальной информации не встречал.
в прицепе есть пример стартового кода - вот с чего можно начать. а дальше сдк хелп.
хотя лучше сразу смотреть в ашники - в хэлпе многое отсутствует.
Прикрепленный файл: 5897305.ZIP
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Первое АПРЕЛЯ
|
tkachuk01 |
Отвлекитесь, эмбеддеры! |
8 |
03.04.2009 22:16 |
AVR Studio SDK
|
Vetalllllll |
Микроконтроллеры, АЦП, память и т.д |
12 |
25.01.2008 13:37 |
PROTEUS VSM SDK
|
ovsep |
Микроконтроллеры, АЦП, память и т.д |
3 |
09.11.2007 12:52 |
создание DSIM модели
|
um |
Микроконтроллеры, АЦП, память и т.д |
6 |
21.05.2007 17:38 |
Часовой пояс GMT +4, время: 00:38.
|
|