Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Замутил на досуге мультипорт
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
prottoss
Есть задумка создать мультипортовую платку. Максимум интерфейсов на борту. Собственно хотелось бы узнать хорошие и плохие мнения по схеме:-)
bodja74
Классно как для освоения шин и протоколов ,нужно я думаю еще вцепить портик для символьного ЖКИ и пару кнопочек с лямпочками,чтобы увидеть хоть какие нибудь "шевеления" на плате.

ЗЫ Я щасс КАН и ЧипКон грызу,жаль не втему smile.gif
prottoss
Цитата(bodja74 @ Mar 15 2007, 00:17) *
Классно как для освоения шин и протоколов ,нужно я думаю еще вцепить портик для символьного ЖКИ и пару кнопочек с лямпочками,чтобы увидеть хоть какие нибудь "шевеления" на плате.
ЗЫ Я щасс КАН и ЧипКон грызу,жаль не втему smile.gif
Для этого (и ЖКИ тоже) системная шина и линии выборки выведены на разъем. А для лампочек хочу еще один регистр ввести и на системную шину повесить. И, может быть, на этот же регистр дешифратор прицепить для выборки SPI... Да, забыл - еще предполагается на мелкой тиньке контроллер 1-варе замутить - тож на SPI сидеть будет
bodja74
Я както поцепил 485,232,USART и 1-wire на один вход USART контроллера ,через комутатор 4052,
я думаю так лучше ,чем еще тиньку добавлять.
prottoss
Цитата(bodja74 @ Mar 15 2007, 01:10) *
Я както поцепил 485,232,USART и 1-wire на один вход USART контроллера ,через комутатор 4052,
я думаю так лучше ,чем еще тиньку добавлять.
Да тинька то нужна для того, чтоб мегу разгрузить
GDaniloff
ноутбук чтоль варганим??
=GM=
Цитата(prottoss @ Mar 14 2007, 17:23) *
Для этого (и ЖКИ тоже) системная шина и линии выборки выведены на разъем. А для лампочек хочу еще один регистр ввести и на системную шину повесить. И, может быть, на этот же регистр дешифратор прицепить для выборки SPI... Да, забыл - еще предполагается на мелкой тиньке контроллер 1-варе замутить - тож на SPI сидеть будет

Задумка просто замечательная, респект. Выскажу несколько мелких мыслей.

1) Памяти может оказаться маловато, скажем, для сетевых дел или звуковых. Стоило бы предусмотреть либо одно посадочное место для 32/64 КБ памяти, либо два места для 32 КБ.

2) Жалко отдавать половину адресного пространства под внешние устройства. Поставьте лучше схемку 8-И, входы на старшие адреса А15-А8, а выход - на вход Е2 мксх DD4. Адресное пространство сожмётся до 256 байт, его не жалко. Если будете ставить вторую мксх памяти 32 КБ, то инверсный выход 8-И пригодится для формирования CE, тогда все 32 КБ будут доступны, кроме старших 256 байт, отведенных под внешние устройства. Ну и вместо А14-А12 на дешифратор надо будет подать А2-А0. Ну вы лучше меня знаете, как это делается.

3) Поскольку плата отладочная, ставьте побольше контрольных точек (test points), чтобы можно было прицепиться или припаяться, скажем, на входы АЦП, питание, общий.

4) CAN тоже было бы неплохо поставить, весьма популярен становится...Ну и тогда уж FlexRay, шучу(:-).
defunct
А JTAG порт где?

PS: то же самое только быстрее и дешевле можно сделать на AT91SAM7X256/512 + RTL8201.
=GM=
Цитата(defunct @ Mar 14 2007, 23:19) *
А JTAG порт где?

Вроде через разъём ХС5 можно подключиться к джейтагу.
kanzler
Идея замечательная. Сам сейчас занимаюсь похожим, только на ARMе. Есть 232,USB,SPI,I2C,LCD, правда Ethernet делаю на ENC28J60. Респект
Igor26
Цитата
А для лампочек хочу еще один регистр ввести и на системную шину повесить. И, может быть, на этот же регистр дешифратор прицепить для выборки SPI...

Ну тогда вместо мелкой логики ПЛИС сам напрашивается. EPM7064SLC100 вполне хватит. И с трассировкой платы проще будет.

А почему бы вместо предложенной м/с ОЗУ не поставить параллельную FRAM? Тогда и от DataFlash можно избавиться. Я так понял, Вы её установили из соображений её энергонезависимости.
GDI
Может вместо отдельного USB поставить at90usb1286/1287? Корпусов меньше, да и по цене, дешевле выйдет. Можно еще rs485 добавить ADM2483/2486 - опто-развязанный при разводке прекрасно встает поверх ADM485 - не развязанного. Ну и еще DC-DC P61U-0505 или похожий надо для ADM2483/86.
prottoss
Цитата(=GM= @ Mar 15 2007, 05:22) *
1) Памяти может оказаться маловато, скажем, для сетевых дел или звуковых. Стоило бы предусмотреть либо одно посадочное место для 32/64 КБ памяти, либо два места для 32 КБ.
Во всех анализируемых мною забугорных платах (Ethernut, Arthernet, PicoWeb etc) используется 32к. Так как я в этом деле начинающий, то приходится доверять тому, что вижу. Тем паче это все даже продается. Так что, пока, остановлюсь на 32к. Дальнейшее увеличение мелкой логики уже точно попахивает ПЛИС, чего пока не хотелось делать, так как для ПЛИС я еще не совсем вооружен технически :-). Хотя, скорее всего, мелкосхем все же еще придется добавить...

