Joined: 18 May 2012 11:54 Posts: 7 Location: 12.201.5.10
Получил плату, собрал, вставил в breadboard - очень удобно.
На каждый из сигналов посадил светодиод, запустил простейший тест. Обнаружилось, что сигналы C5, C6, C7 не работают. Верхние концы резисторов R16, R17, R18 никуда не подключены. Или их надо внешними проводами подпаивать?
--Спасибо,
Сергей
28 May 2012 02:43
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22589 Location: Silicon Valley
SergeV wrote:
Получил плату, собрал, вставил в breadboard - очень удобно. На каждый из сигналов посадил светодиод, запустил простейший тест. Обнаружилось, что сигналы C5, C6, C7 не работают. Верхние концы резисторов R16, R17, R18 никуда не подключены. Или их надо внешними проводами подпаивать? --Спасибо, Сергей
Да нет - всё подключено - см. внимательно на топологию платки
Я тестировал канал C целиком - всё работало:
Joined: 18 May 2012 11:54 Posts: 7 Location: 12.201.5.10
Shaos wrote:
Да нет - всё подключено - см. внимательно на топологию платки
P.S. А какой чипы Вы подключили? USB-шный?
Прошу прощения - моя ошибка. Каким-то образом шина питания на breadboard оказалась не сплошной. Три крайних светодиода оказались оторванными. Теперь все сигналы работают.
Сейчас я поставил mx150f128b (без USB). Я купил каждой твари по паре, для экспериментов: 110f016b, 120f032b, 150f128b, 210f016b, 220f032b, 250f128b. Часто не жалко отдать четыре ножки для USB, зато можно делать штуки с управлением от компьютера. Пока что не удаётся использовать f016b - не получается прошить их через pic32prog. Возможно, не хватает внутренней RAM для programming executive.
Есть вопрос про танталовый конденсатор на 20-й ножке (Vcap). У Вас в плате он отсутствует, но по документации вроде бы обязательный элемент.
--Спасибо,
Сергей
28 May 2012 14:45
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22589 Location: Silicon Valley
SergeV wrote:
Shaos wrote:
Да нет - всё подключено - см. внимательно на топологию платки
P.S. А какой чипы Вы подключили? USB-шный?
Прошу прощения - моя ошибка. Каким-то образом шина питания на breadboard оказалась не сплошной. Три крайних светодиода оказались оторванными. Теперь все сигналы работают.
Да у больших бредборд есть такая фишка - несплошные линии питания...
DEVCFG3_USERID(0xffff) | /* User-defined ID */ DEVCFG3_FSRSSEL_7); /* Assign irq priority 7 to shadow set */
/* * Boot code. */ asm (" .section .exception"); asm (" .globl _start"); asm (" .type _start, function"); asm ("_start: la $sp, _estack"); asm (" la $ra, main"); asm (" la $gp, _gp"); asm (" jr $ra"); asm (" .text");
/* * Delay for a given number of milliseconds. */ void mdelay (unsigned msec) { unsigned now = mfc0 (C0_COUNT, 0); unsigned final = now + msec * MHZ * 500;
for (;;) { now = mfc0 (C0_COUNT, 0);
/* This comparison is valid only when using a signed type. */ if ((int) (now - final) >= 0) break; } }
/* Disable JTAG port, to make all LEDs available. */ DDPCON = 0;
/* Use all ports as digital. */ ANSELA = 0; ANSELB = 0;
/* All PORTA, PORTB as output. */ LATA = 0; LATB = 0; TRISA = 0; TRISB = 0;
int value = 1; int dir = 1; for (;;) { LATA = value & 0x1f; LATB = (value >> 5) & 0xffff; if (dir > 0) value <<= 1; else value >>= 1;
if (! (value & 0x1fffff)) { /* Reverse direction */ dir = -dir; value = 2; if (dir < 0) value <<= 18; }
mdelay (100); } }
В тексте программы я вижу кучу лишнего кода, который мне ни о чём не говорит...
SergeV wrote:
Сейчас я поставил mx150f128b (без USB). Я купил каждой твари по паре, для экспериментов: 110f016b, 120f032b, 150f128b, 210f016b, 220f032b, 250f128b. Часто не жалко отдать четыре ножки для USB, зато можно делать штуки с управлением от компьютера. Пока что не удаётся использовать f016b - не получается прошить их через pic32prog. Возможно, не хватает внутренней RAM для programming executive.
Если с USB что-то получится - расскажете? оч.интересно
SergeV wrote:
Есть вопрос про танталовый конденсатор на 20-й ножке (Vcap). У Вас в плате он отсутствует, но по документации вроде бы обязательный элемент. --Спасибо, Сергей
Joined: 18 May 2012 11:54 Posts: 7 Location: 12.201.5.10
Shaos wrote:
В тексте программы я вижу кучу лишнего кода, который мне ни о чём не говорит...
Это потому что используется "голый" GCC, без библиотек и startup от Microchip. Зато весь код перед глазами, нет тёмных мест.
Boot code - это адрес BFC00000, откуда начинается выполнение. Устанавливает стек и $gp, и уходит в main(). В начале main() делается инициализация системных регистров, т.н. сопроцессор 0. Конфигурация чипа (fuses) сделаны в виде макроса PIC32_DEVCFG(). Inline-функции mfc0( и mtc0() объявлены в pic32mx.h.
Shaos wrote:
Если с USB что-то получится - расскажете? оч.интересно
С USB есть положительный опыт на старших моделях. Вот http://code.google.com/p/retrobsd/source/browse/trunk/sys/pic32/usb_boot.c, например, универсальный USB bootloader, совместимый с UBW32. Используется для RetroBSD на самых рахных платах. Размер кода порядка 9 килобайт. Даже для mx110f016b вполне терпимо, с учётом 3 килобайт boot memory.
Shaos wrote:
SergeV wrote:
Есть вопрос про танталовый конденсатор на 20-й ножке (Vcap). У Вас в плате он отсутствует, но по документации вроде бы обязательный элемент. --Спасибо, Сергей
Да вроде присутсвует - керамический 0.1uF C5
А его достаточно? Из спецификации MX1/MX2, section 2.3.1: "A low-ESR (1 ohm) capacitor is required on the VCAP pin, which is used to stabilize the internal voltage regulator output. The VCAP pin must not be connected to VDD, and must have a CEFC capacitor, with at least a 6V rating, connected to ground. The type can be ceramic or tantalum".
Joined: 18 May 2012 11:54 Posts: 7 Location: 12.201.5.10
Shaos wrote:
P.S. А в чём может выражаться неправильность работы девайса в случае если этот конденсатор мелковат?
Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.
28 May 2012 21:18
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22589 Location: Silicon Valley
SergeV wrote:
Shaos wrote:
P.S. А в чём может выражаться неправильность работы девайса в случае если этот конденсатор мелковат?
Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.
Joined: 18 May 2012 11:54 Posts: 7 Location: 12.201.5.10
Shaos wrote:
SergeV wrote:
Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.
Нет - такого вроде бы не наблюдалось
Я тоже не замечал. Но это может проявляться только когда включается вся периферия: UART, SPI, DMA.
Плюс к этому входы вида RPAxx и RPBxx можно цеплять к разнообразной периферии программно (например UART1, UART2, таймера 2-5 и т.д.)
P.S. Интересной особенностью параллельного мастер порта (сигналы PMxx) является то, что на него можно натравить DMA, которое может брать последовательность байтов из памяти и колбасить их в порт - это можно использовать для генерации видео...
Интересной особенностью параллельного мастер порта (сигналы PMxx) является то, что на него можно натравить DMA, которое может брать последовательность байтов из памяти и колбасить их в порт - это можно использовать для генерации видео...
На фотографиях это точечная графика через PIC32 или всё же псевдографический режим? Если точечная графика, то какой размер растра?
Users browsing this forum: No registered users and 26 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum