|
uIP ATmega162+RTL8019AS скорость, интересно, что можно выжать? |
|
|
|
Aug 21 2006, 20:59
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Doka @ Aug 21 2006, 23:34)  аха.. а также альтернативным 28-pin QFN (5 x 5 mm footprint) .. а параллельная шина - всего 11 линий, которые органично вешаются на интерфейс памяти Ага 11 это мультиплексированный вариант. И куда это он "органично"? Цитата , и не ограничивают скорость (в этой теме уже было упоминание подобного ограничения) Причем 30Mbit поминаются для немультиплексированного. А SPI работающие на тактовой в 30Mhz много более распространены, нежели контроллеры с внешней шиной. Цитата upd: насчет "эмулировать": в названии темы фигурирует ATmega162 . Так вот ему как раз ничего эмулировать не надо По этой причине в моем упоминании фигурировало уточнение - "мелким контроллерам".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 21 2006, 21:20
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(zltigo @ Aug 22 2006, 00:59)  Ага 11 это мультиплексированный вариант. И куда это он "органично"? ну. .насколько я помню AVR, тот же 8515 работает с внешней памятью в мультиплексированном режиме. не знаю насколько сейчас все изменилось Цитата Причем 30Mbit поминаются для немультиплексированного. А SPI работающие на тактовой в 30Mhz много более распространены, нежели контроллеры с внешней шиной. если взять на рассмотрение предложенные вами "мк" - мелкие контроллеры, туже мегу48 - то макс.скорость ее SPI - половина от внешней тактовой. При 5В получаем 10Mbit, при 3.3V - вообще 5Mbit. Цитата По этой причине в моем упоминании фигурировало уточнение - "мелким контроллерам". ну для совсем мелких тут -да особой альтернативы нет.. а с другой стороны особо мелкие экономической целесообразности ставить нет. один тока ENC28J60/СР2200 7уёв стоит + разъем + трансформатор.. Цитата(defunct @ Aug 22 2006, 01:17)  Цитата(zltigo @ Aug 21 2006, 23:59)  Цитата upd: насчет "эмулировать": в названии темы фигурирует ATmega162 . Так вот ему как раз ничего эмулировать не надо По этой причине в моем упоминании фигурировало уточнение - "мелким контроллерам". Ммм.. по количеству ПП да и по количеству выводов m162 из разряда "мелких" (всего 16k/35 линий).. видать от этого и confuse получился. ща долго ломать копья будем. не воспринимайте "мелкие" буквально (в sam7 тоже только 32 линии). пример мелких - серии ATtiny, pic12, восемь ног, вместо озу тока регистры.
--------------------
|
|
|
|
|
Aug 21 2006, 21:30
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата если взять на рассмотрение предложенные вами "мк" - мелкие контроллеры, туже мегу48 - то макс.скорость ее SPI - половина от внешней тактовой. При 5В получаем 10Mbit, при 3.3V - вообще 5Mbit. Ну давайте не будем валить в одну кучу "мелкие" и влетающие тугой струей в "мелкий" контроллер 10Mbit - ему с ними делать нечего. Что касается SPI - мелким удобнее SPI по количеству ног и практически гарантированному присутствию железного SPI. А у тех, кто "покрупнее" и SPI заодно и "потолще" и понавороченней - не затормозит. Цитата ща долго ломать копья будем. не воспринимайте "мелкие" буквально. пример мелких - серии ATtiny, pic12, восемь ног, вместо озу тока регисты. Не, не буду. Тем более, что Вы кажется поняли.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 21 2006, 22:31
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(Evgeny_CD @ Aug 22 2006, 00:13)  Вообще я к этой теме только для расширения кругозора обратился. Для серьезной работы надо брать AT91SAM7X - там и ресурсов поболее, и контроллер на борту.
Правда передо мной стоит еще одна нестандартная задача - надо и Ethernet, и внешнюю шину. STR91xx дороговато. ATmega162 - ресурсов маловато, Atmega64+ - дорого, тогда уж проще LPC2212 + внешний Ethernet контроллер взять. В общем, осталось дождаться, когда AT91SAM7 с внешней шиной появятся. Ну или LPC23xx.
Вот если бы обдолбыши из филипса сделали LPC28xx в человеческом корпусе.... а еще есть изумительные (в т.ч. и ценой) 5501 за 5уе с 32битной шиной внешней памяти и 300МГц тактовой =) мощная поддержка DMA (мк такая и не снилась) и -40 там уже по дефолту. правда периферия не такая богатая. но это уже задачами диктуется. это к вопросу об альтернативе "LPC2212 + внешний Ethernet контроллер"
--------------------
|
|
|
|
|
Aug 21 2006, 22:48
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(Doka @ Aug 22 2006, 02:31)  а еще есть изумительные (в т.ч. и ценой) 5501 за 5уе с 32битной шиной внешней памяти и 300МГц тактовой =) мощная поддержка DMA (мк такая и не снилась) и -40 там уже по дефолту. правда периферия не такая богатая. но это уже задачами диктуется. это к вопросу об альтернативе "LPC2212 + внешний Ethernet контроллер" Я скорее MCF5208 выберу - 166 Мгц, DMA 16 канальный linked list, MAC 48 битный на борту. =========== FreeScale (Motorola) ColdFire - наши мольбы о !BGA услышаны? http://www.caxapa.ru/echo/arm.html?id=63110http://electronix.ru/forum/index.php?showtopic=18754
|
|
|
|
|
Oct 27 2006, 09:24
|
Группа: Новичок
Сообщений: 4
Регистрация: 26-10-06
Пользователь №: 21 693