Цитата(=GM= @ Mar 15 2007, 05:22) *
2) Жалко отдавать половину адресного пространства под внешние устройства.
Почти ответил выше, еще добавлю, что один свободный вывод разрешения дешифратора выведу на SYSTEM_BUS а адресные входы переведу с ADDR12-14 на ADDR5-7. Таким макаром уменьшу дешифрацию до 256 байт и позволю юзеру лепить дешифраторы адреса любой конфигурации, какие ему вздумается через разъем SYSTEM_BUS.

Цитата(=GM= @ Mar 15 2007, 05:22) *
3) Поскольку плата отладочная, ставьте побольше контрольных точек (test points), чтобы можно было прицепиться или припаяться, скажем, на входы АЦП, питание, общий.
По моему и так все выводы Меги на разъемах... Единственное, хочу спросить, стоит ли, как мне советуют, ставить между контактом коннекторов и выводом меги резистор 100-200 ом и подтягивать все выводы, выведенные на разъемы, к VCC (GND???) резисторами 4,7-10кОм

Цитата(=GM= @ Mar 15 2007, 05:22) *
4) CAN тоже было бы неплохо поставить, весьма популярен становится...Ну и тогда уж FlexRay, шучу(:-).
Пока для меня темный лес



Цитата(defunct @ Mar 15 2007, 06:19) *
А JTAG порт где?
PS: то же самое только быстрее и дешевле можно сделать на AT91SAM7X256/512 + RTL8201.


Отдельный разъем JTAGа не стал вводить, так как есть XC5, на который выведен весь порт F меги. К тому же, ИМХО, этот разъем будет плохо влиять на работу совместных с ним каналов ADC...

По поводу ARM. Я с этими МК еще не работал к сожалению, хотя прикидывал стоимость и т.п. Определил для себя следующую стратегию:
1. Осваиваю езернет на меге.
2. Делаю нормальное приложение
3. Осваиваю ARM
4. Портирую, то что создал, на ARM
ИМХО, для меня будет проще и быстрее чем одновременно исследовать два леса



Цитата(Igor26 @ Mar 15 2007, 13:15) *
Ну тогда вместо мелкой логики ПЛИС сам напрашивается. EPM7064SLC100 вполне хватит. И с трассировкой платы проще будет.

А почему бы вместо предложенной м/с ОЗУ не поставить параллельную FRAM? Тогда и от DataFlash можно избавиться. Я так понял, Вы её установили из соображений её энергонезависимости.


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

По поводу DataFlash - ее у мя в плате стоит 1 МБайт - установлена, по задумке, для хранения веб-страниц и еще каких нить больших констант. А у FRAM быстродействие соизмеримо со статической памятью? Какие объемы памяти? Какая цена? AT45DB081B-RU я приобретаю в Аргуссофт за 1.4 $

Цитата(GDI @ Mar 15 2007, 15:03) *
Может вместо отдельного USB поставить at90usb1286/1287? Корпусов меньше, да и по цене, дешевле выйдет. Можно еще rs485 добавить ADM2483/2486 - опто-развязанный при разводке прекрасно встает поверх ADM485 - не развязанного. Ну и еще DC-DC P61U-0505 или похожий надо для ADM2483/86.
USB я поставил докучи, тем паче - это функция а не хост, и я не уверен, будет ли от USB проку в моем девайсе:-) Ну и, в добавок, я проектирую устройство из того, что доступно, не дорого и не далеко от меня

По поводу RS485 - думал про Sipex SP331. Этого зверя можно в разных комбинациях переключать в RS232/RS485. Мож поставлю попозжа, мне пока USART нужОн больше для отладки
=GM=
Цитата(prottoss @ Mar 15 2007, 15:15) *
Добавлю, что один свободный вывод разрешения дешифратора выведу на SYSTEM_BUS а адресные входы переведу с ADDR12-14 на ADDR5-7. Таким макаром уменьшу дешифрацию до 256 байт и позволю юзеру лепить дешифраторы адреса любой конфигурации, какие ему вздумается через разъем SYSTEM_BUS

По-моему, ваше предложение хуже, чем было, поскольку дешифратор у вас неполный и все внешние адреса будут перемешаны. Сейчас у вас каждые верхние 4К заполнены одним адресом. А вы предлагаете их все перемешать с дискретом 256 байт.
Цитата(prottoss @ Mar 15 2007, 15:15) *
CAN пока для меня темный лес

Ну не страшнее USB чипа. Обратите внимание на MCP2515, отдельный контроллер. Надо развести, чтобы было место на плате, а паять не обязательно...
Цитата(prottoss @ Mar 15 2007, 15:15) *
По поводу ARM. Я с этими МК еще не работал к сожалению, хотя прикидывал стоимость и т.п. Определил для себя следующую стратегию:
1. Осваиваю езернет на меге.
2. Делаю нормальное приложение
3. Осваиваю ARM
4. Портирую, то что создал, на ARM
ИМХО, для меня будет проще и быстрее чем одновременно исследовать два леса

