Maxim Integrated Analog Essentials User Manual

For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
Overview
The Analog Essentials collection contains 15 peripheral module boards which are supported by prebuilt hardware and software projects for various FPGA development boards which are compatible. This version of the Getting Started Guide is applicable to LX9 and Nexys™-3 boards, both of which are based on Spartan®-6 FPGAs. Users of the other FPGA boards should refer to different versions of this guide.
Important notes – please read carefully
1. ESD Sensitivity. These modules are intended to be used in an electronic prototyping setting.
They are sensitive to static charge and are subject to damage if proper precautions against ESD are not taken. When handling these modules, the user should take the same care and precautions as when working with other ESD sensitive prototypes.
2. Plug – Connector mating. Many plug-in modules contain only one row of six pins, while most Pmod connectors
contain two rows of six contacts each. When plugging in a module with a single row of pins, always plug the
module into the top row of contacts.
3. Plug in with care. Please exercise care when plugging the modules into the Pmod port. The connectors are not
keyed, so it is possible to incorrectly plug in the module and misalign the pins. Although each module includes series resistors to provide current limiting, in some cases it is still possible to damage the module if it is incorrectly plugged in.
4. Nexys-3 and LX9 Differences. Most of the instructions in this document refer to both the Nexys-3 board and the LX9. Instances where a procedure is specific to one board or other will be denoted by the following indicators:
Additional components required
Interested users may wish to obtain additional components to evaluate the following modules:
MAX3231MPMB1 – this module requires a 10mm, 3V lithium primary type coin cell. The generic battery type is CR1025. Specific examples of this battery are Panasonic #CR1025 and Energizer #CR1025.
MAX31855PMB1 – this module requires a K-Type thermocouple with subminiature connector. Omega series 5SRTC are suitable (
www.omega.com). Lower cost alternatives may be available via eBay.
1
For LX9 and Nexys-3
Part
Functionality
Interface
DS1086LPMB1#
I2C spread-spectrum EconOscillator™
I2C
DS3231MPMB1#
I2C real-time clock
I2C
MAX3232PMB1#
RS-232 transceiver
UART
MAX4824PMB1#
Octal relay driver
GPIO
MAX5216PMB1#
High-performance 16-bit DAC
SPI/GPIO
MAX5487PMB1#
Dual 256-tap digital potentiometer
SPI
MAX5825PMB1#
Octal 12-bit DAC
I2C
MAX7304PMB1#
16-port GPIO and LED driver
I2C
MAX9611PMB1#
Current-sense amplifier with op amp and ADC
I2C
MAX11205PMB1#
16-bit delta-sigma ADC with 2-wire interface
GPIO
MAX14840PMB1#
RS-485 transceiver
UART/GPIO
MAX14850PMB1#
6-channel, 600V galvanic isolator
SPI/UART
MAX31723PMB1#
Digital thermometer
SPI
MAX31855PMB1#
Thermocouple-to-digital converter
SPI
MAX44000PMB1#
Ambient light and proximity sensor
I2C
Analog Essentials
Getting Started Guide
Analog Essentials Collection modules
The table below lists the peripheral modules included in the collection, along with a description and interface type.
Included Files
The top level of the hardware design is a Xilinx ISE® Project Navigator Project (.xise) for Xilinx ISE version 13.4. The Verilog-based HDL design instantiates the Microblaze™ core, the support hardware required to run the Microblaze, and the peripherals (I development kit (SDK) project which includes a demonstration software application to evaluate each module’s functionality. The lower level c-code driver routines are portable to the user’s own software projects.
2
C, SPI, GPIO, and UART) which interface to the Pmod ports. This is supplied as a Xilinx software
Prerequisites
Xilinx ISE13.4 or a later version must be installed on the development PC, along with a license for Xilinx EDK/SDK.
To modify the FPGA code or the software, the user should have a basic understanding of Xilinx Project Navigator
(ISE) development tools, I
Maxim Analog Essential Project Source (downloadable from
One or more of the peripheral modules boards in the Analog Essentials collection.
2
C, SPI, GPIO buses, ANSI C, and (ideally) the Xilinx Embedded Development Kit toolset.
www.maxim-ic.com/FPGA-modules)
2
For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
Typical System Architecture
Below is a generalized block diagram for the architecture implemented in the FPGA project. One of the key elements is the logic block that drives each Pmod port. Each Pmod port driver contains a dedicated I octal GPIO port. Any of these can be quickly connected to the Pmod port via software control. (The multiplexer setting is controlled by another internal GPIO port.) This eliminates the need to reprogram the FPGA during testing and evaluation of various peripheral modules.
2
C port, SPI port, UART, and
Board specific notes
Digilent Nexys-3: This FPGA board contains 4 Pmod connectors, all of which are driven by the logic/hardware resources as shown in the above diagram.
Avnet LX9: Although the LX9 board contains 2 Pmod connectors, the FPGA does not contain a sufficient number of gates to implement two complete copies of the drivers as shown above. Therefore, only one of the Pmod ports on the LX9 (“J5”) is driven as shown. Pmod connector “J4” is driven by an octal GPIO interface block and not utilized by the supplied software.
3
For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
Getting Started
Introduction
With small Microblaze FPGA designs, it is typical for the binary executable program to fit entirely within the internal block RAM of the FPGA. In these cases, the FPGA can be programmed by simply downloading a single bit-stream file, which contains both the FPGA logic and the binary executable for the running software on the processor. However, the size of the sample programs for the Analog Essentials collection exceeds the capacity of the internal block RAM memory. Therefore, external memory (outside the FPGA) must be utilized for both program and data storage. Because of this, loading the program is a multistep process. The first step loads, then executes a boot loader. The boot loader then loads the .elf (executable software file for the Microblaze). While this is not as simple as downloading a single file, it represents the situation encountered with many real-world applications.
The first section of this guide leads the user through the process of loading the project into the FPGA board for execution. The section following that outlines the basic steps in modifying the project.
Overview: Downloading the Example/Demonstration Application
Below is a high-level overview of the steps required to download and run the FPGA project. Detailed instructions for each step are provided in the following pages.
1. From Maxim’s website, download the latest version of the Maxim Analog Essentials project that corresponds to your FPGA board. The code will be delivered as a .zip file. Visit the link to MAXPMBAE which takes you to the Quick-View page for Analog Essentials. From there, click on the “Technical Documents” to access the software downloads.
2. Extract the .zip file to a directory on your machine (direction location is arbitrary, but for the purposes of this document, it will be c:\designs\maxim\v1_4). See Appendix B in this document for a complete description of the included files.
3. Open the Xilinx SDK (Windows Start Menu > Xilinx ISE 13.4 > EDK > Xilinx Software Development Kit).
4. Download the bitstream (.bit) file to the board. This bitstream contains the FPGA hardware design and software bootloader.
5. Open Hyperterminal or a similar communications program to communicate with FPGA board.
6. Use Xilinx SDK/XMD debugger console to download and run executable file (.elf) on the Microblaze.
www.maxim-ic.com/fpga-modules, then click on
4
For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
Detailed Steps: Downloading the Example/Demonstration Application
1. Opening the SDK
a. From the Windows Start Menu, Open the Xilinx SDK as shown below
.
b. SDK will prompt for a workspace directory, the location where the software project is located. This
directory is generally a subfolder within a Xilinx ISE/EDK project and will include board support files, as well as (.c) and (.h) files. Be certain to choose the correct Workspace directory. For this project, it will be C:\Designs\maxim\v1_4\sdkWorkspace (as shown below).
c. Click OK to the prompt shown above and SDK will open. The Xilinx SDK is based on an Eclipse-based IDE,
so it will be a familiar flow for many software developers.
5
For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
d. Review the SDK IDE. The Project Explorer in the upper left tab should have three components as shown
in the image below. If all three subfolders are present, you can skip the next step.
If the Project Explorer does not contain these three subfolders, launch the File > Import menu, expand
e.
the General tab and select Existing Projects into Workspace. Click Next. Set the root directory to C:\designs\maxim\v1_4\sdkWorkspace, and the missing with their checkboxes checked. Click Finish to import the projects.
projects should appear in SDK Project explorer
6
For LX9 and Nexys-3
Analog Essentials
Getting Started Guide
2. Downloading the bitstream (.bit) file to the board.
a. Click on the Program FPGA icon (which looks like a green chain of devices):
b. The Program FPGA dialog box will appear. From here, an FPGA bitstream is selected as well as an FPGA
bmm file and a (.elf) file to load into the Microblaze memory as shown below. Be sure to select the toplevel.bit file, the edkBmmFile_bd.bmm, and the bootloop file as shown, then select Program.
7
Loading...
+ 16 hidden pages