Форум программистов, компьютерный форум, киберфорум
Электроника для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/258: Рейтинг темы: голосов - 258, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619

Платы расширения.

09.03.2011, 19:34. Показов 47190. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
модульность наподобие материнских плат расширения.
то есть:
есть какая-то одна большая плата которая обеспечивает питание каждого дополнительного модуля-платы.
на плате через одинаковое расстояние есть гнёзда/разъём которые позволяют подключить какую нибудь ещё плату перпендикулярно.
разъём имеет контакты шины питания, земли и проводников прочих протоколов (буквально ли всех протоколов мне сделать? какие посоветуете? или мне сделать ну до фига контактов в разъёме про запас??).

что посоветуете в качестве разъёмов? и как механически крепить платы? так чтобы механически закрепить

даже если разные модули поменять местами они должны работать так как будто и ничего и не было.

модули будут иметь всё необходимое для работы у себя на плате. питание и передачу данных м/у модулями будет осуществлять базовая плата.

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

идея не нова но хочется сделать эдакий свой PCI )))

то есть захотел ещё ШИМ контроллеров в своём устройстве - не протрассировал/протравил/спаял всё заново и тоже самое для только лишь платы с ШИМами на борту. и после - изменил прошивку основного МК. подключил и радуйся.

прошу Ваших советов.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2011, 19:34
Ответы с готовыми решениями:

Схема платы расширения для чтения n- m-разрядных регистров
Вообще не представляю от чего отталкиваться, вроде и не сложно должно быть... Буду благодарен за любую помощь.

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

В поисках платы расширения
Здраствуйте! Гуглить - не предлагать, пишу сюда потому, что гугл не помог. Интересует такой вопрос: Есть ли такие платы...

55
0 / 0 / 0
Регистрация: 10.08.2010
Сообщений: 1,264
09.03.2011, 21:04
Зачем это надо?
Если просто так, то купи лучше отладочную плату.
0
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
09.03.2011, 21:45
Я точно так же и делаю. Только никаких шин данных придумывать не надо.
Для каждого МК у меня есть платка с минимальной обвязкой и со всеми разведенными ножками на PLS пины.
Плюс две линейки таких же PLS на питание.
Каждая микросхемка - точно так же, минимальный обвяз и все ножки разведены на PLS.

А так же, куча обжатых с двух сторон соединительных проводков.

Теперь, если мне нужно собрать какое-нибудь устройство, я просто присоединяю нужные модули к платке контроллера проводками.
И все, устройство готово. У меня куча уже разных модулей и платок с МК скопилось, так что практически все что угодно можно собрать совсем без пайки:)

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

Гибкость у такого подхода намного выше чем у отладочных плат:)

Вот тут в моем посте небольшой пример, дисплей подключен к платке с МК:
<a ctoss="postlink-local" href="http://forum.iosyitistromyss.ru/viewtopys.php?f=5&t=2376">viewtopys.php? f=5&t=2376[/URL]

Ну только PIC10F200 это уж совсем маленький контроллер, много не подключишь:) Обычно я из своего "конструктора" собираю устройства с 3-5 модулями(клавиши, дисплей, USB переходник для отладки, сенсоры и т.п.).
0
SWK
09.03.2011, 21:58
Цитата Сообщение от Orsomum
модульность наподобие материнских плат расширения.
есть какая-то одна большая плата которая обеспечивает питание каждого дополнительного модуля-платы.
на плате через одинаковое расстояние есть гнёзда/разъём которые позволяют подключить какую нибудь ещё плату перпендикулярно.
""Все украдено до нас"... Лет 8 назад попалось мне в Интернете. Что понравилось - использовались разьемы от памяти старых компов (30 и 72 пин модулей SIMM). Что удобно - платы ставятся под углом и при повороте в перпендикурярное положение защелкиваются, обеспечивая очень надежный контакт. Одноименные контакты всех разьемов просто обьединяются. Таким образом, разработав универсальную шинку, можно обьединять сколько угодно разных модулей, без кабелей и пайки.
Я даже было подумывал сам сделать такую штуку. Но сложных конструкций в то время не намечалось, так что так и забросил эту идею. Хотя, например, в том же роботе вполне можно было использовать.
Можете глянуть тут:
http://www.dontronics.som/ssinfo.html
http://www.dontronics-shop.som/symmstys ... rs-on.html
http://www.dontronics-shop.som/symmstys ... lated.html