|
Всем привет. Прошу прощения, что, может, не совсем в тему. Пытаюсь научить устройство работать с RTL8019AS, использую сетевую карту ИСА с данным чипом. Само устройство еще подключено к комьютеру через RS232 (временно) для отладки, когда приходит пакет по езернет, устройство передает часть этого пакета на комп (для всё той же отладки). Проблема в том, что не удается нормально считать принятый пакет. Есть реакция на посланный пинг - пакет с компа, то есть когда с компа не посылаю пинг - устройство молчит, когда посылаю - через РС232 приходит информация о пакете (то есть пакет принят). Так вот, после того как пакет принят пытаюсь считать его с буфера данные и пару регитсров, вот, что получилось: PSTART -> 22h; CURR -> 04h; BNDY - > 5Eh; packet -> 00 06 00 00 00 00 00 02 00 00 00 10 40 Если я не ошибаюсь, то в начале широковешательного пакета должно быть: FF FF FF FF FF FF, потом адрес отправителя, и т.д.... Что не соответствует прочитаному пакету с буфера, пускай даже с учетом первых 4-х байт (структура описания пакета). Что не так?... Никак не могу найти ошибку  ... Использую Мега8. ПрограммаБлагодарен за любую помощь
Сообщение отредактировал Virtek - Oct 27 2006, 09:38
|
|
|
|
|
Oct 30 2006, 00:52
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Virtek @ Oct 27 2006, 12:24)  PSTART -> 22h; CURR -> 04h; BNDY - > 5Eh А как это CURR у вас равен 04?? а BNRY 0x5E? Это уже больше 16k однако.. RING буфер у RTL лежит в диапазоне адресов 0x40-0x80! где-то ошибка.. по поводу broadcast'a есть есть нюанс, пакет не будет содержать сразу destmac, т.к. перед ethernet пакетом есть еще NIC заголовок 4 байта. Если правильно помню: { // для модели big endian U8 Type; // 0x21 если пакет не разбит (занимает не более 6-ти страниц RING'a (1536 байт)) U8 NextBNRY; // - маркер следующего пакета U16 Length; } посмотрел инициализацию, сразу не понравилось RCR = 0xD 4DCR = 0x18; PAR0 = 0x00; глубже вникать не стал. PS: Почему бы не сделать отдельную функцию (или макрос) для переключения страниц, а также не описать имена регистров, а то с цифрами легко можно было и промазать...
|
|
|
|
|
Oct 30 2006, 11:23
|
Группа: Новичок
Сообщений: 4
Регистрация: 26-10-06
Пользователь №: 21 693

