nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 15 Oct 2018 12:52



Reply to topic  [ 127 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 9  Next
Плата центрального недопроцессора nedoCPU-32 
Author Message
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
Shaos wrote:
не думаю что имеет смысл - зачем делаться конкурентом ChipKit-у :)
моё творчество - это "анти-ардуино" ;)


Совсем не конкурент:
а) chipKIT не использует DIP-корпуса, а в этом главная фишка
б) там порт USB сделан через FT232, но напрямую проще

Вполне себе ниша. Платы будут разлетаться, как пирожки с лотка.


18 May 2012 14:14
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
SergeV wrote:
Shaos wrote:
не думаю что имеет смысл - зачем делаться конкурентом ChipKit-у :)
моё творчество - это "анти-ардуино" ;)


Совсем не конкурент:
а) chipKIT не использует DIP-корпуса, а в этом главная фишка
б) там порт USB сделан через FT232, но напрямую проще

Вполне себе ниша. Платы будут разлетаться, как пирожки с лотка.


вариант с USB отъедает больше ног - т.е. будет меньше I/O которых и так не сильно много...

P.S. вроде бы один покупатель хотел попробовать сделать nedoCPU-32 совместимым с ChipKit - чем закончилось незнаю...

_________________
:eugeek: https://twitter.com/Shaos1973


18 May 2012 14:20
Profile WWW
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
Получил плату, собрал, вставил в breadboard - очень удобно.
На каждый из сигналов посадил светодиод, запустил простейший тест. Обнаружилось, что сигналы C5, C6, C7 не работают. Верхние концы резисторов R16, R17, R18 никуда не подключены. Или их надо внешними проводами подпаивать?
--Спасибо,
Сергей


28 May 2012 03:43
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
SergeV wrote:
Получил плату, собрал, вставил в breadboard - очень удобно.
На каждый из сигналов посадил светодиод, запустил простейший тест. Обнаружилось, что сигналы C5, C6, C7 не работают. Верхние концы резисторов R16, R17, R18 никуда не подключены. Или их надо внешними проводами подпаивать?
--Спасибо,
Сергей


Да нет - всё подключено - см. внимательно на топологию платки
Я тестировал канал C целиком - всё работало:
Image

P.S. А какой чипы Вы подключили? USB-шный?

_________________
:eugeek: https://twitter.com/Shaos1973


28 May 2012 09:48
Profile WWW
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
Shaos wrote:
Да нет - всё подключено - см. внимательно на топологию платки

P.S. А какой чипы Вы подключили? USB-шный?

Прошу прощения - моя ошибка. Каким-то образом шина питания на breadboard оказалась не сплошной. Три крайних светодиода оказались оторванными. Теперь все сигналы работают.

Вот здесь есть видео "бегущего огонька": http://www.youtube.com/watch?v=93s3zv9zizI
Тут исходные тексты: http://code.google.com/p/vak-opensource ... nedocpu-32

Сейчас я поставил mx150f128b (без USB). Я купил каждой твари по паре, для экспериментов: 110f016b, 120f032b, 150f128b, 210f016b, 220f032b, 250f128b. Часто не жалко отдать четыре ножки для USB, зато можно делать штуки с управлением от компьютера. Пока что не удаётся использовать f016b - не получается прошить их через pic32prog. Возможно, не хватает внутренней RAM для programming executive.

Есть вопрос про танталовый конденсатор на 20-й ножке (Vcap). У Вас в плате он отсутствует, но по документации вроде бы обязательный элемент.
--Спасибо,
Сергей


28 May 2012 15:45
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
SergeV wrote:
Shaos wrote:
Да нет - всё подключено - см. внимательно на топологию платки

P.S. А какой чипы Вы подключили? USB-шный?

Прошу прощения - моя ошибка. Каким-то образом шина питания на breadboard оказалась не сплошной. Три крайних светодиода оказались оторванными. Теперь все сигналы работают.


Да у больших бредборд есть такая фишка - несплошные линии питания...

SergeV wrote:
Вот здесь есть видео "бегущего огонька": http://www.youtube.com/watch?v=93s3zv9zizI
Тут исходные тексты: http://code.google.com/p/vak-opensource ... nedocpu-32


Интересно получилось - вставлю прямо сюда:



Code:
/*
 * Include processor definitions.
 */
#include "pic32mx.h"

/*
 * Chip configuration.
 */
