Serg24
-
Постов
97 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Serg24
-
-
очень извиняюсь , но перечитал тему и вобщем незнаю ещё что такое uIP (
Вы уж определитесь, что надо - TCP/IP, Ethernet, USB, Bluetooth, COM port - буду делать всё это. вобще хотял пару веток но меня сразу в одну определили)) хотя считаю темы разные.
насчёт TCP/IP, Ethernet - но этого момента думал это одно и тоже) разница в том что в первом случает IP не локальные а во втором локальные? или плюс TCP/IP это протокол а изернет физическая локальная сеть ?
-
Очень интересно. А на русском подобные ссылки имеются?
-
могу сказать только УГУ) . да не очень всё радужно ... но ничего. Значит насчёт интернета - я так понимаю мне нужен контролер с мак адресом. и разобратся в принципах работы сети и принимать данные идущие на этот мак адрес. можно ли напрямую обращатся к мак адресу без IP ? или провайдеры только IP адреса маршрутиируют.
вопрос конечно не сверкает умом автора))) но пока ещё неуспел перечитать литературу)
и насчёт радио связи. свой протокол придумаю. при моих скоростях хоть обратная пересылка байта и ответ что байт принят правильно). Вот хотелось бы уже начать програмировать уже какой то авр с интерфейсом USB. какой самый примитивный?)) и дешевый? он будет просто работать буфером между приёмником что выдаёт в SPI и протоколом USB. конечно на первое время мне и СОМ порта хватит...
-
Спасибо XVR что так подробно расписали. Я писал что понятий об интернет ещё не имею спасибо что растолковали.
Решил осваивать интеренет во вторую очередь а в первую сделать радио доступ к СОМ или USB порту. Вобще думал трансиверы для 2.4 Ггц использовать но как то боюсь что распростра нение WI FI и блютуз может хорошо напакостить этому диапазону.
Хотел просто по блютуз зделать связь но кажется в этом направлении пропасть да ещё и дорогая.
Скорость мне нужна небольшая , можно брать самую узкую полосу пропускания. Я зря остеригаюсь того что если каналы открытые то могут в канал связи попадать всякие блютузы и в канал мусор будет проскакивать? или это параноя?)
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
бльшое спасибо уже начинаю немного проникатся . ещё мне бы многое дало если бы я уже понмиал куда мак адрес и ip прошивается при использовании реального изернет контролера. конечно если есть время и желание. современем понятно что и так разберусь.
Большое спасибо всем что помагаете! Завтра облажу всё и снова к Вам))
подозрительно что никого не торкает вопрос блютуза) помоему цикавая штука
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
можете мне подсказать что мне надо для моей задумки и какой интерфейс нужен мне ?
смысл в том что будет раскидано несколько устройств подключеных к сети интернет . а принимать даные с них должны фактически в любом месте где сть инет. физически должна происходить передача данных UART.
какой тип работы контролера изернет нужен для моей затеи - MII, RMII или MIIM . и ещё куда прошивается МАК адрес и IP ? листаю даташит на KSZ8041NL понимаю не всё.
Вначале нужно учить матчасть... - а где она?) я к тому сказал если захотеть что бы не грелось то грется не будет.
наконецто нашол такие регистры PHY Identifier 1 и PHY Identifier 2 я правильно понимаю что сюда мак адрес пишется?
ещё непонимаю что такое Collision Test и надо ли оно в моём случае, и Isolate 1 = Electrical isolation of PHY from MII and
TX+/TX- как это понимать? для чего оно? вроде как трансформаторы на входе... какая изоляция имеется ввиду?
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
ну ответте на вопросы :05: питание это такое... блок питание не проблема. а сколько обычная локальная сеть может дать тока? могу конечно и полезть померять, но может кто и так знает. долгие пути это не на долго у меня)
незнал я что та микруха столько жрёт , но я её для примера привёл меня же просили пояснить просто что я хочу. я и пояснил. думаю нормально. а с потреблением я и так покопаюсь и разберусь на крайняк блок питания есть)))). например LAN8700 потребляет 39 ма. Мк у меня потребляет очень мало.
И насчёт блютуза, вобще это кто то делал за недорого? встретил BGB210S хоть и клас мощности 2 но уже что то ... стоит 12$
кстати если греется изернет контролер - MAX3471 вернее контролер протокола RS485.
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
а я думал тема про блютуз не создалась ) . сори)))
дядя ну какой жучок и ID от 0 до 255 ))) это централизованый збор информации)
"интернет - это понятие растяжимое - абстракная сеть "всех со всеми". К интернету можно подключиться и через LPT порт, GSM, Ethernet, через UART и т.д. и т.п. - через любой интерфейс короче говоря. Так вот через, что вы собрались подключаться? Пока это вопрос подвешен, советовать - нечего..."
я потому и замешкался ... но как я уже писал нужна обычная передача даных UART в оба направления. и подключатся будет UART M88 к микросхеме типа ENC28J60, тоесть через изернет. там было много вопросов которые бы меня направиль хоть немного. Скажите питать устройство возможно в любой локальной сети или же нужна особеная локальная сеть? мне надо 3В и пару милиампер тока.
цитата из статьи-
ENC28J60 – интегральный аппаратный Ethernet-контроллер, поддерживающий физический 10BASE-T PHY (выходной фильтр, режим «кольца») и канальный MAC (поддержка пакетов Unicast, Multicast и Broadcast, пробуждение по приему пакета, режим «кольца») уровни и совместимый со стандартом Ethernet IEEE 802.3.
и я читаю это и понятия не имею а что надо в моём случае... мак адрес... или петлю на шею)) Multicast и Broadcast )
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
Нашол хорошие приёмники для блютуза с USB. но как уже была тут одна ветка . совсем нет доступных модулей / микросхем для простого построения связи на 50-100 метров. но есть дешовые трансиверы того же диапазона 2,4Ггц.
требуется режим SPP (режим удлинителя COM-порта.)
- что подскажите делать... может есть недорогие модули или микросхемы блютуз?
- или можно програмно сделать блютуз на основе дешевых трансиверов?
-
Нашол хорошие приёмники для блютуза с USB. но как уже была тут одна ветка . совсем нет доступных модулей / микросхем для простого построения связи на 50-100 метров. но есть дешовые трансиверы того же диапазона 2,4Ггц.
- что подскажите делать... может есть недорогие модули или микросхемы блютуз?
- или можно програмно сделать блютуз на основе дешовых трансиверов?
-
Уточните - вам нужно устройство с поддержкой интерфейса ETHERnet, или нужен просто выход в INTERnet неважно через какой интерфейс?
Всё очень просто есть М88 надо с него снимать данные и иногда передавать команды. Суть в том что бы воткнул человек у себя устройство в сеть инета , и я смог иметь доступк этому устройству. Может даже в другом городе. Собствено это будет транслятор UART по сети интернет. исходящих даных очень мало, входящих пара десятков байт за день.
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
1- извините это моя не компетентность в вопросах сети. да мак адресов много, но как мне установить для своего устройства имено уникальный мак адрес. вобще смысл в том что бы иметь доступ с програмного обеспечения к любому из устройств по сети интеренет и через мак адрес или другим способом... ну наверное не важно... пока незнаю этих способов и незнаю их преимуществ.
2. да информацию можно передавать когда удобно она не большая + она идёт небольшими такими пакетами по 3 байта около 200 раз в секунду и если есть ошибки то я так полагаю ENC28J60
будет перезапрашивать информацию , и вобще наверное там есть ножка которая может указать мк что микросхема пока занята и я смогу времено прекратить передачу данных.
3. Очень благодарен, конечно мне всё придётся делать самому и в смд, но посмотреть не помешает. сразу хотел спросить что не очень понял - для чего имено такой навороченый стабилизатор... он для питания по изернету? и вы написали "три разъема для подключения питалова, Ethernet и RS485" я думал что Ethernet и RS485 одно и тоже... может что то не понял. просвятите немного?
И ещё вопрос - питание по локальной сети... это - я подойду к любому разьёму любой локалки подключу его в устройство и оно запитается? или сама локалка должна быть переделана так что бы пользоватся возможностью питатся по ней?
-
с адаптером я больше опыта имею и сразберусь, вот мало представляю себе такую вещь- собрался всё... а с какой программы заходить, как обратится имено к этому устройству ... вобщем через какую прогу общатся с моей м88 ...!?
-
подскажите что за режимы работы в сети MII и RMII . вычитал про них в тут http://radio.delanet.ru/content/view/107/39/ в гугле покопался но там не на нашем так сказать написано)
P.S особено буду благодарен если подскажете микроскему которую проще всего юзать. ещё я не говорил - мне надо адресовать 128 устройств лучше все 255
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
Зравствуйте форумчане. Возникла необходимость иметь доступ к данным моего устройства на M88 посредствоим USB и что ещё интереснее через интеренет, потребляет устройство максимум 5 мА. Советы нужны такие:
1 - на каком МК проще всего сделать преобразователь USART - USB, нужна доступность и не большая цена и что бы распаивался попроще. скорости 19кб максимум (сейчас 9600 с головой хватает). Нужен имено преобразователь так как само устройство может быть метров 100 от компа и всё равно нет смысла менять м88 на другой с интерфейсом USB (если ошибаюсь поправте)
2- а вот интеренет будет подключатся к самому устройству и может есть смысл сменить м88 на что то другое из AVR но с подержкой протокола интеренет? или просто какая то скромная внешняя микросхемка для согласования AVR с сетью интернет, если ещё и питать сможет по сети то вобще прекрасно.
Основные требования простота и миниатюрность компонентов (понятно что в разумных пределах)
уже читаю Павел Агуров - Интерфейс USB.djvu
смотрю ресурс http://radio.delanet.ru/content/view/433/39/ .
Может посоветуете интересные статьи и сайты
Ещё забыл сказать что мало что понимаю в протоколе интернета, так что тоже можете натыкать носом куда надо ))
Заранее всем большое спасибо
-
разобрался с IAR. ДА! ICC это гавно полное. я вобще замечал частенько что вроде не ракету сделал а уже avr тормозит . незнаю чем думают имейдж крайфтовци но наверное это лучше незнать.
потреблениес тало 491-2 в любом из 4-х случаев.
и код меньше эдак раза в два
да и переходить на него не тяжело хотя не и нехватает IAR генерилки простейших случаев.
вот та инфа что помогла мне
http://www.avr.nikolaew.org/iarcompiler.htm
http://avr.nikolaew.org/uroki.htm
и плюс поюзать немного iom88p.h и хелп с поиском по слову interrupt
БОЛЬШОЕ СПАСИБО RS7 и остальным участникам
ксатати может в IAR програматор есть? если да то что надо сделать что бы начать им пользоватся?
-
вот кажется немного конкретизировать могу . только немного изменилось потребление потому что не много не так вычеркнул другие пункты програмы. но суть таже.
bit=0 и не меняется нигде в программе
если так:
#pragma interrupt_handler timer2_compa_isr:8
void timer2_compa_isr(void){
unsigned char ocr=OCR2A;idle=1;
if(bit==2){/*ocr+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}*/}
if(bit==3){/*ocr+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;*/}
if(bit==6){/*ocr+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;*/}
OCR2A=ocr+16;}
потребление 495.
если так :
#pragma interrupt_handler timer2_compa_isr:8
void timer2_compa_isr(void){
unsigned char ocr=OCR2A;idle=1;
if(bit==2){ocr+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}}
if(bit==3){ocr+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;}
if(bit==6){ocr+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;}
потребление 520!
ну и ещё немного
if(bit==10){
if(bit==2){/*ocr+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}*/}
if(bit==3){/*ocr+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;*/}
if(bit==6){/*ocr+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;*/}
}
потребление 492!
и ещё одна непонятка
if(bit==10){
if(bit==2){ocr+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}}
if(bit==3){ocr+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;}
if(bit==6){ocr+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;}
}
тоже потребление меньше и = 518! даже не больше 520 как думается.
все токи перепроверял для всех 4-х вариантов. думал может плавают показания...
что скажите ? мне лично на голову не налазит как добавление ещё одной инструкции уменьшило ток и почему не исполняющие инструкции увеличивают ток когда открываю их!? bit обьявлена как unsigned char и нигде не изменяется в программе.
сейчас хочу перекочевать на IAR и тоже всё сравнить. но остановился на описании заголовков прерываний(
-
вы пропустили фразу "для ясности" ))
-
IAR это тёмный лес ( . а там библиотека на подобие iom88v.h есть?
-
большое спасибо , уже воплощаю.
IAR качается
изменения в программе будут только в названии прерываний , или проблем возникнуть может много?
листинги это расширение lst или lis ?
ещё хотел услышать switck с break будет быстрее работать чем if / else ?
-
в данном случае проблема в качестве компиляции, 88p тоже очень экономный в тех режимах что мне нужы.
-
Здравствуйте форумчане. Задача стоит в минимализации поребления AVR что бы устройство работало от батарейки годами. Столкнулся с такой проблемой:
для большей ясности использовал только режими idele в котором потребелние составило - 414мка (прерывания запрещены). при запушеной программе и без использования Idle потребление ~ 1000 мка.
в перывание avr входит по таймеру Т2 который работает в асинхронном режиме и по прерыванию с ножки С1.
в main только if(idle==1){idle=0;SMCR=0x01;asm("sleep");} и if(sleep==1){sleep=0;SMCR=0x07;asm("sleep");} .
некоторые тех данные
частота 1Мц. питание 5В (потом будет 3.6)
PRR=0x8f.
компилятор ICC 6.31A с кряком
вся программа довольно не большая и ясная. Потребеление привёл для того что бы можно было оценивать скорость работы кода.
и теперь сама суть:
#pragma interrupt_handler timer2_compa_isr:8
void timer2_compa_isr(void){ OCR2A+=16;idle=1;
if(bit==10){
if(bit==2){OCR2A+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}idle=1;}
if(bit==3){OCR2A+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;idle=1;}
if(bit==6){OCR2A+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;idle=1;}
}
потребляемый ток 455мка
а если
#pragma interrupt_handler timer2_compa_isr:8
void timer2_compa_isr(void){ OCR2A+=16;idle=1;
if(bit==10){/*
if(bit==2){OCR2A+=H1;if(START==0){TCCR0A=0x42;st_T0();TCCR0B=0x01;}idle=1;}
if(bit==3){OCR2A+=(12-H1);TCCR0A=0xc0;TCCR0B=0x80;st_T0();bit=0;idle=1;}
if(bit==6){OCR2A+=14;PCIFR=7;PCICR=2;PCMSK1=2;bit=0;idle=1;}*/
}
потребляемый ток 435мка.
это при том что bit=0;
вобщем понятно что что то не так. изменение потребления составило 20мкА от 1000мкА тоесть 3 структуры if исполнялись 2% времени. это 20000 тактов. код повторяется 128 раз в секунду. поэтому 3 структуры if исполняются получается ~ 156 тактов!?
что посоветуете ? может использовать структуру switch c breack, или дргой компилятор ? асемблер учить очень не хотелось бы... как минимум потому что нет времени на это.
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
сомнений в програме нет. она работает совсем с другими ножками. ну а как зачем диод? что бы ток не забирала ножка обратно когда становится выходом с лог. 0. если убрать диод то при малых скважностях потребление 20ма и больше, если не делать ножку на входом.
с шотки пока добился максимального кпд.
думаю с IRLML 2505 вобще будет красота, всмысле истоковый повторитель на нём.
-
Опубликовано · Изменено пользователем Electronic) · Пожаловаться
разобрался . Вобщем разница обычных выходов и выхода таймера OCR есть! то что можно сделать на OCR на обычном порте сделать нельзя получается.
я проснулся проверил ещё раз всё. и так как мне важен результат сделал этот диод прямо на выходе OCR. так как програма сложная выложу отрывки кодов (если разбиратся можно разнервничатся):
#define W_ON PORTB|=BIT(1)
#define W_OFF PORTB&=~BIT(1)
#define WD_ON DDRB|=BIT(1)
#define WD_OFF DDRB&=~BIT(1)
есть перывание от таймера Т1. оно большое но в один участок програмы контролер заходит с периодичностью 100Гц. и там написано - WD_OFF;W_OFF;TCCR1A=0x00;TCCR1C=0x80;OCR1A=(T+PWM); - вывод В1 ставится в состоянии выхода без подтягивающего резистора. и принудительно отключается вывод таймера OCR1A от физической ножки В1.
разрешено прерывание при равенстве счётного регистра регистру OCR , и там написано следующее:
#pragma interrupt_handler timer1_compa_isr:12
void timer1_compa_isr(void)
{WD_ON;TCCR1A=0xC0;TCCR1C=0x80;} - тоесть В1 делается выходом, и подключается выход OCR1A в тостоянии 1.
КПД поднялся посравнению с обычным выходом. форма сигнала без провала, и не меняется как при использовании обычного порта. максимальный КПД всё равно вышел только с диодом. но для меня важен сам факт. потребление при использовании OCR возрасло на 0.2мА, с обычной ножки возрастает 0,4ма. и самое важное что с обычной ножки ток возрастал как с диодом так и без! с вывода OCR даже без диода не плохие результаты.
Почему имеет место разница этих выводов я так и не понял, но она есть!
AVR + USB и Internet )
в В помощь начинающему
Опубликовано · Пожаловаться
rezident спасибо большое, уже немного понял всё, начинаю полуавтономное плавание)))