diff --git a/docs/MS_TI_AM64x_EVM_3-AXIS_INTERFACE_BOARD_SCH_REV_E1.pdf b/docs/MS_TI_AM64x_EVM_3-AXIS_INTERFACE_BOARD_SCH_REV_E1.pdf new file mode 100644 index 0000000..5e89242 Binary files /dev/null and b/docs/MS_TI_AM64x_EVM_3-AXIS_INTERFACE_BOARD_SCH_REV_E1.pdf differ diff --git a/docs/TIDEP-01015Rev E1.1(001)_Sch.pdf b/docs/TIDEP-01015Rev E1.1(001)_Sch.pdf new file mode 100644 index 0000000..5feb138 Binary files /dev/null and b/docs/TIDEP-01015Rev E1.1(001)_Sch.pdf differ diff --git a/docs_src/docs/api_guide/components/current_sense/current_sense.md b/docs_src/docs/api_guide/components/current_sense/current_sense.md index fa8f4d4..3b33223 100644 --- a/docs_src/docs/api_guide/components/current_sense/current_sense.md +++ b/docs_src/docs/api_guide/components/current_sense/current_sense.md @@ -10,8 +10,8 @@ ICSS %SDFM is a sigma delta interface for phase current measurement in high perf ## Features Supported - 3 %SDFM channels on single PRU core - - Normal current (NC) for data read: SINC3 filter with OSR 16 to 256 - - Overcurrent (OC) for comparator: free running SINC3 filter with OSR 16 to 256 + - Normal Current (NC) for data read: SINC3 filter with Over-samping Ratio (OSR) 16 to 256 + - Over-current (OC) for comparator: free running SINC3 filter with OSR 16 to 256 - Event generation(ARM interrupt for data read from DMEM, GPIO toggle for high and low thresholds) - Single level High and Low threshold comparator - Trigger based normal current sampling diff --git a/docs_src/docs/api_guide/components/current_sense/sdfm_design.md b/docs_src/docs/api_guide/components/current_sense/sdfm_design.md index 2d632fa..82b5a1a 100644 --- a/docs_src/docs/api_guide/components/current_sense/sdfm_design.md +++ b/docs_src/docs/api_guide/components/current_sense/sdfm_design.md @@ -28,12 +28,12 @@ SDK example uses the %SDFM hardware capability in Slice 1 of PRU-ICSSG0. Details - Normal current OSR + Normal Current Over-samping Ratio (OSR) 64 Tested with 16, 32, 64, 128 and 256 - Over current OSR + Over Current OSR 16 Tested with 16, 32, 64, 128 and 256 @@ -77,12 +77,12 @@ Following section describes the firmware implementation of Sigma Delta Decimatio ##### Normal Curent (NC) -This section describes normal current implementation. +This section describes normal current implementation. There are two different variations of normal current. - Trigger based: It starts execution when the trigger point is acquired (first time CMP event hits) and performs four continuous samplings to bring the accumulator and differntiator registers to stable state for the configured normal current OSR. Initially the CMP register is configured with the first sample trigger start time and then until the next third continuous normal current sample it is updated with the normal current OSR sampling time. At the end of the fourth normal current sample again, it is updated with the second sample start time if double update is enabled otherwise with the first sample trigger start time. -- Continuous sampling: It starts execution when the first time CMP event hits. Every time it updates CMP event register with the normal current OSR sampling time for next continuous sample, store sample values in DMEM and trigger R5 intrrupt. +- Continuous sampling: It starts execution when the first time CMP event hits. Every time it updates CMP event register with the normal current OSR sampling time for next continuous sample, store sample values in DMEM and trigger R5 interrupt. \image html SDFM_NC_FLOW_CHART.png "Normal Current" @@ -97,13 +97,13 @@ Normal current sampling is done twice in one EPWM cycle. \image html SDFM_Double_update.PNG "Double Update" -##### Over Current (OC)/Threshold Comparator +##### Over Current (OC)/Threshold Comparator This section describes the over current implementation. It performs continuous sampling (free run) and when the sample value crosses the high or low threshold, the corresponding PWM trip status gets set and TZ_OUT pin goes high. It also stores high and low threshold status in DMEM for all channels, \ref SDFM_getHighThresholdStatus API returns high threshold status for specified SDFM channel number and \ref SDFM_getLowThresholdStatus API returns low threshold status for specified SDFM channel number. \image html SDFM_OC_Flow_Chart.png "Over current" \image html SDFM_OC_ERROR_MAPPING_WITH_PWM_TZ.png "Mapping between Over current errors and PWM TZ blocks" -###### Zero Cross Comparator +###### Zero Cross Comparator This section describes the zero cross implementation. It compares the current sample and the previous sample values with zero cross threshold value. There are two cases: @@ -117,7 +117,7 @@ There are two cases: #### Sync with EPWM and trigger timing This section describes the EPWM to %SDFM synchronization and trigger timing for each EPWM cycle. At the end of the every EPWM cycle, the EPWM generates a sync out event that resets the IEP timer. The firmware initiates normal current sampling at the sample trigger point in each EPWM cycle. It takes four consecutive samples to bring the accumulator and differentiator registers to stable state. It takes the first sample at the trigger point and the next three samples, each after ONE_SAMPLE_TIME. -Here ONE_SAMPLE_TIME is: OSR*(1/SD_CLK) +Here ONE_SAMPLE_TIME is: OSR*(1/SD_CLK) \image html SDFM_epwm_sync_and_trigger_timing.png "Sync with EPWM and trigger timing" #### Fast Detect and Trip generation @@ -128,12 +128,12 @@ Note: To identify the sigma delta fast detect error trip cause, \ref SDFM_getFas \image html SDFM_FD_ERROR_MAPPING_WITH_PWM_TZ.png "Mapping between Fast detect errors and PWM TZ blocks" -#### Data/Clock Phase Compensation +#### Data/Clock Phase Compensation Following points describe the process for measurement of phase difference between clock and data - Set PRU IO mode to GPIO mode (default) for direct capture of input data and clock pins  - First wait for rising edge on the SD data pin, then check the nearest upcoming edge to the SD clock pin. If the nearest edge of clock pin is falling, then it measures the time between the rising edge of the data pin and the falling edge of the SD clock. Otherwise it measures time between the rising edge of both data and clock pins. -- It measures delay 8 times and repeats the measurement until the get like 8 time the same or a max variation of 1 PRU cycle. -- Based on the clock polarity, phase delay is calculated. If clock polarity and upcoming nearest edge of clock pin for rising edge of data pin are same, then final phase delay will be half SD clock duty cycle time minus calculated time. Otherwise phase delay will be SD clock one cycle period time minus calculated time +- It measures delay 8 times and repeats the measurement until the get like 8 time the same or a max variation of 1 PRU cycle. +- Based on the clock polarity, phase delay is calculated. If clock polarity and upcoming nearest edge of clock pin for rising edge of data pin are same, then final phase delay will be half SD clock duty cycle time minus calculated time. Otherwise phase delay will be SD clock one cycle period time minus calculated time \image html SDFM_Phase_delay_flowchart.png "Phase Compensation" #### AM64x/AM243x EVM Pin-Multiplexing @@ -175,7 +175,7 @@ Following points describe the process for measurement of phase difference betwee
PRG0_ECAP0_IN_APWM_OUT PIN_PRG0_PRU1_GPO15 - ECAP output frequency + ECAP output frequency
GPIO_MTR_1_PWM_EN @@ -200,7 +200,7 @@ Following points describe the process for measurement of phase difference betwee
GPIO_ZC_TH_CH0 PRG1_PRU0_GPO18 - (J7.64)Ch0 Zero cross output + (J7.64)Ch0 Zero cross output
GPIO_ZC_TH_CH1 @@ -230,7 +230,7 @@ Following points describe the process for measurement of phase difference betwee
PRG0_ECAP0_IN_APWM_OUT PIN_PRG0_PRU1_GPO15 - (J6.59)ECAP output frequency + (J6.59)ECAP output frequency
SD8_CLK diff --git a/docs_src/docs/api_guide/components/position_sense/biss_c.md b/docs_src/docs/api_guide/components/position_sense/biss_c.md index 1899166..e9a0e40 100644 --- a/docs_src/docs/api_guide/components/position_sense/biss_c.md +++ b/docs_src/docs/api_guide/components/position_sense/biss_c.md @@ -17,7 +17,7 @@ BiSS is an open-source digital interface for sensors and actuators. BiSS stands - Support for multiple encoders connected via daisy-chain configuration (up-to 3 encoders) - Support for concurrent multi-channel support on a single PRU (up-to 3 identical encoders) - Support for multi-channel encoders of different make under load share model (each of PRU, RTU-PRU, and TX-PRU from one PRU-ICSSG slice handles one channel) - - Support for up to 100 mtr cable + - Support for up to 100 meter cable ## Features Not Supported diff --git a/docs_src/docs/api_guide/components/position_sense/biss_c_design.md b/docs_src/docs/api_guide/components/position_sense/biss_c_design.md index 41e3f84..9dd3175 100644 --- a/docs_src/docs/api_guide/components/position_sense/biss_c_design.md +++ b/docs_src/docs/api_guide/components/position_sense/biss_c_design.md @@ -19,7 +19,6 @@ Clock, data transmit, data receive and receive enable signals from PRU1 of ICSS_ ## Implementation The BISS-C receiver function is implemented on TI Sitara™ Devices. -Encoder is connected to IDK via universal Digital Interface TIDA-00179(https://www.ti.com/tool/TIDA-00179), TIDEP-01015(3-axis board) and 3 Axis Interface card. Design is split into three parts – 3 channel peripheral interface support in PRU, firmware running in PRU and driver running in ARM. Application is supposed to use the BISS-C driver APIs to leverage 3 channel peripheral interface functionality. SDK examples used the BISS-C hardware capability in Slice 1 (either 1 core or 3 cores based on the confiuration) of PRU-ICSSG0. diff --git a/docs_src/docs/api_guide/components/position_sense/endat_design.md b/docs_src/docs/api_guide/components/position_sense/endat_design.md index 9be6ccb..4be0df6 100644 --- a/docs_src/docs/api_guide/components/position_sense/endat_design.md +++ b/docs_src/docs/api_guide/components/position_sense/endat_design.md @@ -21,13 +21,12 @@ Clock, data transmit, data receive and receive enable signals from PRU1 of ICSS_ ## Implementation The EnDat receiver function is implemented on TI Sitara™ Devices. -Encoder is connected to IDK via universal Digital Interface TIDA-00179(https://www.ti.com/tool/TIDA-00179), TIDEP-01015(3-axis board) and 3 Axis Interface card. +Encoder is connected to IDK via TIDA-00179 Universal Digital Interface to Absolute Position Encoders , TIDEP-01015 3 Axis Board and Interface card connecting EVM and TIDEP-01015 3 Axis . Design is split into three parts – EnDat hardware support in PRU, firmware running in PRU and driver running in ARM. Application is supposed to use the EnDat driver APIs to leverage EnDat functionality. SDK examples used the EnDat hardware capability in Slice 1 (either 1 core or 3 cores based ont the confiuration) of PRU-ICSSG0. Remaining PRUs in the AM64x/AM243x EVM are available for Industrial Ethernet communication and/or motor control interfaces. - ### Specifications diff --git a/docs_src/docs/api_guide/components/position_sense/tamagawa.md b/docs_src/docs/api_guide/components/position_sense/tamagawa.md index 63206d6..c1802fd 100644 --- a/docs_src/docs/api_guide/components/position_sense/tamagawa.md +++ b/docs_src/docs/api_guide/components/position_sense/tamagawa.md @@ -7,7 +7,7 @@ The Tamagawa receiver firmware running on PRU-ICSS provides a defined well interface to execute the Tamagawa protocol. The Tamagawa diagnostic application interacts with the Tamagawa receiver firmware interface. \note -Tamagawa firmware and examples are based on EnDAT hardware interface from PRU-ICSSG. +Tamagawa firmware and examples are based on 3 Channel Peripheral interface from PRU-ICSSG. ## Features Supported diff --git a/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md b/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md index 0a24658..9e8fa25 100644 --- a/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md +++ b/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md @@ -32,7 +32,7 @@ SysConfig can be used to configure things mentioned below: ## Important Note -PRUICSS has one pwm module, which has four pwm sets (PWM0, PWM1, PWM2, PWM3) +PRU-ICSS has one PWM module, which has four PWM sets (PWM0, PWM1, PWM2, PWM3) Each Set has six signals (A0,A1,A2,B0,B1,B2) With Reference to Technical Reference Manual, Pwm six signals(A0,A1,A2,B0,B1,B2) Naming convention is is slightly different as mentioned in \ref PRUICSS_PWM_API ## Example Usage diff --git a/docs_src/docs/api_guide/components/dcl/dcl.cfg b/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.cfg similarity index 97% rename from docs_src/docs/api_guide/components/dcl/dcl.cfg rename to docs_src/docs/api_guide/components/rtlibs/dcl/dcl.cfg index 80a55d6..1c8b025 100644 --- a/docs_src/docs/api_guide/components/dcl/dcl.cfg +++ b/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.cfg @@ -1,4 +1,4 @@ -INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/dcl/dcl.md +INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.md INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/dcl/dcl.h INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/dcl/dcl_common.h INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/dcl/pi/dcl_pi.h diff --git a/docs_src/docs/api_guide/components/dcl/dcl.md b/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.md similarity index 100% rename from docs_src/docs/api_guide/components/dcl/dcl.md rename to docs_src/docs/api_guide/components/rtlibs/dcl/dcl.md diff --git a/docs_src/docs/api_guide/components/rtlibs/rtlibs.md b/docs_src/docs/api_guide/components/rtlibs/rtlibs.md new file mode 100644 index 0000000..32fc09d --- /dev/null +++ b/docs_src/docs/api_guide/components/rtlibs/rtlibs.md @@ -0,0 +1,8 @@ +# Real Time Libraries {#REALTIMELIBS} + +[TOC] + +Real Time Libraries module contains following two components: + +- \subpage DCL +- \subpage TRANSFORMS \ No newline at end of file diff --git a/docs_src/docs/api_guide/components/transforms/transforms.cfg b/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.cfg similarity index 89% rename from docs_src/docs/api_guide/components/transforms/transforms.cfg rename to docs_src/docs/api_guide/components/rtlibs/transforms/transforms.cfg index 317d80e..6b4295a 100644 --- a/docs_src/docs/api_guide/components/transforms/transforms.cfg +++ b/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.cfg @@ -1,4 +1,4 @@ -INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/transforms/transforms.md +INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.md INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/transforms/clarke/clarke.h INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/transforms/park/park.h INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/transforms/ipark/ipark.h diff --git a/docs_src/docs/api_guide/components/transforms/transforms.md b/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.md similarity index 98% rename from docs_src/docs/api_guide/components/transforms/transforms.md rename to docs_src/docs/api_guide/components/rtlibs/transforms/transforms.md index 386ef84..a51dc5c 100644 --- a/docs_src/docs/api_guide/components/transforms/transforms.md +++ b/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.md @@ -1,4 +1,4 @@ -# Transformation Algorithm {#Transforms} +# Transformation Algorithm {#TRANSFORMS} [TOC] diff --git a/docs_src/docs/api_guide/device/am243x/components.cfg b/docs_src/docs/api_guide/device/am243x/components.cfg index ecd1dd0..1ead426 100644 --- a/docs_src/docs/api_guide/device/am243x/components.cfg +++ b/docs_src/docs/api_guide/device/am243x/components.cfg @@ -13,6 +13,8 @@ INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/position_se INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/current_sense/current_sense.md INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/current_sense/sdfm_design.md +INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/rtlibs.md + INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/pruicss_pwm/pruicss_pwm.md INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/position_sense/endat/include/endat_api.h diff --git a/docs_src/docs/api_guide/device/am243x/includes.cfg b/docs_src/docs/api_guide/device/am243x/includes.cfg index 8a3b093..1f01955 100644 --- a/docs_src/docs/api_guide/device/am243x/includes.cfg +++ b/docs_src/docs/api_guide/device/am243x/includes.cfg @@ -14,8 +14,8 @@ INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/rele INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/release_notes_09_01_00.md @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/examples.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/components.cfg -@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/dcl/dcl.cfg -@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/transforms/transforms.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.cfg # Used to selectively pick DEVICE specific sections within .md files ENABLED_SECTIONS = SOC_AM243X diff --git a/docs_src/docs/api_guide/device/am243x/release_notes.md b/docs_src/docs/api_guide/device/am243x/release_notes.md index b74fe31..e73dded 100644 --- a/docs_src/docs/api_guide/device/am243x/release_notes.md +++ b/docs_src/docs/api_guide/device/am243x/release_notes.md @@ -4,6 +4,6 @@ Refer the below pages for release specific information -- \subpage RELEASE_NOTES_09_00_00_PAGE - \subpage RELEASE_NOTES_09_01_00_PAGE +- \subpage RELEASE_NOTES_09_00_00_PAGE diff --git a/docs_src/docs/api_guide/device/am243x/release_notes_09_00_00.md b/docs_src/docs/api_guide/device/am243x/release_notes_09_00_00.md index bf3338d..4eb2945 100644 --- a/docs_src/docs/api_guide/device/am243x/release_notes_09_00_00.md +++ b/docs_src/docs/api_guide/device/am243x/release_notes_09_00_00.md @@ -28,7 +28,7 @@ Digital Control Library SOC | Supported CPUs | Boards | Host PC -------|-----------------|-------------------------------------------------------------------------------------------------------------|----------------------------------- -AM243x | R5F | AM243x GP EVM (referred to as am243x-evm in code), \n AM243x LAUNCHPAD (referred to as am243x-lp in code) | Windows 10 64b or Ubuntu 18.04 64b +AM243x | R5F | AM243x EVM (referred to as am243x-evm in code), \n AM243x LAUNCHPAD (referred to as am243x-lp in code) | Windows 10 64b or Ubuntu 18.04 64b ## Tools, Compiler and Other Open Source SW Module Information @@ -203,7 +203,7 @@ Module | Supported CPUs | SysConfig Support | OS Support | Key feat @@ -338,10 +338,10 @@ earlier SDKs. -
%SDFM: Incorrect samples seen intermittently with EPWM as %SDFM clock Current Sense %SDFM 9.0 onwards - Use 5MHz %SDFM clock from EPWM1 (tested with 5MHz clock from EPWM) or use PRU-ICSSG ECAP as %SDFM clock source + Use 5MHz %SDFM clock from EPWM1 (tested with 5MHz clock from EPWM) or use PRU-ICSSG ECAP as %SDFM clock source
PINDSW-6628 @@ -228,7 +228,7 @@ Module | Supported CPUs | SysConfig Support | OS Support | Key feat
PINDSW-6931 - Tamagawa: Firmware build failing + Tamagawa: Firmware build failing Position Sense Tamagawa 9.0 onwards 1. Update include path of icss_regs.inc and icss_cfg_regs.inc files to `../../../../mcu_plus_sdk/source/pru_io/firmware/common/ ` path in `tamagawa_main.asm` and `tamagawa_icss_reg_defs.h` files.
2. Replace ED with ENDAT in symbol definitions in tamagawa_main.asm file's lines 101 to 122. (For example, update `ICSS_CFG_PRU0_ED_CH0_CFG1` to `ICSS_CFG_PRU0_ENDAT_CH0_CFG1` )
Additional Remarks
- - - + + + +
--> @@ -358,7 +358,7 @@ earlier SDKs.
Current Sense %SDFM Structure `SdfmPrms_s` Added variables `iep_clock`, `sd_clock`, `en_second_update`, `firstSampTrigTime` and `secondSampTrigTime` - +
@@ -393,7 +393,7 @@ earlier SDKs. Current Sense %SDFM `SDFM_setSampleReadingTime` Changed name of API \ref SDFM_setSampleTriggerTime and updated a parameter name `samp_trig_time` - - + - Current Sense %SDFM @@ -404,25 +404,25 @@ earlier SDKs. Current Sense %SDFM \ref SDFM_setCompFilterOverSamplingRatio - Changed type of OSR parameter - uint8_t to uint16_t + Changed type of over-sampling Rate (OSR) parameter + uint8_t to uint16_t Current Sense %SDFM - `SDFM_setAccOverSamplingRatio` + `SDFM_setAccOverSamplingRatio` Removed this API - Current Sense %SDFM - Structure \ref SDFM_Ctrl - Removed variables: `ctrl` and `stat`, and added variables `sdfm_en`, `sdfm_en_ack` and `sdfm_pru_id` - - + Structure \ref SDFM_Ctrl + Removed variables: `ctrl` and `stat`, and added variables `sdfm_en`, `sdfm_en_ack` and `sdfm_pru_id` + - Current Sense %SDFM Structure \ref SDFM_CfgTrigger - Removed variables `trig_samp_time`, `oc_prd_iep_cnt` and `sample_count`, and added variables `en_double_nc_sampling`, `first_samp_trig_time` and `second_samp_trig_time` + Removed variables `trig_samp_time`, `oc_prd_iep_cnt` and `sample_count`, and added variables `en_double_nc_sampling`, `first_samp_trig_time` and `second_samp_trig_time` - diff --git a/docs_src/docs/api_guide/device/am243x/release_notes_09_01_00.md b/docs_src/docs/api_guide/device/am243x/release_notes_09_01_00.md index 3ebbedc..4aa08b1 100644 --- a/docs_src/docs/api_guide/device/am243x/release_notes_09_01_00.md +++ b/docs_src/docs/api_guide/device/am243x/release_notes_09_01_00.md @@ -17,16 +17,36 @@ Feature | Module ------------------------------------------------------------------------------------------------|----------------------------------- +EtherCAT-Connected, Single-Chip, Dual-Servo Motor Drive Reference Design (TIDEP-01032) | Reference Design +Three channel BiSS-C with one PRU-ICSSG Slice | Position Sense BiSS-C +Point-to-point and daisy chaining connection support for BiSS-C | Position Sense BiSS-C +Multi channel BiSS-C with daisy chaining | Position Sense BiSS-C +Multiple interface speed support | Position Sense BiSS-C +Long cable (upto 100 meters) | Position Sense BiSS-C +Nine Channel ICSS %SDFM Examples | Current Sense %SDFM +ICSS %SDFM Example with Continuous Normal Current Sampling | Current Sense %SDFM +ICSS %SDFM Example with Phase Compensation | Current Sense %SDFM +Fast Detect | Current Sense %SDFM +Trip Generation using PRU-ICSS TripZone | Current Sense %SDFM +Zero Crossing Detection | Current Sense %SDFM Three channel support with one PRU-ICSSG Slice | Position Sense HDSL SYNC Mode support for 1 to 10 frames per cycle and 8 kHz to 50 kHz cycle frequency | Position Sense HDSL API support for Parameter Channel Long Message Read and Write | Position Sense HDSL Add support for PIPE_D register for SensorHub Channel | Position Sense HDSL +Add support for PIPE_D register for SensorHub Channel | Position Sense HDSL +Long cable (upto 100 meters) | Position Sense HDSL +Two channel example with LP-AM243 + BP-AM2BLDCSERVO | Position Sense HDSL +Compare event based command trigger support | Position Sense Tamagawa +Two channel example with LP-AM243 + BP-AM2BLDCSERVO | Position Sense Tamagawa +Two channel example with LP-AM243 + BP-AM2BLDCSERVO | Position Sense EnDAT +Three channel PRU-ICSS PWM Example | PRU-ICSS PWM +Transforms Library and Example | Real Time Libraries ## Device and Validation Information SOC | Supported CPUs | Boards | Host PC -------|-----------------|-------------------------------------------------------------------------------------------------------------|----------------------------------- -AM243x | R5F | AM243x GP EVM (referred to as am243x-evm in code), \n AM243x LAUNCHPAD (referred to as am243x-lp in code) | Windows 10 64b or Ubuntu 18.04 64b +AM243x | R5F | AM243x EVM (referred to as am243x-evm in code), \n AM243x LAUNCHPAD (referred to as am243x-lp in code) | Windows 10 64b or Ubuntu 18.04 64b ## Tools, Compiler and Other Open Source SW Module Information @@ -62,19 +82,69 @@ Below features are not support on AM243X LAUNCHPAD due to SOC or board constrain ### Position Sense -Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested --------------|----------------|-------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------- -EnDat | R5F | YES | FreeRTOS, NORTOS | Single channel, Multi channel, Continuous mode for single channel, Load share mode, Recovery Time for 2.2 command set, Boosterpack with AM243x-LP | Encoder receive communication command -HDSL | R5F | YES | FreeRTOS, NORTOS | Freerun mode(300MHz,225MHz), Sync mode(225MHz), Short Message Read & Write, Long Message Read & Write, Boosterpack with AM243x-LP | Long cables -Tamagawa | R5F | YES | FreeRTOS, NORTOS | Absolute position, Encoder ID, Reset, EEPROM Read, EEPROM Write, 2.5 Mbps and 5 Mbps Encoder Support, Boosterpack with AM243x-LP | - + + + + + + + + + + + +
Module + Supported CPUs + SysConfig Support + OS Support + Key features tested + Key features not tested +
EnDat + R5F + YES + FreeRTOS, NORTOS + Single channel, Multi channel using single PRU core and three PRU cores (load share mode), Continuous mode, Recovery Time for 2.2 command set, Long cable (upto 100 meters), Boosterpack with AM243x-LP + Encoder receive communication command +
HDSL + R5F + YES + FreeRTOS, NORTOS + Single channel, Multi channel using three PRU cores (load share mode), Free Run mode, Sync mode, Short Message Read and Write, Long Message Read and Write, Pipeline Channel Data, Long cable (upto 100 meters), Boosterpack with AM243x-LP + 225 MHz PRU-ICSSG Core Clock based firmware +
Tamagawa + R5F + YES + FreeRTOS, NORTOS + Absolute position, Encoder ID, Reset, EEPROM Read, EEPROM Write, 2.5 Mbps and 5 Mbps Encoder Support, Boosterpack with AM243x-LP + - +
BiSS-C + R5F + YES + FreeRTOS, NORTOS + Single channel, Multi channel using single PRU core and three PRU cores (load share mode), point-to-point connection, daisy chaining, control communication, automatic processing delay detection and compensation, interface speed of 1, 2, 5, 8, and 10 MHz, Long cable (upto 100 meters) + +
### Current Sense - -Module | Supported CPUs | SysConfig Support | OS Support | Key features tested | Key features not tested --------------|----------------|-------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------- -%SDFM | R5F | YES | FreeRTOS, NORTOS | 3 %SDFM channels on single PRU core, %SDFM Sync with EPWM, Overcurrent, single normal current sampling per PWM cycle, Double normal current sampling per PWM cycle, High and Low threshold comparator, Tested with SDFM clock from ECAP, Tested with 5MHz Clock from EPWM | - - + + + + + +
Module + Supported CPUs + SysConfig Support + OS Support + Key features tested + Key features not tested +
ICSS %SDFM + R5F + YES + FreeRTOS, NORTOS + Three %SDFM channels on single PRU core, Nine %SDFM channels on three PRU cores (load share mode), %SDFM Sync with EPWM, Single/Double Normal Current Sampling per PWM cycle, Continuous Normal Current Sampling, High and Low Threshold Comparator (Over-current detction), Fast Detect, Phase Compensation, Zero Cross Detection, Trip Generation using PRU-ICSS TripZone, Tested with %SDFM clock from ECAP, Tested with 5MHz Clock from EPWM + - +
## Fixed Issues diff --git a/docs_src/docs/api_guide/device/am263x/components.cfg b/docs_src/docs/api_guide/device/am263x/components.cfg index baac63a..8c815bb 100644 --- a/docs_src/docs/api_guide/device/am263x/components.cfg +++ b/docs_src/docs/api_guide/device/am263x/components.cfg @@ -1,4 +1,6 @@ INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/position_sense/position_sense.md INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/position_sense/tamagawa_uart.md +INPUT+= $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/rtlibs.md + INPUT+= $(MOTOR_CONTROL_SDK_PATH)/source/position_sense/tamagawa_over_soc_uart/include/tamagawa_soc_uart_interface.h \ No newline at end of file diff --git a/docs_src/docs/api_guide/device/am263x/includes.cfg b/docs_src/docs/api_guide/device/am263x/includes.cfg index af8b12e..7b488cf 100644 --- a/docs_src/docs/api_guide/device/am263x/includes.cfg +++ b/docs_src/docs/api_guide/device/am263x/includes.cfg @@ -14,8 +14,8 @@ INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/rele INPUT += $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/release_notes_09_01_00.md @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/examples.cfg @INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/device/$(DEVICE)/components.cfg -@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/dcl/dcl.cfg -@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/transforms/transforms.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/dcl/dcl.cfg +@INCLUDE = $(MOTOR_CONTROL_SDK_PATH)/docs_src/docs/api_guide/components/rtlibs/transforms/transforms.cfg # Used to selectively pick DEVICE specific sections within .md files ENABLED_SECTIONS = SOC_AM263X diff --git a/docs_src/docs/api_guide/device/am263x/release_notes.md b/docs_src/docs/api_guide/device/am263x/release_notes.md index b74fe31..e73dded 100644 --- a/docs_src/docs/api_guide/device/am263x/release_notes.md +++ b/docs_src/docs/api_guide/device/am263x/release_notes.md @@ -4,6 +4,6 @@ Refer the below pages for release specific information -- \subpage RELEASE_NOTES_09_00_00_PAGE - \subpage RELEASE_NOTES_09_01_00_PAGE +- \subpage RELEASE_NOTES_09_00_00_PAGE diff --git a/docs_src/docs/api_guide/device/am263x/release_notes_09_01_00.md b/docs_src/docs/api_guide/device/am263x/release_notes_09_01_00.md index 5614c95..3d866da 100644 --- a/docs_src/docs/api_guide/device/am263x/release_notes_09_01_00.md +++ b/docs_src/docs/api_guide/device/am263x/release_notes_09_01_00.md @@ -15,6 +15,7 @@ Feature | Module ------------------------------------------------------------------------------------------------|----------------------------------- +Re-baseline to MCU+ SDK 09.01.00 and Industrial Communications SDK 09.01.00 | Motor Control SDK ## Device and Validation Information diff --git a/docs_src/docs/api_guide/doxy_warnings_am243x.txt b/docs_src/docs/api_guide/doxy_warnings_am243x.txt index e69de29..76a8f16 100644 --- a/docs_src/docs/api_guide/doxy_warnings_am243x.txt +++ b/docs_src/docs/api_guide/doxy_warnings_am243x.txt @@ -0,0 +1 @@ +C:/ti/motor_control_sdk/docs_src/docs/api_guide/examples/bissc_example.md:71: warning: Found \endcond command without matching \cond diff --git a/docs_src/docs/api_guide/doxygen.cfg b/docs_src/docs/api_guide/doxygen.cfg index acb56f2..8c18892 100644 --- a/docs_src/docs/api_guide/doxygen.cfg +++ b/docs_src/docs/api_guide/doxygen.cfg @@ -219,20 +219,17 @@ ALIASES+=inlineVideo{3}="\htmlonly