Ну если семь вёрст по лесу не крюк, то проще, но вряд ли быстрее.

Удачи!
prottoss
Цитата(=GM= @ Mar 15 2007, 23:13) *
По-моему, ваше предложение хуже, чем было, поскольку дешифратор у вас неполный и все внешние адреса будут перемешаны. Сейчас у вас каждые верхние 4К заполнены одним адресом. А вы предлагаете их все перемешать с дискретом 256 байт.
А мне кажется, наоборот лучше. Внешнему устройству можно легко вклинится в адресное пространство платы выше 0х8000 в любом месте с дискретностью 256 байт. В добавок, при этом, даже не надо править адреса модулей, работающих через дешифратор

Кстати, адреса будут не перемешаны. Они будут последовательно повторятся в каждом блоке объемом 256 байт, начиная с 0х8000. Каждому из 8-и устройств будет отведено по 32 адреса. Любой блок может быть отключен внешней схемой дешифрации. При этом адресация внутренних блоков, как я говорил выше, не нарушится
=GM=
Цитата(prottoss @ Mar 15 2007, 17:24) *
А мне кажется, наоборот лучше. Внешнему устройству можно легко вклинится в адресное пространство платы выше 0х8000 в любом месте с дискретностью 256 байт. Вдобавок, при этом, даже не надо править адреса модулей, работающих через дешифратор

Кстати, адреса будут не перемешаны. Они будут последовательно повторятся в каждом блоке объемом 256 байт, начиная с 0х8000. Каждому из 8-и устройств будет отведено по 32 адреса. Любой блок может быть отключен внешней схемой дешифрации. При этом адресация внутренних блоков, как я говорил выше, не нарушится

Раньше у вас было так: адреса 0х8000-0х8FFF соответствовали CS0, 0х9000-0х9FFF - CS1 и т.д.
А сейчас будет так: в первом банке (4К) CS0-CS7, CS0-CS7, CS0-CS7, CS0-CS7..., в следующих банках всё повторяется. Вот это я и назвал перемешиванием, трудно сходу определить, какой CS к какому адресу относится и наоборот. Ну, хозяин - барин, а моё дело десятое...
SasaVitebsk
Я бы назвал это не "Мультипорт", а "Системная плата на базе AVR". smile.gif

Не буду оценивать необходимость, - Вам виднее. Но если есть определённое свободное время, и (что главное) желание, то пожелаю удачи в Вашем начинании.


А вот моё предложение (так как я склоняюсь к defunct и другим, советующим ARM).
Если рассматривать это в контексте "системная плата", то не лучше ли разделить. А именно:

1) Выделить системную шину с увеличенным адресным пространством. (грубо говоря поставить разъём и предусмотреть больше адресных линий)
2) Сделать переключаемый адресный селектор задействовав расширенные адреса (например на базе 1533СП1 и дип переключателя либо на базе 2764, либо, на худой конец пара ИД7 и дип переключатель)
3) На плате предусмотреть только голую переферию
4) Процессор с JTAG сделать на модуле втыкающемся в "маму" smile.gif

Это даст возможность в дальнейшем сделать новый микромодуль на базе ARM и использовать туже плату переферии.


Прошу отметить, что это просто предложение. Я не утверждаю, что так лучше. Но можно подумать в этом ключе.

smile.gif
defunct
Цитата(prottoss @ Mar 15 2007, 17:15) *
По поводу ARM. Я с этими МК еще не работал к сожалению, хотя прикидывал стоимость и т.п. Определил для себя следующую стратегию:
1. Осваиваю езернет на меге.
2. Делаю нормальное приложение
3. Осваиваю ARM
4. Портирую, то что создал, на ARM
ИМХО, для меня будет проще и быстрее чем одновременно исследовать два леса

Под ту связку, что я написал есть бесплатный пример Web-server'a под freertos.
Про вашу стратегию можно смело сказать - sounds reasonable smile.gif
Я шел похожим путем. ;>

Вообще затея хорошая, поздравляю c очередным успешным проектом.

Цитата(SasaVitebsk @ Mar 15 2007, 23:45) *
3) На плате предусмотреть только голую переферию

И ISA разъемы smile.gif
Igor26
Цитата
и большей цены, чем дюжина мелкосхем.

Означенная выше ПЛИС стоит около 190р. в чипдипе, а это не самый дешевый поставщик. Вместо дюжины мелкосхем я всегда применяю ПЛИС. И гибче получается и с трассировкой проще и места меньше и...
Цитата
А у FRAM быстродействие соизмеримо со статической памятью? Какие объемы памяти? Какая цена?

