Архивы: mspgcc

Работаем с шиной I2C (SMBus)

Шина I2C представляет собой последовательную шину данных для связи внутренних компонентов устройств. Разработана фирмой Phillips в 1980-х годах.

Шина SMBus основана на шине I2C и широко применяется в современных компьютерах. Основное отличие от оригинальной I2C — ограничение минимальной рабочей частоты за счет введения таймаутов операций передачи данных.

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

SDA — последовательная линия данных;

SCL — последовательная линия тактирования.

Обе линии нагружены резисторами, стандартное напряжение на шине +5В или +3,3В. Однако, оно может быть и другим.

Адресация осуществляется в 7 или 10-битном адресном пространстве, на одну шину возможно подключение до 112 или 1008 устройств соответственно. Основной режим работы — на скорости 100 кБит/с или в высокоскоростном режиме 400 кБит/с.

Версия протокола 2.0, выпущенная в 1998 году предусматривает возможность работы на скоростях до 3,4 МБит/с.

Пример схемотехники

Пример схемотехники

Не буду рассматривать алгоритм работы шины, т.к. подобной информации очень много в сети, в том числе на русском языке. Предлагаю ознакомиться со статьей в русской Wiki.

Приведу пример библиотеки на языке C, реализующей программную работу по протоколу I2C. Код совершенно не привязан ни к каким конкретным микроконтроллерам (более того, вообще к микроконтроллерам как таковым) и может быть использован где угодно. Достаточно откорректировать строки, осветственные за управление линиями SDA и SCL. Код снабжен комментариями.
Читать далее »

Установка и настройка Eclipse + MSPGCC

Введение

Связка свободно распространяемой среды разработки Eclipse и компилятора MSPGCC позволяет осуществить полный цикл разработки для микроконтроллеров семейства MSP430 без каких бы то ни было ограничений. Toolchain состоит из трех компонентов:

  • Eclipse в качестве среды разработки;
  • mspgcc в качестве компилятора и компоновщика;
  • GDB как отладчик.

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

Прошивка контроллеров MSP430 с помощью Bootstrap Loader

Существует два метода загрузки исполняемого кода во внутреннюю память микроконтроллера: через  отладочный интерфейс JTAG и посредством встроенного загрузчика Bootstrap Loader (BSL). Связь с процессором по интерфейсу JTAG доступна до тех пор, пока не уничтожена аппаратная перемычка (fuse), после чего связь возможна только через интерфейс BSL. Насколько я понял, в новой серии микроконтроллеров 5xx аппаратно пережигаемая перемычка заменена программной блокировкой.

В этой статье мы рассмотрим второй вариант загрузки кода, с помощью Bootstrap Loader (BSL) как наиболее простой для начала работы. Он позволяет производить загрузку кода без возможности внутрисхемной отладки.

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

Обзор средств разработки для микроконтроллеров MSP430

На данный момент существует три основных компилятора для микроконтроллеров семейства MSP430:

  1. MSP GNU C compiler (GCC)
  2. IAR Embedded Workbench for TI MSP430
  3. TI Code Composer Studio Integrated Development Environment

В данном обзоре я постараюсь описать основные особенности и отличия данных средств разработки.

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