http://www.dontronics.som/graphics/dt001c.gif

http://www.dontronics-shop.som/files/d_159.jpg

Также модульную конструкцию имеет проект "Проект RoboCom32":
http://ironfetyx.ru/modules.php?name=Pa ... pag&cid=27

http://ironfetyx.ru/images/foto2/RoboComm32/RC32_v11.jpg

http://ironfetyx.ru/images/foto2/RoboComm32/Robosom32v11.jpg

http://ironfetyx.ru/images/foto2/RoboComm32/mm_1.jpg
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
09.03.2011, 22:13
ухтыыыы!
мне это всё собрать проблемы не составит

просто что туда стоит учитывать при проектировании, для пущей универсальности?

и что должно быть на базовой плате и что должно быть на платках расширения? у меня каша в голове вертится да вытащить что-то логическое не могу
0
SWK
09.03.2011, 22:48
Цитата Сообщение от Orsomum
просто что туда стоит учитывать при проектировании, для пущей универсальности?
Все учесть сразу сложно. Могу дать только некоторые рекомендации.
Например:
1. Не занимать без нужды под ерунду выводы портов, имеющие уникальные свойства, даже если пока они не нужны. Переделать будет сложнее. Например: внешние прерывания, USORT, SPI, I2C, выходы ШИМ, входы таймеров.
2. Сразу закладывать контроллер с запасом, чтобы потом не было недостатка в портах и памяти. Или предусмотреть простое наращивание. Например: делаем под дешевую Мегу 16 (у нас они по 2 бакса). В дальнейшем вместо нее без переделок можно поставить Мегу 32, с вдвое большей памятью. Кроме того, у них удобное расположение портов.
3. Стараться по возможности оставлять незанятым целый байтовый порт, желательно, без разных интерфейсов. Иногда бывает нужен.
4. Желательно, чтобы вместе с портами были выведены сразу земля и питание, чтобы не тянуть лишних проводов, а использовать один шлейф.

и что должно быть на базовой плате и что должно быть на платках расширения? у меня каша в голове вертится да вытащить что-то логическое не могу
На базовой плате желательно иметь:
1. Сам контроллер.
2. Минимум обвязки (стабилизатор питания, кварц, емкости по питанию, кнопка сброса).
3. Желательно иметь разьем для программирования, а еще лучше - бутлоадер, и порт RC232 для подключения к компу для заливки программы, отладки, и просто общения. В крайнем случае можно USB. Но по RS232 можно было бы общаться и с другими контроллерами. По USB без хоста - нельзя...
4. Иногда полезно иметь часы реального времени. Например, DS1307. Здорово разгружает программу от слежения за временем при больших интервалах.

Остальное можно и по модулям разместить. Например, модуль датчиков, модуль управления двигателями, модуль символьного или графического дисплея и клавиатуры, модуль связи, и так далее.
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
09.03.2011, 23:39
1. Не занимать без нужды под ерунду выводы портов, имеющие уникальные свойства, даже если пока они не нужны. Переделать будет сложнее. Например: внешние прерывания, USORT, SPI, I2C, выходы ШИМ, входы таймеров.
то есть общие шлейфы от платы к плате UART, I2C, Битовых портов, Питания, общего провода(земля) или я неправильно понял?

На базовой плате желательно иметь:
а может базовую плату оставить кпросто как плату с разъёмами а основной мк повесить как плату расширения? тогда можно будет хоть стопицот мк на лптах со своей минимальной обвязкой на одну базовую плату будет повесить
или не стоит?