На Меге128 при кварце 11.059 массив в 64кбайт заполняется за одно и тоже время, что в статическое ОЗУ, что во FRAM. Конкретные цифры о быстродействии FRAM на вскидку не помню, даташита нет под рукой.
Максимальный объём памяти на сегодняшний день - 32кбайт.
Ну а цена несоизмерима с Dataflash.
prottoss
Цитата(=GM= @ Mar 16 2007, 04:17) *
Раньше у вас было так: адреса 0х8000-0х8FFF соответствовали CS0, 0х9000-0х9FFF - CS1 и т.д.
А сейчас будет так: в первом банке (4К) CS0-CS7, CS0-CS7, CS0-CS7, CS0-CS7..., в следующих банках всё повторяется. Вот это я и назвал перемешиванием, трудно сходу определить, какой CS к какому адресу относится и наоборот. Ну, хозяин - барин, а моё дело десятое...
Не совсем так. Раньше было 8 банков по 4к. Теперь будет 8 блоков по 32 байта каждый. За адрес ячейки в блоке отвечают младшие 5 бит ADDR0-4, за номер блока отвечают старшие три бита ADDR5-7. Так будет точнее и я не вижу ни какой путаницы. Даже у IBM PC именно такой принцип адресации smile.gif

Цитата(SasaVitebsk @ Mar 16 2007, 04:45) *
Я бы назвал это не "Мультипорт", а "Системная плата на базе AVR". smile.gif ...............................................
Как то в компьютерном магазине в отделе Б/У видел платку на базе AMD386SX33. Платка очень маленькая в основном одни ISA разъемы и 7-8 чипов разной величины, включая ЦП. После прочтения Вашего поста вспомнил про нее smile.gif

Пока буду делать, то что задумал, а там видно будет. Честно говоря, я ожидал советов именно схемотехнических, а не предложений перескочить на другую платформу или сделать из своей платы Spectrum2.5



Цитата(Igor26 @ Mar 16 2007, 13:15) *
Означенная выше ПЛИС стоит около 190р. в чипдипе, а это не самый дешевый поставщик. Вместо дюжины мелкосхем я всегда применяю ПЛИС. И гибче получается и с трассировкой проще и места меньше и...
На Меге128 при кварце 11.059 массив в 64кбайт заполняется за одно и тоже время, что в статическое ОЗУ, что во FRAM. Конкретные цифры о быстродействии FRAM на вскидку не помню, даташита нет под рукой.
Максимальный объём памяти на сегодняшний день - 32кбайт.
Ну а цена несоизмерима с Dataflash.
На счет ПЛИС все еще в раздумье... ФРАМ в любом случае не катит, так как для веб-сервера 32кБайт для веб-страниц осеньосень мала smile.gif Я про 1 Мбайт то не совсем уверен, хотя, на первых порах, думаю, пойдет
=GM=
Цитата(prottoss @ Mar 16 2007, 14:58) *
Не совсем так. Раньше было 8 банков по 4к. Теперь будет 8 блоков по 32 байта каждый. За адрес ячейки в блоке отвечают младшие 5 бит ADDR0-4, за номер блока отвечают старшие три бита ADDR5-7. Так будет точнее и я не вижу ни какой путаницы. Даже у IBM PC именно такой принцип адресации smile.gif

Ну, если вы ссылаетесь на ибм, придётся сослаться на pdp-11(:-), которую я гораздо больше уважаю, чем эту %@$енную ибм и их кривой во всём писюк.

Там сделали очень грамотно, из 64Кбайт памяти отвели верхние 8К под внешние устройства, да ещё под этим же пространством была замаплена пзу с загрузочным монитором. И не надо было вводить команды ввода-вывода, все вводы, выводы, пересылки, загрузки и выгрузки делались одним MOV или MOVB. Какую машину загубили!
prottoss
Цитата(=GM= @ Mar 16 2007, 23:18) *
Ну, если вы ссылаетесь на ибм, придётся сослаться на pdp-11(:-), которую я гораздо больше уважаю, чем эту %@$енную ибм и их кривой во всём писюк.
на IBM я ссылаюсь, потому что я его достаточно хорошо знаю, ну а в том, что он кривой, я, конечно, сомневаюсь. По крайней мере с Вами я общаюсь с его помощью smile.gif , да и не только я, наверное. Так что довольно не плохой агрегат, и, думаю, не стоит хаить то, что заслужило авторитет во всем мире не важно каким способом. Но это так, проза...

Хочу вернутся к моей плате: Я вот думаю, как бы включить в схему дешифратор выборки SPI. Те порты меги, которые я вывел на разъемы трогать не хочется. Это I2C, два PWM, ADC, USART. Хочется посадить дешифратор на адресные шины, возможно даже параллельно дешифратору системной шины (по адресным входам), но, естественно, с собственным сигналом разрешения...



Кстати, по ПЛИС - а ее можно будет программировать мегой, или алгоритм не раскрывается Алтерой? Что то я в даташите на MAX7000 не нашел описания
SasaVitebsk
Работал с PDP-11. Ничего революционного там не видел. Более того считаю асинхронную шину (это когда ответ на выборку устройства надо формировать) самым большим проколом по сравнению с ISA шиной. А когда понадобилось ввести более быстродействующую переферию (шина PCI) решение было вообще красивейшее.

