syph3r | MCU Space

Архив

Архив автора

Псевдослучайные числа

25 декабря 2014

PsevdoNumbМногие считают что генерация псевдослучайных чисел легкая задача, но увы это не совсем так.  Существует множество алгоритмов, в большей степени пользуются успехом алгоритмы XORShift — обеспечивают высокую скорость работы.

Для более легкого понимания генерации псевдослучайных чисел можно взять за основу алгоритмы используемые в наборах библиотек сред разработки.

Самый «деревянный» алгоритм выглядит примерно так:

Где A и С «соль» для генерации, М максимальное значение придела, Xn выхлоп.

Для использования требуется немного допилить данную формулу. В итоге получится следующий код:

 

Блог ,

USB HID

28 ноября 2014

logo-usb

В сети куча примеров по работе с HID, так как MC распространяет(ял) примеры но под компилятор C18, а в настоящее время под компилятор XC, для Hi-Tech увы примеры отсутствуют.  В связи с этим был переработан первый попавшийся в сети пример из C18 в  Hi-Tech 9.80.

Так же данный проект отвязан от библиотек МС — лишь нужные включены в проект.

Подключение следующее, так же не стоит забывать о кварце 20 МГц подключенному к МК:

hid_usb_chem

Верхушка написана на MS Visual C# 2010, выглядит следующим образом:

Читать далее…

Протоколы обмена , , , ,

Watchdog Sleep

2 октября 2014

wdt_p

Порой требуется запускать МК на очень короткое время, производить какие либо действия(измерение температуры и т.п.) и снова засыпать для экономии заряда батареи, для этих целей удобно использовать Watchdog. В МК серии PIC18F все довольно просто.  Нужно лишь правильно указать нужное время сна в регистре предделителя таймера Watchdog . В даташите написано следующее:

Для PIC18F2420/2520/4420/4520 устройств, WDT тактируется от внутренней RC. Номинальный период WDT составляет 4 мс и имеет такую ​​же стабильность, как INTRC генератор.  Сон  WDT может быть от 4 мс до 131.072 сек (2.18 минуты).  Регистр WDTPS может принимать значение от 1 до 32768WDT и предделитель очищаются при любом из следующих событий: выполнение команды SLEEP или CLRWDT,  IRCF бит (OSCCON <6:4>) изменен или произошел сбой тактирования.

Т.е. при предделителе равном 256, мы имеем 0,004 х 256 = 1,024 секунды сна.

В данном примере зажигаем светодиод на 50 мс каждую секунду:

Отсчет времени , , ,

Bootloader

21 августа 2014

SOIC-20При выпуске массовой сложной техники, производитель сразу продумывает пути решения проблем, которые могут возникнуть с его продукцией из-за каких либо факторов.  Часто многие проблемы  возможно исправить модернизируя ПО устройства. Отсюда выплывает надобность автоматического, или не трудного обновления устройства у пользователя без программатора и прочего оборудования. Для этих целей используется bootloader.

Работа с bootloader’ом для МК PIC18 не вызывает проблем, особое внимание следует уделить интерфейсу USB, а именно не забыть конденсатор С1. Схема подключения следующая:bootloader_pic18f2550

Блок схема bootloader’a на примере МК PIC18F2550:

Читать далее…

Управление , , ,

Частотомер

64_0Частотомер, а так же цифровая шкала являются довольно востребованными устройствами среди радиолюбителей. В данной статье постараюсь кратко изложить принцип измерения частоты с использованием двух таймеров. Существует два метода — измерение длительности периода и измерение количества периодов за определенный промежуток времени. Я расскажу про второй вариант. Одним таймером будем отсчитывать промежутки времени, а вторым — считать импульсы.

 

freq_metr

Читать далее…

Измерения , , ,

1-Wire

1_wire1-Wire становится популярен среди протоколов обмена, рассмотрим протокол от Dallas

 

 

 

Накидал небольшую библиотеку:

Читать далее…

Протоколы обмена , , ,

Знакомство со средой разработки MPLAB X (MM 12)

28 апреля 2014

masters12Чистя жесткий диск на компьютере — наткнулся на небольшую презентацию с Microchip Masters 2012 по среде MPLAB X, файл презентации в PDF формате. В данной презентации рассказывают преимущества новой среды, а так же сравнивают с прошлыми версиями. Есть упоминание о нововведениях и основных принципах работы в данной среде.

mm12_2 mm12_3 mm12_1

Блог ,

Конфигурация генератора контроллера

8 апреля 2014

HC-49 (alto)Размазанные сведения в даташите по конфигурации контроллера порой не стыкуются с компилятором, первой палкой в колесо оказывается — конфигурация генератора контроллера. В данной статье будет рассмотрен пример с компилятором HI-TECH PICC18 v9.80 и микроконтроллера PIC18F2520.

В даташите на данный микроконтроллер присутствует следующее описание конфигурации режима работы генератора:

osc1

Рассмотрим самые востребованные 2 режима работы — работа от кварцевого резонатора или генератора, а так же работу микроконтроллера от внутреннего генератора.

Читать далее…

Конфигурация , ,

Отладочная плата PIC18F2520

7 апреля 2014

xbee-boardПрошло несколько дней как я получил изготовленные в Китае печатные платы, настало время запаять детали и проверить простецкую отладочную плату под микроконтроллер PIC18F2520.  Данная отладка имеет: посадочное место для кварцевого резонатора, LDO Holtek HT7550, интерфейс UART, выход на индикатор HD44780 4 бит, и PLS линейки портов A,B,C.

Внешний вид:

IMG_3051

Читать далее…

Отладочные платы ,

Заказ плат в Китае

5 апреля 2014

pcbЧаще всего достаточно плат изготовленных ЛУТом, но не все дома имеют пространство для хим. реактивов. Просмотрев отзывы о розничных изготовителей печатных плат — пришел к выводу что цена/качество неплохое у seeedstudio. Заказ плат не доставляет проблемы — всё просто. Главное прикрепить правильные гербер файлы. Накидал схему за несколько минут в Альтиуме и сделал разводку. И сделал заказ. После отправки заказа — мне выставили следующую цену за 10 печатных плат размером 50х50 мм, оплату произвел пластиковой картой через PayPal:

seeee

 Существует так же удобный сервис по просмотру гербер файлов прям из браузера — http://mayhewlabs.com/webGerber/: Читать далее…

Блог , , ,