PIC32_DEVCFG (
    DEVCFG0_DEBUG_DISABLED,     /* ICE debugger disabled */

    DEVCFG1_FNOSC_FRCPLL |      /* Fast RC oscillator with PLL */
    DEVCFG1_POSCMOD_DISABLE |   /* Primary oscillator disabled */
    DEVCFG1_FPBDIV_1 |          /* Peripheral bus clock = SYSCLK/1 */
    DEVCFG1_OSCIOFNC_OFF |      /* CLKO output disable */
    DEVCFG1_FCKM_DISABLE |      /* Fail-safe clock monitor disable */
    DEVCFG1_FCKS_DISABLE,       /* Clock switching disable */

    DEVCFG2_FPLLIDIV_2 |        /* PLL divider = 1/2 */
    DEVCFG2_FPLLMUL_20 |        /* PLL multiplier = 20x */
    DEVCFG2_UPLLIDIV_2 |        /* USB PLL divider = 1/2 */
    DEVCFG2_UPLLDIS |           /* Disable USB PLL */
    DEVCFG2_FPLLODIV_2,         /* PLL postscaler = 1/2 */

    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;
    }
}

int main()
{
    /* Initialize coprocessor 0. */
    mtc0 (C0_COUNT, 0, 0);
    mtc0 (C0_COMPARE, 0, -1);
    mtc0 (C0_EBASE, 1, 0x9fc00000);     /* Vector base */
    mtc0 (C0_INTCTL, 1, 1 << 5);        /* Vector spacing 32 bytes */
    mtc0 (C0_CAUSE, 0, 1 << 23);        /* Set IV */
    mtc0 (C0_STATUS, 0, 0);             /* Clear BEV */

    /* 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). У Вас в плате он отсутствует, но по документации вроде бы обязательный элемент.
--Спасибо,
Сергей


Да вроде присутсвует - керамический 0.1uF C5

_________________
:eugeek: https://twitter.com/Shaos1973


28 May 2012 16:42
Profile WWW
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
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".

Таблица 29-13: "External Filter Capacitor Value: min 8, typical 10 μF."

На родной микрочиповской плате там стоят два конденсатора: танталовый 10μF и керамический 0.1μF.


28 May 2012 17:31
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Да - наверное надо будет заменить на 10uF...
P.S. А в чём может выражаться неправильность работы девайса в случае если этот конденсатор мелковат?

_________________
:eugeek: https://twitter.com/Shaos1973


28 May 2012 20:47
Profile WWW
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
Shaos wrote:
P.S. А в чём может выражаться неправильность работы девайса в случае если этот конденсатор мелковат?

Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.


28 May 2012 22:18
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
SergeV wrote:
Shaos wrote:
P.S. А в чём может выражаться неправильность работы девайса в случае если этот конденсатор мелковат?

Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.


Нет - такого вроде бы не наблюдалось

P.S. Вот думаю C5 вот на это перевести:
http://www.digikey.com/product-detail/e ... ND/2256808
Это керамический 10 мкФ

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2012 15:55
Profile WWW
Junior

Joined: 18 May 2012 12:54
Posts: 7
Location: 12.201.5.10
Reply with quote
Post 
Shaos wrote:
SergeV wrote:
Ядро процессора имеет напряжение питания 1.8V. Vcap, как я понимаю, это сглаживающий конденсатор после встроенного преобразователя. Если маловато, будет зависать или перевызываться иногда.

Нет - такого вроде бы не наблюдалось

Я тоже не замечал. Но это может проявляться только когда включается вся периферия: UART, SPI, DMA.

Shaos wrote:
P.S. Вот думаю C5 вот на это перевести:
http://www.digikey.com/product-detail/e ... ND/2256808
Это керамический 10 мкФ

Классная вещь, даже дешевле чем танталовые в Halted Electronics. Надо будет тоже такими разжиться.


29 May 2012 17:20
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
SergeV wrote:
Shaos wrote:
P.S. Вот думаю C5 вот на это перевести:
http://www.digikey.com/product-detail/e ... ND/2256808
Это керамический 10 мкФ

Классная вещь, даже дешевле чем танталовые в Halted Electronics. Надо будет тоже такими разжиться.

Таки купил я этих керамических конденсаториков на 10 мкФ :)

_________________
:eugeek: https://twitter.com/Shaos1973


23 Oct 2014 00:23
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Немного подробнее о том, что есть внутри nedoCPU-32:
Code:
PIC32MX110F016B  PIC32MX170F256B
      DIP28     
PROG: 16KB(+3KB) 256KB(+3KB)
DATA: 4KB        64KB
      20 remappable pins
      5 timers
      5 capture
      5 compare
      2 UART
      2 SPI/I2S
      5 external interrupts
      3 analog comparators
      2 I2C
      Parallel Master Port
      4 DMA Programmable Channels
      CTMU (touch)
      10 channels of 10-bit 1 Msps ADC
      RTCC
      21 I/O Pins
      JTAG

nedoCPU-32:

X1.1 (A0) RA0            CTED1       RPA0 C3INC             AN0 CVREF+ VREF+
X1.2 (A1) RA1            CTED2       RPA1                   AN1 CVREF- VREF-
X1.3 (A2) RA2                        RPA2 CLKI OSC1 (NC if ext.crystal)
X1.4 (A3) RA3      PMA0              RPA3 CLKO OSC2 (NC if ext.crystal)
X1.5 (A4) RA4      PMA1  CTED9  T1CK RPA4 SOSCO
X1.6 (3.3V)
X1.7 (Vcc)
X1.8 (Gnd)

X2.1 (B0) RB0                        RPB0 C3IND C2INB C1IND AN2 PGED1
X2.2 (B1) RB1            CTED12      RPB1       C2INA C1INC AN3 PGEC1
X2.3 (B2) RB2            CTED13 SDA2 RPB2       C2IND C1INB AN4
X2.4 (B3) RB3                   SCL2 RPB3 RTCC  C2INC C1INA AN5
X2.5 (B4) RB4                        RPB4 SOSCI
X2.6 (B5) RB5      PMD7              RPB5                       PGED3
X2.7 (B6) RB6      PMD6              RPB6                       PGEC3
X2.8 (B7) RB7 INT0 PMD5  CTED3       RPB7  TDI

X3.1 (C0) RB8      PMD4  CTED10 SCL1 RPB8  TCK
X3.2 (C1) RB9      PMD3  CTED4  SDA1 RPB9  TDO
X3.3 (C2) RB10     PMD2  CTED11      RPB10                      PGED2
X3.4 (C3) RB11     PMD1              RPB11 TMS                  PGEC2
X3.5 (C4) RB12     PMD0                                     AN12
X3.6 (C5) RB13     PMRD  CTPLS       RPB13                  AN11
X3.7 (C6) RB14     PMWR  CTED5  SCK1 RPB14 C3INB            AN10 CVREFOUT
X3.8 (C7) RB15     PMCS1 CTED6  SCK2 RPB15 C3INA            AN9


Плюс к этому входы вида RPAxx и RPBxx можно цеплять к разнообразной периферии программно (например UART1, UART2, таймера 2-5 и т.д.)

P.S. Интересной особенностью параллельного мастер порта (сигналы PMxx) является то, что на него можно натравить DMA, которое может брать последовательность байтов из памяти и колбасить их в порт - это можно использовать для генерации видео...

_________________
:eugeek: https://twitter.com/Shaos1973


27 Mar 2015 21:01
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Пока решил с однобитным видео поэкспериментировать на примере вот этого:

http://hackaday.io/project/2032-pic32-oscilloscope

Тут тоже DMA, но через SPI

P.S. В оригинальный PIC32MX110F016B эти примеры уже не влезают - расчехляю PIC32MX170F256B...

P.P.S. Работает :)


Attachments:
File comment: PIC32_TV_256x200_60MHz_ball_pipe.c на nedoCPU-32 (в темноте)
Photo0133.jpg
Photo0133.jpg [ 112.2 KiB | Viewed 3304 times ]
File comment: PIC32_TV_256x200_60MHz_ball_pipe.c на nedoCPU-32
Photo0132.jpg
Photo0132.jpg [ 117.72 KiB | Viewed 3307 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
28 Mar 2015 07:37
Profile WWW
Banned
User avatar

Joined: 04 Jan 2013 11:09
Posts: 398
Location: 95.24.178.158
Reply with quote
Shaos wrote:
Интересной особенностью параллельного мастер порта (сигналы PMxx) является то, что на него можно натравить DMA, которое может брать последовательность байтов из памяти и колбасить их в порт - это можно использовать для генерации видео...

На фотографиях это точечная графика через PIC32 или всё же псевдографический режим?
Если точечная графика, то какой размер растра?


28 Mar 2015 11:18
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 127 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 9  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.