Hardware/PICEBS3/Welcome

(Difference between revisions)
Jump to: navigation, search
(Hardware)
(Hardware)
Line 28: Line 28:
  
 
=== Hardware ===
 
=== Hardware ===
([[[http://wiki.hevs.ch/uit/index.php5/Hardware/PIcEBS Datasheets]]]).  
+
([[[http://wiki.hevs.ch/uit/index.php5/Hardware/PIcEBS Datasheets and schematics]]]).  
  
Here is a list of the main PICEBS2's characteristics:
+
Here is a list of the main PICEBS3's characteristics:
  
* CPU PIC18F87K22
+
* CPU PIC18F97J94
** High range PIC18 family with 128kB Flash & 4kB RAM
+
** High range PIC18 family with 128kB Flash & 4kB RAM, Lite PPS
** RTC
+
 
** 12 bits ADC
 
** 12 bits ADC
** 11 timers
+
** 9 timers
** UART, SPI, I2C
+
** 4 UART, 2 SPI, 2 I2C
 +
** USB
 
** ...
 
** ...
* Onboard PICKIT3 debugger
+
* Onboard SNAP debugger (not on EasyPicPro v8 standard)
** Compatible with MPLABX
+
** Compatible with MPLABX (uage of USB-A cable is mandatory)
** Can be used standalone or turned off
+
* I/O ports
 +
** 10 ports with optional led
 +
** each of them with a button (pull-up or pull-down selectable)
 +
** Capacitive multi points touch screen
 
* LCD Display
 
* LCD Display
** 320x240, 265k colors
+
** 800x480
 
** Backlight
 
** Backlight
** Resistive touch screen
+
** Capacitive multi points touch screen
 
* Networking and communication
 
* Networking and communication
 
** CAN bus
 
** CAN bus
** RS232
+
** RS232 (throuth USB FTDI)
** PS2 keyboard
+
** USB interface
** Olimex UEXT
+
** Ethernet interface(not with the CPU module PIC18F97J94)
 +
 
 
* Development
 
* Development
** All CPU pins are available on a connector
+
** Almost all CPU pins are available on connectors
** Standard HES-SO//Valais 26 pin header on board
+
** CPU current measure available on a 1 ohm resistor (not on EasyPicPro v8 standard)
  
 
=== Software ===
 
=== Software ===

Revision as of 13:54, 11 March 2021

Contents

Welcome to the PICEBS3 wiki

PICEBS3 is the name of a small embedded computer board targeted at teaching embedded systems programming based on the Mikroe EasyPicPro v8 board. As its name suggests, it is the third iteration of a successful family of Microchip PIC board.

The Mikroe board has been just modified for our laboratories usage.

Please note that, as a student, you can loan a board for free during your studies to work at home ;-) Just ask the laboratory responsible Pascal Sartoretti (sap) for the procedure to follow.

PICEBS3.jpg

We, the PICEBS3 team, provide a comprehensive solution for

  • Practical work for HEI course Information systems given in second year.
  • All kind of project featuring a small-sized micro-controller.


What can be done with the PICEBS3?

The board is powerful enough to run applications with:

  • LCD and touch screen interface
  • Serial port usage (UART)
  • CAN interface
  • ...

To program this board, you do not require an external programming probe, as it already includes a "Microchip Snap"system for programming and debugging. All you need is an USB port and the free MPLAB-X IDE. Caution, the USB câble has to be an USB-A cable.

Hardware

([[Datasheets and schematics]]).

Here is a list of the main PICEBS3's characteristics:

  • CPU PIC18F97J94
    • High range PIC18 family with 128kB Flash & 4kB RAM, Lite PPS
    • 12 bits ADC
    • 9 timers
    • 4 UART, 2 SPI, 2 I2C
    • USB
    • ...
  • Onboard SNAP debugger (not on EasyPicPro v8 standard)
    • Compatible with MPLABX (uage of USB-A cable is mandatory)
  • I/O ports
    • 10 ports with optional led
    • each of them with a button (pull-up or pull-down selectable)
    • Capacitive multi points touch screen
  • LCD Display
    • 800x480
    • Backlight
    • Capacitive multi points touch screen
  • Networking and communication
    • CAN bus
    • RS232 (throuth USB FTDI)
    • USB interface
    • Ethernet interface(not with the CPU module PIC18F97J94)
  • Development
    • Almost all CPU pins are available on connectors
    • CPU current measure available on a 1 ohm resistor (not on EasyPicPro v8 standard)

Software

Tips & tricks

  • CPU speed control
// to work at maximum CPU speed (64MHz) insert following code at start.
   PLLEN = 1;            // activate PLL x4
   OSCCON = 0b01110000;  // for 64MHz cpu clock (default is 8MHz)
// Caution -> the PLL needs up to 2 [ms] to start !
// Wait a moment if needed with: __delay_ms(2);
   ...
  • Change one bit on a port
// to change one bit on a port, use LATx and not PORTx
   LATH2 = 1;            // turn led on for example
   ...
  • Interrupt on change on PORTB (RB4-RB7)
// to clear the interrupt flag you have to read the PORTB
   ...
   PORTB;               // clear the latch change on PORTB
   RBIF = 0;            // clear the interrupt itself
   ...
  • Reduce current consumption
// To reduce consumption at minimum, do at least
   LCD_PowerOff();  // turn all LCD parts off
   UART_PowerOff(); // turn UART driver off
   Can_PowerOff();  // turn off MCP2515 chipset
// And define unused GPIOs as output
   TRISB5 = 0;      // for example
   ...
// You can measure (between white and yellow test points) about 630 uA after a SLEEP();
  • Link in low address range (download time reduced)
   - To reduce the time to download, you need to write a linker special command
      In the "XC8 linker" - "Extra Linker Option" write the following line:
      "-L-ACODE=0x0-0x10000 -L-AMEDIUMCONST=0x0-0x10000"
   - Another solution is to have an interrupt routine (even if nothing in)
   The full program needs to be smaller than 50% of CPU Flash memory.

Bugs, issues, questions and comments

Feel free to contact the PICEBS2 team if you encounter a problem. Do not forget to have a look at the Tips & tricks section.

Personal tools
Namespaces
Variants
Actions
Navigation
Browse
Toolbox