Кстати я вообще ошибок за IBM не вижу. Да окна под устройства. Ну так когда она была разработана! Когда они под озу 640к выделили средняя операционка (что CP/M что UNIX) 64к использовала! CPM-86 пошла дальше - задействовала 128! smile.gif Так и осталась. smile.gif


Есть претензии к слишком долго тянущейся совместимости, которая сейчас является тормозом, и к Microsoft. Кстати тоже лёгкие претензии.



Я, наверное, как и defunct
Цитата
поздравляю c очередным успешным проектом.
.
Всё равно ты от нас не советов просишь, а согласия. smile.gif И решение у тебя уже сформировано. smile.gif


Ну чтож в добрый путь!
=GM=
Цитата(prottoss @ Mar 16 2007, 16:57) *
на IBM я ссылаюсь, потому что я его достаточно хорошо знаю, ну а в том, что он кривой, я, конечно, сомневаюсь. По крайней мере с Вами я общаюсь с его помощью smile.gif , да и не только я, наверное. Так что довольно не плохой агрегат, и, думаю, не стоит хаить то, что заслужило авторитет во всем мире не важно каким способом. Но это так, проза...

Насквозь кривой, особенно с точки зрения программиста, когда начинал писать на ассемблере 8086 особенного выбора не было, и я считал его более-менее нормальным языком, поскольку до него мне приходилось писать на ассемблере IBM-360, где условно говоря, один оператор BALR вгонял вас в дрожь. Но вот когда перешёл на ассемблер PDP-11, это был как глоток чистого воздуха, не поверите, такое было ощущение…Насчёт авторитета…знаете, так и Сталина можно начать уважать, а ведь он был обыкновенным бандитом и структуру власти создал в соответствии со своими воровскими понятиями, платой за это были смерть и поломанные жизни десятков миллионов простых людей. И до сих пор расплачиваемся.

Цитата(SasaVitebsk @ Mar 16 2007, 21:12) *
Работал с PDP-11. Ничего революционного там не видел. Более того считаю асинхронную шину (это когда ответ на выборку устройства надо формировать) самым большим проколом по сравнению с ISA шиной

Ну положим, в ISA тоже была заложена асинхронность, там был такой сигнал I/O CH RDY для медленных устройств и памяти (!) тоже. Так что это была дань времени относительно медленных устройств. А вот когда у вас все регистры равноправные, как в PDP-11, включая счетчик команд, начинаешь ощущать себя, как бы это сказать, готовым свернуть горы...Прошу прощения за оффтопик.
defunct
Цитата(=GM= @ Mar 17 2007, 02:46) *
Насквозь кривой, особенно с точки зрения программиста, когда начинал писать на ассемблере 8086 особенного выбора не было...

Есть еще категория "программистов" которые с пеной у рта кричат "Windows must die", при этом продолжают с ней работать, смотреть фильмы на WMP, общаться через MSN, писать документы в ворде...
Но разумеется это Вас не касается.
Dog Pawlowa
Цитата(=GM= @ Mar 16 2007, 20:18) *
Ну, если вы ссылаетесь на ибм, придётся сослаться на pdp-11(:-), которую я гораздо больше уважаю, чем эту %@$енную ибм и их кривой во всём писюк.

Там сделали очень грамотно, из 64Кбайт памяти отвели верхние 8К под внешние устройства, да ещё под этим же пространством была замаплена пзу с загрузочным монитором. И не надо было вводить команды ввода-вывода, все вводы, выводы, пересылки, загрузки и выгрузки делались одним MOV или MOVB. Какую машину загубили!

Часть истории человечества не затронула меня, поэтому вопрос, а как в PDP-11 реализовывалась скоростная передача между портами и памятью ? Тоже командами mov? smile.gif Такая передача именуется DMA/ПДП и для ее реализации и требуется разделение адресных пространств памяти и портов ввода-вывода, и, соответственно, разные команды для доступа к памяти и портам.
А что Вы программировали, если не секрет? Целочисленную арифметику с выводом на алфавитно-цифровой зелененький экранчик ? cranky.gif
prottoss
Цитата(=GM= @ Mar 17 2007, 07:46) *
Насчёт авторитета…знаете, так и Сталина можно начать уважать, а ведь он был обыкновенным бандитом и структуру власти создал в соответствии со своими воровскими понятиями, платой за это были смерть и поломанные жизни десятков миллионов простых людей. И до сих пор расплачиваемся.
Зачем в борщ пельмени добавлять? Сталина вспоминают с дрожью и он - история, на IBM-клонах работают до сих пор и это - реальность. А создать то, что бы удовлетворяло кого-угодно не возможно, это, ИМХО, сродни вечному двигателю. Нельзя объять необъятное, и то, что подавляющее большинство ЭВМ в мире - это уже говорит о многом...



