# BISS-C Diagnostic {#EXAMPLE_MOTORCONTROL_BISSC} [TOC] BISS-C diagnostic application does the following: - Configures pinmux, GPIO, UART, ICSS clock to 200MHz, - Initializes ICSS0-PRU1, - Initializes defalt parameters, loads the PRU firmware & executes it. This application is controlled with a terminal interface using a serial over USB connection between the PC host and the EVM. Please connect a USB cable between the PC and the EVM/LP. A serial terminal application (like teraterm/ hyperterminal/ minicom) is then run on the host. To configure, select the serial port corresponding to the port emulated over USB by the EVM. The host serial port should be configured to 115200 baud, no parity, 1 stop bit and no flow control. The BISS-C receiver firmware running on ICSS0-PRU1 provides a defined interface. The BISS-C diagnostic application interacts with the BISS-C receiver firmware interface. It then presents the user with menu options to select Data ID code. The application collects the data entered by the user and configures the relevant interface. Then via the BISS-C receiver interface, the command is triggered. Once the command completion is indicated by the interface, the status of the transaction is checked. If the Status indicates success, the result is presented to the user. ## Channel Selection In Sysconfig \image html bissc_syscfg_ch_sel.png "Channel Selection In Sysconfig" \image html Endat_channel_selection_configuration.png "BiSS-C configuration seletion between Single/Multi channel " ## Important files and directory structure
Folder/Files Description
${SDK_INSTALL_PATH}/examples/motor_control/bissc_diagnostic
bissc_diagnostic.c BISS-C diagnostic application
${SDK_INSTALL_PATH}/source/motor_control/position_sense/bissc
firmware/ Folder containing BISS-C PRU firmware sources.
driver/ BISS-C diagnostic driver.
# Supported Combinations {#EXAMPLES_MOTORCONTROL_BISSC_COMBOS} \cond SOC_AM243X Parameter | Value ---------------|----------- CPU + OS | r5fss0-0 freertos ICSSG | ICSSG0 PRU | PRU1 (single channel, multi channel using single PRU) ^ | PRU1, RTU-PRU1, TXPRU1 (multi channel using three PRUs - load share mode) Toolchain | ti-arm-clang Board | @VAR_LP_BOARD_NAME_LOWER (2 channel and 1 channel examples) Example folder | examples/motor_control/bissc_diagnostic \endcond # Steps to Run the Example ## Hardware Prerequisites - BISS-C Encoders - AM243x-LP Board - BP-AM2BLDCSERVO \endcond ## Hardware Setup \cond SOC_AM243X ### Hardware Setup(Using Booster Pack & AM243x-LP) \imageStyle{AM243x_lp_bp_bissc_encoder_setup.png,width:40%} \image html AM243x_lp_bp_bissc_encoder_setup.png "Hardware Setup of Booster Pack + LP for BISS-C" #### Booster Pack Jumper Configuration
Designator ON/OFF Description
J11 OFF VSENSE/ISENSE select
J13 OFF VSENSE/ISENSE select
J17 Pin 1-2 Connected SDFM Clock Feedback Select
J18/J19 J18 OFF & J19 ON Axis 1: Encoder/Resolver Voltage Select
J20/J21 J20 ON & J21 OFF Axis 2: Encoder/Resolver Voltage Select
J22 OFF Axis 1: Manchester Encoding Select
J23 OFF Axis 2: Manchester Encoding Select
J24 OFF Axis 1: RS485/DSL MUX
J25 OFF Axis 2: RS485/DSL MUX
J26 OFF VSENSE/ISENSE Select
J27 ON 3WIRE/SDFM MUX
J28 OFF 3WIRE MUX
\endcond ## Build, load and run - **When using CCS projects to build**, import the CCS project and build it using the CCS project menu (see Using SDK with CCS Projects ). - **When using makefiles to build**, note the required combination and build using make command (see Using SDK with Makefiles ) - Launch a CCS debug session and run the executable, see CCS Launch, Load and Run - Refer to UART terminal for user interface menu options. ### Sample Output Shown below is a sample output when the application is run: \imageStyle{bissc_sample_output.png,width:60%} \image html bissc_sample_output.png "BISS-C Sample Output" ### Test Case Description
# Name Description Pass/fail Criteria
1 Data readout (absolute position data) In this command we will receive: Absolute rotor position value, errors, and warnings CRC success with ABS, E, W and CRC values printed in the terminal.
2 Control Communication In this command we will receive: Absolute rotor position value, errors, and warnings, along with the result of the control communication command. CRC success with ABS, E, W and CRC values of position data along with the control communication result printed in the terminal.