диод на vcc и другой на ce. ???
ps: 5 ма для батарейки литиевой cr2032 это дофига много. ищи память с микропотреблением.
Вид для печати
диод на vcc и другой на ce. ???
ps: 5 ма для батарейки литиевой cr2032 это дофига много. ищи память с микропотреблением.
А у меня как всегда вместо компуцхера опять часики получились. Ну, в свое оправдание могу сказать, что камень все-таки компуцхерный - ВМ80:
http://forumimage.ru/uploads/2023022...7531269529.jpg
Вверху платы блок питания. Плата питается от входящих 12 вольт и формирует: минус 5 вольт, они появляются первыми, затем спустя ~15мс одновременно поднимаются 5 вольт и 12 вольт. Выполнено из того, что было прям сейчас под рукой, поэтому такое странное сочетание qfn, 0402, МЛТ, КТ315 и DIP =\ Минус пять вольт формируются на базе 1006ВИ1 по типовой схеме накачки электролита включенного обратно-полярно, далее линейный стабилизатор 7905.
На плате есть часы RTC PCF8563 (i2c шина), внешний датчик тепературы DS18B20 (1-wire шина), символьный 4-ех строчный дисплей (i2c шина), ну и кнопки конечно для установки часов/минут/enter. Все это обслуживает ВВ55:
http://forumimage.ru/uploads/2023022...8264218283.jpg
На этот момент мне казалось, что я наигралс с ВМ80 и его ассемблером, аж мозг раком встал. Все-таки наплодили они сущностей, DCR-DCX, CMP-CPI и тд - без открытой на втором мониторе мурзилки постоянно синтаксис путаю. Как же все-таки прекрасен x86 ассемблер, в который раз убеждаюсь ))) Ну ладно, это я что-то не по теме уже. Вообщем, ~33 килобайта ассемблерного таксебе_кода меня немного утомили и я решил как-то финализировать все это.
Поэтому, что бы плата просто так не валялась на столе сбацал коробку из веточек и спермоклея:
http://forumimage.ru/uploads/2023030...1200621649.jpg
Какая-то шкатулка из фанеры из фикс-прайса за 99.9 руб. Варварски дремелем пропилил отверстие под экран, по разметке "на глазок", оставив при этом по краям благородное винтажное обугливание фанеры и места пропилов по всему периметру среза =\
Внутри нет ни единого винта, все обильно залито спермоклеем в лучших китайских традициях:
http://forumimage.ru/uploads/2023030...7094554662.jpg
Кстати, часы дополнились тут после сборки платой о трех транзисторах:
http://forumimage.ru/uploads/2023030...0139017178.jpg
Это, как уже все догадались, регулятор подсветки. Потому что когда первый раз собрал офигел ночью - лупит эта подсветка по умолчанию ни чуть не хуже светильника ватт так на 15, всю комнату освещает всратым лунно-желто-блеклым светом. Ажно испугался сначала =\
Поэтому просто три ключа с разными резисторами в коллекторах - 15кОм, 10кОм и 0 ом (то есть полная). Таким образом есть теперь 4 положения подсветки - минимальная (15кОм), низкая (10кОм), средняя (15кОм+10кОм параллель=6кОм) и на "все бабки". В прошивке просто составил табличку по каким часам какую подсветку включать, типа того:
Стало вполне хорошо.Код:; abjust backlight level
; 06-07 = low
; 08-10 = medium
; 11-18 = high
; 19-20 = medium
; 21-22 = low
; 23-05 = minimum
abjust_backlight:
lda hours
call bcd2bin
lxi h,HR_TBL
mov e,a
mvi d,0
dad d
xchg
ldax d
sta backlight
ret
; 00 01 02 03 04 05 06 07 08 09 10 11
HR_TBL: db 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4
; 12 13 14 15 16 17 18 19 20 21 22 23
db 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1
Но.
Но! Спустя какое-то время решил развести нормальную плату, так как почуствовал, что еще не наигрался с ВМ80. И развел:
http://forumimage.ru/uploads/2023050...0579716569.jpg
Жопко:
http://forumimage.ru/uploads/2023050...0894676023.jpg
Дичайший микс (мешанина) из smd 0402, 0805, qfn, DIP и МЛТ. Потому что делал под себя, ориентируясь на то, какие детали у меня есть в наличии, что бы ничего не покупать для сборки.
Плату сделал еще в марте, 15 марта китайцы отправили и 4 мая платы приехали. То есть без недели доставка заняла ровно 2 месяца.
Ну и значит собрал экземплярчик:
http://forumimage.ru/uploads/2023050...2124258582.jpg
Все стартануло сразу, без всяких танцев с бубном, чему я несказанно рад. Даже кварц влепил ради эксперимента на 32 МГц, что дает нам 32/9=3,5555555555555556 MHz тактовой на ВМ80, и ГФ24 даже зачем-то вполне вменяемо работает на пару с ВМ80.
Это наверное даже уже не только часы, а и просто некая отладочная платка с ВМ80 на борту, к которой можно цеплять всякие интересные штуки как по GPIO с ВВ55, так и напрямую на шину данных - для этого служит вторая гребенка рядом с RAM с отдельным /CS по IO порту.
Например, есть желание прицепить сюда средних размеров экран с шиной, как бы странно это не звучало, 8080 и посмотреть с какой скоростью будет происходить заливка экрана 480x320. Ну и подобные эксперименты.
шикарно получилось, только один вопрос - вы уверены, что кварц запустился на частоте 32 мгц, а не на 10,666 мгц ?
Уверен, смотрел по ослу. На тех часах, что на макетке и в коробке стоит кварц 27 МГц, и в принципе, это предельно допустимое даташитное значение на i8224, но работает и с ГФ24 уже, считай, три месяца в режиме 24/7. Если не ошибаюсь, там стоят резисторы от ножек кварца на землю по 510 ом, как и сказано в интеловском даташите для кварцев >=18 MHz что бы как раз гасить не основные гармоники.
У той платы, что новая и только недавно собрал - у той поставил 32 МГц, и с резисторами от ножек кварца на землю по 510 ом как раз завелась на ~10 МГц. Но стоило их убрать и кварц завелся на номинале. Но справедливости ради, вроде частота немного плавает, и на выходе получается не ровно 32/9=3.555555556 MHz, а чуть меньше, примерно ~3.4 MHz. С разными ГФ24 получается разный результат, но в пределах 3.2 - 3.4 MHz.
Но оно и понятно, не расчетный режим. Но отладка на то и отладка, что бы всякие эксперименты ставить.
Мужики! Но ведь в чём то фишка должна быть! В чём?
да не, я не за то, что гф24 на пределе, а за то, что обычно после 27 мег кварцы гармониковые идут и работаю на частоте в 3 раза ниже, кроме специальных.
- - - Добавлено - - -
to m80
фишка в том, чтоб создать что-то с нуля и заставить работать так, как тебе этого хочется.
разработка схемы, потом платы, пайка, написание прошивки, отладка, изготовление корпуса и вот, на выходе устройство!
получил опыт, кайфанул, можно переключаться на что-то другое, а приборчик, тем временем, приносит пользу и радует!))
Откуда инфа? Куча плат есть, на которых кварц 24...30 МГц, и работают вообще без проблем.
Обычно сложности начинаются, когда >30. И то, при правильной схеме генератора до 36 вполне работают.
Например, вот видеокарта, тут 35,5 http://www.amoretro.de/wp-content/up...rafikkarte.jpg
в основном корпус МД в российском обозначении или забугорное HC49U.
схема обычная емкостная трехточка.
гармониковый, это когда основная частота в 3... 5... раз ниже и нужен еще контур на рабочую частоту и тогда все будет ок.
для гармоникового исключительно зависит от схемы! более того, в основном, классическая схема на двух логических элементах, запускает гармониковые кварцы не на основной частоте, а в несколько раз ниже.
не могу сказать, что я удивлен, но гармоникового на 24 мег в моей коллекции нет.
Так он и не гармониковый. У него номинал2430.
Вспомнил, что всё же номинал 30, а работал на 10.
В то время, как 24 и и 27 как раз работали на номинале.
То есть видимо схема не тянула 30 и он заводился только на 10.
Видимо в этом и дело. Быстродействия инверторов не хватает. Нужно оставлять один.
P.S.
Вот интересная схема. Используется всего один довольно медленный инвертор 74LS04 https://b.itemimg.com/i/292733929.0.jpg
Вложение 78866
я столкнулся. там правда непонятная история - на древней мультикарте перестал работать флоп. расследование показало что кварц на 24 (маркировка 24.000) генерит 8МГц. ставлю другой с такой же маркировкой - генерит 24. причем этот который генерит 8 - изначально на этой плате работал...
Состарился и параметры поплыли. У генераторов Mercury это в паспорте оговаривается насколько я помню.
Типо "Aging △F / F : ± 3 ppm / year ( max.)"
24.000 так вроде гармониковые и обозначаются. Значит генерил новый на третьей гармонике.
- - - Добавлено - - -
не работал должно быть, вот и не состарился. К тому же где гарантия, что оба из одной партии? Если тираж не 1000 шт. почему бы генератор smd вместо кварца не поставить? Если процессор от генератора умеет работать.
достоверной информации не нашел. но в наличии есть с маркировкой 4.000 и 6.000 на 4 и 6МГц соответственно - сильно сомневаюсь что они гармониковые.
тираж - 1 штука, починится - хорошо, нет - и хрен с ней. тот генератор стоить будет дороже всей карты. а кварц - он в тумбочке есть.Цитата:
не работал должно быть, вот и не состарился. К тому же где гарантия, что оба из одной партии? Если тираж не 1000 шт. почему бы генератор smd вместо кварца не поставить? Если процессор от генератора умеет работать.
Многовероятно, что у Вас кварц в таком случае работает просто как емкость, тк такого большого отклонения с
кварцем не должно быть. Собственно, на ГФ24 я даже функциональный генератор делал, и статью писал про это (стр15).
https://djvu.online/file/BP8UF4pjvnO...ebmmp555410888
А устройство классное, большой респект!!+++++
Логично. Но почему он не заработал на третьей гармонике?
Кстати, Эмиль, тебе не попадалась методика расчета кварцевого генератора на одном (КМОП) и двух (TTL) инверторах?
В частности этой схемы:
Вложение 78867
Как подбирать значения резисторов и конденсатора, в зависимости от частоты?
вместо 3 гармоники заводится на первой!
- - - Добавлено - - -
я про это узнал от одного прошаренного перца во времена СССР в начале 90-х( он у меня работал типо главным проектировщиком в двух проектах, а до этого вед. инженером-электронщиком в известной ленинградской конторе, которую закрыли в 90-е внезапно. Люди пришли в пндк на работу, а на входе автоматчики и всех в отдел кадров на увольнение без компенсаций и выплат выходных пособий) и у меня самого в коллекции больше советские кварцы. Лежали без работы 35 лет, так что надо проверить не состарились ли гармониковые?
Вот видео есть, но это конечно не официальная информация
https://electroinfo.net/radiodetali/...imenenija.html
Режим работы резонатора (номер гармоники)
если написано 4000_кГц_ - то явно отечественный (точнее скорей советский). и по ним была информация (хоть и на уровне ОБС) что если маркировка в кГц - основной, если в МГц - гармониковый. у меня в данном случае импортные, и достоверной информации я не нашел.
вот еще нашел - маркировка 1.8432
если 4МГц сильно притянув за уши еще можно поверить что гармониковый - то этот - я лично не верю.
Да, путаница с этими кварцами.
Если кварц может работать на частоте 30 МГц и 10 МГц, какая из этих частот основная, какая гармониковая (3-я гармоника)?
Разобрался.
То есть, для всех кварцев с номинальной частотой выше 20 МГц, эта частота является 3-й гармоникой.Цитата:
Основная частота кварца не бывает больше 20 мгц. Это связано с размерами и конструкцией пластины. Частоты выше 20 мгц получают возбуждением генератора на нечетных гармониках. Третья, пятая, седьмая и т. д. Обычно используют возбуждение на двух первых, ибо на более высоких гармониках возбуждение менее устойчиво и низкая амплитуда на выходе.
Если на корпусе обозначена частота более 20 мгц, это означает, что резонатор гармониковый. Конструкция пластины и вид колебаний пластины специально рассчитан для работы на этой частоте. Но это не значит, что он не будет работать на первой гармонике.
Но если схема генераторы не тянет такую частоту, то кварц может переходить на первую гармонику, то есть на частоту в 3 раза меньше.
Serg6845, спасибо, выше это же и написал.
Больше всего сбивает с толку "основная частота" и "номинальная".
"Номинальная" вполне может быть и "основной" и "гармониковой". А "основная" не быть "номинальной".
Ну да, согласен. Только сейчас есть помощники в виде ПК, планшета и прочих. А вот в своё время ничего этого не было. И тогда действительно приходилось лепить с нуля! Просто с нуля! Пультик, пошагиватель... Набиваешь программку... Затем программируешь УФ ПЗУ... Вот она молодость! Да и девки совсем другие были...)))
Это взято из какой-нибудь книги советского времени? С тех пор многое поменялось, можно посмотреть каталог производителя (например) и увидеть у кварцев с Fundamental (не с 3rd или 5th Overtone) диапазоны частот. Или глянуть каталог отечественных продавцов, для примера тут для 32 МГц из 65 примерно половина с 1Г.
Методики не припоминаю. Соображения такие. Для TTL резисторы должны хотя бы обеспечивать линейный
режим работы элемента. Собственная частота колебаний в схеме (если она возбуждается с одними емкостями)
должна быть близка к желаемой.
Или же для возбуждения на желаемой гармонике коэффициент передачи дифференцирующей CR цепи (C81R07)
на первой гармонике должен быть заметно меньше, чем на третьей. Те частота среза CR цепи (1/(6.28*RC)) должна
быть около желаемой частоты возбуждения. Иногда (особенно в приемопередающей технике) применяют настроенный
контур, для возбуждения на нужной гармонике.
Собственно, гармониковые кварцы используются из-за затруднительности изготовления резонаторов на большие частоты
и падения добротности их выше определенной частоты. Я посмотрю дома у меня есть хорошая старая двухтомная книга
" Радиотехнический справочник" (перевод с немецкого), где целая глава про кварцы
Я немного добавлю свои соображения.
У кварцев могут быть еще паразитные частоты (не гармоники), при не совсем
качественном изготовлении (из книги). Там же указано, что наилучшие результаты
получаются от 60KHz до 5Mhz (не спроста в старых частотомерах ставили кварц на
5MHz, а потом умножали частоту).
Более строго, относительно работы на гармониках. Чтобы возбудить кварц на желаемой
гармонике, нужно чтобы коэффициент передачи цепи ОС на желаемой частоте был
выше, чем на других. Но посколько добротность кварца на гармониках скорее всего
меньше, то при примерно равных коэффициентах передачи цепи ОС (с учетом сдвига
фазы, тк этот сдвиг фазы кварцу придется компенсировать для выполнения условия
самовозбуждения), можно предположить, что будет более вероятно возбуждение на
низшей гармонике (в пределах одинакового коэффициента передачи ОС). А для работы
на нужной гармонике нужно добится увеличения коэффициента передачи на ней, в
простейшем случае хотя бы подстройкой CR звена, как я писал выше.
Это легче представить себе, если вспомнить эквивалентную схему резонатора:
последовательно включенные большая индуктивность, маленькая емкость и
сопротивление потерь. И все это зашунтировано емкостью кварц-держателя.
Гармониковые частоты можно представить себе как дополнительные
последовательные LCR цепи, включенные параллельно основной. Понятно, что
в таких цепях в определенных условиях возможна генерация на разных частотах
и даже перескок частоты при внешнем воздействии.
Ну и не забываем про то, что у кварца возможны два резонанса - последовательный
и параллельный. Частота параллельного резонанса чуть выше и определяется той
же фиктивной индуктивностью и емкостью кварц-держателя, включенной
последовательно с маленькой эквивалентной емкостью кварца. Чем выше
добротность резонатора, тем меньше отношение этих частот.
- - - Добавлено - - -
А кстати, напомнили. У меня есть старые промышленные платы (Motorola, Alcatel)
от коммуникационного оборудования, так там смесь - и DIP, и SMD, и планарные
микросхемы (причем последние припаяны с обратной стороны платы). Еще
применяются интересные SMD резисторы, круглые, синего цвета.
Меж делом завел экранчик 480x320 3.5" ili9486 8 bit parallel (SKU:MAR3501) на платке с ВМ80, которую тут показывал парой страниц ранее:
https://zx-pk.ru/threads/25682-samod...=1#post1178397
http://forumimage.ru/uploads/2023092...2051176026.jpg
Честно сказать - намучился я с ним прилично. Сначала не мог его заинитить - собирал по всему инету последовательность инициализации, включая какие-то китайские борды, форумы андруинщиков, github - нет инита и всё. А дело было всего-лишь в перепутанных проводах к экрану D6 и D7 - просто воткнул неправильно пины. Потом начал ловить какие-то внезапные перезагрузки прошивки, сделал даже "шагатель" по классике из журнала Радио, хотя он мне мало помог. Короче дело было в том, что на плате у меня на процессоре перепутаны адресные линии A14 и A12 местами, поэтому когда прошивка выросла код улетал в неведомые дали. А распиновку 8080 я взял похоже просто в гугле забив "8080 pinout", и первая подвернувшаяся картинка оказалась неправильной. Ладно, исправил парой проводков МГТФ и все уже поехало как надо.
Какие из этой грустной истории выводы? Да банальные - 1) всегда читай официальные даташиты и мануалы от производителя, а не смотри картинки в гугле; 2) сделал жгут проводов - прозвони его тестером, что соединение есть и что провод А приходит в точку А, а не в точку Б;
Когда все заработало как надо по аппаратной части переписал на асм основные функции работы с дисплеем и особенно функции заливки дисплея, скорость возросла в разы по сравнению с си-вариантом. Тут тот самый случай, когда важен каждый такт и одна лишняя инструкция в цикле существенно сказывается на быстродействии. Ведь старичку ВМ80 для полной заливки экрана нужно прокачать 480x320x2 байт (~300 Кб) через шину. Конечно, экран очищается не моментально, но уже терпимо. Ну и до кучи прикинул шрифт с альфаблендингом (плавным переходом цветов на краях изображения), что потребовало чисел с плавающей запятой:
http://forumimage.ru/uploads/2023092...2279574962.jpg
Благо в z88dk это решается просто подключением математической библиотеки. Она конечно жрет место, и очень даже заметно, но на период отладки терпимо. Дальше можно все в таблицы загнать, когда будет понимание всех цветов и элементов интерфейса.
С этим экраном без нормального отладчика работать такое себе, это не ИН'ки или матричные светодиодики... Каждый раз доставать из панельки, стирать EEPROM'ку, прошивать EEPROM'ку, вставлять обратно в панельку - и так сотни раз на период рисования интерфейса - удобства доставляют мало. Да, я знаю что есть "эмуляторы ПЗУ", знаю что можно было бы просто поставить на плату USART (да хоть тот же 580ВВ51), написать небольшой бутлоадер и шить флешку прямо в схеме и тд и тп. Но как сделано так сделано. Поэтому пришлось написать на скорую руку типа эмулятор данной 8080 платформы - ядро эмулятора 8080 ctrl+c/ctrl+v с гитхаба, вывод на экран через SDL, обработка кнопок там же. Ну и сбоку немножко логики заполнения экрана ili9486 и обработки портов в/в. Стало гораздо проще и плату можно вообще пока отложить в сторону.
http://forumimage.ru/uploads/2023100...4797952846.png
А вчера вечером решил прикрутить кнопки и внезапно столкнулся с глюком - при чтении данных из порта 580ВВ55 у меня читался мусор. Понятно, что конфликт на шине, я предположил что виной всему упрощенный дешифратор адреса порта в/в, выполненный на одном инвертере - а именно /CS ВВ55 это линия A4, а /CS на экран - это инвертированная A4, таким образом по задумке 0-Fh это порты ВВ55, а 10h-1Fh это порты экрана. Думал что из-за задержки прохождения сигнала через инвертер возникает иголка и экран и ВВ55 одновременно отвечают и вот он и глюк. Сидел пол-ночи ловил эти иголки, переделал дешифратор на ИД7 - нихрена. А утром взглянул на сам экран - и вот оно. На экране установлены пара левел-шифтеров, выполненных на 74LVC245, и у одного из них, отвечающего за шину данных /OE жестко прибит на землю:
http://forumimage.ru/uploads/2023100...2175627523.png
Поэтому когда я читаю что-либо из какого угодно порта он выставляет на шину мусор. Солюшен прост - отрезать /OE от земли и завести его на /CS экрана, что и было проделано с помощью скальпеля и МГТФ:
http://forumimage.ru/uploads/2023100...2863177181.jpg
Ох уж эти китайцы затейники, ладно, продолжаем...
http://forumimage.ru/uploads/2023100...5842410063.jpg
Как компромиссный вариант - ПЗУ вставляется в панельку, а уже та - в панель на плате.
"Доставаемость" такого бутерброда улучшается в разы.
Hunta, ну да, точно. "Семён Семёныч..." (с)
Офигеть! Это когда нет доступа к ПО и тупо играешься прошивками. Тогда да, прогресс!
M80, таладно )
Тупо - это когда на ровном месте сливают в тему какой-то свой особо выстраданный негатив.
Порекомендовали 28-29 серии ? Спасибо. А зачем дальше-то офигевать ?
Та ладно.) Только не надо мне указывать что делать - лучше аргументы. И я высказываю своё личное мнение. ОК? Ну, если не нравится - что ж поделаешь...
Насчет программного - не так что бы легко, но пишется, да. А не легко, потому что скорость ногодрыга ВВ55 ограничивается 10-тью тактами команд in/out + плюс еще нужно куда-то положить байт который приняли и это простым поллингом, потому что никаких прерываний от ВВ55 разумеется нет. То есть нужно посчить потактово всю функцию целиком приема байта, как-то подогнать ее под скорость тактирования ВМ80 что-бы она хоть издали напоминала какой-то стандартный баудрейт. Плюс надо когда получили байт как-то умудрится еще не потерять следующий байт, пока мы с первым возимся. Ну и в результате скорость по грубым прикидкам вряд-ли будет больше 2400 bps, а возможно даже еще меньше, типа 1200 bps. На 1200 bps прокинуть 32 Кб - это чуть ли не медленнее, чем вытащить микруху и прошить в программаторе.
любые МК, даже ацки древние, имеют на борту хотя-бы один таймер и прерывание от него, что в разы упрощает программный UART, и на МК действительно программный UART пишется легко и непринужденно. Но у меня тут как бы не МК, если что.
Если вы думаете, что вы открываете мне какую-то ИСТИНУ, то смею заверить что это не так. Я довольно много работал/работаю и с PIC16, и с MSP430, и с NXP ARM (LPC2364/8) и с STM32 и некоторые базовые вещи типа программного UART и/или бутлоадера позволяющего прошить внешнюю или внутреннюю флешку разумею. Но повторюсь - тут у меня не МК и есть некоторые нюансы.
Поэтому решение с эмулятором в данном конкретном случае перевесило все за и против по сравнению с внутрисхемной прошивкой.