32bit_me: (Default)

Запись опубликована 32 bit.me. You can comment here or there.

Перепост с Хабрахабра:

Добрый день, хабр. Сегодня я хотел бы поделиться некоторым опытом, касающимся подключения цветных LCD-индикаторов к микроконтроллеру. Эта тема уже поднималась на хабре (http://habrahabr.ru/post/139384/), поэтому данный пост может рассматриваться как дополнение к уже написанному моими уважаемыми коллегами.

Читать далее:   http://habrahabr.ru/post/140415/

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Фотография старого прибора, для которого я разрабатывал прошивку.

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

Прибор содержит микроконтроллер с ядром ARM7 (фирмы Atmel), и имеет 8 каналов АЦП (16 бит), 8 каналов ЦАП (12 бит), 16 дискретных входов, 16 дискретных выходов, 2 силовых выхода управления ТЭНами, интерфейсы RS-232 и RS-485 (протокол Modbus). Все входы и выходы прибора имеют гальваническую изоляцию друг от друга.

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Проект, написанный на С++ в IAR под микроконтролер LPC2368 (ядро ARM7TDMI), не заработал после перекомпиляции под LPC1768 (ядро Cortex M3). Предпринятые исследования показали, что программа падает на совершенно невинной строке:

AddControl(new usBmpButton(110, 9, 17, 18, 10, BTN_FORWARD, MSG_BTN_FORWARD));

то есть, как нетрудно догадаться, именно на операции выделения памяти new.

Дальнейшее изучение проблемы привело к файлам конфигурации, хранящимся в папке config проекта. В файле LPC1768_Flash.icf есть строка:

define symbol __ICFEDIT_size_heap__     = 0×400;

то есть на «кучу» (динамически распределяемую память) отводится всего лишь 1 кбайт памяти! В старом проекте в аналогичном файле было указано значение 0×6000, т.е. 24 кбайта! После изменения значения программа заработала.

Следует отметить также, что необдуманное применение динамически распределяемой памяти в встраиваемых системах чревато фрагментацией памяти и, как следствие, прекращенем работы программы. Но это уже другая тема.

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

На самом деле это плата Ethernet-контроллера Wiznet W5100 (вверху), соединённая с отладочной платой c микроконтроллером ARM (LPC). Плата между ними служит для соединения. Также на верхней плате есть флеш-память в виде SD-карты.

Под катом ещё фото.

Read the rest of this entry »

32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

На фото – плата контроллера модуля аналогового ввода. Устройство представляет собой модуль ввода 8 аналоговых сигналов с поной гальванической развязкой (т.е. все 8 входов полностью изолированы друг от друга) и предназначено для работы с ПЛК (поддерживаются протоколы Modbus и DCON). АЦП устройства могут иметь разрядность 16 или 24 бита в зависимости от исполнения. Устройство питается от источника 24В. Плата, приведенная на фотографии, содержит микроконтроллер LPC2103, память FRAM для хранения настроек, порты RS-485 и RS-232, гальванически изолированные друг от друга и от микроконтроллера. Сам микроконтроллер также гальванически изолирован от источника питания. К разъемам на плате подключаются еще две платы с АЦП (выложу позже).

Плата

Oct. 21st, 2009 06:59 pm
32bit_me: (Default)

Originally published at 32 bit.me. You can comment here or there.

Девайс, над которым сейчас тружусь:
Плата контроллера, содержит:
микроконтроллер NXP LPC2368
4 канала 24-бит АЦП
4 канала 14-бит ЦАП (выходы 4-20 мА)
10 дискретных выходов (реле)
Ethernet
USB
RS-232
RS-485 (2 шт)
JTAG
термодатчик
энергонезависимую память (FRAM)
интерфейс для подключения клавиатуры и индикатора
интерфейс для подключения дополнительной платы (2 логических входа и 2 сигнала ШИМ)
Все аналоговые входы и выходы гальванически изолированы как от микроконтроллера, так и друг от друга. Интерфейсы RS-485 также имеют гальваническую изоляцию от микроконтроллера и друг от друга.

Питание платы осуществляется от источника постоянного тока напряжением 24 В.
Плата предназначена для одного прибора.

Profile

32bit_me: (Default)
32bit_me

April 2017

S M T W T F S
      1
2 34 5678
9101112 1314 15
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2017 04:40 pm
Powered by Dreamwidth Studios