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

O.L.

Свой
  • Постов

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

  • Посещение

Весь контент O.L.


  1. Из дешевых с PCA на борту в Москве можно купить вот этот ToolStick там контроллер C8051F931. Он же но с USB "свистком" отладчиком стоит дороже почти на 3 т. руб.
  2. Как сконфигурированн в Вашей программе вывод RST/NMI и есть ли обработчик события по NMI если этот вывод настроен как вход немаскируемого прерывания? Если у Вас MSP430 конечно ;)
  3. Вряд ли кто нибудь из наших ответит. Сам не так давно интересовался этим вопросом. Возможно добытая мной информация Вам чем то поможет. Сначала нашел в сети такой вот документик "http://www.magazines007.com/pdf/High-Voltage-PCDesign.pdf", в нем утверждается: "For multilayers, the internal layers are imaged and etched as in a single sided board. They are laminated together with core material using uncured prepreg material. The cores provide the support and insulation between the copper trace layers. After pressing in a 100 ton hydraulic machine, the laminated board is processed like a double-sided board. ... " В разговорах с технологами, услышал такое же утверждение, а заодно и рекомендации увеличить зазоры между высоковольными проводниками во внутренних слоях процентов на 50 в отличии от "верхних" слоёв TOP и BOTTOM.
  4. Может быть это будет интересно - "http://vk.com/reprap". Молодой коллектив из Новосибирска.
  5. А Вы можете боле менее грамотным техническим языком описать в чем заключается главное на текущий момент Ваше затруднение с этим проектом?
  6. Давно говнокодил на PIC12. Так что ежели что, ногами не пинайте. #define serial_out 0x20 /// --- 4 MHz CPU Fosc definition ----------------------------------- // #ifdef CPU_FOSC_4MHZ //#define FOSC 4000000L #define XMIT_DELAY (((FOSC/4)/19200)-12) // for 4mHz internal oscillator unsigned char delayus_variable; #define DelayDivisor 4 #define WaitFor1Us asm("nop") #define Jumpback asm("goto $ - 2") #define DelayUs(x) { \ delayus_variable=(unsigned char)(x/DelayDivisor); \ WaitFor1Us; } \ asm("decfsz (_delayus_variable)&0ffh,f"); \ Jumpback; #endif /// --- 8 MHz CPU Fosc definition ----------------------------------- // #ifdef CPU_FOSC_8MHZ //#define FOSC 8000000L #define XMIT_DELAY (((FOSC/4)/19200)-18) // for 8mHz internal oscillator unsigned char delayus_variable; #define DelayDivisor 4 #define WaitFor1Us asm("nop"); asm("nop") #define Jumpback asm("goto $-3") #define DelayUs(x) { \ delayus_variable=(unsigned char)(x/DelayDivisor)-3; \ WaitFor1Us; \ WaitFor1Us; } \ asm("decfsz (_delayus_variable)&0ffh,f"); \ Jumpback; #endif /// --- init software COM hardware ------------------------------------------- // void InitComms(void) { TRISIO &= ~serial_out; // Tris GP2 - set as output cTmpSerial = GPIO; cTmpSerial |= serial_out; GPIO = cTmpSerial; } /// --- putchar ----------------------------------------------------- // void putbyte(unsigned char byte) { static bit bGIE_Save = 0; unsigned char bit_count; /// InitComms(); __wdt_reset(); if(GIE) // Test GIE bit { // IF GIE bit is SET! GIE = 0; // Disabled GLIBAL Interrupt bGIE_Save = 1; // Set GIE Temporary bit } // asm("nop"); bit_count = 11; // Send S 8bit N P cTmpSerial &= ~serial_out; // Send Start bit GPIO = cTmpSerial; WaitFor1Us; WaitFor1Us; do{ DelayUs(XMIT_DELAY); if(byte & 0x01) { cTmpSerial |= serial_out; GPIO = cTmpSerial; } else { cTmpSerial &= ~serial_out; GPIO = cTmpSerial; } byte = (byte >> 1) | 0x80; }while (--bit_count); // if(bGIE_Save) GIE = 1; // restore GIE bit asm("nop"); DelayUs(XMIT_DELAY/2); } /// --- bin to HEX convertor ---------------------------------------- // Send Binary to ACII convert // void sendBYTE( unsigned char data ) { /* putbyte (0x30); putbyte ('x'); */ //Send high nibble if( (data>>4) > 9 ) putbyte( 'A' - 10 + (data>>4) ); else putbyte( '0' + (data>>4) ); //Send low nibble if( (data&0x0F) > 9 ) putbyte( 'A' - 10 + (data&0x0F)); else putbyte( '0' + (data&0x0F) ); }
  7. Если вопрос "теоретический", то для произвольного абстрактного радиомодуля (приемник/передатчик) и просто произвольного абстрактного приемника, работающих на одной и той же частоте, с одинаковой модуляцией, полосой и чувствительностью, расстояние уверенной связи в вакууме будет зависеть от типа организации связи, а именно симплексный тип передачи или дуплексный. Для простых видов модуляции и симплексном типе организации связи, в вакууме, расстояние уверенной передачи данных между приемопередатчиками и приемопередатчиком и просто приемником будет одинаковое, при условии применения равноценных антенн. При дуплексном типе организации связи, и тех же условиях, расстояния уверенной передачи данных для двух приемопередатчиков и приемопередатчиком и приемником будут разными.
  8. В том, что касается искробезопасности, микросхемы считаются безусловно повреждаемыми элементами, то есть во время сертификации, при анализе искробезопасности предложенного решения, эксперт имеет право считать микросхему или как короткозамкнутую цепь или как полностью разомкнутую, причем в с разными выводами по разному, в зависимости от того, какой вариант хуже с точки зрения обеспечения безопасности. И это безусловное повреждение не учитывается при анализе. А так да, хорошая у АD микросхемка ;-).
  9. Первое. Рекомендую все же сначала внимательно изучить основной ГОСТ Р 51330.10-99 "http://forca.ru/knigi/gost/iskrobezopasnaya-elektricheskaya-cep-i-gost-r-51330.10-99.html" Второе. При напряжении питания 3,3 Вольта, мощность достаточная для воспламенения метановоздушной смеси позволяет в большинстве случаев безопасно работать с током до 3 А, со всеми прочими ограничениями конечно. В основном требуется понимание величины присоединяемой емкости и индуктивности, ну и собственную емкость источника и его индуктивность. Поэтому подозреваю, что "искробезопасные" 70 мА, скорее всего взяты с потолка. Во всяком случае, без понимания природы нагрузки и погонных параметров подключаемой линии, для принятия инженерного решения приведенных Вами исходных данных недостаточно. Третье. Если речь идет об источнике питания, то следует обратить внимание на индуктивность трансформатора обратно ходового преобразователя, в нем обязательно наличие заземленной (лучше двойной) "разделяющей" обмотки, так же наличие троированных ограничителей по напряжению во всех каналах вторичного питания и плавких предохранителей перед ними и перед искробезопасными барьерами. Входная цепь так же должна быть защищена. Критерий правильной реализации для всех искробезопасных барьеров простой - не допустить в короткозакнутой выходной цепи накопление энергии достаточной для поджигания метановоздушной смеси в самом худшем, с точки зрения искробезопасности, случае. Хоть это и просто звучит, реализовать это не всегда просто.
  10. обратите внимание на ток по всем портам: Обычно для управления светодиодами пользовали транзисторы, "цифровые транзисторы" PDTA114E PDTC114E особенно "в тему".
  11. Насчет ADuC-ов не подскажу. А вот на SiLabs можно что нибудь и прикупить в "Терре". Например вот эту плату и отладчик.
  12. Многоуважаемый, а вот если Вы вдруг увидите на детской площадке, в песочнице, окурок и использованный презерватив, Вы 4-х летних детишек то же начнете подозревать в СТРА-А-АШНОМ разврате? Да.. :-) ?
  13. Для беспроводных сетей Ethernet есть ориентировочные данные по передаче голоса: • G.711: (160+58) x 8 x 50 / 1000 = 87,2 кбит/сек на один разговор • G.729: (20+58) x 8 x 50 / 1000 = 31,2 кбит/сек на один разговор Если парни сделают меньшую избыточность служебных данных в пакете, вместо 58 байт сделают например 48, что сеть типа "mesh" в рамках стандарта 802.15.4 допускает, то требования к пропускной способности и устойчивости канала будут несколько "полегче". Правда я не думаю, что даже в этом случае при передаче голоса сеть не ляжет. Мало данных, опираясь на которые можно что то реальное советовать. Непонятно сколько хопов должно транслировать голосовой трафик, неизвестна активность всей сети датчиков... Да вообще, топикстартер озвучил странные требования - И это заставляет таки согласиться, - "голландские" грибы будут по забористее наших сибирских :rolleyes:.
  14. Общение с хостом

    В схеме есть оптопары, задумайтесь об их назначении :).
  15. Общение с хостом

    Грубых ошибок нет, работать будет, если конечно имена контактов подключить к правильным выводам разъема COM порта, потому как сейчас на вашем рисунке это не так. Если порт компьютера окажется маломощным, или окажется что необходимый рабочий диапазон напряжения не 0..+5 В а -5..+5 то надежно эта схема работать не станет. Есть более проверенные решения , хотя на компьютерах, COM порт которых требует двух полярного сигнального напряжения, не будут работать и они. Правда в последние пять шесть лет лично мне такие не попадались. Возможно из-за того, что за редким исключением, все это время использую микроконтроллеры с USB или преобразователи USB to Serial (TTL level).
  16. Для того, что бы получить правильный ответ нужно: 1. Огласить наконец частоту кварцевого резонатора. Я надеюсь, Вы уже поняли, что его частота неким образом влияет на скорость передачи данных. 2. Ни у Вас ни у присутствующих нет понимания, что делает ваша программа в основном цикле. А есть ли он? Так что - "код в студию". 3. Светодиод конечно хорошо, но его наличие сильно мешает нормальной работе с COM портом. Да, а как Вы реализовали связь между TTL уровнями последовательного порта контроллера и COM портом компьютера? Микросхема MAX232 или аналогичная в схеме Вашего отладчика имеется? 4. Воля Ваша, но ProView3 не совсем хороший выбор даже для начала освоения микроконтроллеров. Keil гораздо лучше. TI = 0; /* clear transmit interrupt */ /*------------------------------------------------ Set timer 1 up as a baud rate generator. ------------------------------------------------*/ TR1 = 0; /* stop timer 1 */ ET1 = 0; /* disable timer 1 interrupt */ PCON |= 0x80; /* 0x80=SMOD: set serial baudrate doubler */ TMOD &= ~0xF0; /* clear timer 1 mode bits */ TMOD |= 0x20; /* put timer 1 into MODE 2 */ TH1 = (unsigned char) (256 - (XTAL / (16L * 12L * baudrate))); TR1 = 1; /* start timer 1 */ EA = 1; /* Enable Interrupts */ } //где XTAL == частота кварцевого генератора например 12000000UL // baudrate == скорость передачи например 9600 В принципе можно значение которое загружается в регистр TH1 посчитать на калькуляторе. Калькулятор
  17. Я так понимаю, что пользуетесь Вы симулятором от Franklin Software, или такое поведение наблюдается на реальном кристалле? Правда я уже не вспомню, какой отладчик, кроме монитора на последовательный же порт, к Franklin-у можно было "прикрутить".
  18. Цитирую "компетентного" вопрошальщика... SoftBaugh выпускает только одно изделие на LPT порт, которое может прожечь фьюзы у микроконтроллеров семейства MSP430F1xxx. Если позволите себе немного потрудится, то на сайте SoftBaugh сможете все это увидеть. Именно там и расположен тот самый микроконтроллер, перешив который можно получить программатор с необходимыми функциями, в том числе и с отключением JTAG. Или Вы на самом деле считали, что любая поделка именуемая FET может это делать? Мало того, что Вы хам, Вы еще и не в состоянии разбираться в предоставленной информацию. Опять же, если бы Вы позволили своему драгоценному лобику хоть чуть чуть вспотеть, то в документе SLAA149.pdf обязательно бы нашли главное условие при котором возможно пережечь фьюзы. Вы в своем LPT-шном программаторе повышающие преобразователи видели? Так что - "Учите мат часть, Шура"!
  19. А IAR то тут при чем? Вы используете поделие от SoftBaugh, так вот там все концы собственно и ищите. Во всяком случае на сайте есть неплохой FAQ. Я так же подозреваю, что помимо этого на сайте TI Вам придется отыскать последнюю версию файлов SLAA149 (pdf+zip). Скорее всего там найти требуемый файл "replicator.c", поправить его, собрать в IAR-е проект и зашить контроллер F149 на плате Вашего LPT программатора/JATG отладчика. В общем, купив его, Вы обрекли себя на нелегкую судьбу "Левши-Кулибина". Но, если все сделаете и доведете апгрейд отладчика до конца, то приобретете некий опыт, возможно даже полезный :).
  20. Не уверен, что он в IAR-е должен быть активным. Но вот что рекомендуют сами творцы этого LPT чудо девайса:
  21. У меня куплена партия кристаллов f930 ревизии с1 и есть немного e3. С точки зрения "подвисания" во время нахождения в sleep разницы не заметил. Если не секрет, как Вы выполняете переход в sleep? С отключением crossbar-а или нет? Для минимизации потребления в sleep это принципиально. Во всяком случае для меня.
  22. Боюсь, что не совсем точно понял описание проблемы. То есть Вы включаете контролер в работу, он выполняет некие действия и после этого уходит в длительный и непрерывный sleep? Или все же есть какая то периодическая процедура, которая пробуждает контроллер, а он, в свою очередь, выполнив заданную работу снова погружается в сон? В первом случае SiLabs не может долго находится по причине реализации механизма sleep. Не помню точно в каком топике, в конференции на "родном" сайте, некий Tsuneo писал, что из-за утечек контроллер не может гарантированно сохранять содержимое регистров больше недели. Поэтому рекомендованный режим работы длительный sleep не более суток. Потом "побудка", обязательно пере прописать базовые настройки периферии и данные сохраняемые в RAM, после этого можно опять спать. У меня есть изделие на f930 которое питается от батарейки и реализует именно такой принцип работы. В свое время озадачился похожей проблемой. У меня длительность состояния sleep, после которого контроллер надежно просыпался, составила не более 3-х суток.
  23. Операция READ_MODIFY_WRITE над портом ввода/вывода является причиной "пляски". Можно решить эту проблему не перекидывая выводы порта. В начале программы , сразу после инициализации, записываем в сам порт, временный регистр вывода порта и tris нужные значения. BANKSEL PORTA movlw INIT_PORTA movwf cTemp_PORTA movwf PORTA BANKSEL TRISA movlw INIT_TRISA movwf TRISA В программе всегда организуем вывод через временный регистр порта. BANKSEL PORTA bcf cTemp_GPIO,bLed ; Led ON! movf cTemp_GPIO,w movwf PORTA
  24. ICSP pic24

    Поддерживаю. Особенно применение осциллографа. И еще, - R20 тянет сигнал PGD1 к "виртуальным" 5-ти Вольтам. А какой у него номинал?
  25. А в Гугле спросить? Или религия не позволяет... http://embedded.ifmo.ru/index.php/support/sdk-11
×
×
  • Создать...