ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
688545 Топик полностью
Николай Коровин (22.07.2016 16:48 - 23:06, просмотров: 70) ответил Ациль Шифер на Что критиковать? Я, не из ксплай, но юзер.
Да вот. Давайте про подводные камни, патенты, скруглённые углы… ну и не только про них, ессессенно. Сначала надо разработать механический стандарт. Открытые стандарты тем и хороши, что их может придумывать любой Коля из совхоза, никто ни к чему не обязывает. Хорошо придумал -- приживётся, плохо -- ну, никто никому ничего не должен. Я вроде уже говорил, что наш главный враг -- батарея? Так вот, повторить не помешает. Батарея враждебна юзеру в самой своей архитектурной сути. Дело в том, что вырабатывать низкие должна именно батарея. Тогда проблема совместимости исчезает в принципе. Стандартизируется "кирпичик" разъёма, ширина батареи и номинальный ряд длин (которые, разумно предположить, будут с шагом в банку), предполагается, что участок сзади (ближний к разъёму, скорее всего, ведь плата-то там) не закрывается корпусом и имеет гнездо для внешнего первичного БП. В пределах "кирпичика" со стороны батареи можно сделать "маму" на что-то из набора 1.8, 3.3, 5, 12 вольт и так далее. Ноутбук имеет те пины, которые ему реально нужны (95% наверняка сведутся к 3.3 и 5), что позволяет подключить любую совместимую сверху батарею. Ещё один пин -- I2C, для управления политикой заряда. Тем же балансом "полный заряд vs долгая служба", например. Можно и кнопку на батарее сделать, которая однократно переводит 60% заряд в 100%, чтобы зарядить полностью перед поездкой, например. Всё теперь в ней, можно извращаться в меру фантазии. Наверняка кто-то сделает и первичный БП с таким же разъёмом на корпусе, для тех, кто любит работать без батареи. И уж точно -- будет такой безбатарейный преобразователь под прикуриватель. Или с мелкой батареей. Да хоть с ионистором. Первичный БП можно стандартизировать по разъёмам -- наружный диаметр "бочки" равен напряжению в вольтах умножить на некий стандартный шаг, внутренний -- отстоит на пару миллиметров, в середине -- центрующий пин. Подпружиненные контакты батареи и медные кольца, в которые они вклёпаны, задают минимальное и максимальное рабочее напряжения -- БП на слишком низкое уткнётся во внутреннее кольцо, на слишком высокое -- в наружное, а те, что в диапазоне, будут более-менее болтаться между колец, ласково прижатые пружинными лепестками, которым разница пофиг. Медью в медь в лишние полмиллиметра не воткнёшься, она всё-таки не пластилин. Можно сделать и дешевле -- два пина с неким расстоянием, толстый ноль, тонкий плюс, на батарее отверстие под ноль и щель под плюс. Второй враг -- материнки. Миниатюризация дошла до того, что габариты определяются дюймами экрана, а не материнкой. Самое время материнки делать не "как бы поменьше", а сообразно ряду размеров. Тут есть некоторые интересные нюансы: кроме задней стенки, привычной по ATX, есть две боковые (причём правая может быть чёрт-те-где, если корпус на один-два размерных шага больше) и индикаторная рейка сверху. Плюс надо предусмотреть как минимум две высоты (плоские модели и мощные модели). Поскольку справа обычно елозит мышь, самые важные разъёмы делаются слева, а сидюки и полтора USB -- справа (простите меня, левши; кстати, в любом случае у вас с открытым стандартом будет больше возможностей для перестановок, чем со стандартным модельным рядом буков). Итого получается что-то наподобие рис. 1. На левой верхней части есть область с фиксированным расположением секции задних разъёмов (производитель волен напихать туда что-то не требующее частого доступа в процессе работы, скажем, разъём под внешний моник), разъёма под батарею и разъёма шлейфов на клавиатуру, матрицу и прочее (поскольку батарея в любом случае ненулевой длины, самое им за ней и место). Сама плата может быть шире этой области и выше этой области на любой размер с определённым шагом, высота секции разъёмов (и монтажа на плате, равного ей) может быть одной из двух -- "плоский бук" или "мощный бук". Разъёмы объединены пластиковой полоской, под которую в верхней и нижней половинках корпуса имеются пазы. Если плата на номер-два меньше -- лишний проём в корпусе закрывается одной-двумя пластиковыми полосками, укладываемыми в те же пазы. Высота "мощного" равна высоте обычной AT-планки, той самой, что прикручивается к задней стенке, потому что в крупных моделях уже можно позволить себе PCIe-коннектор на торце платы, повёрнутый плоско (половина пинов паяется на верхний слой, половина -- на нижний, плата "между ног"; ну или просто на плате делается гребёнка PCIe, а "разъём" -- тупо муфта типа gay connector, объединяющая "папу с папой"). Верхний уголок на планке (под винт) немного будет мешать, в пазах придётся предусмотреть пропилы, отстоящие на шаг типоразмера высот. Нижний "хвостик" втыкается в торец собственной полоски от материнки, и стандартная PCIe-плата становится продолжением этой полоски разъёмов, ложась вместе с ней в стандартный паз корпуса. Поскольку монтаж на PCIe при таком раскладе снизу, то и на материнке монтаж делаем не "как у всех", а снизу. Разумеется, материнке не нужно быть прямоугольной -- никто не мешает часть с PCIe-коннектором утопить, а правую часть, отступив на разумную возможную длину PCIe, сделать шире на высоту PCIe-планки, которая стандартна. Радиаторы крепятся к материнке и используют место для разъёмов с любой стороны, так что они не создают лишней сущности в открытом стандарте. Разумно будет выводить "выхлоп", опять же, налево. Справа коннекторы, скорее всего, будут у большинства материнок внутренние: на гибко-жёсткую плату дополнительного USB-хаба, на всякие блюреи, но можно и просто USB поставить для тех, кто возьмёт корпус строго по размеру, так, что они встанут ровно в пазы, и откажется от лишних прибабахов. MiniPCI под всякие WiFi и прочее, да и жёсткий диск -- по размещению приравниваются к монтажу. Последний вроде вписывается вместе с толщиной материнки в высокий вариант монтажа, а вот под плоский придётся делать проём. Нужно ли делать клавиатуру съёмной, при том, что корпус -- неразумный кусок пластика со стандартной сеткой дырок, я не уверен. Может быть, просто стандартизировать винты под петли и сделать экран отдельной сущностью, раз размерный ряд всё равно подчиняется шагу, и подобрать экран под корпус не проблема? Тогда клавиатуру можно будет наклеить плёнками прямо на корпус, и если что -- в помойку вместе с ним. Верхняя сторона корпуса имеет вплавленные на половину толщины гайки (вторая половина выпирает, создавая фиксированной высоты запас под сквозной монтаж), материнка имеет во всех крепёжных отверстиях свои стоечки, добирающие до стандартной высоты (мало ли какой толщины PCB отгрохают), жёсткий диск ставится так, что его отверстия попадают в крепёжную сетку материнки (из этого следует, что её шаг должен плясать от установочных размеров 2.5" харда), и всё это добро сквозь дно корпуса протягивается длинными винтами насквозь, кроме харда, который в такие же отверстия пришпиливается короткими винтами, а гаечки "над его головой" вообще заклеиваются мягким скотчем. Следующий враг -- UEFI/BIOS. Этого надо корчевать, я считаю, подчистую. Сразу шить initrd и делать аппаратную блокировку записи. Initrd на то и рассчитан, чтобы найти "настоящее" ядро и модули к нему! Чего такое может UEFI, что не могут модули? Это же практически то же самое, только не через жопу. Поправьте, если я ошибаюсь. Ладно, допустим, кому-то остро нужен мастдай. Ну, пусть GRUB его и забутит. Имея защищённую "стартовую площадку", можно будет хоть спокойно вздохнуть насчёт заражения UEFI. Хотя всё равно все нормальные люди отдадут это дерьмо в виртуалку. Ну, и до кучи, раз всё наконец 64-битное до немогу, разумно будет делать не SATA SSD, а отмапленные прямо в оперативку, адресного пространства хватит. Но с хитринкой: стандартное обращение работает только как read-only, это аппаратное ограничение. А чтобы что-то поменять, нужно пользоваться специальными API специального модуля ядра, которые дают доступ к страницам, их стиранию, перезаписи, следят за износом, перемапливают по необходимости сами и так далее (нет, ну не умный контроллер же ставить для этого, чесслово! Мы же не обычный жёсткий диск эмулируем. Операционка проследит, а всё лишнее железо -- это тупо "коммутатор", куда можно загрузить схему ремаппинга областей, ну, ещё аппаратный Рид-Соломон, который вообще часть системы кэширования). Поскольку софт уже привычный к тому, что абы куда лезть и модифицировать содержимое памяти нельзя, особо адаптировать его к тому, что он сам и некоторые ресурсы закрыты для модификации, не придётся. Зато зацените прелесть -- при "загрузке приложения" просто делаем переход на entry point, а всё приложение уже там, в "оперативке"! И через толсто прокэшированный маппинг начинает работать прямо из флэшки, как в каком-нибудь там маршрутизаторе, простихоспади. И оперативку зря не жрёт -- ресурсы, которые оно грузит не само, а которые отданы на откуп API, тоже уже там, и доступ к ним есть сразу, система-то, в отличие от приложения, в курсе подмены. Скорость -- вопрос распараллеливания и кэша, ресурс флэшки -- ну какой там износ, если в основном чтение, а запись только при загрузке чего-то очень нового. Да, я в курсе, что для серваков такое делается аж в формате планок памяти, но не вижу особого смысла в этом. Надо делать свой интерфейс под "расходный материал" (планку флэшки), а контроллер с кэшем оставлять на материнке. Как с этим всем выходить на рынок? Ну как-то так примерно. 1) На голом энтузиазме довести спецификацию до конкретных миллиметров и типов разъёмов. Опубликовать и поднять шум. 2) На кикстартере собрать средства на разработку одной модели материнки, пообещав полную открытость (ну или полгодика форы спонсорам, а потом уже -- открытость). 3) Таки разработать, опубликовать всё вплоть до герберов (ну, или сначала, опять же, разослать спонсорам). Не то что бы она прямо такая простая, но не шибко и адова по сравнению с платой на каком-нибудь хилинхе. 4) На кикстартере собрать средства на производство партии, тупо предзаказ и потом рассылка всем по ноуту и каких-то неопределённых денежных остатков в разумных пределах, не обделив и себя (люди охотнее переплачивают под неопределённое обещание подарка, чем платят впритирку с риском, что всё сорвётся и вместо ноута они получат хрен на лопате). UPD: я не уверен, что это можно сделать без кастомного чипсета, но PCIe всё-таки point to point, возможно, можно сделать PCIe-разъём двойного назначения. Возможность вынуть старую материнку, снять с неё gender changer и сунуть её саму в качестве платы расширения в настольный комп, чтобы там "закластерить" -- хороший стимул чаще апгрейдить ноут. И, в отличие от заложенной поломки, он-то относится к светлой стороне Силы.
image