GenaSPB 11 12 января Опубликовано 12 января · Жалоба 6 hours ago, vasilius said: если прерывания не разрешены Э... в gic разрешены? Или срабатывания независимо от маски в gic? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vasilius 1 13 января Опубликовано 13 января (изменено) · Жалоба В 12.01.2024 в 04:34, nanorobot сказал: Посмотрите Здесь Спасибо! посмотрел, было интересно, как они инитят ТР, до этого смотрел Тина линус, но там было импользование как АЦП , а не ТР. У меня опыта работы с татчем нет, поэтому и просил провести ликбез. В моем понимании, у них там не совсем корректно тоже сделано. Спойлер static irqreturn_t tpadc_handler(int irq, void *dev) { hal_tpadc_t *tpadc = (hal_tpadc_t *)dev; u32 reg_val; u32 x_data, y_data; u32 i; reg_val = sunxi_tpadc_irq_status(tpadc->reg_base); if (reg_val & TP_DATAPEND) { x_data = hal_tpadc_data_read(tpadc->reg_base); tpadc->callback(x_data, DATA_X); y_data = hal_tpadc_data_read(tpadc->reg_base); tpadc->callback(y_data, DATA_Y); } if (reg_val & TP_UPPEND) { tpadc->callback(0, DATA_UP); } if (reg_val & TP_DOWNPEND) { TPADC_INFO("touch down "); } sunxi_tpadc_clear_pending(tpadc->reg_base); return TPADC_OK; } При нажатии у них тоже DOWN никак не обрабатывается, только UP и опрос. Но там же в статусе есть колл-во считаных выборок RXA. И в моем понимании, надо или их всех вычитывать и проверять на какой-то порог отклонения, ну или не ограничиваться только первым значение, как сделано у них. Еще один момент... Независимо от того какое прерывание включено : TP_DATA_IRQ_EN | TP_UP_IRQ_EN | TP_DOWN_IRQ_EN Всегда в статусе срабатывают и UP и DOWN флаги. При DOWN счетчик заполнения буфера RXA всегда равен нулю, при UP в завивимости от длительности нажатия, но RXA всегда не ноль. вот мой инит Спойлер __WEAK void TPADC_InitTP(void) { CCU_SetTPADC(CCU_TPADC_SRC_HOSC); TPADC->TP_INT_FIFO_CTRL_REG = 0; TPADC_FlushFIFO(); const uint32_t status = TPADC->TP_INT_FIFO_STAT_REG; TPADC->TP_INT_FIFO_STAT_REG = status; // clear the pending status. TPADC->TP_CTRL_REG0 = (0x0F << 24) | // ADC_FIRST_DLY (0x01 << 23) | // ADC_FIRST_DLY_MODE (0x03 << 20) | // ADC_CLK_DIVIDER /1 (0x0B << 16) | // FS_DIV (0x02 << 0) | // TACQ 0; TPADC->TP_CTRL_REG1 = (0x00 << 12) | // STYLUS_UP_DEBOUNCE (0x00 << 9) | // STYLUS_UP_DEBOUCE_EN (0x01 << 8) | // CHOPPER_EN (0x00 << 6) | // TP_DUAL_EN (0x01 << 5) | // TP_EN (0x00 << 4) | // TP_MODE_SELECT (0x00 << 3) | // ADC_CHAN3_SELECT (0x01 << 2) | // ADC_CHAN2_SELECT (0x00 << 1) | // ADC_CHAN1_SELECT (0x01 << 0) | // ADC_CHAN0_SELECT 0; TPADC->TP_CTRL_REG2 = (0x0F << 28) | // TP_SENSITIVE_ADJUST (0x00 << 26) | // TP_FIFO_MODE_SELECT (0x01 << 24) | // PRE_MEA_EN (0xFFF << 0) | // PRE_MEA_THRE_CNT 0; TPADC->TP_CTRL_REG3 = (0x01 << 2) | // FILTER_EN (0x01 << 0) | // FILTER_TYPE 01: 5/3 0; TPADC->TP_INT_FIFO_CTRL_REG = (0x00 << 17) | // TP_OVERRUN_IRQ_EN (0x00 << 16) | // TP_DATA_IRQ_EN (0x00 << 13) | // TP_DATA_XY_CHANGE (0x00 << 8) | // TP_FIFO_TRIG_LEVEL (0x00 << 7) | // TP_DATA_DRQ_EN (0x00 << 4) | // TP_FIFO_FLUSH (0x01 << 1) | // TP_UP_IRQ_EN (0x00 << 0) | // TP_DOWN_IRQ_EN 0; SetHandlerIRQ(TPADC_IRQn, TPADC_IRQHandler, PRI_SYS, 0); прерывание примерно так, но выходит бред по координатам... Спойлер __WEAK void TPADC_IRQHandler(void) { const uint32_t status = TPADC->TP_INT_FIFO_STAT_REG; TPADC->TP_INT_FIFO_STAT_REG = status; // clear the pending status. uint32_t rxData = (status >> 8) & 0x3F; uint32_t xD, yD, xU, yU; //if (BIT_GET(status, 16)) // FIFO_DATA_PENDING if (BIT_GET(status, 1) && rxData) { uart_print("\n\r RXA_START="); u32touart0(( status >> 8) & 0x3F); uart_print(" "); u32touart0( status); while ( (TPADC->TP_INT_FIFO_STAT_REG >> 8) & 0x3F ) { xU = TPADC->TP_DATA_REG; yU = TPADC->TP_DATA_REG; } uart_print("\n\r TP_UP_CH0="); u32touart0(xU); uart_print("\n\r TP_UP_CH2="); u32touart0(yU); uart_print("\n\r RXA_END="); u32touart0(( TPADC->TP_INT_FIFO_STAT_REG>> 8) & 0x3F); npf_pprintf(&uart0_putc, NULL, "\n\r x=%d y=%d \n", (xU * 480) / 4095 , (yU * 272) / 4095); } Изменено 13 января пользователем vasilius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 января Опубликовано 14 января (изменено) · Жалоба On 1/9/2024 at 11:43 PM, mantech said: А ну эт из разряда вам шашечки или ехать))))) Мне вот все равно, главное надежность работы. Программный спи хорош тем, что я не привязан к конкретным пинам, а это дорогого стоит, особенно в подобных случаях... Ногодрыг-SPI плох отсутствием DMA. On 1/9/2024 at 10:57 PM, repstosw said: Так что либо рисовать свою плату (или редактировать существующую) или делать шлейфик из гибкой PCB. Решение найдено. Без уродств: софтовых(ногодрыг) и аппаратных(шлейфики всякие)... И для ленивых котиков (не разводить самостоятельно плату ядра, не сношать пикад с альтиумом, итп...) Так как в релизе собираюсь использовать LCD марки LQ035NC111, он поддерживает один из режимов - Serial RGB,о котором я уже писал ранее, когда работал с OLED 160x128 : Spoiler На плате 100ASK-T113 как раз свободны ноги: PD13,PD12,PD10,PD11 (это соответственно SPI1_MISO,SPI1_MOSI,SPI1_CS,SPI1_CLK). Но они же: LCD_D19,LCD_D18,LCD_D14,LCD_D15, которые НЕ используются в режиме Serial RGB: Бонусом получаю SPI NAND Flash на SPI0. Так что паять SD-карту необязательно. Плюс почти в 3 раза меньше подключений для LCD. Скорость не страдает, так как клок TCON увеличивается втрое. Остаётся проверить это всё на практике, когда придут шлейфы FPC05-54 (для макета надо делать переходник для подключения LCD к плате mangoPi с 40-pin на 54-pin). На релизе всё будет проще: сразу 54-пиновый коннектор для LCD LQ035NC111 (320x240). Попутно вот ещё нашёл одну вариацию T113-s3 SOM (третья по счёту, как я понимаю): https://www.myirtech.com/list.asp?id=722 MYC-YT113X CPU Module Делает китайская контора MYiR - Make Your idea Real ! Из плюсов данного модуля: 1) Заключён в металлический экран 2) Аналоговая земля выведена на внешний пин (AGND). Даташиты и схемы - на сайте. P.S. Модуль ASK100-T113 придётся доработать: изменить резисторы в окружении DC/DC конвертера на ядро: повысить напряжение с 0,9V до 0,95V Изменено 14 января пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 14 января Опубликовано 14 января · Жалоба 45 минут назад, repstosw сказал: MYC-YT113X CPU Module Он дороже и больше по размеру, ethernet PHY там тоже нет, поэтому остановился на ASK100-T113. 46 минут назад, repstosw сказал: Модуль ASK100-T113 придётся доработать: изменить резисторы в окружении DC/DC конвертера на ядро: В версии 1.2 и выше вроде исправили)) 47 минут назад, repstosw сказал: один из режимов - Serial RGB, Какая экзотика, наверно есть только в экранчиках с маленьким разрешением... 48 минут назад, repstosw сказал: Ногодрыг-SPI плох отсутствием DMA. Которое далеко не всегда нужно, ИМХО... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 января Опубликовано 14 января · Жалоба 38 minutes ago, mantech said: Он дороже и больше по размеру, ethernet PHY там тоже нет, поэтому остановился на ASK100-T113. Цена - не вопрос вообще. Эзернет мне не нужен для моего проекта. Зато наличие экрана и отдельной AGND радует. 38 minutes ago, mantech said: В версии 1.2 и выше вроде исправили)) У меня вроде 1.1, которые зелёная плата. 39 minutes ago, mantech said: Какая экзотика, наверно есть только в экранчиках с маленьким разрешением... Я бы не называл экзотикой интерфейс Serial RGB. Интересно, что бы вы сказали об LCD-интерфейсах CCIR656 или CCIR601, которые могут нативно передавать YUV вместо RGB на LCD 🤣 41 minutes ago, mantech said: Которое далеко не всегда нужно, ИМХО... Для моего проекта нужно. Красивше будет + какой-то процент разгрузки для CPU (отправка, приём буфера из FIFO трансивера - до 64 кБ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 января Опубликовано 14 января · Жалоба 1 hour ago, mantech said: больше по размеру Это да. 39x37 против 34x34 у 100ASK. Замерил габариты модуля RF4463F30 (трансивер) 34x20. Как раз с модулем 100ASK имеют одинаковую длину. Так что скорее всего, буду использовать модули 100ASK. Потому что меньше размерами, размер удобен, и эти модули у меня на руках (в отличие от MYiR, которые надо ещё ждать). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 14 января Опубликовано 14 января (изменено) · Жалоба 1 час назад, repstosw сказал: Интересно, что бы вы сказали об LCD-интерфейсах CCIR656 или CCIR601 Жуть!))) 1 час назад, repstosw сказал: У меня вроде 1.1, которые зелёная плата. У меня 1.1 вообще глючила после пайки пол-часа, тут уже писал ранее, потом внезапно переболела))))))) ЗЫ. недавно пришли платы версии 2.1, там наконец-то вывели GPADC наружу, какие-то еше аудиовыходы и поставили i2c еепром на 4кбайта))) Из минусов - отверстия возле краевых контактов, стало хуже их паять, припой заливается в них(( Изменено 14 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 14 января Опубликовано 14 января (изменено) · Жалоба 3 часа назад, repstosw сказал: LQ035NC111 Ооо, е-мое, посмотрел у него точка размером со слона, я думал на 3.5" разрешение хоть 320х480))) Изменено 14 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 января Опубликовано 14 января (изменено) · Жалоба 31 minutes ago, mantech said: ЗЫ. недавно пришли платы версии 2.1, Какие там номиналы резисторов в обвесе DC/DC для питания ядра напряжением 0,95 V ? Че-то попытался посчитать, взял 82 и 51 кОм - выходит 0,97 В А если добавить 1 МОм к резистору на 100 к параллельно, то 0,93 В. 11 minutes ago, mantech said: Ооо, е-мое, посмотрел у него точка размером со слона, я думал на 3.5" разрешение хоть 320х480))) Мне такой именно нужен. И именно 320x240. Сейчас стоит 480x272, много лишней площади под мои цели. Изменено 14 января пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 14 января Опубликовано 14 января (изменено) · Жалоба 36 минут назад, repstosw сказал: Какие там номиналы резисторов в обвесе DC/DC для питания ядра напряжением 0,95 V ? Да хрен знает, они ж 0201 наверно, без надписей, напругу померяю, как платка собранная под рукой будет... ЗЫ. Схемы на новые версии нет, к сожалению... Изменено 14 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 14 января Опубликовано 14 января · Жалоба 41 minutes ago, mantech said: Да хрен знает, они ж 0201 наверно, без надписей, напругу померяю, как платка собранная под рукой будет... 105 и 180 кОм. Вот тут сказали: Только 105 кОм -не видел такого номинала. Нестандартный. 1 hour ago, mantech said: ЗЫ. недавно пришли платы версии 2.1, там наконец-то вывели GPADC наружу, какие-то еше аудиовыходы и поставили i2c еепром на 4кбайта))) Из минусов - отверстия возле краевых контактов, стало хуже их паять, припой заливается в них(( На вашей фото совсем не то, что они обещают: Здесь контакты выглядят нормально, а в вашем варианте - как-будто скрайбированием не там прошлись, где надо... 1 hour ago, mantech said: У меня 1.1 вообще глючила после пайки пол-часа, тут уже писал ранее, потом внезапно переболела))))))) В чём именно глючила? Какой характер глюков? Как удалось побороть? Сколько устройств вы изготовили именно с этой версией платы (зелёная)? Сколько из них - работают исправно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 56 14 января Опубликовано 14 января · Жалоба 2 часа назад, repstosw сказал: Только 105 кОм -не видел такого номинала. Нестандартный. 10.5кОм и 18кОм. и будет вам счастье. 2 часа назад, repstosw сказал: На вашей фото совсем не то, что они обещают: Где можно заказать такую плату ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 14 января Опубликовано 14 января (изменено) · Жалоба 6 часов назад, repstosw сказал: На вашей фото совсем не то, что они обещают: Я работал с 3мя версиями, 1.1, которая черная, 1.2 красная без отверстий и 2.1 красная с отверстиями. Отличия 1.2 от 1.1 доп нога от флешки выведена наружу, остальное, как и 1.1 но пайка более качественная, в 2.1 изменений больше, написал выше... 6 часов назад, repstosw сказал: В чём именно глючила? Какой характер глюков? Как удалось побороть? В одной были глюки с видеопортом, в другой с усб, после пайки и первого включения периодически глючила в течении 30-40 мин, после этого глюков не наблюдалось ни в одной из них. В версиях 1.2 и 2.1 не глючило пока нигде, сейчас чуть больше десятка контроллеров на них находятся на тестировании. 4 часа назад, Vasily_ сказал: Где можно заказать такую плату ? Мой заказчик покупал на алиэкспрессе, я тут где-то в теме ссылку оставлял... 6 часов назад, repstosw сказал: как-будто скрайбированием не там прошлись, где надо... Нет, это настоящие отверстия, краевые контакты там же, где они у пред. версии, по футпринту все совпадает тоже, для чего эти отверстия - х.з. может они туда штыревые контакты хотели впаять и на разъемы поставить))) Производитель тот же, снизу написано 100ASK Изменено 14 января пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 14 января Опубликовано 14 января · Жалоба а в вашем варианте - как-будто скрайбированием не там прошлись, где надо... Прошлись не там фрезой. Скрайбирование - надрез с последующим отламыванием: о краевых контактах можно даже не мечтать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 15 января Опубликовано 15 января (изменено) · Жалоба 8 hours ago, mantech said: В одной были глюки с видеопортом, в другой с усб, после пайки и первого включения периодически глючила в течении 30-40 мин, после этого глюков не наблюдалось ни в одной из них. Похоже на непропай/холодную пайку. На цифровых линиях такое работает случайно от фазы Луны наводок с воздуха... Даже с микро-трещинами дорожки иногда работает, если руку над платой держать рядом с включенным локальным освещением рабочего места. 5 hours ago, Obam said: Прошлись не там фрезой. Скорее всего. Китайцам свойственно выпускать серийную продукцию с прогрессирующей деградацией. Изменено 15 января пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться