Перейти к содержанию
    

Serg24

Участник
  • Постов

    97
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Serg24


  1. очень извиняюсь , но перечитал тему и вобщем незнаю ещё что такое uIP (

     

    Вы уж определитесь, что надо - TCP/IP, Ethernet, USB, Bluetooth, COM port - буду делать всё это. вобще хотял пару веток но меня сразу в одну определили)) хотя считаю темы разные.

     

    насчёт TCP/IP, Ethernet - но этого момента думал это одно и тоже) разница в том что в первом случает IP не локальные а во втором локальные? или плюс TCP/IP это протокол а изернет физическая локальная сеть ?

  2. могу сказать только УГУ) . да не очень всё радужно ... но ничего. Значит насчёт интернета - я так понимаю мне нужен контролер с мак адресом. и разобратся в принципах работы сети и принимать данные идущие на этот мак адрес. можно ли напрямую обращатся к мак адресу без IP ? или провайдеры только IP адреса маршрутиируют.

    вопрос конечно не сверкает умом автора))) но пока ещё неуспел перечитать литературу)

     

    и насчёт радио связи. свой протокол придумаю. при моих скоростях хоть обратная пересылка байта и ответ что байт принят правильно). Вот хотелось бы уже начать програмировать уже какой то авр с интерфейсом USB. какой самый примитивный?)) и дешевый? он будет просто работать буфером между приёмником что выдаёт в SPI и протоколом USB. конечно на первое время мне и СОМ порта хватит...

  3. Спасибо XVR что так подробно расписали. Я писал что понятий об интернет ещё не имею спасибо что растолковали.

     

    Решил осваивать интеренет во вторую очередь а в первую сделать радио доступ к СОМ или USB порту. Вобще думал трансиверы для 2.4 Ггц использовать но как то боюсь что распростра нение WI FI и блютуз может хорошо напакостить этому диапазону.

     

    Хотел просто по блютуз зделать связь но кажется в этом направлении пропасть да ещё и дорогая.

     

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

  4. бльшое спасибо уже начинаю немного проникатся . ещё мне бы многое дало если бы я уже понмиал куда мак адрес и ip прошивается при использовании реального изернет контролера. конечно если есть время и желание. современем понятно что и так разберусь.

     

    Большое спасибо всем что помагаете! Завтра облажу всё и снова к Вам))

     

    подозрительно что никого не торкает вопрос блютуза) помоему цикавая штука

  5. можете мне подсказать что мне надо для моей задумки и какой интерфейс нужен мне ?

    смысл в том что будет раскидано несколько устройств подключеных к сети интернет . а принимать даные с них должны фактически в любом месте где сть инет. физически должна происходить передача данных 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- как это понимать? для чего оно? вроде как трансформаторы на входе... какая изоляция имеется ввиду?

  6. ну ответте на вопросы :05: питание это такое... блок питание не проблема. а сколько обычная локальная сеть может дать тока? могу конечно и полезть померять, но может кто и так знает. долгие пути это не на долго у меня)

     

    незнал я что та микруха столько жрёт , но я её для примера привёл меня же просили пояснить просто что я хочу. я и пояснил. думаю нормально. а с потреблением я и так покопаюсь и разберусь на крайняк блок питания есть)))). например LAN8700 потребляет 39 ма. Мк у меня потребляет очень мало.

     

    И насчёт блютуза, вобще это кто то делал за недорого? встретил BGB210S хоть и клас мощности 2 но уже что то ... стоит 12$

     

    кстати если греется изернет контролер - MAX3471 вернее контролер протокола RS485.

  7. а я думал тема про блютуз не создалась ) . сори)))

     

    дядя ну какой жучок и 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 )

  8. Нашол хорошие приёмники для блютуза с USB. но как уже была тут одна ветка . совсем нет доступных модулей / микросхем для простого построения связи на 50-100 метров. но есть дешовые трансиверы того же диапазона 2,4Ггц.

    требуется режим SPP (режим удлинителя COM-порта.)

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

    - или можно програмно сделать блютуз на основе дешевых трансиверов?

  9. Нашол хорошие приёмники для блютуза с USB. но как уже была тут одна ветка . совсем нет доступных модулей / микросхем для простого построения связи на 50-100 метров. но есть дешовые трансиверы того же диапазона 2,4Ггц.

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

    - или можно програмно сделать блютуз на основе дешовых трансиверов?

  10. Уточните - вам нужно устройство с поддержкой интерфейса ETHERnet, или нужен просто выход в INTERnet неважно через какой интерфейс?

     

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

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

     

    2. да информацию можно передавать когда удобно она не большая + она идёт небольшими такими пакетами по 3 байта около 200 раз в секунду и если есть ошибки то я так полагаю ENC28J60

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

     

    3. Очень благодарен, конечно мне всё придётся делать самому и в смд, но посмотреть не помешает. сразу хотел спросить что не очень понял - для чего имено такой навороченый стабилизатор... он для питания по изернету? и вы написали "три разъема для подключения питалова, Ethernet и RS485" я думал что Ethernet и RS485 одно и тоже... может что то не понял. просвятите немного?

     

    И ещё вопрос - питание по локальной сети... это - я подойду к любому разьёму любой локалки подключу его в устройство и оно запитается? или сама локалка должна быть переделана так что бы пользоватся возможностью питатся по ней?

  12. с адаптером я больше опыта имею и сразберусь, вот мало представляю себе такую вещь- собрался всё... а с какой программы заходить, как обратится имено к этому устройству ... вобщем через какую прогу общатся с моей м88 ...!?

  13. подскажите что за режимы работы в сети MII и RMII . вычитал про них в тут http://radio.delanet.ru/content/view/107/39/ в гугле покопался но там не на нашем так сказать написано)

     

     

    P.S особено буду благодарен если подскажете микроскему которую проще всего юзать. ещё я не говорил - мне надо адресовать 128 устройств лучше все 255

  14. Зравствуйте форумчане. Возникла необходимость иметь доступ к данным моего устройства на 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/ .

    Может посоветуете интересные статьи и сайты

     

    Ещё забыл сказать что мало что понимаю в протоколе интернета, так что тоже можете натыкать носом куда надо ))

     

    Заранее всем большое спасибо

  15. разобрался с 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 програматор есть? если да то что надо сделать что бы начать им пользоватся?

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

    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 и тоже всё сравнить. но остановился на описании заголовков прерываний(

  17. большое спасибо , уже воплощаю.

    IAR качается

    изменения в программе будут только в названии прерываний , или проблем возникнуть может много?

    листинги это расширение lst или lis ?

     

    ещё хотел услышать switck с break будет быстрее работать чем if / else ?

  18. Здравствуйте форумчане. Задача стоит в минимализации поребления 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, или дргой компилятор ? асемблер учить очень не хотелось бы... как минимум потому что нет времени на это.

  19. сомнений в програме нет. она работает совсем с другими ножками. ну а как зачем диод? что бы ток не забирала ножка обратно когда становится выходом с лог. 0. если убрать диод то при малых скважностях потребление 20ма и больше, если не делать ножку на входом.

    с шотки пока добился максимального кпд.

     

    думаю с IRLML 2505 вобще будет красота, всмысле истоковый повторитель на нём.

  20. разобрался . Вобщем разница обычных выходов и выхода таймера 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 даже без диода не плохие результаты.

     

    Почему имеет место разница этих выводов я так и не понял, но она есть!

×
×
  • Создать...