Jump to content

    

777777

Участник
  • Content Count

    1083
  • Joined

  • Last visited

Community Reputation

0 Обычный

About 777777

  • Rank
    Профессионал

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

3412 profile views
  1. У меня в 8.42 не работает отладчик JetLink. При запуске появляется окно "Starting developer session: Loading debug file". Никто не встречался с такой проблемой?
  2. Сначала фреза опускается в центр слота, затем перемещается к одному краю, затем обратно, к другому. Это какие-то хитрые технологические требования или "так получилось"? Можно ведь опустить ее на одном краю и переместить к другому. А как генерируют файлы фрезеровки другие CAD-ы?
  3. Можно ли в гербере для шелкографии использовать команды создания регионов G36/G37? А также "вырезание" в них других регионов путем смены полярности командами %LPD*% и %LPC*%. Или она наносится, грубо говоря, движущимся пером и поэтому допустимы лишь команды G01-D01/D02? Интересуют возможности разных изготовителей.
  4. А хорошо ли это - пользоваться встроенным RC-генератором для тактирования UART-а?
  5. Предполагается, что при включении мастер будет запрашивать по очереди все устройства для получения из заводских номеров и еще кое-какой информации. Когда произойдет обращение к устройствам с одним идентификаторам, они начнут передачу одновременно, коллизия произойдет при передаче данных. Вопрос в том, может ли контроллер одного из них узнать об этом? Ведь арбитраж происходит только по ИД? Если бы устройство могло узнать об ошибке, оно бы инкрементировало "суб-идентификатор" (например два младших бита идентификатора). После окончания ответа первого устройства оно выдает свой ответ, но уже со своим идентификатором и мастер узнает о наличии двух устройств. Таким образом, вопрос лишь в том, может ли устройство узнать о том, что при передаче произошла коллизия в поле данных? До сих пор с CAN-ом иметь дела не приходилось, не знаю его тонкостей. Почему у обоих? Я полагаю ошибка будет у того, кто первым передал рецессивный бит, а тот, кто передавал доминантный этого не заметит. Или при ошибке передача не остановится и если дальше доминантный бит окажется у другого, то данные перемешаются? Да, примерно так и хотим сделать: 9 старших бит раздать датчикам по их назначению, а 2 младших использовать для отличия датчиков одного назначения.
  6. Проектируется система по сбору информации с группы датчиков. Проблема в том, что имеется несколько одинаковых датчиков (датчики оборотов), но их назначение разное (меряют обороты разных устройств). Но поскольку датчики одинаковые, то и идентификаторы у них будут одинаковые. Может ли CAN разрулить эту ситуацию? Не хотелось бы на датчики ставить какие- то переключатели для задания "подидентификаторов".
  7. И прерывания разрешаются? Но у меня в файле startup_stm32f10x_hd.s написано только: Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main ; IMPORT SystemInit ; LDR R0, =SystemInit ; BLX R0 LDR R0, =__main BX R0 ENDP Действительно, а мне почему-то казалось, что я попадал в мой main прямо из стартапа.
  8. Нужно ли после инициализации как-то разрешать прерывания? Другие контроллеры при сбросе запрещают прерывания и после инициализации преиферии его нужно разрешать, а как в АРМ? Вообще-то сейчас в программе все прерывания работают, может они разрешаются в стартапе? Но там вроде ничего нет, просто переход на main. Но тогда кто ему устанавливает указатель стека, вызывает конструкторы классов, инициализирует статические переменные?
  9. Чтобы менять значение с частотой 2 МГц, нужен SPI с частотой мин. 2*16 МГц. Кроме того, нужно как-то подавать сигнал синхронизации (LDAC), а AD-шным ЦАПам (по крайней мере некоторым) требуется, чтобы SPI сопросожданся меняющимся сигналом CS, т.е. его нельзя все время держать в нуле. А с помощью DMA его не сформируешь. Разве что таймеры ухитриться запрограммировать так чтобы он выдавал ШИМ нужной формы, а этим таймером запускать DMA SPI Параллельный - это наверное выход, правда на демонстрации показан 12-разрядный ЦАП, а у 5556 время установления 0.5 мкс
  10. Внешний не катит, так как нужно менять его значение быстрее чем через 500 нс
  11. Во-первых, регулируемая пауза здесь будет только при одном переходе, при втором (сбросе счетчика по достижении ICR1) оба выхода поменяют свое состояние одновременно. Во-вторых, все 16-битные счетчики имеют "16-битное" имя и вместо того, чтобы писать: ICR1H=0x00; ICR1L=233; достаточо написать ICR1=233;
  12. Можно, например, подвести питание и землю посередине между АЦП и ПЛИС.
  13. Вообще-то гораздо важнее сделать сплошной слой земли, и это должен быть не полигон, а именно отдельный слой, не занятый никакими другими цепями. А как подводить питание уже не так важно. Ну и конечно не забыть про конденсаторы по питанию около микросхем.