nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 09:51



Reply to topic  [ 376 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 26  Next
SimulIDE бесплатный симулятор электроники (PIC, AVR, цифра) 
Author Message
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Нашел причину. Я не великий программист на ассемблере, поэтому пришлось повозиться. Я включил анимацию на схеме и просмотрел в пошаговом режиме сигналы на линиях портов. Обнаружил, что при записи первого байта не формируется сигнал строба записи (вначале выставляем данные, потом стробируем сигнал записи).
Добавил одну команду в листинг и все заработало (частота 16 МГЦ). В режиме пошаговой отладки так же проблем не обнаружил.
Code:
.nolist
#INCLUDE      "m128def.inc"
.list
.cseg

      .def         Rnull   =   R15
      .def         Rff      =   R14
      
      .org      0
      rjmp      RESET
      
      .org      0x100
RESET:
      ldi      R16,    0x00
      mov      Rnull,   R16
      ldi      R16,      0xFF
      mov      Rff,      R16
      out      DDRA,   Rff
      out      DDRB,   Rff
      out      DDRD,   Rff
      sts      DDRG,   Rff
      
      ldi      XH,      0
      ldi      XL,      1
      
      sts      PORTG,   Rff      ; запрет записи в память
loop:           out      PORTA,   XL
      out      PORTB,   XH
;      out      DDRE,   Rff
      out      PORTD,   XL      ; посылаем данные на запись
      STS      PORTG,   Rnull   ; строб записи в память
      adiw      XL,      1      ; инкремент адреса памяти
      sts      PORTG,   Rff      ; конец строба записи
;      out      DDRE,   Rnull
      cpi      XL,      0x50
      brne      loop
      
mainloop:
      rjmp      mainloop
         


16 Feb 2021 01:37
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Reply with quote
FizikS wrote:
Нашел причину. ..... Добавил одну команду в листинг и все заработало (частота 16 МГЦ). В режиме пошаговой отладки так же проблем не обнаружил.
Code:
      sts      PORTG,   Rff      ; запрет записи в память
;----------------------------------------------------------------------------
loop:           out      PORTA,   XL
      out      PORTB,   XH
      out      PORTD,   XL      ; посылаем данные на запись
      STS      PORTG,   Rnull           ; строб записи в память
      adiw      XL,      1      ; инкремент адреса памяти
      sts      PORTG,   Rff      ; конец строба записи
      cpi      XL,      0x50
      brne      loop
         

Спасибо что повозились ради такого! Согласен с "плюхой" при записи первого байта, проглядел в каком состоянии PORTG с линией WE. Исправил, попробовал только что на 2МГц, 4МГц безукоризненно! А вот 6МГц, посмотрите на скриншот. В режиме отладки с остановкой по брейкпоинту в mainloop - ничего не изменилось - в дампе нули даже при 2МГц.


Attachments:
AVR128-6MHz-dump.jpg
AVR128-6MHz-dump.jpg [ 85.33 KiB | Viewed 12567 times ]
16 Feb 2021 04:54
Profile
Senior

Joined: 12 Jul 2016 21:30
Posts: 136
Reply with quote
Еще обнаружилась неприятность с таймерами и частотомерами. Ладно частотомеры в районе 250КГц только, это понятно. Но вот таймеры AVR ATmega-128 запущенные в режиме CTC, что Timer0, что Timer3 должны генерировать меандр с частотой 1/2 CLK, на порте D "ногодрыг" показывает больше. Не поленился проверил на железке, все правильно получил четкие 1/2 CLK. Либо как то неправильно инициализирован делитель, хотя XDIV проверил у модели равен 0 как и должен, либо что то не так с прескаллерами. Разные по настройкам таймера показывают одинаковые процессы и что характерно изменение регистров OCRxCL, не влияет на частоту меандра, что уж совсем не понятно.


Attachments:
ATMega128-CTC-FREQ.jpg
ATMega128-CTC-FREQ.jpg [ 179.08 KiB | Viewed 12551 times ]
16 Feb 2021 08:59
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Отрисовал в SimulIDE известный 4-х битный процессор Nibbler. После некоторых танцев с бубном от все-таки запустился. Выражаю огромную благодарность Lavr-у за выложенную схему и проект в Proteus ( viewtopic.php?p=140960 ). Благодаря последнему я нашел причину неработоспособности моей схемы (потребовался еще один "костыль", чтобы она заработала). После этого заменил микросхему 74HC374 на 74HC377, которая была в оригинале, и схема заработала без "костылей". Симулируется на частоте около 16 килогерц, поэтому ждать реакции на нажатую кнопку очень долго. Поэтому я заменил кнопки на выключатели с фиксацией. Схема в архиве. Схема проверена на версиях SimulIDE 0.4.14., 0.4.15. работает без нареканий.


Attachments:
Nibbler_final.PNG
Nibbler_final.PNG [ 230.83 KiB | Viewed 12511 times ]
Nibbler_4bit.zip [29.58 KiB]
Downloaded 383 times
24 Feb 2021 10:22
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Предлагаю схему цифрового вольтметра на основе АЦП последовательного приближения с пределами 0-9В, 0-100В. К достоинствам можно отнести высокую скорость преобразования (На схеме выставлена скорость около 1000 отсчетов в секунду). Из недостатков могу отметить некоторую сложность схемы. Если применить регистр последовательных приближений, то схема значительно упростится (пока в симуляторе нет модели регистра последовательных приближений). Схема работает просто: входное напряжение преобразуется в двоичный код за 14 тактов (отсюда и большая скорость преобразования), затем он подается в дисплейный модуль, который и выводит полученный код на индикатор. Проще не придумаешь. Микроконтроллеры не рассматриваю. Все сделано на железной логике.


Attachments:
Voltmeter_Successive_Approximation_type_0-100V.zip [49.67 KiB]
Downloaded 352 times
V_2.PNG
V_2.PNG [ 183.55 KiB | Viewed 12474 times ]
V_1.PNG
V_1.PNG [ 183.71 KiB | Viewed 12474 times ]
03 Mar 2021 01:10
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
На регистрах последовательных приближений схема вольтметра значительно упрощается...


Attachments:
Voltmeter_SAR.PNG
Voltmeter_SAR.PNG [ 70.16 KiB | Viewed 12248 times ]
18 Mar 2021 06:47
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Разработал для себя схему, которая позволяет быстро сделать знакогенератор для семисегментного индикатора, размещаемого в ПЗУ (раньше такими дешифраторами на 155РЕ3 "баловались", чтобы отображать шестнадцатеричные цифры). Нажатие кнопок "a"-"h" инвертирует биты, кнопками "U", "D" меняем адрес ячейки ПЗУ, "R" - сбрасывает счетчик адреса в 0. Готовую прошивку сохраняем в текстовой файл для последующей загрузки в ПЗУ.


Attachments:
ROM_Editor_7_seg.zip [11.56 KiB]
Downloaded 337 times
ROM_editor.PNG
ROM_editor.PNG [ 99.27 KiB | Viewed 12248 times ]
18 Mar 2021 06:52
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Выкладываю очередную поделку. Назовем ее "ROM editor". Схема позволяет редактировать содержимое ПЗУ (ОЗУ) в визуальном режиме. Я с ее помощью сделал две модельки для SimulIDE и еще буду применять в своей работе. Эта схема так же поможет быстро создать микрокод самодельного процессора. Для удобства редактирования в схеме имеются текстовые комментарии к каждому биту, записываемому в ПЗУ. Их можно изменить по своему усмотрению.
Назначение кнопок:
"U", "D" меняют адрес ячейки ПЗУ для каждого счетчика,
"R" - сбрасывает счетчик адреса в 0.
"0", "1", ... , "7" - инвертируют соответствующие биты в ПЗУ (ОЗУ)
"P" - защита от потери информации по нулевому адресу после выключения симуляции (On - редактирование , Off - хранение)

После изменения данных переводим переключатель "P" в положение Off, сохраняем содержимое ПЗУ в файл (бинарный или текстовой), выключаем симуляцию, сохраняем схему. При следующем запуске содержимое ПЗУ восстанавливается. Если нежелательно сохранять содержимое ПЗУ в схеме, то в его свойствах (для всех трех ПЗУ) выставляем параметр "Сохранять данные" ("Persistent" в английской версии) в False.
Легко заметить, что схема легко масштабируется: можно выбросить лишние ПЗУ со схемой управления, или добавить еще несколько.

PS. Схема разработана по мотивам программы ROM Bin editor, которую написал Lavr и выложил здесь: viewtopic.php?p=112698#p112698
PPS. Если считаете, что схема убогая, критикуйте (я не электронщик, косяки в схеме возможны). Любые рекомендации по доработке (кроме удалить нафиг) приветствуются.


Attachments:
ROM_Editor_24_BIT_count.zip [27.29 KiB]
Downloaded 336 times
Rom_ED1.PNG
Rom_ED1.PNG [ 115.21 KiB | Viewed 12124 times ]
01 Apr 2021 02:44
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
3 апреля 2021 года стала доступной тестовая (нестабильная) сборка SimulIDE 0.4.15.Final.
Полное описание, список изменений, новые компоненты описаны на официальном сайте: [url="https://www.simulide.com/2021/04/simulide-0415-unstable-released.html"]SimulIDE 0.4.15 (unstable) released.[/url]

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

Некоторые изменения:
  • переработан движок моделирования цифровых микросхем
  • добавлен 4-х канальный осциллограф
  • добавлен 8 канальный логический анализатор
  • платы Arduino являются подсхемами
  • добавлен монитор состояния микроконтроллера (просмотр/изменение содержимого памяти, регистров)
  • открытие окна свойств двойным кликом на компоненте
  • просмотрщик/редактор памяти
  • несколько новых переводов
  • несколько новых компонентов и подсхем
  • возможность самостоятельного создания шилдов для Arduino
  • исправлено множество ошибок

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

Известные, найденные мной ошибки:
  • не работают схемы, подсхемы, содержащие элементы с открытым коллектором.
  • возможны ошибки в симуляции схем, созданных в предыдущих версиях программы
  • возможна потеря соединений плат Arduino с остальными компонентами схемы, созданной в предыдущих версиях программы
  • возможно зависание программы при симуляции схем
  • возможен крах программы при удалении нескольких выделенных компонентов схемы

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


Attachments:
SimulIDE0.4.15F-3.PNG
SimulIDE0.4.15F-3.PNG [ 27.09 KiB | Viewed 12072 times ]
SimulIDE0.4.15F-2.PNG
SimulIDE0.4.15F-2.PNG [ 76.66 KiB | Viewed 12072 times ]
SimulIDE0.4.15F-1.PNG
SimulIDE0.4.15F-1.PNG [ 98.42 KiB | Viewed 12072 times ]
04 Apr 2021 00:12
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
FizikS wrote:
Огромная просьба ко всем, кто обнаружит ошибки в программе сообщить о них здесь.
Это поможет исправить их в самое ближайшее время и ускорить выпуск стабильного релиза.

Image

А вы кто в этом списке? (подозреваю, что Santiago Gonzalez - это не вы... :wink: )

_________________
iLavr


04 Apr 2021 14:14
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Quote:
А вы кто в этом списке? (подозреваю, что Santiago Gonzalez - это не вы... :wink: )

Santiago Gonzalez недавно прописался на форуме Kazus.ru. Читает его регулярно, иногда отвечает на вопросы. Меня вычислить легко, прочитав список изменений к программе. В последнем релизе Сантьяго присоединил меня к списку разработчиков, перевод на русский язык в последнее время (уже год как) - тоже мой. Этого достаточно для разоблачения. Очень хотелось видеть здесь автора программы, но пока никак. По запросу SimuliDE Яндекс находит ветку на Kazus.ru и на NedoPC.org. Google находит только ветку на NedoPC.org. При условии активности в этой ветке возможно появление автора и здесь... Все в наших руках...


04 Apr 2021 23:38
Profile
Maniac

Joined: 15 Jan 2019 15:48
Posts: 326
Location: Украина, Луганская обл.
Reply with quote
FizikS wrote:
Quote:
А вы кто в этом списке? (подозреваю, что Santiago Gonzalez - это не вы... :wink: )

Santiago Gonzalez Меня вычислить легко ...


Сергей Роенко. :ebiggrin:


05 Apr 2021 00:35
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Konstantin18 wrote:
FizikS wrote:
Quote:
А вы кто в этом списке? (подозреваю, что Santiago Gonzalez - это не вы... :wink: )
Santiago Gonzalez Меня вычислить легко ...
Сергей Роенко. :ebiggrin:

Кокой ти предатель... я вот - ничего не сказал... :ewink:

_________________
iLavr


05 Apr 2021 10:54
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Вышло Обновление программы SimulIDE 0.4.15.SR1 (Нестабильная версия, только для тестирования. Релиз от 11.04.2021). Финальную версию SimulIDE 0.4.15_Final использовать не рекомендуется по причине обнаруженных критических ошибок, не позволяющих корректно производить симуляцию схем. Оригинал можно скачать на официальном сайте: https://www.simulide.com/p/downloads.html

В топике размещены ссылки на программу с дополнительными инструментами. Нужны не всем, но мне очень помогают при поиске ошибок в схемах.
Список изменений:
SR1:
- Keep old Arduinos available (needed for old circuits by now).
- New Arduinos as experimental.

Список исправлений:
SR1:
- Critical: Undo Rev 97, changes in eNode break simulation.
- Wires not updating correctly when Circuit is animated.
- Crash: attach+detach+attach Sield.
- Boards: error in some Pin angles.
- Boards(Subcircuits): Childs moving if selected.
- Subcircuit: Tunnels not properly initialized.
- New Arduinos: make shields usable for all Arduinos.
- DC Motor wrong speed indicator.
- KY40 not working.
- Oscope: Missing graphic if no wave detected.
- Oscope: Error changing Time Div in box.
- Oscope not working at long Time Div.
- Oscope: fix square wave at low freq & long Time Div.
- Oscope & LA: pulses not shown when subsample is active.
- Oscope & LA: Connect to Tunnel not working
- Logic Analizer: wrong defaul Volt. Div.
- Tunnels: Error after renaming.
- Tunnels: Connection error in some cases.
- Crash deleting MCU and then running simulation.
- MCU extra step time not in sync with Simulation time.
- 7 Seg BCD not working in Subcircuits.

По традиции, прошу сообщать о найденных ошибках. Это позволит улучшить программу.


Attachments:
File comment: Дополнительные инструменты
Toolls.PNG
Toolls.PNG [ 67.53 KiB | Viewed 11867 times ]
13 Apr 2021 04:10
Profile
Senior
User avatar

Joined: 11 Oct 2018 00:52
Posts: 196
Location: г. Клинцы, Брянская обл.
Reply with quote
Подписчикам доступна новая версия программы SimulIDE 0.4.15.SR2. Благодаря активности пользователей с момента анонса версии 0.4.15 было найдено большое количество ошибок, которые устранены автором программы.

Список исправлений:
SR2:

- Package errors: 74377, 74373, 74688
- DC Motor not cleared at simulation stop.
- Memory table: Crash clicking on column 16.
- Variable Resistors: error setting value from properties.
- Translations: missing properties.
- Error in simulation speed after changing step ns, save and open again.
- BJT pnp not working.
- PIC: Crash using Usart.
- PIC: Crash in devices with no EEPROM.
- Frequencymeter not detecting freqs below 2 Hz.
- Clock: "Always On" property not initialized.
- Mosfet: error in some cases.
- MCUs: dedicated Reset Pin not working.
- Oscope: spinBoxes rejects values > 1e3.
- AVR gdb not initialized.
- Shields not saved to Circuit file.
- AVR Timer: Error writting OCRA, wrong next compare match.
- Arduino Mega: some PWM channels not working.
- SR04 Error at distance = 0.
- I2C RAM: data container not resized.
- Memory Table: wrong Address column size for memories > 256.
- McuMonitor: Errors in Flash word size.
- Crash resizing Memory after opening MemTable.
- RAM/ROM not resizing MemTable.
- Tunnels & Packages should not be Main Component is Subcircuits.

Добавлены новые виртуальные инструменты для облегчения отладки схем.


04 May 2021 01:04
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 376 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 26  Next

Who is online

Users browsing this forum: No registered users and 23 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.