Pic32

From DIDEAS Wiki
Jump to: navigation, search

Edit

pic32

knee1.pcb 4-15-2010 issues

  • PSW1, PSW2 need TX/RX crossover cable. (Eg signals TX/RX needs to be switched)
  • PSW1 (or 2) need supply voltage to pin (1??)
  • PISP requires cross over for both PGC / PGD and TX/RX
  • PMC1, PSC1 use normal straight calbles, however require 3.3V to power the isolated driver.
  • SC 3.3 and MC 3.3 are connected via FUPs. (PMC1, PSC1) this prevents robot from booting.
  • FUP24 volts on PMC1, PSC1 -> connects to local diode, however there is no ground path

serial numbers

  • 1 - this is the only one that works with EMG ???
    • there is a serial port output problem?
    • has 3 jumper wires
      • PSW2 pin 1 to C24 - provides 24V to PSW ports.
      • UD1.32 to RH1.6 - for SSI
      • UD1.64 to RH1.5 - for SSI
    • cut 3.3V trace that connects PMC1 and PSC1
  • 2
  • 3
  • 4
  • 5

PCB sch/layout

benchmarking

dsPIC in system timing (SVN revision 81)

  • w/debug code appx 2.52mS
  • debug code off : 2.26mS
  • motor commands off : appx 2.18mS

PIC32 timing (SVN revision 81)

Using 32 bit code generation and -Os optimization

  • 2ws flash 78.64MHz - 500uS - fastest 100% in spec
  • 2ws flash, 83MHz - 472uS
  • 3ws flash, 83MHz - 500uS
  • 2ws flash, 103.2MHz = 382uS

Using 16 bit code generation and -Os optimization

  • 2ws flash, 103.2MHz = 422uS

Using 32 bit code generation and NO optimization

  • 2ws flash, 103.2MHz = 540uS

Using 16 bit code generation and NO optimization

  • 2ws flash, 103.2MHz = 566uS

Using 32 bit code generation and -OS "fastest" optimization

  • 2ws flash, 103.2MHz = 388uS

Using 32 bit code generation and -O2 optimization

  • 2ws flash, 103.2MHz = 390uS

Using 32 bit code generation and -O1 optimization

  • 2ws flash, 103.2MHz = 390uS


flash overclock

DS specs : 0WS for 0-30MHz, 1WS for 30 to 60MHz, and 2WS for 80MHz

  • 0WS flash, 41.7MHz - 818uS
  • 1ws flash, 83MHz - 440uS
  • 2ws flash, 125MHz - 316uS
  • 3ws flash, 140MHz - 300uS

PLL configs

CLK = 14.74MHz

  • 41Mhz = CLK / 3 * 17 / 2
  • 78MHz = CLK / 3 * 16
  • 83MHz = CLK / 3 * 17
  • 103MHz = CLK / 3 * 21
  • 125Mhz = CLK / 2 * 17
  • 140MHz = CLK / 2 * 19

PIC32 DOCS