MCU Space

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

25.12.2014   11:30

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

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

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

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

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

 

Блог , 1 167  

(Нет рейтинга)
Загрузка...
 

USB HID

28.11.2014   16:50

logo-usb

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

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

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

hid_usb_chem

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

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

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

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

Watchdog Sleep

02.10.2014   14:41

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 мс каждую секунду:

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

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

Bootloader

21.08.2014   10:21

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

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

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

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

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

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

Частотомер

30.06.2014   09:58

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

 

freq_metr

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

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

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

1-Wire

29.05.2014   13:42

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

 

 

 

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

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

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

(Нет рейтинга)
Загрузка...
 

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

28.04.2014   12:37

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

mm12_2 mm12_3 mm12_1

Блог , 1 339  

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

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

08.04.2014   13:24

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

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

osc1

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

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

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

(Голосов: 1, средняя: 4,00 из 5)
Загрузка...
 

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

07.04.2014   12:47

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

Внешний вид:

IMG_3051

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

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

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...
 

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

05.04.2014   14:34

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

seeee

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

Блог , , , 2 049  

(Голосов: 1, средняя: 5,00 из 5)
Загрузка...