PS: как всегда, топик постепенно уходит в ностальгирующе-историко-информативные тихие прения sad.gif
sensor_ua
Что-то задумка автора очень напоминает мне проект Ethernut1 http://www.ethernut.de/en/hardware/enut1/index.html
А не посмотреть бы автору на Ethernut2? http://www.ethernut.de/en/hardware/enut2/index.html Может, стОит, просто развить, добавив USB в адреса в области портов? Заодно стОлько софта совместимого (и на шару) появится!;)
prottoss
Цитата(sensor_ua @ Mar 17 2007, 20:28) *
Что-то задумка автора очень напоминает мне проект Ethernut1 http://www.ethernut.de/en/hardware/enut1/index.html
А не посмотреть бы автору на Ethernut2? http://www.ethernut.de/en/hardware/enut2/index.html Может, стОит, просто развить, добавив USB в адреса в области портов? Заодно стОлько софта совместимого (и на шару) появится!;)
Да, ровнялся по данному проекту и еще по нескольким smile.gif Хотел, по началу выписать, но что то цена мне егошняя не очень нравится smile.gif , да и есть кое какие ньюансы в схеме, которые мне не очень нравятся. Хочу СВОЕ smile.gif . А по совместимости - это дело не хитрое, тем более исходники есть.
sensor_ua
А я железку на 2560 родил недавно полностью совместимую с Ethernut2 по адресам и т.п. Скоро приступлю к освоениюwink.gif
prottoss
Цитата(sensor_ua @ Mar 17 2007, 21:03) *
А я железку на 2560 родил недавно полностью совместимую с Ethernut2 по адресам и т.п. Скоро приступлю к освоению wink.gif
Поздравляюsmile.gif А я вот еще рожаюsmile.gif

Кстати, дешифратор и латч для младших адресов тоже в ПЛИС запихал? Че то я тоже о ПЛИС начал думать...
sensor_ua
Цитата
Кстати, дешифратор и латч для младших адресов тоже в ПЛИС запихал?

К сожалению, нет. Пришлось (из-за нюансов с потреблением девайса) на рассыпухе, но получилось достаточно компактно. Кроме того, просмотрел код - у ребят чтения латча нет нигде, хотя в железе заложено.
prottoss
Цитата(sensor_ua @ Mar 17 2007, 23:55) *
К сожалению, нет. Пришлось (из-за нюансов с потреблением девайса) на рассыпухе, но получилось достаточно компактно. Кроме того, просмотрел код - у ребят чтения латча нет нигде, хотя в железе заложено.
У каких ребят? Как же с памятью то они обчаются??? Да и с остальными железяками?

Цитата(prottoss @ Mar 17 2007, 23:58) *
У каких ребят? Как же с памятью то они обчаются??? Да и с остальными железяками?
Стоп, а латч и читать то не надо, он же хардварно управляется. Со всеми железяками как с памятью работаем... Вот я парю, пора спать уже smile.gif
sensor_ua
Я о бюргерах - посмотрел же, чтоб совместимость сделать, на внутренность ПЛИСины - там есть возможность не только записи, но и чтения латча. Но, как оказалось, эту возможность в коде никто не использует.
=GM=
Цитата(Dog Pawlowa @ Mar 17 2007, 07:41) *
Часть истории человечества не затронула меня, поэтому вопрос, а как в PDP-11 реализовывалась скоростная передача между портами и памятью ? Тоже командами mov? smile.gif

Ну почему, там был пдп, причём лет за 5 до ибм пк, потом его ибм слямзила(:-). А ещё я вспомнил смешной случай, как на ВАКСЕ 20 МГц моделировали ИБМ 10 МГц, ну как интерпретатор бейсика. А для наоборот, надо было бы подкатить пентюх 300 МГц, не меньше(:-(. Ну это так, к слову вспомнилось.
Цитата(Dog Pawlowa @ Mar 17 2007, 07:41) *
Такая передача именуется DMA/ПДП и для ее реализации и требуется разделение адресных пространств памяти и портов ввода-вывода, и, соответственно, разные команды для доступа к памяти и портам.

А вот и не требуется. Многие МК имеют общее адресное пространство для памяти, регистров и портов ввода вывода, и прекрасно себя чувствуют. Не секрет, что с помощью пдп можно передавать данные не только между портами и памятью, но и между отдельными участками памяти. И для пдп вообще не нужны команды для доступа, это автомат, железо. Вот ещё вспомнил, одной командой pdp-11 можно очистить всю память! Команда очищала ячейку памяти, переписывала сама себя в следующую ячейку и т.д. Ощутите мощь. Почти полная симметрия команд!
Цитата(Dog Pawlowa @ Mar 17 2007, 07:41) *
А что Вы программировали, если не секрет? Целочисленную арифметику с выводом на алфавитно-цифровой зелененький экранчик ? cranky.gif

Когда я начинал, не было еще экранов, был пульт, была эл.пиш.машинка и рулон бумаги + перфокарты(:-(. Считал на разных машинах, на разных языках (Фортран, Алгол, Алгамс, автокод...). Сначала считал всякие электродинамические задачи с помощью диффур в частных производных, полученных прямо из уравнений Максвелла, (которого я сильно уважаю, в отличие вышеупомянутого не к ночи будь помянутого), потом перешёл на антенную тематику, синтез ДН с заданным уровнем боковых, ну и всякие свч-устройства по мелочи...Ну а с развитием мк техники занялся ею. Ну вот my life in the nutshell(:-).
Dog Pawlowa
Цитата(=GM= @ Mar 18 2007, 00:09) *
Ну вот my life in the nutshell(:-).

Ну, нас точно скоро погонят с ностальгией maniac.gif
Я вот что хочу сказать - во всех поворотах истории, в том числе и в компьютерно-микроконтроллерной, существовал какой-то смысл, и сейчас легко об этом смысле забыть.
Я верю на слово по поводу преимуществ структуры PDP-11, но тогда, 30 лет назад, ввиду ограничений технологии, можно было перевести в БИС что-то похожее на 8080. Оно и родилось. 8086 и т.д. - очевидная эволюция.
Быть может, если бы сейчас все заново... Но не появляется почему-то. Может таки преувеличены преимущества?
sensor_ua
Цитата
Ну почему, там был пдп, причём лет за 5 до ибм пк, потом его ибм слямзила(:-).

Супер! IBM 360 имели ПДП ещё в 1964 годуwink.gif)) Я так понял, речь о склерозе в рядах сотрудников ибмwink.gif PDP-11 от DEC появилась, кажись в 1970. PDP-8 - в 1965-м, хотя что было раньше... http://www-03.ibm.com/ibm/history/exhibits...nframe_FT1.html
SasaVitebsk
Ещё раз говорю: ничего революционного в PDP-11 небыло. Потому и погиб. Кстати считаю, что ставка на DEC отбросило нашу страну лет на 10.

1) Очистить память одной командой можно было и в 8080.
2) Система команд не мощнее
3) Колличество регистров - незначительно больше
4) ПДП реализован отвратно. Требовалось аппаратное решение. Плату с ПДП нельзя было сунуть в произвольный слот
5) Размещение переферии в общем адресном пространстве (то бишь как память) можно реализовать на любом МП. В том числе и на 8080/8086. Достаточно вспомнить Радио86РК. Что здесь революционного? В Intel у вас хотя бы выбор есть.
6) Производительность была не выше.

