Difference between revisions of "Beta Main Board"

From apertus wiki
Jump to: navigation, search
Line 47: Line 47:
'''Guide to program the PIC16s in Beta Main Board'''
'''Guide to program the PIC16s in Beta Main Board'''


Beta Main Board uses Microchip PIC16F1718 MCUs. We have two of these, West and East, to control Routing Fabrics West (RFW) and Routing Fabrics East (RFE) respectively. To program the PIC16s, first make sure you are connected to your [[AXIOM Beta]] either via Serial or SSH. (See [https://wiki.apertus.org/index.php/AXIOM_Beta/Manual AXIOM Beta/Manual])
Beta Main Board houses Microchip PIC16F1718 MCUs. We have two of these, West and East, to control Routing Fabrics West (RFW) and Routing Fabrics East (RFE) respectively. To program the PIC16s, first make sure you are connected to your [[AXIOM Beta]] either via Serial or SSH. (See [https://wiki.apertus.org/index.php/AXIOM_Beta/Manual AXIOM Beta/Manual])


<br>Run this script to prepare the MicroZed (upload a special FPGA firmware) to program the PIC16s via ICSP:
<br>Run this script to prepare the MicroZed (upload a special FPGA firmware) to program the PIC16s via ICSP:

Revision as of 13:25, 8 June 2020

00-MB-001- AXIOM Beta Main Board V0.36R1.2 Bottom Populated 02 Show sm b.jpg

Full size image.


The Beta Main Board is the camera's equivalent of a PC's motherboard. Two external medium-speed shield connectors and two high-speed plugin module slots provide ample opportunity to expand other constituent parts of the camera's hardware.


ABCS-MB-02a- AXIOM Beta Main Board V0.36R1.2 Top Populated sm 02.jpg

Full size image.


In the centre of the Main Board, and on both sides of the PCB, a 'solder-on' area for Beta CSOs has been incorporated. CSOs host chips capable of, for example, sensing the camera's orientation and acceleration (the same chips used to stabilise quad-copters and track head movements in VR headsets). Being situated directly behind the image sensor's centre means that these sensors are ideally positioned to supply data surrounding image stabilisation or metadata about the camera’s orientation and movement during a shot. Two Lattice FPGAs (the so called routing fabrics) handle all the low speed GPIO communications that are required for plugin modules, shields and CSOs without sacrificing valuable Zynq GPIOs.

The Main Board is positioned between the Interface Board and the Power Board in the camera's PCB stack (See Camera Structure).


Re: AXIOM Beta Main Board's use of Shields - Beta Debug Shield

The East shield has 4 Zynq LVDS pairs, the West shield 4 Lattice LVDS pairs (both East and West shields both have 10 North and 10 South GPIOs). LVDS paired directly from the Zynq can then be considered high speed, i.e. 1Gbit/s guaranteed and up to 1.5Gbit/s under good conditions. LVDS paired from one of the Lattice FPGAs means guaranteed up to 450Mbit, i.e. under good conditions probably around 600Mbit/s. Single ended GPIOs, regardless from where they originate, are below 300MHz at best.

Plugin Slots on the AXIOM Beta Main Board have 6 Zynq LVDS pairs and 8 GPIOs each, as well as one I2C bus for identification.

The CSO area has 2 x 4 GPIOs which can also be used as I2C or SPI buses.

ABCS-MB-02b- AXIOM Beta Main Board V0.36R1.2 Bottom Populated sm02.jpg

Full size image.





1 Programming

Guide to program the PIC16s in Beta Main Board

Beta Main Board houses Microchip PIC16F1718 MCUs. We have two of these, West and East, to control Routing Fabrics West (RFW) and Routing Fabrics East (RFE) respectively. To program the PIC16s, first make sure you are connected to your AXIOM Beta either via Serial or SSH. (See AXIOM Beta/Manual)


Run this script to prepare the MicroZed (upload a special FPGA firmware) to program the PIC16s via ICSP:

$ sudo /opt/axiom-firmware/software/bringup-scripts/prep_icsp.sh


Select one of the PICs on the MUX ("A" for PIC West and "B" for PIC East) and then specify the same for icsp_prog.py, along with PIC's firmware hex file:

$ sudo /opt/axiom-firmware/software/scripts/rf_sel.py A
$ sudo python /opt/axiom-firmware/software/bringup-scripts/icsp_prog.py A /opt/axiom-firmware/peripherals/pic_firmware/PIC16/PIC16F1718/i2c_slave.hex
$ sudo /opt/axiom-firmware/software/scripts/rf_sel.py B
$ sudo python /opt/axiom-firmware/software/bringup-scripts/icsp_prog.py B /opt/axiom-firmware/peripherals/pic_firmware/PIC16/PIC16F1718/i2c_slave.hex

2 Current Revision

AXIOM Beta Main Board V0.36 R1.2


3 Revision Archive

AXIOM Beta Main Board V0.35

AXIOM Beta Main Board V0.33

AXIOM Beta Main Board V0.29

AXIOM Beta Board 100 v0.16

axiom beta board 100 v0.15 test