Освоение STM32F103VE + TFT LCD + touch screen (часть 3)

Часть 1. Начало. Работа с LCD через порты.
Часть 2. Работа с LCD через FSMC, инициализация экрана.

О самом сенсорном экране написано не мало хороших статей. Здесь одна из них. Удобство современных китайских модулей LCD состоит в том, что на них уже есть готовый контроллер, такие как TSC2046 или ADS7846, с которым можно общаться по SPI шине.

touch screen controller

В двух словах вся работа происходит так. Два слоя замыкаются, образуя два резистора по оси X, два по оси Y. В контроллере находится мультиплексор и ADC. Приходит команда по SPI — измерение по оси X. Контроллер подключает X+ на VCC, X- на землю, замеряет напряжение на линии Y+ (или Y-), и передаёт его опять же по SPI. Подобным образом происходит замер по оси Y.


Читать дальше
  • +4
  • 15 ноября 2013, 14:03
  • ilus

SPI-программатор с интерфейсом USB на базе чипа FTDI FT232H



Доброе время суток, уважаемое сообщество.

Давно уже читаю как основной сайт, так и сайт сообщества, но решил все таки перестать молчать, зарегистрироваться и написать свой первый пост. Как раз и повод для этого появился.
Дело в том, что я уже давно интересуюсь модификацией и прошивкой BIOS'ов, веду соответствующую тему на overclockers.ru и разрабатываю софт для облегчения процесса модификации и прошивки для простых пользователей (мой профиль на GitHub).
Т.к. модификации BIOS'а довольно сложно тестировать на виртуальном железе, то приходится постоянно пользоваться аппаратным SPI-программатором.
Программировать SPI-чипы, рассчитанные на напряжение 3,3 В можно практически чем угодно и через что угодно, но на рынке отсутствуют одновременно дешевые (до 20 евро) и быстрые (прошивка 64Mbit чипа за 2 минуты) решения, а покупать себе полноценный программатор за 50 евро при необходимости шить, фактически, 3-5 наименований чипов с одинаковыми характеристиками — дорого и неинтересно.
Исходя из этого, я решил разработать свой собственный дешевый программатор 3.3 В SPI-чипов.



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

Подключение SPI ЦАП к AVR

Сегодня ради освоения технологии подключил к ATMega16 в составе PinBoard2 через SPI-интерфейс 16-разрядный аудио-ЦАП BU9480F. Использовал аппаратный SPI и прерывание. Писал на С. Исходник выложу позже по причине его плохого оформления. Прикрепил архив проекта.
Пока несколько фото.


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

SPI Slave в AtMega, логика работы, подводные камушки

Хотелось бы побольше статей про логику реализации тех или иных аппаратных функций в контроллерах, ибо по документации понять можно не все, приходится разбираться на практике, что иногда отнимает довольно много времени. Вспоминается STM32 с её всем горячо любимой реализацией I2C. Там если не сбросишь в нужный момент какой-нибудь статусный бит, то интерфейс повисает. Но речь сейчас не об этом.
Понадобилось мне сделать простейшую вещь: мега работает слейвом, причём только на отправку, мастер дергает её за ногу, читает нужное количество байт из буфера и отпускает. Причём буфер каждый раз должен читаться с начала, а количество считываемых данных не фиксировано. Казалось бы, что может быть проще, но тут вылезла парочка проблем.

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

Хак по прерываниям SPI и ноге CS в режиме Master

Как известно, один из наиболее глупых косяков МК серии STM32 — отсутствие аппаратного управления шиной CS.

Когда я задавал французу, который вел лекцию по STM32 в Москве об этом вопрос, он даже удивился: кому это нужно? Однако, много мелкой периферии вообще не заводится без сброса линии CS после каждой посылки — ЦАПы, вообще воспринимают этот строб как команду к выставлению. А те, кто работать без этой линии как-то могут, рано или поздно ловят сдвиг передачи (это когда один строб SCK либо добавляется, либо пропадает) и тоже начинает глючить.