К достоинствам могу лишь отнести
1) более стройную систему комманд. (хотя тоже не без исключений)
2) Равноправие регистров (У Intell в этом явный перебор)
3) UNIX

Выделение 2к под переферию - не достоиство а недостаток. Представляете если бы она до наших дней дожила. С совместимостью какие проблемы были бы. К примеру у ARM сегодня под одно устр-во 2к выделено! smile.gif


Считаю что IBM контора мощная, наработки - гигантские. И победила она заслуженно. А то что выбор пал на Intel, - результат серьёзного анализа. Он оказался не в пользу DEC.

Ну и второго пришествия не произошло. Где Alfa21xxxx. Уже не слышно. IBM сейчас делает ставку на мотороллу со своим PowerPC. И судя по позиции Microsoft (XBox) похоже опять победит.
Postoroniy_V
Цитата(SasaVitebsk @ Mar 18 2007, 00:43) *
Ещё раз говорю: ничего революционного в PDP-11 небыло. Потому и погиб. Кстати считаю, что ставка на DEC отбросило нашу страну лет на 10.

1) Очистить память одной командой можно было и в 8080.


а что за команда если не секрет? с z80 не путаете?
=GM=
Цитата(sensor_ua @ Mar 17 2007, 20:58) *
Цитата(=GM= @ Mar 17 2007, 20:09) *

Ну почему, там был пдп, причём лет за 5 до ибм пк, потом его ибм слямзила(:-)

Супер! IBM 360 имели ПДП ещё в 1964 годуwink.gif)) Я так понял, речь о склерозе в рядах сотрудников ибмwink.gif PDP-11 от DEC появилась, кажись в 1970. PDP-8 - в 1965-м, хотя что было раньше... http://www-03.ibm.com/ibm/history/exhibits...nframe_FT1.html

Ничего не супер, здесь вы не правы, ибм-360 это большая машина, мы же говорили о персональном компьютере ибм пк, который появился в 1981 году. Ещё я сказал, "лет за 5 до ибм пк" (дошёл, сам себя цитирую), т.е. не был особо уверен, вы же меня и поправили, по-вашему PDP-11 появилась в 1970, а IBM PC в 1981, значит мои "лет за 5" превратились в ваши 11 лет.

