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

Ruslan1

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

Весь контент Ruslan1


  1. AT91RM9200 SPI Peripheral Mode

    Что-то я тебя не понял. Ты грузишься, но у тебя не работает? А как тогда ты код загружаешь? Или у тебя весь код программы в внутреннюю RAM лезет? Счастливый :) Обычно у народа сначала автоматом грузится маленький кусок программы, который производит как минимум тестирование и настройку для загрузки основной части кода (например, SDRAM). Дальше уже эта программка загружает основной код, и передает на него управление. У меня точно так же. И все великолепно работает. Ну и конечно потом пишу-читаю всякую всячину из этой же памяти. Хм. Хотя нет, у меня не так просто. Я сразу дешифратор адреса SPI включаю, чтобы остальная периферия не хулиганила. Так что да, напрямую на npcs0 у меня ничего не висит, таких простых систем не было. :-) Так что может кто другой напрямую опровергнет твое в высшей мере спорное утверждение о неработоспособности npcs0. У меня оно работает, но в режиме с вкл.дешифратором, другие варианты не проверял.
  2. AT91RM9200 SPI Peripheral Mode

    Да, конечно. У меня на нем через дешифратор висит загрузочный DataFlash. То есть при включении его номер (#0) декодируется дешифратором как 14 (0b1110), когда в программе включаю работу с дешифратором, то обращение к нему идет уже как к #14. Ну и конечно при работе с дешифратором NPCS0 участвует в формировании остальных CS. Никаких проблем не заметил.
  3. AT91RM9200 SPI Peripheral Mode

    Кстати, из личного опыта. Если одновременно активно работаете с SPI PDC и пользуете аппаратный ТWI, то не пугайтесь, если TWI зависнет. Я напоролся на глюки TWI именно когда стал гонять безостановочный поток запросов-ответов по SPI. Вылечилось отказом от аппаратного TWI и заменой его софтовым.
  4. Прям как привет из прошлой жизни получил....... Много воды с тех пор выпито было...... :) Ну, не надо катить бочку на незапятнанные места Атмеловского АРМа. С SPI проблем нет. Все давно работает, причем именно так, как я и расчитывал. Никаких подводных камней. Висит два дешифратора (то есть в сумме 4->16). И грузится с этого датафлеша, и работает с ним дальше тоже. PS. Работает у меня именно вариант1.
  5. AT91RM9200 SPI Peripheral Mode

    Использую 8 слейвов (то есть еще с внешним дешифратором). Именно в указанном тобой режиме. Девайсы разные- АЦП, ЦАП, синтезаторы частоты, DataFlash. С этого же SPI и гружусь. Пользую ПДП, переключаю адрес только после окончания обмена. Никаких проблем не заметил. Пример- это сложнее, у меня идет поток с возможностью вставки стороннего запроса от других задач, наворочено чуть, может испугать. :) А так- ничего сложного. Загоняешь в PDC и далее ждешь прерывания по окончанию запроса. Нюанс- если быстро подряд послать два запроса к одному и тому же адресу, то может не устанавливать CS в "1" между этими запросами. Каким-то устройствам это может быть критично. В таких случаях я вставлял принудительный таймаут.
  6. Случаи из личного опыта. 1. Лежал закопанный в землю телефонный кабель. Толстый, длинный. хорошо закопанный :). Параллельно ему сколько-то сотен метров шла ЛЭП 110кВ. Результат- на нагрузке 100 Ом в 2-х километрах я видел 9 вольт. Связисты рассказывали, что в тех местах они сначала заземляли концы кабеля, и только потом могди их соединять. Иначе возникала дуга. Пришлось дополнительный фильтр ставить 50-герцовый на входе, иначе фон не давал жить аппаратуре. 2. Реально есть электростанция, где двухпроводный RS-485 бегает по черт знает каким колодцам параллельно самым разным висящим на столбах проводам, и 330кВ и 400кВ. Работает без проблем совершенно и наводок не видно. 3. Однажды у меня майкрочиповский контроллер ловил логические переходы на проводе 5 метров, нагруженном на 12 кОм, проходящем в 1 метре связистской аппаратуры, кажется, 100-200 кГц. Вывод: раз на раз не приходится.
  7. AT91SAM7SE

    Про AT91RM9200 скажу. Вдруг ты свой TWI потом и туда перетащишь. Висит у меня на TWI только одно (к счастью) устройство- часы DS1307. Ближайшие несколько дней как раз убил на разборки. Проблема: при нагрузке процессора (у меня в фоне постоянно молотит SPI DMA) у меня заклинивало TWI. То есть не дожидался я от него бита окончания приема. Не помогал не только сброс TWI, но и аппаратный RESET. Все восстанавливалось только после снятия питания с процессора. Если убирал работу по DMA- все нормализовывалось. Испробовал многое из того, что в интернете писалось, да и на этом форуме тоже. Про соблюдение ерратов я уж и не говорю. Надоели мне танцы с бубном. Взял исходники софтового I2C, которые раньше когда-то писал, ну и применил их. Результат- все великолепно работает, ни одного сбоя. Так что вот. Лучше этот TWI не применять. PS. Я не спорю, может это у меня ручки настолько кривые. Но мне приручить аппаратный TWI at91rm9200 не удалось, пришлось его перепрыгнуть. :)
  8. lpc214x

    Общие фразы, так как именно такие скорости не приходилось делать, да и могу сказать только применительно к мне знакомому AT91rm9200. у тебя какой источник сигнала, последовательная шина или параллельный код? Если последовательная SPI - то через DMA. Шуруешь пакет запросов-ответов длиной в общее кол-во значений, далее выбираешь собственно данные (если АЦП еще чего-то кроме данных валит). То есть весь пакет по DMA передастся за нужное время сбора данных (подбираешь скорость SPI). Если параллельная шина- то вешаешь в общее адресное пространство так, чтобы при выборе последовательно расположенных 1.3e6 адресов выбирался твой АЦП. Далее организуешь шину так, чтобы цикл доступа был нужный (скорость семплирования). Выключил прерывания, дал команду memcpy() нужной длительности и вуаля. Первым способом я работаю с ADS1258, вторым- с NAND FLASH.
  9. C Compiler для PIC 16

    Меня просто заитриговала фраза "В Мплабе сидел год назад и тоже возвращаться как-то неохота". Любопытно стало, что такого нашлось в ИАРе лучше, чем в МПЛАБе. Я понимаю желание иметь вместо нескольких оболочек одну (сам работаю и в ИАРе и в МПЛАБе), но это неоптимально. Да и что там от оболочки собственно используется, не редактор же. Компилятор-заливальщик-отладчик. Кстати, к МПЛАБу можно компилятор ИАРовский подключить. Если уж с ПИКами работать- то лучше бесплатной оболочки МПЛАБ ничего не придумать. А вот что к нему в качестве компилятора подключать- отдельный вопрос....
  10. C Compiler для PIC 16

    Если ты используешь аппаратные отладчики- то скажи пожалуйста, что поддерживается ИАРом для ПИКов? А если пользуешься только симулятором- тоже интересно. Неужели ИАР умеет симулировать разношерстную Мелкочиповскую периферию? Я использовал ИАР только для ARM, так там с симуляцией вообще труба. Мое мнение- лучшая среда для ПИКов- это родная майкрочиповская, МПЛАБ. А что в качестве редактора и компилятора к ней прикрутить- отдельный вопрос (лично я хайтековским пользуюсь). Кстати, и родным иаровским редактором тоже не пользуюсь.
  11. Жаль, я надеялся что что-то доделали в последних Пикадах. Ну ладно, мы тогда по старинке. Благо не каждый год такое делать приходится. :)
  12. Здравствуйте! Думаю, пользователи МаксПлюса или Квартуса сразу поймут, что я хочу :) Есть схема, представляющая собой часть целого. В ней кучка элементов. Эта схема уже разведена. Далее хочется создать плату, на которой размещается несколько таких схем, соединенных между собой. Как делаю сейчас: Рисую и развожу эту схему. Далее на PCB-шник методом copy-paste размещаю эту разведенную схему сколько нужно раз, и вручную создаю соединения между схемами. Фиксирую проведенные проводники и делаю доразводку. Хочется: Объявить такой разведенный участок схемы как библиотечный элемент. Тогда все делается как обычно: рисую принципиальную схему соединения элементов между собой, размещаю эти элементы на pcb и делаю разводку. Просто при размещении элемента на плате размещается нечто с уже имеющимися связями в слоях разводки, ну и конечно с пинами, как у любого элемента. Имеющийся в Пикаде способ задания иерархического проекта с модулями совершенно не нравится, он требует последующей индивидуальной расстановки и разводки каждого элемента каждого модуля, да и при внесении изменений в модуль проблемы. А вот если бы как элемент- то все легко и прозрачно: внес изменения в элемент, сказал "апдейт", и все хорошо и пушисто. Но вот только возможно ли такое? Пока что вижу только: создать элемент с пинами в нужном месте и размером с мою схему с запретом трассировки внутри занимаемого места, а после межэлементной трассировки класть на место этого псевдоэлемента вою предварительно разведенную схему. Но как-то это некузяво.... Может есть более прямой путь?
  13. Я его использовал совместно с RM9200 под микроГУИ на TFT 320x240. Ощущения сугубо положительные. Вот только шаг ножек в корпусе 0.4мм несколько напрягает (вся плата делалась 0.25-0.25, а тут пришлось выходить на 0.2-0.2). Хотя теперь наверное уже негде искать бОльший шаг выводов... :)
  14. Но не на питании 3.3 В. Для многих камней нужно брать кристаллы "LF" для вообще гарантированной работы на таких напряжениях, ну и для них тактовая снижается. Хотя сейчас есть хорошие машинки, при 48 МГц (12 MIPS) в режиме "все включено" максимальное потребление 17 мА. Устраивает абсолютно, учитывая что есть гибкая система регулирования энергопотребления (я применял в свое время 18LF1320, динамически разгонял проц на время сложного вычислизма, очень здорово работало).
  15. В-общем-то, да. Можно. Самый малозатратный путь по разработке. Просто мне запомнилось, что ПИКи на малых напряжениях работают на меньшей тактовой. Упомянутый Вами 18F6722 - тоже. Однако я покопался на сайте мелкочипа и действительно нашел подходящие камни, для которых возможно большое быстродействие. Например, PIC18F66J11. В принципе нравится. Сейчас не буду применять, так как сроки сжимаются, времени на освоение абсолютно нового нет. Но на будущее учту, спасибо.
  16. Извините, что автор темы пропал. Просто возникла возможность наконец в отпуске забыться вдали от розеток, что я и сделал. :) Отпуск закончился. Завтра попытаюсь разобраться во всем, что тут советовали и поуточнять. После прочтения по диагонали: 1. Никаких религиозных войн! Толку от них нуль. 2. Я хорошо владею PIC18 и неплохо владею ARM9 (софтом и отладочными средствами). Первого мне (вроде бы)маловато, второй абсолютно избыточен. Продолжением PIC18 вижу PIC24, предыдущим для ARM9 вижу ARM7. Отсюда и вопрос, в первую очередь по энергожручести при решении одной и той же задачи для этих двух камней. Пока склоняюсь к ARM7, но еще неделю буду думать. Другие современные решения пока не рассматривал ввиду отсутствия базы в виде софта, харда, и знания архитектур. Но может быть зря.
  17. Есть задача, реализованная на PIC18F452. Заняла практически все ПЗУ (16К команд) и ОЗУ(1.5 кБайт). Использую при 5 MIPS. Сейчас понадобился второй UART и несколько увеличить функциональность. Устройство батарейное, Sleep не применяется. Сейчас думаю, что можно применить без сильного увеличения энергопотребления? 1)Требования- 2 (лучше 3) UART 2) потребление не более 20 мА 3) питание и уровни на IO - 3.3 В 4) ног IO - хочется порядка 50 5) болтать ногами придется на скорости 1 МГц (по одному порту делаю свой ввод параллельных данных, по другому нужно с CompactFlash работать). Первое что пришло в голову- PIC24F. Минусы- нужен ICD2, новый компилятор, меньше возможности расширения в будущем. Второе - AT91SAM7. Минус- такое ощущение, что из пушки по воробьям. В 64-выводном QFP предлагают только 31 ногу IO - очень плохо. То есть нужно QFP100 брать. Зато по возможности дальнейшего расширения- просто песня. в первую очередь речь про USB. Ну и сеггеровский Жлинк плюс ИАР плюс Юкос имеется и освоены. Есть опыт работы как с PIC (правда, PIC16/PIC18), так и с ARM (правда, ARM9- AT91RM9200). Склоняюсь к использованию ARM7 на низких частотах, думаю еще даже выиграю в потреблении по сравнению с PIC24F на одной и той же задаче. Думаю, и ногодрыганья прямого можно будет меньше делать засчет ПДП и периферии. А уж если захочу расширяться... Что думаете? Для реализации одной и той же задачи лучше(по энергопотреблению) применить PIC24F или AT91SAM7? И какой из SAM7 лучше выбрать? Кстати, если я сделаю плату под скажем AT91SAM7S256, потом в нее можно будет влепить AT91SAM7S321 ? Есть совместимость по ногам, как у ПИКов в одинаковых корпусах? PS Понимаю, что многие вопросы снимуться при внимательном чтении документации. Это сделаю, но мне нужно понять, в чью документацию вгрызаться :)
  18. А почему "завышенной"? Она там гарантированная разработчиком. Причем обрати внимание на температуру и другие условия, для которых этот ток указывается. Хотя если есть возможность отбора малопотребляющих экземпляров, да и температура мало меняется- то наверное можно надеяться и на меньшее потребление...
  19. Если кто-то ответит на все это сразу и в том же виде, в котором задан вопрос, то ты не поймешь ответа, как я не понял вопроса. :) Точнее, догадываюсь о чем речь идет, но там много вопросов. Хочешь получить ответ, попробуй сделать так: 1. Разбей свой вопрос на элементарные, не связанные друг с другом вопросы. Никто никогда не сталкивался с глобально описанной тобой ситуацией, но вот частности, на которые она разбивается, знакомы многим, каждому какой-то один пунктик. 2. Попробуй поискать в Гугле ответы. Так как чтением документации вслух не все любят заниматься. 3. Попробуй поискать в форуме ответы на эти элементарные вопросы. Ведь большинство вопросов типовые. 4. Задавай те, на которые ответа не нашел. Я сам так делаю, в результате нерешенных вопросов очень мало остается. :beer:
  20. Ну что ж, тоже вариант. Спасибо за приведенный пример. Слой маркировки, я смотрю, тоже надо переделывать. Понял, что можно. Одновременно понял, что без ручной правки не обойтись. Ну да ладно. может еще до осени ветер поменяется. PADS какой-нибудь освоят, или еще кого-нибудь. А мы пока по старинке, пикадом обойдемся... главное все-таки достижение результата (работоспособное изделие), документацию как-нибудь доклею, я на эту конвертировку две недели заложил, а платка несложная(500 пинов при 140 компонентах) Если очень прижмет- действительно под Оркад перетащу и переразведу. Начиная от какой-то суммы можно и на ушах постоять. :)
  21. Спасибо! Буду смотреть. Пока что пытаюсь понять, чем им Оркад так нравится. Насчет Гербера- и я того же мнения. Да собственно, и Пикад тоже почти везде принимают. Кстати, я так понял, что Ментор умеет втягивать в себя файлы как Оркада, так и Пикада. Интересно, может там есть и обратный конвертер? (С Менторовским софтом пока что не работал).
  22. Есть разработанная схема, разведенная и даже изготовленная печатная плата, все в P-CAD 200x. А вот заказчик хочет иметь схему и PCB в OrCad. Как-то возможно это перетащить? Схему скажем и перерисовать можно, а вот как перетащить PCB, чтобы заказчик с него мог изготовить точно такую же плату, как я из P-CADовского PCBшника делаю? Плата- простая двухсторонка, есть области заливки. Что тут можно сделать, и можно ли?
  23. Ясненько. Тож скоро может быть нужно будет позаниматься эротикой в этом направлении. Кой-что древнестарое модернизировать. Пока речь идет о 0.05мм. Судя во Вашим словам, легкая эротика быстро может перейти в жесткое порно......... :maniac:
  24. Именно. Меня тут в первую очередь аналоговая часть смущает. Круто. Это что за машинка? С чем-то принципиальным сталкивались при переходе на такую точность? Стробоскопирование какое-нибудь применяли?
  25. Я тут чуть имел дело с, вставлю свои 5 копеек. 1. Чем измерить. Знаю два метода: Ультразвуковой и Вихретоковый. 2. Шлифовка поверхности. Не обязательна. Для ультразвука четко прослеживается граница сред, переход металл-спирт виден так же четко, как переход датчик-спирт. Для вихретокового- более критично, но для постоянного зазора калибруется. Если зазор переменный, то наверное с вихретоком не выйдет. 3. Возможные толщины. Рельсы видели? так на них ультразвука хватает. Бывают УЗ-измерители и на 5метров толщины. :) 4. Возможные точности. Для ультразвука определяется точностью измеренрия времени между отражениями от верхней и нижней границ металла. 0.05мм для полуметровых толщин вроде бы не экзотика. Оговорюсь, 0.01мм не видел, но спроситте меня через годик :) Думаю, что достижимо. Хотя достаточно нетривиально, любопытно где такая точность толщин нужна.
×
×
  • Создать...