реклама на сайте
подробности

 
 
> связь Mega128 <=>ARM7
IJAR
сообщение Jun 9 2009, 06:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Необходимо организовать обмен между 2-мя контроллерами.

Скорость порядка 1 Мбайта. Расстояние между конт-ми ~10 см на
плате.

Хотелось бы со стороны каждого контроллера иметь буфер организованный в виде стека на 256 - 1024 байт а уже между

буферами что то вроде параллельног канала. Т.е. минимальная

нагрузка на ПО контроллеров. Для работы с навеской есть по 11 ног

в каждом контроллере. Прямое соединение не катит из-за разности

в скоростях контроллеров.USB - не подходит по ряду причин.

Естественно эта навеска должна быть в чипе. Цена не особеноо лимитирует.

Может кто использовал такой девайс.

Заранее спасибо.


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jun 9 2009, 07:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Я делал параллельный обмен м/у контроллерами. Принцип приблизительный как в CENTRONICS.

Код
data ----<=====>----
           ____
rdy  ____/     \____
            _____
ask ______/      \___


Здесь 10 ног, но чаще всего требуется типа команды передавать (1 нога) ну и направление (1 нога), либо синхронизацию начальную как-то обеспечивать. 11 ног принципиально достаточно. У меня было столько-же. Работало очень устойчиво.


Цитата(IJAR @ Jun 9 2009, 10:41) *
Вот если бы можно было соединять 2 FT245 друг сдругом - все было бы O'K

Их можно соединить даже без микроконтроллера. На примитивной логике. Только 1 Мбайт это скорее желаемое чем бействительное значение. Хотя заявлено 2. Надо будет программно обеспечивать чтобы переполнения буферов не происходило.
Go to the top of the page
 
+Quote Post
IJAR
сообщение Jun 9 2009, 08:05
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(SasaVitebsk @ Jun 9 2009, 11:46) *
Я делал параллельный обмен м/у контроллерами. Принцип приблизительный как в CENTRONICS.

Код
data ----<=====>----
           ____
rdy  ____/     \____
            _____
ask ______/      \___


Здесь 10 ног, но чаще всего требуется типа команды передавать (1 нога) ну и направление (1 нога), либо синхронизацию начальную как-то обеспечивать. 11 ног принципиально достаточно. У меня было столько-же. Работало очень устойчиво.

Я такой вариат и рассматривал, НО!!!
Я не могу обеспечить на Mege непрерывное, из-за прерываний, обслуживание потока.
Стало быть ARM7 войдя в обмен бужет непредсказуемо подвисать, если же использовать на
нем прерывания, то это приплюсует еще большее время на обслуживание. У ARM7 своих задач выше крыши.
Замена Mega128(Fosc=7.372800 МГц) на что-либо невозможна из-за разработки большого объема ПО.

Цитата(alvy @ Jun 9 2009, 11:55) *
Как вариант:

использовать чтото типа 74АС164, которую к SAM7 подцепить по SPI (1МГц без проблем прокачает), а к Меге подцепить многоразрядную шину с битами управления. Просто, имхо, меге будет намного проще и быстрее работать с параллельным интерфейсом, а САМ7 - с последовательным (в режиме DMA будет минимум ресурсов расходоваться).

SPI на ARM7 занят под контроллер ETHERNET, кроме того заняты 2 UART-a.


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jun 9 2009, 08:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(IJAR @ Jun 9 2009, 11:05) *
Замена Mega128(Fosc=7.372800 МГц) на что-либо невозможна из-за разработки большого объема ПО.

biggrin.gif

Всё смешалось, кони-люди. smile.gif

А как вы обеспечите "около 1 Мбайта" на микроконтроллере с пиковой производительностью 7Мипсов, если он ещё чем-то занят? Это и так 7 тактов на транзакцию. О каких прерываниях мы ведём речь? И куда этот поток складывать?

Да и ARM7 с потоком 1Мбайт тоже будет напряжённо громыхать костылями.
Go to the top of the page
 
+Quote Post
IJAR
сообщение Jun 9 2009, 08:29
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 26-02-07
Из: г. Зеленоград
Пользователь №: 25 669



Цитата(SasaVitebsk @ Jun 9 2009, 12:12) *
biggrin.gif

Всё смешалось, кони-люди. smile.gif

А как вы обеспечите "около 1 Мбайта" на микроконтроллере с пиковой производительностью 7Мипсов, если он ещё чем-то занят? Это и так 7 тактов на транзакцию. О каких прерываниях мы ведём речь? И куда этот поток складывать?

Да и ARM7 с потоком 1Мбайт тоже будет напряжённо громыхать костылями.


В том то и суть, что порт обмена должен быть "всегда готов", ну кроме начала обмена (возможно)
А передача идет блоками по 0.5-1.5КБайт каждые 100 mS. Если кидать блоками не более 0.5 Кбайт,
то на это время прерывания, в моем случае, можно "придержать".

Собственно всего то и нужен чип "Параллельный порт CENTRONIX с буфером памяти"


Цитата(alvy @ Jun 9 2009, 11:55) *
Как вариант:

