Design Brief 205 Understanding the Anadigm Boot Kernel (ABK)

Similar documents
Anadigm FPAA Solutions Training Class III

AN231K04-DVLP3 AnadigmApex Development Board

Applying the AN10E40 Configuring with the Minimum Number of Connections

AN231K04-DVLP3 AnadigmApex Development Board

IMPLEMENTATION OF USER-DEFINED VOLTAGE TRANSFER FUNCTIONS IN FPAA

App Note Application Note: Addressing Multiple FPAAs Using a SPI Interface

App Note Application Note: State-Driven Control of a dpasp using a Microchip PIC.

PRE32 RS232 protocol v1.21 Tomas Andersson

Anadigmvortex AN221D04

AN120E04 AN220E04 Field Programmable Analog Arrays - User Manual

Specification. For. Serial Interface DN-T645/625

Specification. for. Serial Interface DN-C635

AN121E04 AN221E04 Field Programmable Analog Arrays - User Manual

Logosol Joystick Node LS-731

Chapter 2 Number System

AN13x series AN23x series AnadigmApex dpasp Family User Manual

Apex Filter Demo Application Note

Flex Series User Guide

Configuring RS 232 Communications with TheaterTouch Designer and the CM 232

Understanding Anadigm Configurable Analog Modules (CAMs)

MAX11300/MAX11301 PIXI Configuration Software User Guide

Planar Simplicity Series

GIGAVAC Contactors J1939 Protocol

bc620at Developer s Kit User s Guide November, 1998

EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

ED1021 I/O Expander with UART interface & analog inputs

HMC1022 Digital Compass

RS232 User Guide. Planar Simplicity Series 4K Displays SL4364K SL5564K SL6564K SL7564K SL8664K. Simplicity Series 4K Displays User Guide A

Target Definition Builder. Software release 4.20

1.1. INTRODUCTION 1.2. NUMBER SYSTEMS

VS10XX APPNOTE: CONNECTING SPI BUSES

CDN36X Series DeviceNet Gateway User Manual

Dediprog SF Series Programmer User Guide V1.2

For more information Contact with details of the application.

ZBXYO Series Evaluation interface board for XYO optical oxygen sensors

Revision 1.2. July 24, COM Protocol Manual. for MDC and ADC N 11th St - San Jose CA

CONNECTION TO A HOST COMPUTER

AnadigmDesigner 2 User Manual

J2 LCM Customer Display. Manual

MARSLIFE Technical Report #3

JMY505G User's Manual

C:\Users\jacob\Documents\MtSAC\ELEC74 Mt SAC - chipkit\homework Sheets.docx

Data Representation and Binary Arithmetic. Lecture 2

CANopen. Network configuration. Operating instructions Software. Integration of Bürkert devices in CANopen networks

education and advancement of the marine electronics industry and to waypoint, present Lat/Long, and a binary status byte.

USB-I2C USB to I2C Communications Module Technical Specification

Exercises Software Development I. 03 Data Representation. Data types, range of values, internal format, literals. October 22nd, 2014

Rice Lake Weigh Scale Application Programmable Serial Interface Card

Card Dispensing/Collecting Machine

How to write a SECA CAM by JF Version 1.00 April 2003

ArduCAM-M-2MP Camera Shield

JMY504M User's Manual

ZIC2410 User Guide Device-Programmer Software Manual

OEM API Specification

Number Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers

Desktop Reader and Wall Reader Adaptor USER MANUAL DOCUMENT REVISIONS

WRTU Client User Manual. Date: 29 May, 2014 Document Revision: 1.05

QBridge. I2C, SPI, CAN Control Software User s Manual. Date: Rev 1.3

TECHNICAL BULLETIN [ 1 / 8 ]

EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

How2Use DT-AVR ATMEGA168 BMS. By: IE Team. Picture 1 The layout of DT-AVR ATMEGA168 BMS

ISPV3 Programmer s Guide. This guide addresses the features, setup and operation of the CRD89C51xxx microcontrollers with ISPV3 firmware.

3.1. Unit 3. Binary Representation

Technical Documentation 0630

USING THE AMULET EASYGUI STARTER KIT WITH A PARALLAX BASIC STAMP AND AN ANALOG DEVICES ADXL202EB

PropIO V2 User Guide. Wayne Warthen RetroBrew Computers

ibl ingenia dspic bootloader Users s guide 2007, ingenia-cat S.L. 06/06/07 Version 1.4

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Custom Installation Notes: Serial programming interface and IR remote commands for Arcam D33 DAC

LomaLink User s Guide

Serial Communication Protocols

1a)[2] Connect the devices on the left column to items on the right column. Keypad 4x4

Base Station Client Utility

Russound Dual Tuners (ST2, ST2-XM, ST2-XM2, and ST2S)

Unit 3. Analog vs. Digital. Analog vs. Digital ANALOG VS. DIGITAL. Binary Representation

VS-LC101/ VS-LC102 RS-232 command set