Так что, пока никакого склероза с моей стороны, а вам надо щательнее готовить контрдоводы(:-). И я не сотрудник ибм. Я простой советский инженер, software merchant(:-).
prottoss
Ребята! Я конечно извиняюсь, что влезаю в умные беседы с глупыми вопросами про свою, никому не нужную железяку, но может быть поностальгируете где нибудь вдали от компьютеров, с бутылочкой пива, но не сдесь, а??? Блин, смешно...Чесс слово. Задаю вопросы, а мне медленно и настойчиво, но не ПРО ТО!!!
sensor_ua
Посмотри ещё на то, что же в демоплаты кладут другие. Причём, не обязательно это должны быть платы на AVR. Например,
http://projects.caxapa.ru/index.html?ID=62.
И почему мега128? Её уже конкретно припирают 1280/1 и 2560/1. Те же Ethernut пишут, что последние доски Ethernut-2 выпускают на ATmega2561. Если хочется USB, то для чего? Если просто пообщаться с мегой, то, поствить 2560 с 4-я УАРТами и мост USB/RS232 - будет "прямоугольнее", если цеплять SD/MMC, то, оно, наверно, интересно, но нафига оно на меге вааще, когда есть столько более проточенного, для Web? Для чего железка-то? В учебных целях нужно больше кноп и моргалок с табло, ручечки, двиговентиляторы, MicroLAN всякая и т.п., если упор на Web, то тогда ОЗУ большое не помешает, тем более стОит оно фигню сейчас - у нас 512КБ стОит чуть больше 3-х бакинских в розницуwink.gif Если упор на радиосвязь, то притянуть бы наработки BTNode. Если ЖК монохром-графику цеплять, то опять же память не помешает, узлы регулировок и т.д.
Я в своей железке (на самом деле очень узкоспециализзированной и Ethernet там "выкушен") усадил на плату 2 порта с интерфейсами 232/485, собранных по ИЛИ в каждом, остальные УАРТы вывел на разъёмы для модулей интерфейсных, туда же вывел I2C и адреса жесткие (для I2C), чтоб конфиг-данные из EEPROM модулей читать. В один из УАРТов переключатель врезал, куда приходит через изолятор RS232(TTL) от USB/RS-моста (CP2102), ну и оно /SUSPEND-ом жестко переключает на себя. У меня проложены FRAM32K, FLASH AT45 на 4MB с узлом аппаратно организованного HOLD, SD/MMC слот с буферами, выключателем питания и защитой. Для области ввода-вывода на шине преобразователи уровней двунаправленные поставил, прицеплены частотные входы, клавиатура, ЖК (HD44780) с аппаратной компенсацией контрастности по температуре, часы на I2C, АЦП, датчик температуры, модем BELL202... Но мне оно надо для конкретного девайса и я бы вместо этого "мусора" положил бы LPC2378 и не мучался, кабы не было большого задела очень узкоспециализированного софта, написанного большим коллективом, отлаженного и "проверенного годами" у заказчика/потребителя - на ATmega128.
prottoss
Цитата(sensor_ua @ Mar 18 2007, 14:36) *
И почему мега128? Для чего железка-то?
Железяка, пока, для меня smile.gif А перевести ее на более новые МК не составит труда, когда все уже будет. Мега1281/2561 одним взмахом фена и пару сотнями взмахов десятью пальцами впихивается в девайс без проблем... Упор, конечно, делаю на WEB, а USB поставил докучи, я выше в постах говорил, что сомневаюсь в нужности оного, но мало ли. В конце-концов его можно просто не распаивать
Dog Pawlowa
Цитата(prottoss @ Mar 18 2007, 05:38) *
Ребята! Я конечно извиняюсь, что влезаю в умные беседы с глупыми вопросами про свою, никому не нужную железяку...

Я же сказал - попрут! sad.gif
А по существу... Еще пожалеете, что не дали ностальгировать smile.gif
Ну что Вы нового сделали? Очередную универсальную плату под себя?
А толку? Чтобы сделать один-два прибора суммарным количеством до 70 штук? Может, нужно было применить что-то готовое, а?
Вот у меня сейчас на столе лежит "универсальная плата под себя", сделанная лет тринадцать одним знакомым мне специалистом. Плата супер, применяется до сих пор в двух все еще производимых системах, но беда - все снято с производства.
Получается... Если делается контроллер для массового проекта - все оптимизируется до предела, если в много немассовых проектов - получается избыточность, которая может оказаться бесполезной.
Так что, вернуться к ностальгии? biggrin.gif
SasaVitebsk
Я тоже отладку произвожу на готовом изделии, но всётаки имею платку универсальную. Правда я сделал по другому Проц и куча разъёмов. Ну а переферия на отдельных маленьких модулях. Что удобнее - не знаю. Просто когда самопалом платы делаешь, то лучше маленькие модули делать. Платы лучше получаются. smile.gif

Я, понимаю prottossа. Дело в том, что если на предприятии работаешь, то пока ты прогу сварганишь - глядишь и платка подоспела. Спаянная, причём отличного качества. Тогда лучше прямо на ней и отлаживать. Ну а если под себя САМ что-либо делаешь??? Хочется перепроверить всё десять раз, а уж потом плату делать или заказывать. И тут очень хорошо иметь универсальную плату на которой ты отлаживаешься. Ты, кроме всего прочего её будешь замечательно знать.

Кроме того, это имеет и ещё одно достоинство. Библиотеки. Написаны и вылизаны под конкретную переферию с конкретным подключением. Как правило, потом такое подключение применяют и в изделии. Чтобы не усложнять себе жизнь. Во всяком случае когда требуется быстро сварганить проект.
prottoss
Цитата(SasaVitebsk @ Mar 18 2007, 23:59) *
..........Я, понимаю prottossа..........
Примерно так и есть biggrin.gif
Igor26
Цитата
Кстати, по ПЛИС - а ее можно будет программировать мегой, или алгоритм не раскрывается Алтерой? Что то я в даташите на MAX7000 не нашел описания

Не задавался таким вопросом. Она шьётся, как и Мега внутрисхемно через БайтБластер. Опыт показывает, что часто её перешивать и не надо. Это не софт для МК. НаписАл один раз конфигурацию, поправил, если надо и забыл.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.