|
Цитата(defunct @ Oct 30 2006, 04:52)  А как это CURR у вас равен 04?? а BNRY 0x5E? Это уже больше 16k однако.. RING буфер у RTL лежит в диапазоне адресов 0x40-0x80! где-то ошибка.. Вот и я пытаюсь узнать: где?  Где-то в процедуре чтения, может? Может, у кого-то рабочие исходники функции чтения данных для этого чипа? Цитата(defunct @ Oct 30 2006, 04:52)  посмотрел инициализацию, сразу не понравилось RCR = 0xD4 DCR = 0x18; PAR0 = 0x00; глубже вникать не стал. Хм... в файле-программе: RCR = 0x1C; DCR = 0x48; PAR0 = 0x10 (хотя, это ж первый байт МАК-адреса, если я не ошибаюсь) Вы точно тот файл смотрели? read.asm? Вот тут у меня ещё ламерский вопрос: есть ли у RTL8019, так сказать, ограничение по времени для выставляемых данных (после того, как чип принял команду для переписи принятых данных из буфера в память компьютера) ? То есть, чип выставил байт данных и если через некоторое время данные не забрали - выставляет следующий байт и т.д. Так, как МК работает на 1МГц - может, он не успевает забирать все выставленные байты? И потому - корявый пакет получается  Спасибо
|
|
|
|
|
Oct 30 2006, 13:11
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Virtek @ Oct 30 2006, 14:23)  Хм... в файле-программе: RCR = 0x1C; DCR = 0x48; PAR0 = 0x10 (хотя, это ж первый байт МАК-адреса, если я не ошибаюсь)
Вы точно тот файл смотрели? read.asm? Естессно смотрел, и привел правильные значения.. Цитата Вот тут у меня ещё ламерский вопрос: есть ли у RTL8019, так сказать, ограничение по времени для выставляемых данных (после того, как чип принял команду для переписи принятых данных из буфера в память компьютера) ? частота не более 8Mhz. Цитата То есть, чип выставил байт данных и если через некоторое время данные не забрали - выставляет следующий байт и т.д. нет, данные выставляются по сигналу IOR с задержкой ~100ns и будут валидными пока IOR = 0. Цитата Так, как МК работает на 1МГц - может, он не успевает забирать все выставленные байты? И потому - корявый пакет получается Все он успевает. Регистры ж у вас "читаются". Для проверки можно прочитать сигнатуру чипа #define rtlNicID0 (10) #define rtlNicID1 (11) должно быть "pP" А вот CURR = 0x04 это ошибка, которая может говорить о том, что: 1. неверно установлен PSTART. 2. неверно читаются данные. 3. не из той страницы читаете (не тот регистр). Попробуйте для начала отладить функции чтения-записи RINGa по фиксированным адресам. PS: чип неудачно выбран ни отладочного интерфейса, ни шины памяти.
|
|
|
|
|
Nov 7 2006, 07:49
|
Группа: Новичок
Сообщений: 4
Регистрация: 26-10-06
Пользователь №: 21 693

|
Хмм.. в регистр RCR, я так пониаю, нельзя записать "D4h" - у него 7-й и 6-й биты зарезервированны ...
Как-то, в ходе проведения экспериментов, 1 раз повезло - счетчик CURR увеличивался на соответствующее количество принятых пинг-пакетов. То есть, посылаю 1 пинг-пакет - счетчик увеличивается на 1, посылаю 2 - на 2....
Может, он "плохо" запускается? При подаче напряжения зеленый диод на карте загорается не сразу, бывает, что он загорается только после того, как к железному "крепежу" доторкнуться пальцем ....
|
|
|
|
|
Nov 7 2006, 12:50
|

За битами по регистрам гоняюсь
  
Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446

|
Цитата(Virtek @ Nov 7 2006, 11:49)  ... Может, он "плохо" запускается? При подаче напряжения зеленый диод на карте загорается не сразу, бывает, что он загорается только после того, как к железному "крепежу" доторкнуться пальцем .... Вполне возможно, что есть проблемы с кварцевым генератором. Когда я делал блок на CS8900A, были такие проблемы. С импортными кварцами 20 МГц работает, требовалось применять наши, с ними очень плохо работает, или вообще не работает. Из регистров считывался всякий мусор, плохо определялась несущая (зелёный LED загорался и гас, как хотел). Пришлось собирать отдельный генератор на ЛА3.
--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
|
|
|
|
|
Nov 8 2006, 16:20
|
Группа: Новичок
Сообщений: 4
Регистрация: 26-10-06
Пользователь №: 21 693

|
Приношу свои извинения. Мммм.... решил я свою проблемку.. Заключалась она в не правильной разводке - несколько линий соединялись между собой (на плате - разьеме для сетевухи)... не углядел Еще раз, извините
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|