Байты и биты. Машинное слово. Регистры. Микроконтроллеры. Чтение, запись, стирание. Буферы. Чипы. Выведенные за основную память блоки OTP по 64 байта. STR/DTR, 1Gb memory -> 4x256Mb chips (die) -> 8x128Mb segments. Рожь, овес и вот это всё.

Можете посоветовать мне какую-нибудь книгу для тупорылых, которая в простой и наглядной форме позволит мне изучить все вышеозвученные вопросы и систематизировать уже полученные знания? А то обрывки из википедии и дата-шитов уже не стыкуются между собой, а процесс должен идти вперед. И с моими обрывочными знаниями я скорее сойду с ума, чем что-то сделаю.

Спасибопожалуйста.

GD Star Rating
loading...

59 Responses to Байты и биты.

  1. Rasilk:

    Вначале я бы задал себе вопрос «Зачем?». Если нужно решить практическую задачу — это один подход. Если просто теорией пожонглировать — другой. Перед барышней умным словом блеснуть — третий)

  2. K1nod:

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

    Для барышень у меня из другой оперы умные словечки. (:

  3. Ef7one:

    Любой учебник по Verilog/VHDL. Лучше старые подшивки журналов со всякими Радио-86РК, ЮТ-88, ZX-Spectrum и старые советские справочники по микропроцессорным комплектам интегральных схем. Совсем хорошо на первом сделать второе. Опираясь на наработки, конечно, не на пустом месте. Этих наработок чуть менее чем дофига в интернетах. Если же нет даже базовых знаний, например, не понятно что такое булева алгебра, то искать и читать методички по микроэлектронике. Но и без методичек щёлкнет в голове рано или поздно, всё встанет на свои места. Возможно, для этого придётся-таки чуть сойти с ума. И что ещё, начать делать практическую задачу не дожидаясь просветления, без практики тут никуда. Сюда спрашивай про нестыковки чтоли, а то непонятно вообще на каком участке пути ты сейчас. Хотя, по-моему, ты промахнулся постом мимо тесла-блог или хотя бы ардуинской блог.

  4. supnow:

    Я сто лет назад написал целую статью про разрядность процессоров, чтобы всех запутать 🙂 Вот: http://www.ixbt.com/cpu/cpu-bitness.shtm….

  5. K1nod:

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

    На данный момент мне нужно внедрить на плату NOR Fh максимальной емкости, совместимую с микроконтроллером от Техас Инструментс.

  6. K1nod:

    Господа, а каким образом нарисовать или где можно найти электросхему для той или иной микросхемы?

  7. Odaekb:

    Что значит «айти электросхему для той или иной микросхемы»? Я не очень понял вопрос.
    Впрочем, скорее всего ответом будет забить «названиемиросхемы datasheet» в гугл

  8. supnow:

    в 99% случаев это коммерческая тайна.

  9. Odaekb:

    Спорим на шелбан, что человек имел ввиду «как включать», а не «как оно устроено внутри»?

  10. Retode:

    может что-то вот такое на coursera. порекомендовать пока не могу, потому что пока что не открывала еще этот курс, лежит у меня только в wish-liste. или посмотреть на курсере еще другие курсы. там можно много всего очень классного найти, серьезно. для разных уровней. и простые и очень углубленные.

  11. K1nod:

    если бы вы спорили, ты бы сейчас мог отвесить смачный щелбан! Да, мне не нужно знать, как оно устроено внутри — никто мне этого и не расскажет.

    Мне нужна непосредственно электросхема устройства, чтобы нарисовать её в P-CAD, чтобы потом там же развести микросхему на плате.

    Даташит изучит вдоль и поперек. Видимо, либо я не совсем понимаю, что такое «электросхема», либо производители действительно её туда не поместили.

  12. K1nod:

    спасибо, записался! 🙂

  13. Odaekb:

    тогда вопрос про какой конкретно чип речь.

  14. Appuper:

    развести микросхему в пикаде? Это как вообще?

  15. Appuper:

    Погоди-погоди. До меня кажется начинает доходить. Ты хочешь узнать полную схему электрическую принципиальную гигабайтной (то есть содержащей как минимум миллионы элементов) микросхемы флеш-памяти, выполненной по технологии 65 нм, развести ее в P-CAD на печатной плате на дискретных компонентах, и чтобы все это заработало? Ээээ… Ну лол окей.

    Тогда как минимум надо открыть хотя бы википедию про устройство флеш-памяти, посмотреть, на каких транзисторах она строится, и подумать, где ты возьмешь дискретный полевой транзистор с плавающим затвором.

  16. Odaekb:

    Как раз нет

  17. Odaekb:

    Ну если я правильно осознал ситуацию — если ты это спрашиваешь, ты не поймешь ответа. Тут все подключение — в программировании контроллера.

  18. Appuper:

    да я уже понял, что скорее всего человек хочет просто подключить память к микроконтроллеру. Но пишет он какие-то другие вопросы:)

  19. K1nod:

    я же говорю, что у меня в голове каша 🙂 Ну и люди, которые мне дают данные задания либо руководствуются тем, что нужно сделать и всё равно как, не особо заботясь о том, как я до этого дойду, либо я совсем кретин. В общем, мне нужно сначала нарисовать электросхему, примерно вот так:

    http://enoughme.com/etc/1.png

    А потом развести сам чип на плате, примерно вот так:

    http://enoughme.com/etc/2.png

    Сделав это именно в такой формулировке, насколько я понял, в конечном счете получится интегрированная в плату память. Вот, собственно, в этом и вопрос — как?

  20. Nexero:

    Фигурнова почитай, бле

  21. Salone:

    На деньги.

  22. Appuper:

    Ах вононоче!

    Для этого нужно в любом случае разобраться, как она работает и как будет использоваться. Память работает по SPI, поэтому как минимум надо найти у своего микроконтроллера ноги, которые отвечают за SPI, их скорее всего может быть около четырех: CLK (синхроимпульс), MISO/MOSI (вход-выход данных), и SS (выбор чипа). Врубить их в соответствующие ноги памяти, тут это вроде «C», DQ0, DQ1 и S#. Видимо, придется подключить и остальные ноги памяти (кроме питания) к свободным ногам контроллера, чтобы смочь рулить ею по всякому. Ноги питания, что логично, подключить к питанию, не забывая поставить кондер в 100 нан поближе к ноге Vcc на всякий случай.

    Потом в прошивке контроллера конфигурируется SPI (здесь используется режим CPOL = CPHA = 0 или CPOL = CPHA = 1), и разрабатывается алгоритм работы с памятью в соовтетствии с ее архитектурой (ну вот там 4 чипа по 2 128МБ сегмента по сколько-то там секторов и так далее), и в соответствии с режимом ее работы (команды, статусные регистры, последовательность засылки команды, вот это все). И не забывать, что память программируется нулями, а стирается единицами.

    Ну это так навскидку. Там еще есть какие-то хитрые режимы работы, типо квадов, и прочей ебалы, вот с ними надо разбираться, как оно.

  23. Salone:

    проектирование электронных схем — книги по цифровой схемотехнике. Проектирование и разводка печатных плат — книги по Altium Designer тебе в помощь. Сам Altium designer скачаешь с рутракера. Но вообще этому люди в институте учатся несколько лет. Потому что делать хреново, но чтобы как-то работало, ты научишься достаточно быстро, а вот чтобы делать хорошо и чтобы работало долго и без ошибок — это значительно больше.

    Определись с задачей. Что надо конкретно? Проектирование устройств на микропроцессорах отличается от проектирования устройств на микроконтроллерах. Работа устройства на 10 МГц, совсем не тоже самое, что работа устройств на 1000МГц. Архитектура ARM сильно отличается от x86, и так далее.

    А вообще, иди к нам на http://naukablog.com. Там можно позадавать любые вопросы.

  24. K1nod:

    ага… это, я так понял, делается уже непосредственно в разделе PCB P-CAD’а. А каким образом рисуется электросхема в разделе Schematic?

  25. K1nod:

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

  26. Appuper:

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

  27. Appuper:

    И еще, практика говорит о том, что если ты даже «интегрируешь» ее на плату, то далеко не факт, что оно заработает как нужно. Из-за какой-нибудь мелочи или подводного камня. Поэтому по идее сначала «интергируешь», потом в любом случае пишешь прошивку, потом проверяешь, работает ли как надо, понимаешь, что не работает, исправляешь, (повторить N раз) и вот только после этого получается плата с памятью. А так, чтобы взять, впаять и сразу потом заработало… Маловероятно.

  28. K1nod:

    Altium, к сожалению, не портирован по MacOS + насколько видно из описания, он не может экспортировать в P-CAD, а все «коллеги» работают исключительно на нём.

    Насколько я смог сориентироваться, мне необходимо углубляться в изучение проектирования на микроконтроллерах. И, к сожалению, ситуация сложилась так, что приходится изучать всё «как получится» прямо на ходу, хоть я и сам жутко не люблю этого. Либо делай и делай хорошо, либо отдай это кому-то другому.

    Однако, я сейчас вроде подмастерия, так что сверху есть кому контролировать плоды моей «работы» и, при необходимости, корректировать их в соответствии с различными нюансами проектирования, чтобы как раз все работало долго и без ошибок. Кстати, с учетом специфики изделий, «долго и быстро» как раз не нужно, нужно «быстро и надежно». 🙂 Хотя, по сути, это одного поля ягоды.

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

  29. K1nod:

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

  30. K1nod:

    сама плата с контроллером, конденсаторами, дорожками и т.п. уже есть. Так что мне остается, насколько я понял, лишь поставить туда память и «развести» её. Но это касается принципиальной схемы. А как быть с электросхемой, по типу этой:

    http://enoughme.com/etc/1.png

    Как сюда его добавить?

  31. Appuper:

    «сама плата с контроллером, конденсаторами, дорожками и т.п. уже есть.» — имеется ввиду есть готовая плата, или к ней еще и есть P-CAD файлы со схемой и с платой?

    Если файлы есть, то в пикаде рисуешь элемент наподобие твоего DA2 с картинки, только с ногами как у твоей микросхемы, см. на странице 8 даташита (внизу). Втыкаешь этот элемент в файл своей существующей схемы. Ведешь ноги от него к нужным ногам контроллера, ставишь нужные элементы. Присваиваешь элементу посадочное место, которое будете ставить (то есть T-PBGA или жирный SOIC16). Далее через netlist все это переносится на файл платы, где твоя новая микросхема вписывается в плату.

    Но тут могут быть нюансы, о которых я не знаю, поскольку с P-CAD не очень дружу.

  32. K1nod:

    есть и готовая плата, и P-CAD файлы со схемой и с платой (.pcb, sch).

    Спасибо за конкретную подсказку, сейчас попробую реализовать 🙂

  33. Appuper:

    Раз уж пошла такая пьянка, я тебе поесть принес.

    Вот тут по идее должны быть драйвера под эту память. Там надо регистрироваться, так что качать пробуй сам.

    А вот здесь описание того, что должно быть там выше по ссылке.

    Ну и вообще пошерсти микрон.ком на наличие слов drivers, n25q, и т.п. Может меньше работы останется.

  34. Salone:

    экспортировать может. Но надо работать на тех системах, которые используются в вашей конторе. Если pcad, то пусть будет он. Книжки по нему тоже есть.

    На каких семействах микроконтроллерах работает ваша контора? Pic, atmega, stm?

    На рутракере ищешь книжки по семейству и начинаешь их изучать. Англоязычные лучше, русские — проще.

    И вперед.

  35. Appuper:

    небось какой-нибудь MSP430, судя по упоминанию TI.

  36. Salone:

    ни слова не скажу за TI, но тоже микроконтроллеров делают вагон с тележкой.

    Кстати, настоятельно порекомендую http://easyelectronics.ru
    живенько, по-человечески и как-то доходчиво. Опять же можно поспрашивать. Можно всякие любительские конструкции замутить.

    Серийная электроника делается по другим принципам.

  37. K1nod:

    благодарю! Оттуда, собственно, качал даташит, ну и захватил все попутное — драйвера, мануалы etc.

  38. K1nod:

    я пока что нашел в «обороте» микроконтроллеры ARM и AVR. Видимо, привязки к какому-либо определенному семейству нет. Используют то, что подходит по ситуации.

    🙁

  39. K1nod:

    спасибо, пойдет в копилку.

  40. Salone:

    У меня группа разработчиков делают всё на PIC. Один умеет колбасить Altera ПЛИС и даже читает курс по ним в университете. Двое из них собираются начать делать проект на ARM (в розливе STM32), но идут к этому долго.

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

    и еще — нюансы, нюансы, нюансы. Не описанные в даташитах, понятные только из опыта, гугления по интернетам, общения из собратиями «по несчастью». Производители делают всё, чтобы микросхема с ножками работала в точности так, как это нарисовано в даташитах. Увы, это часто бывает не так. Прямоугольная хуйня с тучей ножек может оказаться таким же глюкалом, как и программа начинающего программиста. Арт в том, чтобы обойти аппаратные глюки и заставить устройство выполнять свою задачу как положено.

    Я не пугаю, но пока для тебя всё выглядит ровно — всё равно с чего начинать. Рано или поздно ты поймёшь, куда тебя влечёт темная сторона — дизайн устройств, разводка плат (тру арт! и эстетика), программирование всей этой хуйни, чтобы взлетела — это всё разные задачи, с разной мотивацией, но я могу сказать, что это обосраться как здорово.

  41. Appuper:

    а деньги то платят? У меня знакомый инженер, золотая голова, ушел какую-то веб-хуйню программировать. Говорит, не можно сейчас инженеру-радиотехнику за специальность много получать(

  42. Appuper:

    да, Дихалт молодец. Странно, что его в блоге нет. Есть вернее, но не тот.

  43. K1nod:

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

    Но делать всё равно надо, надеюсь, через это «надо» у меня получится прорваться к кайфу. 🙂

  44. Salone:

    сколько денег платит рынок за устройство, столько денег возвращается разработчику. У меня экономика несколько другая, чуть тепличная, но в это мы упираемся каждый раз. «Делать нужно то, что нужно людям». Всё остальное — неликвид.

  45. K1nod:

    А где можно почитать краткий мануал про составление принципиальной электросхемы? Т.е., насколько я понял, схему подвода питания к чипу, типа такого:

    http://enoughme.com/etc/lkjnv4893d.png

  46. Salone:

    насколько я помню крен1170ен3 — это 3-вольтовый стабилизатор. аналог 78L03. смотреть appnotes и datasheet

    Если лень, то идём сюда

    http://easyelectronics.ru/istochniki-pit

    и ищем схему с линейным стабилизатором. Она твоя один в один, но в ней стоит 5-вольтовый стабилизатор.
    принцип работы читаем в конце. Всё разжёвано очень доходчиво.

    На твоей схеме включен микропроцессор atmega по atmel есть неплохая книга http://rutracker.org/forum/viewtopic.php
    тремя ногами он включает светодиодики, остальными двумя управляет нагрузкой с оптической развязкой.
    Этим занимается его микропрограмма.

  47. Appuper:

    Пациент, а что вы видите на этой картинке?

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

    И это, у памяти энтой питание тоже тоже 3 вольта, так что схема прям таки его. Разве что посмотреть, какое входное напряжение будет подаваться на стабилизатор, и сколько тока память будет потреблять. Чтобы стабилизатор не дай бог не грелся сильно. Если память вдруг прожолива, а разница между входным и тремями вольтами сильно большая, я бы всесто кренки какой-нибудь LM2575 вкорячил.

  48. K1nod:

    я картинку лишь в пример привел, а запихать мне нужно все ту же память от Micron.

  49. Appuper:

    Ну тогда так: тебе нужно вкорячить память, которая питается от 2,7 до 3.6 вольта. Первым делом, надо определиться с требованиям. Кроме требований того самого конденсатора на стр. 71 даташита, я сходу не нашел. Стало быть, нужно просто некий стабилизированный источник с таким напряжением.

    Раз уж у тебя схема уже вроде существует, можно поглядеть, а нет ли уже питания на 3.3 вольта или около того в твоей схеме? Если там много всяких микросхем, то сильновероятно, что есть, тогда туда и можно подключиться. Память жрет мало (20 мА, я посмотрел), так что не нагрузит.

    Если нет, то надо определить, а какое питание на плате вообще есть? Их может быть разных несколько. Ну там 5 В, или 12В, или вообще сколько есть. Я бы взял минимальное, и поставил стабилизатер какой-нибудь до нужных 3,3.

    Можно например зайти на терраэлектронику, зарегистрироваться, в каталоге выбрать «линейные стабилизаторы», поставить фильтр по 3.3 В выходу, и увидеть дохуа страниц. Там уже смотришь, что тебе подходит по входу, выходу, доставабельности (если ты не там будешь брать а где-то еще), цене, параметрам, и геморойности подключения. Схемы как правило есть в даташите, и они просты.

    Только это, ты мои советы воспринимай, как от «наколеночника». Я сильно масштабными и серийными устройствами не занимаюсь, и их нюансы могу не знать. Это так, для разгона.

  50. K1nod:

    спасибо за пищу для размышлений, это мне сильно помогло! 🙂

  51. Salone:

    Да, точно там реле. Я их с логическими элементами перепутал. Спать надо ночью, а не всякой фигней заниматься.

  52. 1tfin:

    интересная наука

    Читай. Несмотря на дебильный подзаголовок наших переводчиков, это именно что ликбез по информатике.

  53. Ranein:

    Я делал это так:

    интересная наука

    интересная наука

  54. Rotall:

    Ульрих Дреппер «What every programmer should know about memory».

  55. Appuper:

    на мой вкус, очень хреновая книга.

  56. Appuper:

    ой, я про вторую.

  57. Ranein:

    вариации?

  58. Ssaata:

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

Добавить комментарий