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

rvk

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о rvk

  • Звание
    Частый гость
    Частый гость
  • День рождения 10.03.1972

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Не будет ли уважаемый doomer#qp так любезен ответить на вопросик И чего это Вы так суетитесь в разделе работа в России, находясь в любимой Америке. Там что мало своей работы?
  2. for(i=0;i<100;i++){SREG;} Означает прочитать 100 раз содержимое регистра SREG в никуда.
  3. Нужно не присваивать, а копировать три байта подпрограммой memcpy, тогда сработает. if (znako_mesto2==0x05) memcpy(buff[2],(unsigned char*)c5,3);
  4. Вот такой код сработает при любом уровне оптимизации. for(i=0;i<100;i++){ PORTC=1; }
  5. Про задержку верно, только вместо 10000 поставить 100, этого должно с запасом хватить.
  6. Вариантов море и маленькая чашечка. Возможно питание срабатывает, стек переполняется, то что Вы его увеличили не гарантия. Допустим программа влетает в цикл вызова одной и той же подпрограммы из нее, ну и все, он Вам ее будет вызывать до бесконечности, тут и 512 Мб стека не хватит:) Очень трудно сказать вот так вслепую, неизвестно, какое питание, какая схема обвязки процессора, какими портами и как часто он дергает, какие условия эксплуатации, как разведена плата, может у Вас кз на плате, и порт, который дергается раз в 5 часов сбрасывает процессор.Дайте больше информации.
  7. Если у Вас трудности с прерыванием, зачем его вообще организовывать? Можно предположить, что SIGNAL(SIG_OVERFLOW0) это прерывание от Timer0, и когда отстреляется 28 прерываний и в это время a=0 запускаются лампочки. После того как лампочки отстрелялись, устанавливается PORTC=1 и тут же PORTC=0, все происходит очень быстро, возможно, маловероятно, но возможно, второй борд не успевает словить этот импульс. У Вас в программе есть цикл for(i=0;i<10000;i++) , который заблокирован в тексте программы. Уберите две черты "//" и сделайте хотя бы for(i=0;i<100;i++) ; Этого должно с гарантией хватить на ширину импульса. Если после этого не сработает, можно отказаться от прерываний. Процессор все равно простаивает, во время ожидания импульса на PORTD0, вот пусть опрашивает PIND и обрабатывает импульс. Можно вообще отказаться от прерываний. Если Вы скажете, что это возможно, приведу здесь текст модуля без прерываний. PS: пока писал текст опередили, но менять не буду, кашу маслом не испортить:)
  8. Может он нужен для определения износа конденсаторов, и измерения тока утечки, или снижения емкости конденсаторов.
  9. Верно, нужно либо купить, либо спаять переходник CAN-USB, можно купить RS232-USB и переделать на CAN, и подключать машину прямо к USB порту. Если есть порты, тогда CAN RS232. Вообщем есть где мысли развернуться. С другой стороны у Atmel есть целая серия чипов специально для Automotive приложений. Например AT90CAN32, встроенный CAN контроллер, плюс два UART, правда не знаю как с доставаемостью. Да эта IF мега не нужна, если есть целый комп. Мега8 может потянуть до трех программных UART на 9600, по идее. Другое дело, что на каждый программный UART нужен таймер и компаратор. Поэтому больше четырех врядли удастся сделать на одном чипе. То есть три программных, один аппаратный. Правда на мой взгляд, это нагрузка, которую нужно проверять. Я например, на первый дизайн, взял бы сразу ATMega64, покупается один раз, если нормально сделать, она там долго проработает. У нее два аппаратных UART, куча выводов. Она точно потянет два софтовых UART плюс два аппаратных.
  10. При запекании в печке они не расплавятся, но если брать танталовый конденсатор на 1000x25 да еще и на ток 2А таких не бывает:), остаются алюминивые. А алюминивые SMD элеткролиты очень легко отламываются, правда стоят недорого. Вот две модели : алюминиевый EMVH250GTR102MMN0S http://www.chemi-con.co.jp/e/catalog/pdf/a...mvh-e-080829.pd от Chemicon 1000uF 25V 1.55A а вот совсем простой от Panasonic EEV-FK1E102Q http://industrial.panasonic.com/www-data/p...ABA0000CE88.pdf Для PE-92402 замена PM2110-101K-RC компания JW Miller A Bourns даташит http://www.bourns.com/data/global/pdfs/pm2110_series.pdf EC24-101K замена PG0087.104NL или PG0085.104NL у Pulse http://ww2.pulseeng.com/products/datasheets/SPM2007_17.pdf или CDRH62B-101MC Sumida, но у Sumida наверняка и поменьше есть, просто нашел сходу вот такие
  11. 1. I2C легко софтом вытянуть, можно сэкономить на чипах, самое интересное недавно проверял SPI, правда не на меге, так вот софтовый вариант, в лоб всего в два раза дольше оказался, чем аппаратный. Я имею не занятость процессора, а именно завершение обмена при пересылке массива. Вообщем если SPI можно сделать вот так, то I2C подавно. По поводу аппаратной реализации. Я не гуру, но мысли у меня такие. Есть два пути. Сделать кучу мелких мег, и заставить их общаться по общей шине. Там где сегодня три меги, завтра будет шесть. Для этого придумали автомобильную шину CAN, предлагаю в первую очередь заставить меги общаться друг с дружкой по CANу. Он ничем не отличается от UART, только рядом с мегой стоит драйвер CAN шины, и в итоге все RS232 можно объединить парой проводов. RS232 могут быть софтовые. Тогда в системе будет один мастер, например IF, остальные слейвы, отвечают по запросу. Сразу снимется вопрос их взаимодействия. SPI тут не пойдет, лучше всего RS232. Второй вариант, вывести все провода со всех датчиков на лицевую панель или в салон машины. Потратить на это время, конечно. Зато можно потом все это завести на одну плату бортового компа на АРМе, и тогда все сказки мира к Вашим услугам. Цветной LCD дисплей, супер графика, и прочее, и прочее. А главное, для замены компа, не нужно будет лазить по всей машине, и менять каждый узел. Все в одном месте. Второй вариант лучше еще и тем, что комп будет внутри отапливаемого салона работать, в отличие от мег, которые возможно где нить под капотом, в жару и на морозе пашут. Но зато помехи от датчиков не словят. Возможно придется делать комбинированный вариант. Т.е. мощный проц на бортовой комп, и мелкие на местах, откуда провода с датчиков не протянуть, нужны цифровые данные. Тогда все это объединит шина CAN, ей помехи нипочем. И вывод будет на красивый LCD.
  12. Заходите в Project\Option\Linker, ставите галочку в окне Output File, и вписываете расширение hex вместо a79. Затем там же идете в окно Format, нажимаете на точку Other и выбираете формат intel standard или intel extended Все, теперь у Вас скомпилируется hex файл по Intel стандарту.
  13. Да верно, сигнал DIR у sn74lvc16245 определяет направление, так, как Вы написали DIR=0 B=>A, DIR=1, A=>B, Ну и при чтении, да, если OE=0, буфер активируется и идет передача данных, если его поднять в 1, буфер перейдет в высокоимпедансное состояние. Вопрос только в том, как периферия поведет себя если ее входы отправить в свободное плавание. По идее все выводы нужно резисторами притягивать либо к питанию, либо к земле.
  14. Номиналы деталей есть в основном даташите на процессор http://www.analog.com/static/imported-file...F538_BF538F.pdf Причем C2 это не один конденсатор, а целая куча на каждый пин VddIn процессора, C3 100uF, C1 тоже самое, это не один конденсатор, а группа из 100uF и нескольких конденсаторов на каждый пин VddExt, думаю по 0.1uF. Полное описание со всеми подробностями, по тому, как расчитывать внешние компоненты питания на BF533 http://www.analog.com/static/imported-file...085EE228v01.pdf А по поводу индуктивности можно сказать только грубо. Уменьшение индуктивности с 10мкГн на 6.8мкГн приведет к такому же увеличению пульсаций тока в 10/6.8 раз, т.е. 1.5 раза, но все зависит и от основного тока потребления. Так что может вполне подойти. Для точно оценки нужен расчет. Смотрите в документе, ссылка на который приведена выше. Замена диодов PMEG1020, PMEG2010, On-Semi MBRA210, IR 10BQ015, Microsemi UPS120E, UPS315.
  15. А откуда у него RS232, DTMS и DFMS это скорее всего служебные линии для отладки телефона снаружи, в спецификации на телефон говорится только об интерфейсе USB для связи с PC. Причем здесь RS232, поясните? http://www.sotovik.ru/catalog/phones/sonyericsson/w_810.html здесь прямо написано, RS232 он не поддерживает. На счет сигнала VBUS это питание USB с шины, а процессор узнает о наличии этого питания через сигнал USBSENSE, который по сути и есть внешние 5V с USB шины, или сигнал VBUS. При появлении напряжения на USBSENSE процессор понимает, что подано питание и подключает сигналы DP,DM на внешние выводы. Мне кажется, при отсутствии USB, на внешний разъем выведены вот эти DTMS,DFMS, которые служат для отладки телефона.
×
×
  • Создать...