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

kimstik

Свой
  • Постов

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

  • Посещение

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


  1. К сожалению ваши ответы так и не пролили свет на проект в котором вы хотите применить zigbee. Поэтому попробую ответить как можно более обще.

    Для начала надо определится вам нужен zigbee или просто сетевое решение на базе 802.15.4 Если Zigbee то тут скорее всего надо рассматривать Ember.

    Если решение на базе 802.15.4 то можно рассмотреть MIWI, Simplicity и тд. Или написать свой собственный протокол на базе MAC уровня, который предоставляется производителями трансиверов

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

    По поводу аппаратной базы. Если планируется большой рынок, и требуется максимально минимизировать стоимость устройства то стоит рассмотреть моночипы Freescale.

    Если партии не большие то лучше не связываться с радио частью и взять готовые модемы, к примеру, meshnetics (Atmega 128 + AT86RF231)

    Из вашего списка работали с MC13192FC и AT86RF231. Приемопередатчик от Atmel по своим характеристикам лучше.

    Благодарствую за ответ!

    Не хочется заниматься изначально тюнингом, поэтому только стандартный ZigBee. Задача - максимально общий сбор данных (окружающая среда, кнопки, ...)

    Спасибо за Freescale - съекономили мне малость времени на оценке цен. Вполне может быть решающем в последний момент.

    Значит вы подтверждаете акцент на Атмел?

    Меня еще смущает активность TI :) Как они в сравнинии?

     

    ps: вот еще нашел блог интереный по теме http://freaklabs.org/index.php/Blog/Zigbee...420-review.html

  2. Для сбора данных/замены rs232. Скорость не принципиальна.

    Хотелось бы готовый стек.

    Расстояние в пределах помещения. Пусть будет метров 20.

    Разводка и согласование самостоятельно.

     

    Вобщем хочется минимальной цены. Но при этом знать что приносится в жертву (удобство интерфейса, надежность, потребление, цена,...)

    По докам это оценить можно, но не все и не факт что так будет на самом деле.

  3. Сейчас расплодилось огромное количество трансиверов, и очень трудно сделать выбор.

    CC2420

    MC13192FC

    AT86RF231

    MRF24J40

     

    Гдето в сети находил что качество кода стека для TI лучше чем Microchip. Правда голословно.

    То что хорошего в каждом из них - много и везде написано.

    А какие неописанные грабли есть?

    Как жертва рекламы я по видимому падаю на атмель. Как сделать осмысленный выбор?

     

    http://electronix.ru/mkportal/modules/medi...ndex.php/ZigBee

  4. точно не помню :( но нарывался уже на непонимание анонимного union, и вроде как даже не в одном месте. И это был С без плюсов.

    zltigo: вам виднее,и спорить не хочется. мне лично две длинные переменные вместо одной короткой - лишняя сущность (по оккаму).

    Тем не менее хочется отметить что вы везунчик - у вас есть выбор как минимум из 3х подходов реализации задачи :)

  5. Спасибо, я както без мплаба обхожусь. В командной строке.

    Раньше помнится народ баги и вокэраунды собирал/обсуждал хайтечевские.

    Подскажите где нынче все пасутся? Или не актуально стало и все на армы ушли?

  6. Я стараюсь union реже использовать - это одна из самых непереносимых и компилерозависимых вещей.

    Не все компилеры понимают безымяный union. Длинные бестолковые имена. Куча не всегда понятных переменных.

    А то что в хедер для проверки не вставить объявления - это цена вопроса.

    Вы же сами просили решения(хака)? Значит вам за него и отвечать. :)

  7. Меня интересовала именно часть ввода аудио. Поэтому и назвал так.

    Плата находится в месте где кончается USB кабель и начинается аудиокабель до ушей.

    Микросхемки шлифанул производитель.

    В miniUSB всеже 5 контактов - легко проверяемый факт (там еще есть ID).

    Разъем там честный miniUSB но с удлененными контактами питания (hotswap).

     

    Эх!! а я губу закатал - хотел VOIP гарнитуру для ноута сделать из этого.. обломс..

  8. Имхо полный изврат писать под этот контроллер на С.

     

    Целиком и полностью согласен :)

    Более кашерно покупать готовое.

    Но вопрос даже не касался контроллера.

    Я прошу подтвердить/опровергнуть мои опасения что этот компилятор в новых версиях делает худший код.

  9. Купил както такую гарнитуру для моторолы http://www.digibox.ru/catalog/phones/acces...moto_v3_met_st/

    Не удержался и залез внутрь. Удивился найдя там какой-то разум за эти деньги:)

    Я предполагал что будет какой-то хакнутый вариант с передачей аналогового аудио. Провод оказался настоящий 5-проводной USB.

    Выходит что там передается цифра? Если да, то кто тут хост? или OTG?

     

    Кто нить знает как гарнитуры моторольные работают?

    post-2430-1232807975_thumb.jpg

    post-2430-1232807989_thumb.jpg

  10. Вот код который компилится на ура на 9.50pl2. Использует все 2 уровня аппаратного стека.

    Новые версии мало того что чудят не по детски, еще и последний вызов делают с программным стеком.

    Думал что типа корешок для прерываний (которых нету в этом кристалле) случайно поставили. Нет же - убираю последнюю строку с обращением к таблице и вуаля все вызывается с аппаратным стеком!!

    Ежу понятно что этот вызов требует стека, но он никак не приводит к переполнению.

     

    Call graph: (fully expanded)

     

    *_main size 0,0 offset 0

    * _foo size 0,0 offset 0

    * _foo2 size 0,0 offset 0

     

    Просто чума. Впечатление что hitech с 2006 года отдыхает.

    Поэтому родились 2 вопроса:

    1. Может я что попутал и это лечится ?

    1. Есль ли что либо лучше/стабильнее 9.50pl2 ?

     

    #include <pic.h>
    
    const unsigned char tbl[]={0,7,2,5};
    unsigned char i=0;
    
    fastcall void foo2(void)
    {
        i++;
    }
    
    fastcall unsigned char foo(void)
    {
        foo2();
        foo2();
    }
    
    void main(void)
    {
        foo();
        foo();
        GPIO = tbl[i&0x03];
    }

  11. система - XP SP3

    распакован в : e:\work\tools\prg\lng\c\gcc\avr_kgp

     

    скрипт компиляции :

    set PATH=%GCC_ROOT%\avr_kgp\bin;%PATH%
    avr-gcc -v main.c >1.txt 2>2.txt
    pause

     

    переменная GCC_ROOT=e:\work\tools\prg\lng\c\gcc

    Может у тебя переменная GCC_EXEC_PREFIX есть? Её ругают.

    У меня нет ни одной переменной от GCC, только в PATH путь до бинарника.

  12. AT90USB162/82 не самое удачное название для этих чипов. Хотя их название

    начинается с AT90 как у AT90USB128*, AT90PWM* и по аналогии могло показаться

    что в них стоит ядро ATmega, но на самом деле они не имеют инструкций

    умножения, в них стоит ядро как в новых ATtiny. AT90USB82 обладает еще одним

    уникальным свойством, не смотря но то что он имеет всего 8 КВ флеш, в нем

    работают инструкции JMP/CALL и вектора прерываний расположены со

    смещением в 4 байта, а не два как у всех других контролеров с 8 и менее флеш.

     

    AT90USB162/82 реально поддерживаются в GCC с версии 4.3.3

    (может 4.3.2). И то для binutils 2.18 требуется небольшой патч.

     

    Для работы я бы порекомендовал вам использовать WinAVR2080610. Если Вы будете

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

    умножения для этих контроллеров.

     

    Анатолий.

     

    PS: более ранние версии не будут использовать инструкцю MOVW для AT90USB162/82.

     

    Все правильно написано.

    Думаю это кому нибудь будет полезно.

    прико в другом.

    проект легко и непринужденно собирается этим:

    kgp_avr-bu2.18.50.20080115_gcc4.3.0.20080111_avr-libc20080115.7z

    kgp_avr-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_avrlibc1.6.2.7z

    и собранное успешно работает в железе. <---

     

    А 4.3.2 - не желает. И не в процессе выполнения, когда надо делать собственно умножение.

    Возможно патчей каких не хватает. Мне сложно судить.

    Проект кстати достаточно развитый http://www.fourwalledcubicle.com/MyUSB.php

  13. чтото проект не собиратеся под gcc 4.3.2 на at90usb162 - в либах путается

    в kgp_avr-elf_bu2.18.50.20080601_gcc4.4.0.20080530_gdb6.8.20080531_avrlibc1.6.2.7z все собирается на ура

     

    avr-gcc -mmcu=at90usb162 -I. -gdwarf-2 -DF_CPU=8000000UL -DBOARD=BOARD_USBKEY -DUSE_NONSTANDARD_DESCRIPTOR_NAMES -DUSB_DEVICE_ONLY -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED)" -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -finline-limit=20 -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=CDC.o -I../../ -std=gnu99 -Wundef -MMD -MP -MF .dep/CDC.elf.d CDC.o Descriptors.o ../../MyUSB/Scheduler/Scheduler.o ../../MyUSB/Drivers/USB/LowLevel/LowLevel.o ../../MyUSB/Drivers/USB/LowLevel/Endpoint.o ../../MyUSB/Drivers/USB/LowLevel/DevChapter9.o ../../MyUSB/Drivers/USB/HighLevel/USBTask.o ../../MyUSB/Drivers/USB/HighLevel/USBInterrupt.o ../../MyUSB/Drivers/USB/HighLevel/Events.o ../../MyUSB/Drivers/USB/HighLevel/StdDescriptors.o --outp

    ut CDC.elf -Wl,-Map=CDC.map,--cref -Wl,--relax -Wl,--gc-sections -lm

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr35/crtusb162.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:51 architecture of input file `CDC.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:51 architecture of input file `Descriptors.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Scheduler/Scheduler.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/LowLevel.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/Endpoint.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/LowLevel/DevChapter9.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/USBTask.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/USBInterrupt.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/Events.o' is incompatible with avr:3 output

    e:/!cc/gcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: avr:4 architecture of input file `../../MyUSB/Drivers/USB/HighLevel/StdDescriptors.o' is incompatible with avr:3 output

    make: *** [CDC.elf] Error 1

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