использовать чтото типа 74АС164, которую к SAM7 подцепить по SPI (1МГц без проблем прокачает), а к Меге подцепить многоразрядную шину с битами управления. Просто, имхо, меге будет намного проще и быстрее работать с параллельным интерфейсом, а САМ7 - с последовательным (в режиме DMA будет минимум ресурсов расходоваться).


А вообще то идея не плохая. У ETHERNET чипа можно вместо SPI || порт использовать
На "худой конец" можно и так попробовать.
Спасибо!


--------------------
Вяжешь - вой, а поедешь - песни пой.
Между "хочу" и "можно" всегда есть дистанция
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jun 14 2009, 00:20
Сообщение #6


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(IJAR @ Jun 9 2009, 07:29) *
В том то и суть, что порт обмена должен быть "всегда готов", ну кроме начала обмена (возможно). А передача идет блоками по 0.5-1.5КБайт каждые 100 mS. Если кидать блоками не более 0.5 Кбайт, то на это время прерывания, в моем случае, можно "придержать".
Собственно всего то и нужен чип "Параллельный порт CENTRONIX с буфером памяти"

Чтобы и волки были целы и овцы сыты, я бы вам посоветовал вместо FT245BM поставить самую простую аврку, имеющую 3 порта и память порядка 0.5 КБ и тактовую 20 МГц. Один порт и 2-3 управляющих вывода подключаете к меге128, а второй порт и 2-3 управляющих вывода подключаете к арму. Задача аврки очень проста - вечно стоять в ожидании и принимать на максимальной скорости 256 байт из меги128 по заданному протоколу. А после завершения приёма - передать буфер в арм, возможно по другому протоколу.

По моей оценке максимальная скорость приёма составит 5 МБайт/с, что в 5 раз превосходит требуемую.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- IJAR   связь Mega128 <=>ARM7   Jun 9 2009, 06:55
- - VladimirYU   Цитата(IJAR @ Jun 9 2009, 10:55) Необходи...   Jun 9 2009, 07:19
|- - IJAR   Цитата(VladimirYU @ Jun 9 2009, 11:19) Ну...   Jun 9 2009, 07:41
|- - zltigo   Цитата(IJAR @ Jun 9 2009, 10:41) 1. У мен...   Jun 9 2009, 09:25
- - mempfis_   ЦитатаСкорость порядка 1 Мбайта. Большая скорость...   Jun 9 2009, 07:37
|- - singlskv   Цитата(IJAR @ Jun 9 2009, 12:05) Я не мог...   Jun 9 2009, 08:36
|- - Dog Pawlowa   Цитата(IJAR @ Jun 9 2009, 11:05) Замена M...   Jun 9 2009, 08:38
|- - xelax   Цитата(Dog Pawlowa @ Jun 9 2009, 12:38) П...   Jun 9 2009, 08:55
|- - IJAR   Цитата(Dog Pawlowa @ Jun 9 2009, 12:38) Д...   Jun 9 2009, 08:56
|- - Dog Pawlowa   Цитата(IJAR @ Jun 9 2009, 11:56) мне как ...   Jun 9 2009, 09:32
|- - IJAR   Цитата(Dog Pawlowa @ Jun 9 2009, 13:32) В...   Jun 9 2009, 10:11
- - alvy   Как вариант: использовать чтото типа 74АС164, ко...   Jun 9 2009, 07:55
- - Sanya_kv   ЦитатаПрямое соединение не катит из-за разности в ...   Jun 9 2009, 10:19
|- - IJAR   Цитата(Sanya_kv @ Jun 9 2009, 14:19) Може...   Jun 9 2009, 10:35
|- - Dog Pawlowa   Цитата(IJAR @ Jun 9 2009, 13:35) + .... н...   Jun 9 2009, 14:49
|- - IJAR   Цитата(Dog Pawlowa @ Jun 9 2009, 18:49) ...   Jun 10 2009, 07:34
|- - artem79   ЦитатаСейчас к Mega128 подключен FT245BM - это 8 б...   Jun 10 2009, 10:05
- - SasaVitebsk   При нормально написанном проекте, изменение тактов...   Jun 9 2009, 10:23
- - proba   если Вам понадобился скорость обмена >100Mbit,...   Jun 9 2009, 14:14
- - SasaVitebsk   Ну а если применить какое-нибудь озу двухпортовое ...   Jun 9 2009, 15:14
- - defunct   Цитата(IJAR @ Jun 9 2009, 09:55) Скорость...   Jun 9 2009, 16:06
- - GDI   Во вложении схемка и описание параллельного интерф...   Jun 10 2009, 08:06
|- - IJAR   Цитата(GDI @ Jun 10 2009, 12:06) Во вложе...   Jun 10 2009, 09:48
- - zltigo   Ну а теперь, кто из изобретателей интерфейсов скаж...   Jun 10 2009, 10:28
- - Dog Pawlowa   Цитата(zltigo @ Jun 10 2009, 13:28) Зачем...   Jun 10 2009, 11:47
- - proba   Цитата(zltigo @ Jun 10 2009, 13:28) Ну а ...   Jun 12 2009, 07:16
- - SasaVitebsk   Цитата(proba @ Jun 12 2009, 10:16) a вооб...   Jun 12 2009, 08:08
- - zltigo   Цитата(proba @ Jun 12 2009, 10:16) a вооб...   Jun 12 2009, 22:25


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016