Но это пол беды. Казалось — настрой прерывание Transfer Complete, да дрыгай там ножкой. А вот и нет. Нету там прерывания такого.

Так что приходится применять хак: всегда включать режим полного дуплекса и использовать прерывание RX not empty.



Читать дальше
  • +1
  • 26 апреля 2012, 12:17
  • dekar

Дисплейчики

Давно собирался написать об этих дисплеях, но все руки не доходили причесать библиотеки. Сегодня удалось выкроить немного времени на то, что бы привести все в нечто отдаленно напоминающее порядок и опубликовать брейкауты к железкам и либы к ним в репозитории.
Героями этой публикации стали два замечательных дисплея — один TFT LCD (JDT-1800) и один OLED (UG-2864HSWEG01). Оба они умеют подключаться по SPI (первый только его и умеет, второй умеет еще и 8-битный параллельный, только это нафиг не нужно); оба небольшого размера (TFT — 1.8", OLED — 0.96") и оба питаются от 3.3В. Либы и схемы/платы в репозитории, а тут (под катом) будут фотки.


Читать дальше
  • +5
  • 15 апреля 2012, 21:54
  • evsi

Управление W5100 и AT25160A по одной шине SPI. Непредвиденные грабли.

Всем привет.
Продолжаю ковырять потихоньку свой проект основанный на STM32F103 и W5100, и понадобилось мне прикрутить к нему последовательную EEPROMку чтоб настройки хранить.
Самые ходовые варианты — это серия AT24 и AT25.
Так как AT24 — серия основанная на I2C, мне она не особо катит, потому как выискивать и мультиплексировать ноги под интерфейс не лучшее решение. Другое дело серия AT25. Работает по SPI, который у меня уже используется, то есть делов-то вроде — еще одну ногу CS выделить, и будет счастье. Но не тут-то было…


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

MAX7219 светодиодный драйвер с SPI интерфейсом

Хотел сделать матричное табло для отображение информации. Основой стал баянистый драйвер для светодиодов max7219. После всяких 74hc164, 74hc595, кучи токоограничивающих резисторов, uln2003, дешифраторов, эта микросхема просто халява. Не буду описывать все ее возможности ( кто хочет даташит в помощь). У этой микросхемы spi интерфейс и обращение к каждой строчке микросхемы происходит через адрес. Аппаратно реализовал это изделие ( в кавычках) на матрицах кингбрайта TA15-11. Я как-то на форуме выкладывал нечто подобное, но там плата была не кашерная, гнулась из-за 1 мм текстолита и корпуса матриц были подогнаны некорректно. Сама плата разводилась в diptrace автотрассировщиком. Подключение строго по даташиту, каскадирование тоже. Несколько фоток.

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

Портативный программатор

Нашел в сети интересный девайс: UProg


Тем, кто не желает смотреть видео — это мобильный программатор AVR с microSD — картой. Пишет, читает, проверяет все виды памяти.
В связи со скорой заменой ноутбука на планшет возжелал себе такой, но с дисплеем 16х2 и урезанным функционалом — лично мне в полевых условиях понадобится только запись флэша (Ну и полное стирание, само собой). Скачал FatFS — вроде все понятно. С разбором hex-файлов — тоже. Но, читая даташит, не понял протокол прошивки дальше Entering Programming Mode. Может кто-нибудь по-простому написать, какие команды в каком порядке посылать, и что ожидать в ответ для реализации только этих 2 функций?
  • 0
  • 23 октября 2011, 14:37
  • enq

На тракторе через засады. (STM32[SPI]->SD)

Сегодня забил на все и засел за изучение STM32.
Платформа — STM32VL-Discovery, припаял к ней переходник USART-USB от телефона на PL-2303 и переходник SD-MicroSD, используемый как разъем для SD-карты. В итоге хочу получить регистратор температуры 6-канальный на датчиках KTY83-111 с записью на SD-карту и RTC. Пусть сначала пишет все в текстовом виде.


Читать дальше
  • 0
  • 07 сентября 2011, 17:48
  • DrAG0n
  • 1