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

vesago

Свой
  • Постов

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

  • Посещение

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


  1. Я работал с XT55. Не думаю, что с TC63 идеологически что поменялось. Для нормальной работы с модулем через уарт достаточно TXD RXD и земли. Второй уарт я вообще не пользовал. Данные по CSD передавла. Остальные ноги полезны для обмена с хэндшейком ну или для дополнительных функций типа переключения в командный режим из передачи данных и т.п., которые пользовать дело вкуса. По шумам не беспокойтесь не создаст он вам проблем ни каким макаром. В документации кстати все детально расписано. Может вы качнули какой обзорный мануал - качните http://euromobile.ru/documents.php или попробуйте у них спросить по 63i.

  2. Имхо проблема с синфазной напругой будет актуальна если питать от разных источников. Тогда да - может настать момент, когда у какого узла по сравнению с другим уровень а допустим выйдет за границы. Но когда от одного источника + растяжки, такой казус маловероятен.

  3. МТ-ЛИНК продается в терраэлектронике, а значит возит его все кому не лень. Я брал в Альфасофте без проблем. Можно в имелкоме заказать - они даже выслать могут. Если не лень самому делать, Дасм выкладывал сабж. Мне больше нравится продукция NXP, что и тебе советую. Бери LPC2368 какой или из этой оперы. В этом году пояывятся кортексы, которые по ногам совместимы - останется только прогу слегка поправить и перекомпилить.

  4. Респект yeharayeu! Практически с нуля поднял. Глаза боятся, а руки делают :) Соглашусь с av-master. датафлешь идеально подходит для этого приложения. По крайней мере я во все свои устройства ставлю. Память до 8 метров, два срам буфера, скорость приличная, корпуса, цена. Что еще нужно? Некоторые придерживаются другой школы - SD, MMC. Наверное это дело вкуса. Мне не нравится необходимость разъема. И настараживает эксплуатация в условиях вибраций.

  5. Может ошибаюсь, но что-то смутно вспоминается, что a52 только по бфб пашет -> управление ат командами не прокатит. А вообще на электрониксе есть спец подфорум по мобильным вопросам. Можете там глянуть. По бфб имхо сложновато будет общаться.

  6. Все просто. Регистры соединяются последовательно. Есть два байта - образ данных в регистрах. Если нужно изменить соостояние какого выхода регистра, меняем соответсвующее значение в слове образе и по SPI задвигаем, затем дергаем строб, чтобы данные из сдвигового регистра перкинуть в выходной регистр.

    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    //
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    void SPI_Init(void)
    {
      SPI_PORT |= (1<<SCK)|(1<<MOSI)|(1<<MISO);
    
      SPI_DDR |= (1<<SCK)|(1<<MOSI);
      SPI_DDR &= ~(1<<MISO);
    
      SPSR = (1<<SPI2X);
      SPCR = (1<<SPE)|(1<<MSTR);  //Mode 0
    }
    
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // Записываем байт
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    void SPI_Write_Byte(u8_t b)
    {
      SPDR = b;
      while ((SPSR & (1<<SPIF)) == 0);
    }
    
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // Читаем байт
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::
    u8_t SPI_Read_Byte(void)
    {
      SPDR = 0x00;
      while ((SPSR & (1<<SPIF)) == 0);
      return SPDR;
    }
    
    #define    Cell_Lock_Strob()               {PORTD |= (1<<CELL_LOCK_STROB); PORTD &= ~(1<<CELL_LOCK_STROB);}
    #define    Cell_Lock_Clr()                   {PORTD &= ~(1<<CELL_LOCK_CLR); PORTD |= (1<<CELL_LOCK_CLR);}
    #define    Cell_Load_Image(image)                   {SPI_Write_Byte((u8_t)(image>>8)); SPI_Write_Byte((u8_t)image);}
    #define    Cell_Lock_ON(i)                  {cell_lock_image |= (1<<i); Cell_Load_Image(cell_lock_image); Cell_Lock_Strob();}
    #define    Cell_Lock_OFF(i)    {cell_lock_image &= ~(1<<i); Cell_Load_Image(cell_lock_image); Cell_Lock_Strob();}

  7. для 485 еще нужно дергать направление прием/передача. Можно программно, можно соорудить примитивную схему на диоде, кондере, резаке и ключе, которая сама переключит как надо. И работать как по 232 не забывая о полудуплексе. Протокол типа - мастер шлет С0 05 00 LRC, слейв отвечает C0 05 00 01 LRC. C0 - маркер начала, 05 - адрес для примера, 01 - код нажатой кнопки, LRC - понятно. Прога постоянно сканирует сеть и обрабатывает принятные данные. Я бы не напрягался особо взял m168. Приятно, когда не надо о ресурсах заботиться.

  8. Я в свое время собирал самопал авр910 на тини2313. Пользовал авросп2. Авреал не поддерживает этой железки. Я сам отрицательно отношусь к софтовым юсб на авр, но что поделать - деньги то уплочены.

  9. У меня есть Dragon, но только ради отладки через дебагваре. Предпочитаю программить туксографовским клоном аврисп. В оригинале он через юсб, я подключаю к кому. Имеется авр910 и под авреал. Но лучше всего аврисп. Деталей по пальцам посчитать можно, если что и спалить не жалко.

  10. Почитал я эту статью и так и не понял зачем она в данной теме. Там что между строк надо находить нужную информацию?! Вообще ни одного слова, которые были бы полезны :07:

    В статье действительно напрямую не расписываются в деталях особенности алгоритма обработки ат команд, зато к статье прикладвается SMStest_PRG.zip в котором исходники на с, которые я и предлагаю глянуть.

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

  12. Типичный заголовок

    void Create_IP_Header(unsigned char *ip_header, unsigned char protocol, unsigned int total_len,
                          unsigned int id, unsigned long src_addr, unsigned long dst_addr)
    {
      *((unsigned char*)ip_header + IP_HDR_VER_LEN) = 0x45;                                         //Version + IHL
      *((unsigned char*)ip_header + IP_HDR_TOS) = 0x00;                                             //ToS
      *(unsigned int*)(unsigned char*)((unsigned char*)ip_header + IP_HDR_TOTAL_LEN) = __reverse(total_len);        //Total Lenghth
      *(unsigned int*)(unsigned char*)((unsigned char*)ip_header + IP_HDR_ID) = __reverse(id);      //Identification
      *((unsigned char*)ip_header + (IP_HDR_FLAG_FRGT_OFFSET + 0)) = 0x40;                          //Flags + Fragment Offset. MF = 0, DF = 1
      *((unsigned char*)ip_header + (IP_HDR_FLAG_FRGT_OFFSET + 1)) = 0x00;                          //Fragment Offset
      *((unsigned char*)ip_header + IP_HDR_TTL) = 0x80;                                             //TTL
      *((unsigned char*)ip_header + IP_HDR_PROTOCOL) = protocol;                                    //Protocol
      *(unsigned int*)(unsigned char*)((unsigned char*)ip_header + IP_HDR_CHECKSUM) = 0;                            //IP Checksum
      *(unsigned long*)(unsigned char*)((unsigned char*)ip_header + IP_HDR_SRC_ADDR) = __reverse(src_addr);         //SRC IP ADDR
      *(unsigned long*)(unsigned char*)((unsigned char*)ip_header + IP_HDR_DST_ADDR) = __reverse(dst_addr);         //DST IP ADDR
    }

  13. По согласаованию уровней. Хочу обратить внимание, что иногда бывают проблемы из-за наличия тригера шмидта по входу. У PIC они кажись есть. Через это нужно обеспечить не только защиту от перенапряжения, но и необходимый уровень. Мне лично делители и стабилитроны не очень нравятся. Я ставлю или преобраз на полевиках или что-то типа 74LVC125, запиатнную от 3В. Питатель я делал на MIC4576-5. Если еще дешевле нужно, тогда MC34063. Хотя тогда дроссель может дороже выйти. Напругу для питания GSM понизил двумя диодами. Смотрю у вас 485 имеется. Неплохо было бы по выходу сделать растяжки и поставить ограничители. Еще момент. Я бы на вашем месте обеспечил возможность доступа с компьютера к GSM к GPS и к uC. По альтиуму - если память не изменяет выделяется нужная область, потом тыркается конпка в правом верхнем углу Alignment Tools и в вывалившемся меню нижняя кнопка алигн обджектс ту снап грид.

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