Skip to content

Commit

Permalink
Industrial Edge Demo: Adding two GPIOs for Motor Control functionality.
Browse files Browse the repository at this point in the history
This demo requires to make use of Mikrobus connector for AN (direction)
and RST (Reset) pins to incorporate Stepper Motor functionality.
So added two new GPIOs, one for AN and another for RST.

In this demo, the UAExpert works as OPC UA Client and PolarFire SoC
ICICLE Kit as OPC UA Servers to communicate over OPC protocol. This
demo also explains the ICICLE capability to function as OPC UA Client
and OPC UA Server both.

Signed-off-by: Ahmed Mujtaba Ali <[email protected]>
  • Loading branch information
Ahmed Mujtaba Ali committed Jun 13, 2023
1 parent 2feb03f commit 78d49d8
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 8 deletions.
8 changes: 4 additions & 4 deletions script_support/MPFS_ICICLE_MSS_baremetal.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -634,10 +634,10 @@ GPIO_2_19 FABRIC
GPIO_2_19_DIR OUT
GPIO_2_1_DIR BI
GPIO_2_2 FABRIC
GPIO_2_20 UNUSED
GPIO_2_20_DIR IN
GPIO_2_21 UNUSED
GPIO_2_21_DIR IN
GPIO_2_20 FABRIC
GPIO_2_20_DIR OUT
GPIO_2_21 FABRIC
GPIO_2_21_DIR OUT
GPIO_2_22 UNUSED
GPIO_2_22_DIR IN
GPIO_2_23 UNUSED
Expand Down
8 changes: 4 additions & 4 deletions script_support/MPFS_ICICLE_MSS_linux.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -638,10 +638,10 @@ GPIO_2_19 FABRIC
GPIO_2_19_DIR OUT
GPIO_2_1_DIR BI
GPIO_2_2 FABRIC
GPIO_2_20 UNUSED
GPIO_2_20_DIR IN
GPIO_2_21 UNUSED
GPIO_2_21_DIR IN
GPIO_2_20 FABRIC
GPIO_2_20_DIR OUT
GPIO_2_21 FABRIC
GPIO_2_21_DIR OUT
GPIO_2_22 UNUSED
GPIO_2_22_DIR IN
GPIO_2_23 UNUSED
Expand Down
4 changes: 4 additions & 0 deletions script_support/components/MPFS_ICICLE_KIT_BASE_DESIGN.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ sd_create_scalar_port -sd_name ${sd_name} -port_name {CK_N} -port_direction {OUT
sd_create_scalar_port -sd_name ${sd_name} -port_name {CK} -port_direction {OUT} -port_is_pad {1}
sd_create_scalar_port -sd_name ${sd_name} -port_name {COREUART_TX} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {CS} -port_direction {OUT} -port_is_pad {1}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_20_AN} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_21_RST} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {LED0} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {LED1} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {LED2} -port_direction {OUT}
Expand Down Expand Up @@ -290,6 +292,8 @@ sd_connect_pins -sd_name ${sd_name} -pin_names {"FIC_3_PERIPHERALS_1:PWM_0" "mBU
sd_connect_pins -sd_name ${sd_name} -pin_names {"FIC_3_PERIPHERALS_1:RPi_ID_SC" "RPi_ID_SC" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"FIC_3_PERIPHERALS_1:RPi_ID_SD" "RPi_ID_SD" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"FIC_3_PERIPHERALS_1:fabric_sd_emmc_demux_select_out" "SDIO_SW_SEL0" "SDIO_SW_SEL1" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_20_AN" "MSS_WRAPPER_1:GPIO_2_M2F_20_AN" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_21_RST" "MSS_WRAPPER_1:GPIO_2_M2F_21_RST" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"I2C_1_SCL" "MSS_WRAPPER_1:I2C_1_SCL" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"I2C_1_SDA" "MSS_WRAPPER_1:I2C_1_SDA" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"LED0" "MSS_GPIO_2_16_OR_COREGPIO_C0_GPIO_OUT_0:Y" }
Expand Down
4 changes: 4 additions & 0 deletions script_support/components/MSS_WRAPPER.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_16} -port_direc
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_17} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_18} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_19} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_20_AN} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_21_RST} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_26} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_27} -port_direction {OUT}
sd_create_scalar_port -sd_name ${sd_name} -port_name {GPIO_2_M2F_28} -port_direction {OUT}
Expand Down Expand Up @@ -847,6 +849,8 @@ sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_16" "ICICLE_MSS:GPIO
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_17" "ICICLE_MSS:GPIO_2_M2F_17" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_18" "ICICLE_MSS:GPIO_2_M2F_18" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_19" "ICICLE_MSS:GPIO_2_M2F_19" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_20_AN" "ICICLE_MSS:GPIO_2_M2F_20" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_21_RST" "ICICLE_MSS:GPIO_2_M2F_21" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_26" "ICICLE_MSS:GPIO_2_M2F_26" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_27" "ICICLE_MSS:GPIO_2_M2F_27" }
sd_connect_pins -sd_name ${sd_name} -pin_names {"GPIO_2_M2F_28" "ICICLE_MSS:GPIO_2_M2F_28" }
Expand Down
14 changes: 14 additions & 0 deletions script_support/constraints/ICICLE_MIKROBUS.pdc
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,17 @@ set_io -port_name mBUS_INT \
-io_std LVCMOS33 \
-RES_PULL Down \
-DIRECTION INPUT

set_io -port_name GPIO_2_M2F_20_AN \
-pin_name D11 \
-fixed true \
-io_std LVCMOS33 \
-RES_PULL Down \
-DIRECTION OUTPUT

set_io -port_name GPIO_2_M2F_21_RST \
-pin_name E10 \
-fixed true \
-io_std LVCMOS33 \
-RES_PULL Down \
-DIRECTION OUTPUT

0 comments on commit 78d49d8

Please sign in to comment.