element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Eye On Intelligence Challenge
  • Challenges & Projects
  • Design Challenges
  • Eye On Intelligence Challenge
  • More
  • Cancel
Eye On Intelligence Challenge
Blog Blog 1 - FPGA Augmented Microscopy. an overview
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Eye On Intelligence Challenge to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: pandoramc
  • Date Created: 27 Sep 2024 1:30 PM Date Created
  • Views 1736 views
  • Likes 7 likes
  • Comments 3 comments
  • image processing
  • Eye on Intelligence Challenge
  • zynq-7000
Related
Recommended

Blog 1 - FPGA Augmented Microscopy. an overview

pandoramc
pandoramc
27 Sep 2024

FullView

Introduction

The main idea is create an image processor for feature enhancement on the live acquisition from a microscope. The first stage is create a general purpose image processor with classical techniques and continuos system improving. Most of the required material are shown in the image above, all the materials provided and some additional peripherals in the Pmod connection to reduce the complexity. On the other hand, if it is required additional hardware, it must be added to the project.

The main objective of Metallography, as a science, is analyze and take decisions about the constitution and structure of metals and alloys. This is done in order to get the quality or especial functionalities of materials. According to ASM, the analisys could be in low magnification in optical microscopes from 20x, and raising up to 1,000,000x in electron mycroscopes. The actual project has interest in optical approach to adapt a microscope HMDI output to enhance features in the image acquisition and processing.

{gallery}mSamples

MetalPolarized1

IMAGE TITLE: THEN IMAGE DESCRIPTION

MetalNonPolarized1

IMAGE TITLE: THEN IMAGE DESCRIPTION

MetalPolarized2

IMAGE TITLE: THEN IMAGE DESCRIPTION

MetalNonPolarized2

IMAGE TITLE: THEN IMAGE DESCRIPTION

The images avobe were acquired with a general purpose microscope with incident polarized light source. according to the polarization angle, some features could be improved or visible and all these features require a clasification and enhancement to make decisions about the uses of the materials. In this case, the camera output, which is HDMI, will be inserted on the board and the output must be visualized in a dedicated monitor to mount an analisys terminal

Tests

An initial test of the board is using only the Hard Processor (HP). This device contains a rich peripheral system, it has UART, USB, Ethernet and more peripherals available to operate without the Programmable Logic (PL) assistance.

Zynq

For the actual project the PL interface is not required, consequently, the PL Fabric Clock is deactivated and the Master AXI interface is deactivated also. It is needed verify the connection of UARTx in order to communicate to the computer. Nowadays, the Vitis software has a new interface and the drivers had been updated. The Classical Vitis is deprecated and will be removed in future releases. This means that the last interface must be used for new designs. This interface create componens one-by one, an important difference with the classical where the platform and application could be created on the same process.

The creation of the plarform brings a set of files, and like other projects this must be compiled in order to have a functional architecture for software implementation. You are able to review the Board Support Package to get more information about the supported libraries and examples to use.

vitis

This time I created a zynq_dram_test project from the examples available, this in order to test the 512 MB of DDR3 RAM included in the board. If you try to write the program directly in the board, you must get Memory read error at 0xF8F00208. Cannot halt processor core, timeout. Because the board load the connections from the QSPI, we are not able to test the hard processor in the Vitis software. To solve it, the QSPI jumper must be removed and set in the JTAG option.

jtag

After continuous test in the DRAM in the option 5, which made a test over 511 MB of RAM, the board raised up its temperature. This conducted to me for the consideration of mount an temperature dissipator. The board reached about 50°C, this could limitate the behavior of the final project and we are made more test in order to avoid unspected operations.

temperature

Another test was based on the output of HDMI. In order to test the usage and HDMI port functionality, the example provided of the HDMI output was updated to the 2024.1 version of the development platform. Unfortunately, the software requires mayor revisions for the usage in the Vitis 2024.1, consequently, the Vitis Classic 2024.1 was used for this test. A Mandelbrot set pattern generator was used for the visualization in a monitor. The pattern generator uses the following code.

xil_printf("Newest Pattern\n");
static _Complex zn, C;
center = 2*width/3 + height/2*I;
unsigned int n = 0;
for(u32 c = 0; c < width; c++){
	iPixelAddr = 3*c;
	for(u32 r = 0; r < height; r++){
		zn = 0 + 0*I;
		n = 0;
		C = ((c + r*I - center))/250;
		while((cabs(zn) < 2) & (n < 20)){
			zn = cpow(zn, 21) + C;
			n++;
		}
		frame[iPixelAddr] = 51*(n%5);
		frame[iPixelAddr + 1] = 12.75*(20 - n);
		frame[iPixelAddr + 2] = 12.75*n;

		iPixelAddr += stride;
	}
}
Xil_DCacheFlushRange((unsigned int) frame, DEMO_MAX_FRAME);

In this case, the complex header file must be added and link the math ABI for the correct usage of the code block. The code was added in one of the cases of the pattern generator, and the output, which was captured with a USB converter, is shown below.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

This test bring some ideas of the platform capacity and possible challenges to take in account to solve the data processing algorithms required for the feature enhancement in the microscope camera.

  • Sign in to reply
  • DAB
    DAB 9 months ago

    If it gets to 50c I would start thinking about cooling options.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • pandoramc
    pandoramc 9 months ago in reply to dougw

    The blog is under construction, sometimes I have problems if I save as draft, consequently I publish it and modify later. I will use some classical techniques to enhance metallographic images

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw 9 months ago

    I'm not clear on what the video/image processing system is intended to accomplish.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube