Еще один интерфейс для fms
Как то так вышло, что с PIC-микроконтроллерами я не работал, а для AVR у меня все есть, включая сам чип, вот я и сделал для себя интерфейс для фмс на
ATtiny15L 😋 .
Единственный недостаток 😦 : нужно считать программатором калибровочный байт для конкретного чипа и вручную вставить его в текст программы, а затем оттранслировать. В пике, насколько я знаю, запись калибровочного байта генератора автоматическая.
Если кому интересно, то вот…
А зачем такие сложности с калибровочной константой? Разве проще никак нельзя выкрутиться?
Схема очень даже ничего.
А зачем такие сложности с калибровочной константой? Разве проще никак нельзя выкрутиться?
Без калибровки не проверял, но, судя по даташиту, там разброс тактовой частоты весьма большой, а автоматически эта константа в OSCCAL не в записывается. Вот в tiny13 все автоматом делается, но там частота 9.6МГц и надо будет с заданием временнЫх интервалов поработать.
Без калибровки не проверял, но, судя по даташиту, там разброс тактовой частоты весьма большой, а автоматически эта константа в OSCCAL не в записывается. Вот в tiny13 все автоматом делается, но там частота 9.6МГц и надо будет с заданием временнЫх интервалов поработать.
Все предельно просто. Если программировать контроллер с помощью AVREAL (кто занимается AVR, тот знает, что это), то можно через командную строку задать сохранение калибровочной константы в любое место программной памяти (обычно в последний байт), откуда при инициализации с помощью LPM она прекрасно читается. Более того, AVREAL позволяет даже сохранить константу, как часть команды LDI. То есть никакой калибровки уже не нужно.
Пример для любознательных:
пример фрагмента процедуры инициализации:
Calibr:
LDI R16, $00 ;загрузка калибровочной константы в регистр
;номер регистра любой в диапазоне 16-31, значение любое (заменяется программатором на калибровочную константу при прошивке)
OUT OSCCAL, R16 ;запись калибровочной константы в регистр калибровки генератора
выясняем значение метки Calibr (адреса команды загрузки константы) из list-файла и подставляем полученное значение в командную строку:
пример фрагмента командной строки:
avreal fms.hex -c?osccal=<Calibr> +tiny15
где вместо <Calibr> подставляется значение этой метки из list-файла.
После этого необходимость калибровать генератор контроллера отваливается (да и зачем, если его уже на фабрике откалибровали 😃).
Если у кого какие вопросы по программированию AVR - милости прошу в личку.
А у меня на одном транзисторе кабель! И я не знаю, что такое програмировать, и все такое!!! 😛
А у меня на одном транзисторе кабель! И я не знаю, что такое програмировать, и все такое!!! 😛
У меня сейчас три адаптора:
- На Game Port (на AVR)
- на одном транзисторе (сделал его вторым по счету)
- На COM port (на PIC).
Так вот - для FMS самым удачным оказался на COM Port.
Тот, что на Game Port - может пригодится в других симуляторах.
А тот, что на одном транзисторе - так, побаловаться.
Никто уже давно не ставит винды ниже 2k. А если еще вспомнить про поддержку многопотоковости в процессорах, то тогда все дороги ведут как минимум к XP.
Удачи!
Андрей
А у меня две винды!!! 😁
Я конечно раз за ваш транзистор, но флеймить тут не надо.
Как то так вышло, что с PIC-микроконтроллерами я не работал, а для AVR у меня все есть, включая сам чип, вот я и сделал для себя интерфейс для фмс на
ATtiny15L 😋 .
Единственный недостаток 😦 : нужно считать программатором калибровочный байт для конкретного чипа и вручную вставить его в текст программы, а затем оттранслировать. В пике, насколько я знаю, запись калибровочного байта генератора автоматическая.
Если кому интересно, то вот…
А сложно переделать прошивку под ATtiny12L ?
Дело в том, что таких полно в битых головках от струйных принтеров
а 15L покупать надо…
А сложно переделать прошивку под ATtiny12L ?
Дело в том, что таких полно в битых головках от струйных принтеров
а 15L покупать надо…
Трудно представить человека, для которого 70 рублей - большие деньги… Зачем искать (не у всех дома струйники, не во всех головках tiny12) и курочить, когда в Чипе-с-Дипом все детальки, включая контроллер, обходятся рублей в 100-120?
Мда… просить человека потратить время, ради того чтобы другой сэкономил 70 рублей, это как-то странно.
А сложно переделать прошивку под ATtiny12L ?
Дело в том, что таких полно в битых головках от струйных принтеров
а 15L покупать надо…
Прошу прощения. Не обратил внимания на город… Но в любом случае, купить контроллер несложно и недорого. По крайней мере, в крупных городах.
Мда… просить человека потратить время, ради того чтобы другой сэкономил 70 рублей, это как-то странно.
заметьте
я не просил переписывать прошивку я спросил “сложно ли переделать” поскольку я не знаком с разницей между этими двумя процами. Если пару команд переписать это одно а если все перепахивать …
А 15L я сразу купил. 15грн стоит.
Думаю, несложно. 2 вывода местами поменять, скоре всего. Мне даташиты лень читать, чтобы вспомнить. Не та проблема 😃
Думаю, несложно. 2 вывода местами поменять, скоре всего. Мне даташиты лень читать, чтобы вспомнить. Не та проблема 😃
Надо поменять выводы PB1 и PB2 c соответствующей коррекцией в программе. Так как у tiny15 сигнал INT0 на PB2 а у tiny12 - на PB1. Далее, частота генератора у tiny12 1.2MHz против 1.6 у tiny15, поэтому надо в программе задержки поменять, либо попробовать поиграться константой калибровки и довести частоту до нужной.