SEA 9521 Change Notes Change Notes Version Changes 1.0.0 Release of the new BiSS/SSI driver architecture based on the NI Module Development Kit 2.0, MDK2. Minor changes: A4 page size • Getting Started chapter • Installation chapter • Deployment chapter •...
2.2 End User License Agreement (EULA) Before operating the SEA 9521 module and the provided software you have to agree to the terms and condi- tions (EULA). This agreement is part of the software installation procedure. If you do NOT agree you can send back the hardware and software package within a period of two weeks after delivery.
Page 6
Slave 2, respectively. In this case, there would be two slaves per single device and channel. BiSS master Inside the SEA 9521 module, a BiSS master runs on a FPGA which handles communica- tion with all slaves attached. There are two basic communication modes: a) data communication (high speed) and b) register communication (lower speed).
3.1 Hardware Requirements The SEA 9521 module requires at least a PC to program and compile the user application. In order to run the application an NI CompactRIO Real-Time controller with the SEA module inserted in an arbitrary chassis slot is required.
The NI’s Corrective Action Request (CAR) #637095. Follow the steps below to create a simple application using the SEA 9521 module and run it on a NI Com- pactRIO system (for this tutorial the NI cRIO-9040 has been used exemplary): 1.
Page 9
SEA 9521 Quick Start 6. Start LabVIEW and create a new, blank project. 7. The project explorer window appears. In this window select the uppermost item in the tree (Project: Untitled Project X.lvproj) and select New → Targets and Devices right-clicking on it, like shown be- low: Fig.
Page 10
SEA 9521 Quick Start Fig. 3: Quick Start – Project explorer after completing the configuration The project is now fully configured and the SEA 9521 resources can be used in the user FPGA application.
Page 11
SEA 9521 Quick Start You can continue from here to learn how to implement a simple FPGA application using the SEA 9521 mod- ule. 11. Create a new FPGA VI in the project explorer window. For this right-click on the FPGA Target (RIO0...) and select New –>...
Page 12
Fig. 5: Quick Start – Create initialization method 14. Choose Select a VI... from the block diagram context menu. Select SEA-9521_InitParamsGenerate_Standard.vi from the folder ../LabVIEW 20XX/examples/SEA/SEA 9521/Shared/API and place it on the block diagram. Create a constant (or a control) at the Standard Module Config terminal, enter your encoder type and the singleturn/multiturn bit resolution.
Page 13
SEA 9521 Quick Start Fig. 7: Quick Start – Final block diagram 16. Save the created FPGA VI, create a build specification and compile it. 17. The Mod1/Slave1 indicator will display the BiSS-C/SSI data word which was read from the encoder attached to channel 1.
Functional Overview 5.1 cRIO Platform The SEA 9521 is a cRIO compatible module that can be used in a wide range of carriers from National Instru- ments. All CompactRIO systems with a programmable (FPGA) backplane are currently supported. SEA 9521 is not supported in systems without a FPGA programmable backplane like CompactDAQ.
Page 15
Some BiSS devices will have a maximum acquisition rate much lower than 33 (20) kHz. Be sure to not exceed the device's maximum rating. SEA 9521 fully supports MXI-Express RIO, R Series Expansion, and EtherCAT Chassis. Every additional slave will increase processing time by about 8 microseconds. The exact processing time can easily be determined by placing the IO node with all necessary data channels in a while loop and meas- uring the loop time.
Latency of BiSS encoder sampling after receiving a trigger When calling the IO Node (see chapter 6) it takes the SEA 9521 module 95 ns (±10ns) to pull the BiSS Master Clock line low for the first time. This usually is the signal for the encoder to sample its position.
Please refer to the examples to learn how to program the module and how to retrieve position val- ues. The examples are available via the example finder. Use search keywords like BiSS, SSI or 9521 to find the related examples.
The property nodes deliver information about the module type and identity. Node Direction Description Retrieves the module ID from the module. For SEA 9521 mod- read only ule, it retrieves 0069 (0x0045). Retrieves the serial number from the module. The serial num- read only ber is an 8 digit decimal or BCD number.
Page 19
This method node executes a register write to a configured re- gister block. For more details on the register communication, see sec- write only tion 6.2.6. In the current driver version, the register write method cannot be run concurrently with IO node calls. Tab. 5: SEA 9521 Method Nodes...
7. Select the slave to channel mapping 8. Return the initialization status information (for details, cf. section 6.3.3) To simplify initialization, the SEA 9521 driver software offers example VIs called SEA-9521_Init- ParamsGenerate_Standard.vi or SEA-9521_InitParamsGenerate _Advanced.vi from LabVIEW 20xx/Examples/SEA/SEA 9521/Shared/API folder. The appropriate usage can be seen in the SEA 9521 examples, cf.
Page 21
SEA 9521 Programming ENABLE =0: disable data transfer =1: enable BiSS/SSI data transfer BiSS/SSI DATA LENGTH – 1 The data length is device dependent and can either be extracted from the device's data sheet or by con- tacting the device manufacturer.
Page 22
The Channel Config describes the properties of the three data channels. It determines which slave is con- nected what kind of slaves (BiSS-C or SSI) are attached. The easiest way is to use the example VIs SEA-9521_InitParamsGenerate_Standard.vi or SEA-9521_InitParamsGenerate _Advanced.vi from the ex- amples to facilitate configuration. Alternatively own parameter generation can be implemented.
Page 23
There exist two examples that get position (with and without cRIO RT host integration) which can be found via the example finder looking for the keyword 9521. In this examples, the proper initial- ization of one or more encoders can be studied.
Programming 6.2.5 Simplified Initialization To avoid setting Slave Config and Channel Config (see pages 20ff) manually, the SEA 9521 package offers exemplary generation VIs called SEA-9521_InitParamsGenerate _Standard.vi and SEA-9521_InitParamsGen- erate _Advanced.vi which are also showcased in the GetPosition examples (see section 6.1).
Every time New Data returns true, a new set of register values has arrived. There exists a RegisterCommunication example which can be found via the example finder looking for the keywords 9521 or BiSS. It elaborates the concepts and schemes outlined in this section. The Electronic Data Sheet example showcases the register write.
SEA 9521 Programming 6.3 IO Nodes: Data Formats The IO nodes will retrieve BiSS/SSI data of all the different slaves as well as status information about the BiSS/SSI data transfer. The register data values will be transmitted bit-wise alongside the BiSS/SSI data if a register communication was previously configured.
Separating the BiSS/SSI data words into multi- and singleturn as well as error and warning information is application-specific and can be tedious. Depending on the encoder used, there might be different numbers of error, warning, multi- and singleturn bits. To simplify decoding, the SEA 9521 software package, offers two example VIs called SEA-9521_SlaveDataDecode_Standard and •...
SEA 9521 Programming 6.3.3 Status The Status is a 32 bits double word (U32) that provides operational information about the BiSS/SSI data and register transfer or about the initialization phase. The format is: Bit 7 Bit 6 Bit 5 Bit 4...
SEA 9521 Programming Examples: Correct data transmission (without register communication or register communication is still unfinished) while three BiSS slaves (with CRC) are attached: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0...
Module Errors 65536 any node No module or invalid module type found. Please insert SEA 9521 module into the correct slot. If a SEA 9521 module is recognized as invalid, please contact SEA technical support. 65537 any node Incorrect module type found. Only SEA 9521 modules will work with this driver version.
Page 31
Register Write A CRC error occurred during register communication. Try to read/write again VI Errors 358610 Standard Decoder SEA-9521_SlaveDataDecode_Standard.vi was called without previ- ously calling the SEA-9521_InitParamsGenerate_Standard.vi 358611 Advanced Decoder SEA-9521_SlaveDataDecode_Advanced.vi was called without previ- ously calling the SEA-9521_InitParamsGenerate_Advanced.vi Tab. 7: Error and Warning Codes...
However, the current driver software architecture offers a way that can help to reduce the FPGA space fur- ther if FPGA space is precious. Within the SEA 9521 driver core certain functional blocks can be disabled us- ing Conditional Disable Symbols. A disabled functional block is not compiled into the bitfile and therefore does not consume FPGA space.
Page 33
SEA 9521 Programming This dialog box is accessible by right-clicking on the project root item “Project: <project name>” in the Lab- VIEW project explorer. If no conditional disable symbols are defined the default values are used (EEPROM=ON; REGCOMM=ON). The init parameter generation and decoding VIs described in sections 6.2.5 and 6.3.2 will increase FPGA us- age due to their flexible structure.
BiSS-C describes an electronic data sheet (EDS) which can be retrieved by the SEA 9521 software package. There exists a SEA 9521 ReadElectronicDataSheet example which can be found via the example finder look- ing for the keyword 9521. In this example, the first EDS bank of a BiSS-C compliant device on channel 1 is read.
Deployment Deployment If a user application containing the SEA 9521 is deployed to a run-time device (i.e. NI CompactRIO) the fol- lowing parts are necessary to be deployed along with the compiled application (i.e. rtexe): LabVIEW Run-Time Engine 2017 or higher...
1. Make sure you have the CompactRIO system powered and connected tected within LabVIEW to your PC. 2. Make sure you have installed the current BiSS/SEA 9521 driver soft- ware (≥ 1.0.0). 3. If previous driver versions exist, uninstall them properly before in- stalling the current driver.
Page 37
SEA 9521 Trouble Shooting Problem How to solve The retrieved position It is highly recommended to use the CRC functionality when driving BiSS data seems not to be devices by entering the correct CRC polynomial during the initialization correct when using a process.
Need help?
Do you have a question about the 9521 and is the answer not in the manual?
Questions and answers