3. Желательно иметь разьем для программирования, а еще лучше - бутлоадер, и порт RC232 для подключения к компу для заливки программы, отладки, и просто общения. В крайнем случае можно USB. Но по RS232 можно было бы общаться и с другими контроллерами. По USB без хоста - нельзя...
стоит ли делать средства для прошивки на самой плате расширения?
0
 Аватар для stt
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 9
10.03.2011, 00:12
Цитата Сообщение от SWK
"Все украдено до нас"...
Абсолютно справедливо. И неоднократно. Посмотрите у Серасидиса.
Только я бы, пожалуй, добавил краевые разъемы, но это так, брюзжание на тему....
0
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 1,890
11.03.2011, 18:48
Точно, всё придумано до нас.
Другой вопрос - где это будет использоваться?
Если в моделировании схем, т.е. постоянно перетыкаться - то лучше несколько разьемов на материнской плате, в который втыкаются платы несущие необходимую функцию. Типичный пример - материнские платы компьютеров в которые втыкаются дочерние платы расширения.
Если в реальных проектах, где надо собирать готовые устройства из плат - тогда нужны сквозные разьемы и собирать этажерки из плат. Посмотреть можно на классическое решение такого типа - платы стандарта PC/104, там все платы одинакового размера и через сквозные разьемы идёт шина ISA. Примеры можно глянуть здесь http://imbiddid.prosoft.ru/products/types/3998/
0
 Аватар для svk
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 7
11.03.2011, 19:36
А мне больше нравится концепция TAP-28 от Дж. Чандлера (http://digital-diy.som/PIC-Microsontrol ... sophy.html). Небольшая дешевая плата, на ней МК с обвязкой, два ряда контактов для этажерочного модуля и несколько разъемов для стандартных интерфейсов - Serial, I2C, SPI, ШИМ и т.п. У меня есть похожая вещь на макетной платке от freeduino.ru.
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
30.04.2011, 20:00
какой интерфейс лучше всего использовать для общения м/у МК если их много, они разные и надо чтобы они висели на паралельной шине данных? и была экономия этих шин данных?
кто может предложить удобные разъёмы? я склоняюсь к PLS-40R и PBS-16.
6 из них пойдёт на питание(2 линии на N вольт и 4 шина земли) на интерфейс остаётся 10 на шины интерфейсов. МК будет до 12 штук.
или удвоить до 32 (две || PBS-16 и PLD-80R) тогда 20 линий на шины интерфейсов

я сейчас собираю часы и мне нужно чтобы часы реального времени(а они могут общатся только по I2C) общались с ATTiny2313 + туда ещё МНОГО чего до вешаю.
0
SWK
30.04.2011, 21:25
Цитата Сообщение от Orsomum
какой интерфейс лучше всего использовать для общения м/у МК если их много, они разные и надо чтобы они висели на паралельной шине данных? и была экономия этих шин данных? .
Тут многое будет зависить от полного списка требований. Требуемая скорость, передаваемые обьемы, порядок взаимодействия и арбитраж, допустимая сложность реализации, максимальная дальность связей, требуемая надежность, обнаружение и исправление ошибок...
Чем универсальнее и выше требования, тем сложнее. Где - то и SPI или RS235 (RC485) устроят, где - то - I2C, а где-то - потребуется TCP/IP со стеком протоколов...

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

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

Для обьединения нескольких устройств также хорош I2C. Тоже всего 2 линии, есть адресация. Но по сравнению, например, с RS485, дальность связи намного меньше. Фактически только в пределах корпуса устройства. Кроме того, программная часть достаточно сложна, особенно для ведомого. И также не во всех мелких контроллерах есть I2C. При использовании мультимастера необходим достаточно сложный арбитраж.

Для небольшого количества устройств можно использовать и SPI. Но тоже есть свои нюансы, особенно когда число устройств больше 2. Надо вводить, в дополнение к 3 сигнальным, (общим для всех), еще и по линии выбора (SS) для каждого устройства, соответственно управлять ими, задавая направление обмена. Длина связей также невелика. Программная реализация гораздо проще, чем I2C.

Когда - то для связи блоков ЭВМ между собой и с периферией широко использовали последовательный интерфейс "токовая петля". Можно было обьединить несколько устройств всего 2 проводами. При этом использовались стандартные USORT. На небольших расстояниях можно использовать его упрощенную разновидность, обьединяя на одной линии приемники и передатчики устройств по типу "Проводное И" с использованием схем с ОК или диодную развязку.

Другие способы гораздо сложнее и требуют соответствующей аппаратной поддержки. Например, системные шины, применявшиеся в МикроЭВМ. Обычно содержали шины адреса, данных, (иногда мультиплексированные), а также управляющие сигналы: чтения и записи в ОЗУ и устройства Ввода- вывода, сигналы ожидания готовности, запроса прерываний, сброса, синхронизации, и некоторые другие. Например, были популярны системные шины MULTIBUS, а также "Общая шина" компьютеров фирмы DEC. Они содержали до полусотни и более линий. Разьемы на них для большинства сигнальных линий были запараллелены. Для микроконтроллеров слишком сложны...

Еще можно сделать какой - нибудь самопальный интерфейс. Но он не будет универсальным, скорее привязанным к конкретной разработке...
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
30.04.2011, 21:32
Про CAN забыли...
0
SWK
30.04.2011, 21:39
Цитата Сообщение от Гарнист
Про CAN забыли...
Да я и не собирался их все перечислять. Кроме того, CAN тоже требует микросхем поддержки... Ксати, в некоторых последних PIC, начиная не то с PIC18, не то PIC24, он уже аппараьно реализован. Но я с ним не работал, ничего пока сказать не могу...
Из приборных, еще Камак был, да все и не упомнишь... У меня где-то даже отдельная книга по интерфейсам Микро и Мини ЭВМ валяется. Со справочными данными микросхем для них, стандартами, и все такое...
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
30.04.2011, 23:06
мдаа....
мне в пределах устройства только м/у МК - то есть I2C. а в тиньке 2313 нету. отпадает - буду много сопроцессоров делать/либо куплю y2s-uart микруху и сделаю через неё каждый сопроцессор плат расширения.
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
30.04.2011, 23:07
а насчёт арбитража - будет главный МК он и будет мастером. вторичные повешу на прерывания
0
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
01.05.2011, 00:04
Кроме того, программная часть достаточно сложна, особенно для ведомого.
да нет там ничего сложного, по крайней мере на Miko AVR на Tiny может быть геморно, однако и там на отлов старт/стопа есть прерывание, а значит грузить контроллер сильно не будет.

Вот чисто программно реализовать y2s slave это сложно, да. В первую очередь по быстродействию
0
SWK
01.05.2011, 00:06
Цитата Сообщение от Orsomum
а насчёт арбитража - будет главный МК он и будет мастером. вторичные повешу на прерывания
Тогда проще всего, если UART есть на всех, то задействовать их. Приемники посадить на одну линию и подтянуть к питанию резистором, передатчики подключить к этой же линии через диоды. Для адресации задействовать режим с 9-м битом.
Все ждут, когда мастер передаст байт адреса. Проверяют его, если чужой - все остальное до следующего адресного байта игнорируется. Свой адрес, - приняли, что передал мастер, распознали пришедшую команду, если надо - передали в ответ нужные данные. И свободны до следующего адресного байта... Ненужная загрузка - минимальная, все предельно просто, и всего 1 сигнальная линия.
Если же надо, чтобы ведомые сами могли что-то срочно сообщить мастеру - тут немного сложнее, но не очень. Один из вариантов - при отсутствии передачи на линии, ведомый посылает байт со своим номером. Мастер в ответ посылает ему команду, разрешающую передачу, и он передает свои данные полностью.
Возможен при такой организации и вариант, когда любой может быть мастером, и адресоваться также к любому модулю. Но тут уже надо контролировать свою передачу приемником, и при несовпадении принятого с переданным переходить в режим арбитража. В общем - то тоже не так уж и сложно...
SWK
01.05.2011, 00:16
Цитата Сообщение от DY HOTT
да нет там ничего сложного, по крайней мере на Miko AVR на Tiny может быть геморно, однако и там на отлов старт/стопа есть прерывание, а значит грузить контроллер сильно не будет.
Кроме старта и стопа, есть еще повторный старт, давать или не давать бит подтверждения, проверять готовность, различать первый или второй байт адреса, передавать или принимать данные, - да много там всякой ерунды, которую приходится обрабатывать программно... В целом получается автомат с большой кучей возможных состояний. Несмотря на встроенную аппаратную поддержку...
А если еще и режим мультимастера использовать, так вообще надо за каждым битом следить, не вмешался ли кто... Реализуемо, но как-то все заморочено. По крайней мере, по сравнению с тем же USORTом или SPI.
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
01.05.2011, 07:54
Цитата Сообщение от SWK
а насчёт арбитража - будет главный МК он и будет мастером. вторичные повешу на прерывания
Тогда проще всего, если UART есть на всех, то задействовать их. Приемники посадить на одну линию и подтянуть к питанию резистором, передатчики подключить к этой же линии через диоды. Для адресации задействовать режим с 9-м битом.
Все ждут, когда мастер передаст байт адреса. Проверяют его, если чужой - все остальное до следующего адресного байта игнорируется. Свой адрес, - приняли, что передал мастер, распознали пришедшую команду, если надо - передали в ответ нужные данные. И свободны до следующего адресного байта... Ненужная загрузка - минимальная, все предельно просто, и всего 1 сигнальная линия.
Если же надо, чтобы ведомые сами могли что-то срочно сообщить мастеру - тут немного сложнее, но не очень. Один из вариантов - при отсутствии передачи на линии, ведомый посылает байт со своим номером. Мастер в ответ посылает ему команду, разрешающую передачу, и он передает свои данные полностью.
Возможен при такой организации и вариант, когда любой может быть мастером, и адресоваться также к любому модулю. Но тут уже надо контролировать свою передачу приемником, и при несовпадении принятого с переданным переходить в режим арбитража. В общем - то тоже не так уж и сложно...
а если использовать ещё и третью сигнальную линию? взять какой нить бит с какого нибудь порта и выделить его чисто для занято/нет? и повесить на прерывание?
Uart он везде есть тем более. но на всякий случай ещё и шину I2C проложу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2011, 07:54
Помогаю со студенческими работами здесь

Платы расширения для подбора паролей
Подскажите, существуют-ли какие-либо платы расширения (допустим просто на PCI-E) для подбора паролей (AES, RSA...) или может отдельные ASIC...

Продаю (или обменяю) платы расширения Panasonic KX-TDA6178XJ , новые, СПб, 11 тыс.руб
Плата 24 внутренних (аналоговых) линий с поддержкой CID Panasonic KX-TDA6178 Плата KX-TDA6178 предназначена для работы в составе...

Можно ли удалять после установки расширения папку установщика расширения
Надо было установить расширение, сделал папку на хостинге(tmp) и скопировал файлзилой туда распакованные файлы расширения(20 мин....

У меня исчезли расширения EXE файлов в Windows XP. Сервис->Свойства папки->Вид->Скрывать расширения отключено
Может у кого-то было такое?

Как добавить расширения к файлу без расширения?
Помогите не знаю куда писать. Делаю конвертер изображения на Visual Studio vb . Суть в чем - есть файл без расширения с изображением (когда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru