Перейти к содержанию
  • записи
    3
  • комментариев
    9
  • просмотров
    2 169

О блоге

Не так давно Atmel|Microchip анонсировал новые МК из серии Attiny. При беглом взгляде на даташит становится понятно, что новые Attiny происходят от AtXmega. Поэтому для тех инженеров, кто знаком с последними, ничего нового не произошло. А вот для тех, кто плотно сидит на AtMega - гора новых фишек. 

Итак, что изменилось и что появилось?

1. Полностью изменены регистры порта, а также добавлены виртуальные порты.

2. Вачдог. Он теперь оконный и не умеет делать прерывания

3. Таймеры. Есть 16 битные и 12 битные. 8 битных нет, но таймер TCA умеет разваливаться на два 8 битных. Таймеры переработаны. Из привычных нам - только TCA. Также добавлен RTC.

4. АЦП. Полностью исчезли операционные усилители и дифференциальный режим. Зато появился оконный компаратор, накопитель-аккумулятор (до 64 сэмплов). АЦП очень шустрый - 200kSps в 8-ми битном режиме с переключением входов у меня давало погрешность порядка 1 LSB. Если гонять на даташитовских 150 kSps - на тех же 8-ми битах погрешности нет. Максимальная частота тактирования - 1.5 МГц. Так же мультиплексор подключает не все физические лапки.

5. Система событий. Система, которая позволяет одной периферии запускать другую периферию без участия ЦПУ. Делать это она может синхронно, либо полностью асинхронно.

6. Custom Control Logic. Содержит в себе две таблицы истинности (полностью программируется), выходы которых могут быть подключены к логике. Логика может быть одним из триггеров - RS, JK, D, D с защелкой.

7. Интерфейс программирования - однопроводной UPDI. Аппаратно можно задать две точки останова.

8. Присутствует PTC - сенсорный контроллер. Почему-то в даташите никак не освещен.

9. В интерфейсе SPI появились буферы как на прием, так и на передачу.

10. В системе тактирования появился встроенный осциллятор на 16/20 МГц. Переключается через FUSE. Управление делителем осуществляется только из программы. (Сразу после загрузке выставлен делитель на 6).

Вот это если кратко.

Тренироваться будем на плате 817 Xplained Mini - куплена давно, а вот руки до нее дошли буквально вчера). На плате реализован программатор, отладчик и интерфейс USB - UART.

 

Записи в этом блоге

Индикатор здоровья. /Health status/

Многие видели промышленные изделия, на платах которых присутствует индикатор "здоровья". Т.е такой индикатор, который моргает и частота моргания напрямую зависит от состояния устройства - часто моргает или редко - заболел совсем или частично, не моргает - что-то сыграло в ящик. Ну или забыли в сеть включить). Давайте тоже создадим такой индикатор. Но пойдём ещё дальше - моргать наш индикатор будет не однократными, а двухкратными вспышками. На диаграмме логического анализатора это будет выгляде

parovoZZ

parovoZZ

WS2812 или поморгаем ещё разок

Всем привет! В этом топике я покажу, как с помощью новейшей Attiny от Atmel/Microchip управлять светодиодами WS2812. Для начала давайте вспомним, а лучше подсмотрим в даташите на временные интервалы нуля и единицы. Где видим, что для передачи нуля нам необходим импульс длительностью от 200 и до 500 наносекунд, для передачи единицы - от 550 и до 850 наносекунд. Период же так и вообще может изменяться в широких пределах. Управлять светодиодами мы будем с помощью SPI. Но не напрямую,

parovoZZ

parovoZZ

Hello, World! Или включаем светодиодик.

На плате Xplained Mini присутствует светодиод на порту PC0 и кнопка на порту PC5. Будем на кнопочку давить и ожидать, что светодиодик погаснет=)  Давайте писать код. Определим константы: uint8_t const maskLED = 0b00000001; uint8_t const maskSwitch = 0b00100000; uint8_t const Switch = 5; Теперь напишем функцию, которая читает кнопку: uint8_t GetSwith (PORT_t volatile *switchPort, uint8_t mask) { return (switchPort->IN & mask); } Здесь все пр

parovoZZ

parovoZZ

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