HART USER GUIDE FOR GASSONIC OBSERVER-H ULTRASONIC GAS LEAK DETECTOR

Application Note BDLxxxx RS232 SERIAL INTERFACE COMMUNICATION PROTOCOL (SICP V1.82)

SKP16C26 Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

DL-10. User Manual. RS-485 Remote Temperature and Humidity. English Ver. 1.0, Jul. 2017

Clearpath Communication Protocol. For use with the Clearpath Robotics research platforms

Errata details published in this document refer to the following silicon: netx100, Revision A (Step A, ROM Rev. 2, Boot loader major vers.

Littfinski DatenTechnik (LDT) Kleiner Ring 9 D Heist/Germany Phone: / Fax: /

Titan Dot Matrix Display (A05)

Russound Controllers. RNET Protocol & Specifications RS-232 Communication. Document version

Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing

RoHS. CO 2, Temperature & Humidity Transmitter Applications

E2 Modbus RTU Register Map Revision History Version Comments Author Date 1.02 Previous version PAE 11/06/ Revised to new format PAE 09/03/09

WizFi250 Quick Start Guide


ASCII Text Control (ATC) Protocol for Remote Control of Equinox Programmers

EHAG 125 khz Multitag Reader Module ME-H10101xx

S-Series Sensor ASCII Protocol v8.1.0

Home Automation, Inc. Omni-Link. Serial Protocol Description

PMBus Power System Management Protocol Specification Part I General Requirements, Transport And Electrical Interface

Version. Table of Contents

2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme

SRF08 Ultra sonic range finder Technical Specification

Control Characters used in DirectNET

Transcription:

Design Brief 205 Understanding the Anadigm Boot Kernel (ABK) Introduction This document describes the Anadigm Boot Kernel (ABK) and the ABK command language. Overview The Anadigm Boot Kernel is a set of software requirements and communication protocols designed to allow a PC running AnadigmDesigner 2, or a user application, to program and control an Anadigm FPAA. The ABK provides an interface between PC and FPAA. The ABK is provided as a core set of source code files in the C programming language. The source files can be adapted as needed to meet the requirements of the design. Additional features can be added as desired, and ABK functionality may be removed, depending on the capabilities of the target environment. The ABK source code may also be used as a basis for creating embedded software BUT it is important to note that the ABK itself is not required for an embedded system. The ABK is not meant to be the core software of a target controlling the Anadigm FPAA. Rather, the ABK provides a quick means of prototyping hardware designs before committing to the real application. IMPORTANT: the ABK is not required for an embedded system. ABK Environment When a target runs the ABK, it creates a working environment for communications between the AnadigmDesigner 2 software (or other PC application) and the Anadigm FPAA. This is illustrated in Figure 1. Host PC Microsoft Windows Anadigm Designer2 or User Application RS-232 Port Serial cable RS-232 Port Figure 1. Basic ABK Environment Target ABK Digital Interface FPAA ABK Capabilities The ABK defines a set of capabilities required to allow communication between the PC and the FPAA(s). These features are: 1. Primary configuration of one or more FPAAs 2. Reconfiguration of one or more FPAAs 3. Resetting of individual or groups of FPAAs 4. Reading the target s ADC channels 5. Reading the target s SPI port 6. Returning target ID and version information 7. Reporting operational & programming status 8. Displaying FPAA programming status via LEDs 9. Identification of FPAA types and number 10. Returning ABK s available command set These features can be used in whole or in part, depending on the capabilities of the target. For example, feature 4 would have to be omitted if the target did not have analog-to-digital conversion circuitry, and feature 5 would have to be omitted if the target did not have a SPI port. At a basic level, a target must support features 1, 6 and 7 in order for AnadigmDesigner to communicate with it and download configurations. ABK Command Language The ABK Command Language provides a uniform means of using the ABK features from AnadigmDesigner 2 or other applications. It is an ASCIIbased command language, which allows easier command synchronization, error checking, and simplified command structure. The commands in the ABK Command Language, their parameters and structure, are described in the Appendix of this document. ABK Feature Configuration Download When a design is created within AnadigmDesigner 2, this feature allows the design to be downloaded into one or more FPAA devices. There are 2 forms of configuration download:- the primary configuration which is preceded by an FPAA reset, and the reconfiguration which is not preceded by an FPAA reset and which can be used to perform partial updates of the FPAA

ABK Feature Analog-to-Digital Readings For targets that have Analog-to-Digital converters (ADC), this feature is useful for reading an A/D channel and reporting the result. AnadigmDesigner 2 does not use this feature, and thus is not required for ABK implementation. ABK Feature SPI Port Readings For targets that have a SPI port, this feature is useful for reading the SPI port and reporting the result. The SPI port can be used to read the SAR ADC in an FPAA. AnadigmDesigner 2 does not use this feature, and thus is not required for ABK implementation. ABK Feature Target Identification and Version Information This feature is useful for a variety of reasons, but the main one is communications tests. AnadigmDesigner 2 has a menu item, Target->Display board information, which asks the target to identify itself. ABK Feature Resetting of device(s) The ABK can reset individual or multiple FPAAs through this command. When the command is used, the parameter specifies the ID of the FPAA(s) to be reset. A specific FPAA can be reset by using its primary ID, assigned in AnadigmDesigner 2. A group of devices can be reset by assigning them a common secondary ID, and using that ID for the reset parameter. All devices can be reset when 0xFF is used for the ID. ABK Feature Command Set This feature is used to allow AnadigmDesigner 2 to know what types of commands the target ABK will support. The returning string includes all commands supported. ABK Feature Pin Status Check This feature is used to check the state of either the ACTIVATE pin or the ERRb pin. The Pin Status command P needs to be followed by a Status check? to complete the checking of the state of the pin. AnadigmDesigner 2 will display the null-terminated string reported by the target, but does not make any further use of it. The exact contents of the string are left to the designer, but some suggestions are: Board identifier Software and/or Hardware version number Revision Date of Software/Hardware ABK Feature Chip Identification This feature is used to identify how many FPAA devices are connected to the target, and what types of FPAA they are. This feature is used by AnadigmDesigner 2 which has a menu item, Target->Display board information, which asks the target to identify itself and also to return the types of chips in the system. ABK Feature Operational and FPAA Programming Status When configuration data is downloaded, AnadigmDesigner 2 will request status information from the target, in order to determine whether the download succeeded or not. If the status indicates a problem, AnadigmDesigner 2 will report that result to the user. The target returns one ASCII character, which describes the current status of the target. Note: the ABK also drives a red LED and a green LED to provide the user with instant feedback of programming status.

Appendix The ABK Command Language This appendix describes the ABK Command Language in detail. ABK Command Language structure The primary structure of the command language is shown in Figure 2: STX (0x02) Command Parameters Data ETX (0x03) Figure 2 ABK Command Language structure Each command starts with the ASCII STX character, defined as the hex value 0x02, and ends with the ASCII ETX character, defined as the hex value 0x03. The Command character depends on the action desired of the ABK. Parameters and Data will depend on the command and whether the command requires parameters or data or not. All parameters and data are given in ASCII format. For each byte of data, two ASCII characters are required. For example, if a Data byte value was hex 0xA5, it would be sent as two ASCII characters, A and 5. For word values (e.g. 0xE534), four ASCII characters are required (e.g. E, 5, 3, 4 ). All values are assumed to be unsigned, and any hex values must use upper-case letters ( A, B, C, D, E, F ) instead of lower-case letters. Table 1 lists each command with the Parameters and Data (if any) required by that command.

Table 1 - ABK Commands Feature Command Parameters Data Notes Download Configuration Data 0 One word for the number of Data bytes to follow. The configuration information to be forwarded to the FPAA(s) This command will issue a full reset to all devices before sending the Data bytes to the FPAA(s). 1 One word for the number of Data bytes to follow. Device Reset R One byte for the FPAA ID to be reset, or 0xFF for all FPAAs Pin Status P Two bytes for the pin and its state:- Byte 1: A or E for ACTIVATE or ERRb Byte 2: H or L for High or Low Target ID and Version info The configuration information to be forwarded to the FPAA(s) None This command will NOT issue a full reset to the devices. This is useful for sending partial update information to the FPAA(s). If the same primary or secondary IDs are assigned to a group of FPAAs, then all can be reset using the one ID. None (see Notes) This command should be followed by a? Status check. If the Status check returns 0 (OK) then the pin status is correct, if it returns 1 (error) then the pin status is wrong. e.g. P followed by A and H followed by status check which returns 1 means that the ACTIVATE pin is low. # None None The target returns a null-terminated string with the desired information. AnadigmDesigner2 will display this information in a dialog box when the Target->Display board information menu item is selected. Status? None None Target returns an ASCII character representing the status, with the following values: 0 OK 1 Configuration error 4 Unknown command Analog-to- Digital Reading SPI-port Reading Chip identification V ASCII character for ADC channel to read. i.e. 0 for channel 0, 1 for channel 1, etc. None Target returns value of ADC for desired channel. Data size may depend on ADC capabilities. W None None Target returns value of SPI port. This is only available on ABK v3.1 and later Note: this may be used for reading the SAR ADC of the FPAA T None None Target returns a null-terminated string that gives the types of FPAA(s) in the system. Possible identifiers are: 220E04 AN220E04 221E04 AN221E04 120E04 AN120E04 121E04 AN121E04 Each chip type is separated by a vertical bar character. When all chips have been listed, the ABK sends an END. If a chip cannot be identified, it is reported as UNKNOWN, and identification stops. Command Set S None None Target returns a null-terminated string that lists the commands that are supported by the ABK. For example, a target that supports all ABK commands in this table would return a string like this: 01PRSTVW?#

For more information logon to: www.anadigm.com