Hitex ShieldBuddy TC275 User Manual

Hitex ShieldBuddy TC275 User Manual

Connectors, board layout, component placement, power options, programming
Table of Contents

Advertisement

Quick Links

ShieldBuddy TC275 User Manual
Basic information on the ShieldBuddy TC275 development
board
Connectors, board layout, component placement, power options,
programming
Released
User Manual
4269.40100, 2.4, 2015-05
User Man ual

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ShieldBuddy TC275 and is the answer not in the manual?

Questions and answers

Summary of Contents for Hitex ShieldBuddy TC275

  • Page 1 ShieldBuddy TC275 User Manual Basic information on the ShieldBuddy TC275 development board Connectors, board layout, component placement, power options, programming Released User Manual 4269.40100, 2.4, 2015-05 User Man ual...
  • Page 2 With respect to any examples or hints given herein, any typical values stated herein and/or any information regarding the application of the product, Hitex (UK) Ltd. hereby disclaims any and all warranties and liabilities of any kind, including without limitation, warranties of non-infringement of intellectual property rights of any third party.
  • Page 3 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Document Change History Date Version Changed By Change Description 8/8/2014 M Beach First version 9/8/2014 M Beach Revised top view 20/2/2015 M Beach/D Greenhill Revised for Rev B HW 9/4/2015 M Beach...
  • Page 4 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Released 2.4, 2015-05...
  • Page 5: Table Of Contents

    Using The Eclipse IDE ........................10 Debugging Programs Using Eclipse PLS UDE Debug Perspective ..........12 Getting Help ............................16 ShieldBuddy TC275 Extensions To The Arduino IDE ..............17 How is the ShieldBuddy Different To Other Arduinos? ..............17 TC275 Processor Architecture ......................17 Serial Ports ............................
  • Page 6 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL CIC61508 (Safety version only) ......................40 VIN Pin ............................... 40 Arduino-Based Connector Details....................41 Board Layout ............................41 Connector Pin Allocation ........................42 TC275 ASCLIN to ShieldBuddy connector mapping ................. 44 Powering The ShieldBuddy ......................
  • Page 7 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL List of Figures Figure 1 TC275 Internal Layout ........................17 Figure 2 TC275 Peripherals ..........................18 Figure 3 TC275 RAMs ............................25 Figure 4 Top view of ShieldBuddy ........................41 Figure 5 Extended IO Connector ........................
  • Page 8 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL List of Tables Table 1 SPI Names ............................34 Table 2 Pins available for tone() function ......................37 Table 3 Pins available for PWM measurement functions ................37 Table 4 ASCLIN to ShieldBuddy connector mapping ..................44 Table 5 Arduino To ShieldBuddy To TC275 Mapping ..................
  • Page 9: Getting Started

    Aurix 32-Bit Triple Core CONFIDENTIAL Getting Started What Are The ShieldBuddy TC275 Tools? The main ShieldBuddy toolchain is the Eclipse-based “FreeEntryToolchain” from Hightec/PLS/ Infineon. This is a full C/C++ development environment with source-level debugger. The familiar Arduino IDE is also available for the ShieldBuddy.
  • Page 10: Using The Shieldbuddy Tc275

    They all can use the same Arduino Processing language functions. When choosing which ShieldBuddy to use in the Arduino IDE, if you have a board with a CA-step processor (SAK-TC275TP-64 F200W CA EES A), choose “ShieldBuddy TC275”. If you have a DC-step board (SAK-TC275TP-64 F200N DC), choose “ShieldBuddy TC275_Dx”.
  • Page 11 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL The program will automatically load. You can run it by clicking the icon and stop it with the icon. To reset the program, use the icon. You can find more information on using the Eclipse tools and the PLS UDE debugger in the guide supplied with the FreeToolChain.
  • Page 12: Debugging Programs Using Eclipse Pls Ude Debug Perspective

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Debugging Programs Using Eclipse PLS UDE Debug Perspective Unfortunately some configuring is required to use the UDE perspective for debugging under Eclipse. This is performed as follows. Please note that this will depend on whether you have a TC275 CA or DC step on your ShieldBuddy.
  • Page 13 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Here we are setting up for the TC275 DC step. The C/C++ Application will be as shown – you will need to browse for this. Released 2.4, 2015-05...
  • Page 14 Under the “UDE Startup” tab, you need to specify the UDE workspace file to use. This is predefined in “C:\Hitex\AURduinoIDE\Eclipse\AurduinoMulticoreUser\.ude”. The Target Configuration file is predefined in C:\Hitex\AURduinoIDE\Eclipse\AurduinoMulticoreUser\.ude\.target”. You will need to browse for both of these files. Now click the Apply button. You can run the debugger directly from here using “Debug”…...
  • Page 15 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL The UDE debug perspective should now open… If you are using a TC275 CA step board then you need to define a debug configuration for this in the same way as we did for the DC step.
  • Page 16: Getting Help

    You can now use the UDE debug perspective in the usual; Eclipse manner! Getting Help If you need help, there is a new on-line forum at http://ShieldBuddy.boards.net/. This hardware user manual with the pinouts is at http://www.hitex.co.uk/index.php?id=3650. Released 2.4, 2015-05...
  • Page 17: Shieldbuddy Tc275 Extensions To The Arduino Ide

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL ShieldBuddy TC275 Extensions To The Arduino IDE How is the ShieldBuddy Different To Other Arduinos? Most Arduino-style boards use AVR or ARM/Cortex processors which are fine for basic messing about with micros - these chips are everywhere in consumer gadgets and devices.
  • Page 18: Figure 2 Tc275 Peripherals

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL The TC275 CPU core design has a basic 5ns cycle time which means you can get typically around 150 to 200 32-bit instructions per microsecond. This is seriously fast when you consider that the Arduino Uno’s Atmega328P only manages around sixteen 8-bit instructions/us! In addition, there is a floating point unit on each core so using floating point variables does not slow things down significantly.
  • Page 19: Serial Ports

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Serial Ports The Arduino has the Serial class for sending data to the UART which ultimately ends up as a COM port on the host PC. The ShieldBuddy has 4 potential hardware serial ports so there are now 4 Serial classes. The default Serial class that is directed to the Arduino IDE Serial Monitor tool becomes SerialASC on the ShieldBuddy.
  • Page 20: Inter-Core Communications

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL then that function might need to know which core it is currently running on! This is easy to do as there is a macro defined to return the core number. if(GetCpuCoreID() == 2) /* We must be running on core 2! */ Fortunately it is rare to have to do this but it is used extensively in the ShieldBuddy to Arduino translation layer.
  • Page 21 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL An obvious approach to solving this is to have a global variable that tells everybody whether the SerialASC port is being used. However this does not work where we are trying to prevent a single resource (e.g. serial port) being simultaneously accessed from two cores.
  • Page 22: Using Interrupts To Coordinate And Communicate Between Cores

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.4.2.2 Using Interrupts To Coordinate and Communicate Between Cores. The Arduino language has been extended to allow you to trigger an interrupt in another core. This means that core 0 can trigger an interrupt in say core 1. That interrupt might tell Core 0 that a resource is now free or perhaps tell it to go and read a global variable that core0 has just updated.
  • Page 23: Timers/Ticks/Delay(), Millis(), Micros() Etc

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL There are three CreateCoreXInterrupt() functions available, one for each core. The parameter passed is the address of the function that you want to run in the other core: /* Create an interrupt in core 0 */ CreateCore0Interrupt(Core0IntService);...
  • Page 24: Core 1

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.4.3.1 Core 1 The CreateTimerInterrupt0_Core1() function and CreateTimerInterrupt1_Core1() allow two independent interrupt functions to be called freely in the same way as with core0’s CreateTimerInterrupt(). These use STM1. For example: void STM1_inttest0(void) digitalWrite(3, ToggleVar1 ^= 1);...
  • Page 25: Managing The Multicore Memory Map

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.4.4 Managing the Multicore Memory Map The Arduino IDE gives no clue as to where anything goes or even what memory is available. If you are not bothered about execution speed or are only using Core 0, then variables can be declared just as in any other Arduino board.
  • Page 26 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL As cores 1 & 2 are the fast cores, it makes sense to put their variables into their local RAMs but as standard, the Ardunio IDE has no support for this. For the ShieldBuddy, a series of ready-made macros are available that allow you to put variables into any of these SRAM areas easily.
  • Page 27: Peripheral And Io Extensions

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Peripheral And IO Extensions 2.5.1 Faster digitalRead & digitalWrite These functions are identical to the Arduino versions but to some extent suffer from limited performance due to the overhead of the Arduino hardware abstraction layer.
  • Page 28: Fast Adc Conversions

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL To set 8-bits: analogReadResolution (8u); 2.5.5 Fast ADC Conversions The normal Arduino means of reading an analog channel is “analogRead(channel_no). This allows up to around 450ksamples/sec. If the analog channel is fixed, then it is possible to access the channel result directly and get up to around 600ksamples/sec.
  • Page 29: Analogwrite() & Analogout

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.5.6 analogWrite() & AnalogOut 2.5.6.1 PWM Frequency Like the Arduino, the ShieldBuddy uses PWM to generate analog voltages. The PWM frequency is only around 1kHz on the Arduino. The ShieldBuddy frequency is 390kHz when using 8-bit resolution. Whilst this is great for AC waveform generation, audio applications etc., it can be too high for some power devices used for things like...
  • Page 30: Can

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Controller Area Network is supported via the CANRX/CANTX pins, J406 (double row connector) pins 23 and 22 plus J406 pin53 and J405 DAC0. These are CAN0, CAN1 and CAN3 modules respectively. 11 and 29-bit message IDs can be used.
  • Page 31: Receiving Any Message Regardless Of Message Id

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL To send the message on CAN0 with 8 bytes of data consisting of 0x12340000 (lower 4 bytes) and 0x9abc000 (upper 4 bytes) with message ID 0x100: /* Parameters CAN ID, 32 bits low data, 32 bits high data, data length */ CAN0_SendMessage(0x100, 0x12340000, 0x9abc0000, 8);...
  • Page 32: I2C/Wire Pins & Baudrate

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL I2C/Wire Pins & Baudrate The ShieldBuddy’s default I2Cperipheral is on pins 20 (SDA) and 21 (SCL). Currently only the master mode is supported. There are two new functions available compared with the Arduino. Before calling the Wire.begin(), the pins to be used for the I2C can be specified, along with the Baudrate.
  • Page 33: Eeprom Support

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL EEPROM Support The Arduino EEPROM functions are available but their use is slightly different to when on an Arduino Uno, MEGA, Due etc. This is because the TC275 has DFLASH rather than EEPROM. This has a similar number of write cycles (125k) but due to the 8kbyte sector size, the mechanism for writing is different.
  • Page 34: Spi Channel 1

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.10.2 Spi Channel 1 There is a second independent Spi channel on p12 (MISO), p11(MOSI) and p13 (SCK) which also uses p10 as the slave select. To use this Spi channel: Spi.begin(BOARD_SPI_SS0_S1);...
  • Page 35: Aurix Dsp Function Library

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.11 Aurix DSP Function Library The Aurix has a number of built-in DSP-like functions such as saturated maths, Q-arithmetic, circular buffer types etc. These are often used in applications such as: •...
  • Page 36: Configuring The Spi

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL /* MAC Address */ #define MAC0 0x12 #define MAC1 0x34 #define MAC2 0x45 #define MAC3 0x78 #define MAC4 0x9A #define MAC5 0xBC /* IP Address */ #define IP0 #define IP1 #define IP2 #define IP3 2.12.3...
  • Page 37: Sending Programs To The Shieldbuddy

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.14 Sending Programs To The ShieldBuddy The Bootloader expects to receive a binary image of the new ShieldBuddy program. At the moment this not possible from directly from the Arduino IDE. Note that CPU1 & 2 cannot be used during the programming process and the bootloader will disable them until the final reset occurs.
  • Page 38: Using The Pwm Measurement Functions

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.16.1 Using The PWM Measurement Functions The PWM measurement system must first be initialized for the pin you want to use, here on pin 8. This is for a normal positive-going PWM signal: // Initialise PWM measurement Init_TIM_TPWM(8, TIM_TPWM_RISINGEDGE);...
  • Page 39: General Purpose Timer Interrupts

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 2.17 General Purpose Timer Interrupts There are nine general purpose timers available (based on the ATOMs in the GTM) that can be used to call an user-defined function from a periodic interrupts. The longest time is about 170 seconds and the shortest is around 1us.
  • Page 40: Hardware Release Notes Hw Revision B

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL 3 Hardware Release Notes HW Revision B ShieldBuddy RevB Known Problems The ShieldBuddy Revision B has a number of functional characteristics, listed below. 1. It will only run at 5V. It is possible to get 3V3 operation but this requires the changing of a voltage...
  • Page 41: Arduino-Based Connector Details

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Arduino-Based Connector Details The ShieldBuddy is based on the Arduino Due (SAM3X) form factor. Where possible, the pin functionality of the Due has been implemented using an equivalent Aurix peripheral. Board Layout...
  • Page 42: Connector Pin Allocation

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Connector Pin Allocation Released 2.4, 2015-05...
  • Page 43: Figure 5 Extended Io Connector

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Figure 5 Extended IO Connector Figure 6 SPI Connector Released 2.4, 2015-05...
  • Page 44: Tc275 Asclin To Shieldbuddy Connector Mapping

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL TC275 ASCLIN to ShieldBuddy connector mapping Table 4 ASCLIN to ShieldBuddy connector mapping TC275 Port Pin ASCLIN Board Marking Comment P15.0 ASC1 Serial0 P15.1 ASC1 P33.9 ASC2 Serial1 P33.8 ASC2 P20.0...
  • Page 45 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Arduino Signal Name ShieldBuddy Connector TC275T Pin Assignment Name Digital pin 14 (TX3) COMMUNICATION.8 P15.0 ASC1 RX TXCAN2 Digital pin 15 (RX3) COMMUNICATION.7 P15.1 ASC1 RX RXCAN2 Digital pin 16 (TX2) COMMUNICATION.6...
  • Page 46: Figure 7 Tc275 To Arduino Connector Mapping

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Figure 7 TC275 to Arduino Connector Mapping Figure 8 TC275 to Arduino EXT IO Connector Mapping Released 2.4, 2015-05...
  • Page 47: Powering The Shieldbuddy

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Powering The ShieldBuddy The ShieldBuddy can be powered from USB or from 6V to 9V on the jack socket. The switch S501 allows the power source to be selected. The jumper position towards the centre of the board selects USB power.
  • Page 48: Underside Component Placement

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Underside Component Placement Figure 9 Bottom view of ShieldBuddy Released 2.4, 2015-05...
  • Page 49 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Released 2.4, 2015-05...
  • Page 50 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Top Side Component Placement Component Location – Top Side Figure 10 Released 2.4, 2015-05...
  • Page 51: Appendices

    ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Appendices Basic Board Test If you think your ShieldBuddy has been damaged, please run this simple test to see if the CPU is still OK. Note: It is assumed that Infineon DAS v4.6 or later is already installed on your PC.
  • Page 52 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Now start a terminal emulation program (e.g. putty, MTTY, Hyperterm etc.) and use the following serial parameters: The COM port created by the ShieldBuddy will vary from PC to PC. You can find it in the Windows Control Panel - Device Manager under Ports (COM &...
  • Page 53 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL With the terminal program running, press the reset button on the ShieldBuddy. The following text should appear: Now press any alpha key – here it was ‘A’. The key you pressed will be printed into the terminal and the LED on the ShieldBuddy pinD13 should start to flash.
  • Page 54 ShieldBuddy TC275 Development Platform Aurix 32-Bit Triple Core CONFIDENTIAL Released 2.4, 2015-05...
  • Page 55 Published by Hitex (U.K.) Limited. 4269.40100, 2.4...

Table of Contents

Save PDF