Browsing: Tutorial

Guide
0

This week happens to be National Library week, and although Digilent is not a library, we certainly use them! I’m not referring to public libraries, though (although I am personally a fan of them); rather, I’m talking about the C++ libraries that are widely used with our microcontrollers. Although C++ libraries are not quite the same as an IP for FPGAs, they serve a similar purpose. These libraries include a set of predefined functions that perform a specific task, such as sending and receiving a set of data over SPI, that the user can use without having to define what they do.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

Back in March, we released a blog post announcing the ZYBOt. There was a set of Instructables and a video showing what the ZYBOt is all about. If you check those out, you can see that the ZYBOt is remote-controlled and has a video feed that can be displayed to a computer. The ZYBOt is a great project for people that want to dive into working with FPGAs and Linux.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

Back in August, one of our interns told us why arrays aren’t actually very frightening. However, if you’re anything like me, that information might have…slipped. So I decided to take another look at arrays!

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

Originally, this blog post was going to be about how Linux works with its kernel and everything. That turned out to be extremely dry, and it was a jumbled mess to try to fit everything into a blog post. Just check out the Linux wiki page for all that stuff. Instead this post is going to be more about parts of Linux that people should know about. Linux is used widely for developing software and embedded systems. One example is the Zybot, partially developed by Kaitlyn and me!

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

Now that we have Linux booted up on our computer, we can get programming. What happens if we want to create web pages? Well, we need to set-up our LAMP server. LAMP stands for Linux Apache MySQL PHP. This blog post goes in conjunction with a relevant Instructable about setting up our LAMP server, so just like the previous blog post about dual-booting Ubuntu, this is going to go over more of why we’re doing this. What the LAMP server will allow us to do it create a local host that will let us communicate with the Internet.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

If you have a computer, you may have heard of Linux. Linux is a free ad open-source operating system, where the “base” code can be used and modified by anyone. Some of Digilent’s boards (like the ZYBO) use Linux. Linux is great for programming and development, but isn’t as user-friendly as other operating systems.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

Moore’s Law is the observation that every two years, the number of transistors in an integrated circuit doubles.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

Inter-integrated-circuit, more commonly known as I²C (generally pronounced I-squared-C), is a communication style originally developed by Phillips Semiconductor (now NXP Semiconductor). Its design allows multiple components to be able to talk to each other on the same data line, making it widely used in a variety of systems, including Pmods. As a fan of Pmods, I’m in favor of learning how you can communicate with them and get them what you want to do. Let’s find out more.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

Welcome back to the Digilent Blog! When we were working in C, we learned about the data structure called a “linked list”. Now, we’re going to go over two new data structures — stacks and queues. In this post, we’re going to make classes for stacks and queues to help show some of the capabilities of OOP (object-oriented programming)!

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

With any upcoming projects you may be doing, will you be using transistors? A few months ago, Brandon wrote a post detailing the basics of transistors — what they are, how they work, how they can be used, etc.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
1

Robots that run around on motors are pretty sweet. These motors traditionally tend to be DC motors that are controlled through the use of an H-Bridge, which can change the flow of current so that the motor is able to run forwards or backwards. H-bridge modules, such as Digilent’s PmodHB3 or PmodHB5, also tend to have two pins labeled as Sensor A and Sensor B that measure which direction the motor is rotating. The two sensors, A and B, will be wired to the outputs of components known as Hall effect sensors. Unsurprisingly, these measure the Hall effect. But rather than having the “word in the definition” problem, let’s learn some of the practical details.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

The binary search tree (BST) is a data structure that is much different from the other structures that we’ve gone over so far. Unlike stacks, queues, and lists, a BST’s struct is not a “straight-line”. Each node in a BST has a left and right child node.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
2

Now that we know about pointers and structs, we can make a linked list. A linked list is a dynamic data structure, meaning that it can change in size! There are several important points that we are going to go over in this post.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
1

At this point in reading the blog and going through the learn material, you might realize that there is a lot of FPGA code. It doesn’t look like C, it doesn’t look like Java…what is it?

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
1

For those of you that have been coding for awhile, you likely have heard about both interrupts and polling. These are both techniques that can be used to alert your system board, such as a chipKIT microcontroller, when an input has occurred. But what is the difference between these two methods? Is one better than the other? Let’s find out.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

If you’ve been keeping up with Digilent over that last couple of years, you may have heard about our merger with National Instruments. We’ve collaborated to create new products, and we’ve expanded our capabilities to work with more of NI’s products. One of those products is Multisim, a full-function testing and simulation environment for analog, digital, and power electronics designs.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

Welcome back to the Digilent Blog! Today we’re going to go over recursion! Recursion is when a function calls itself directly, or through another function. Sometimes we can’t solve a problem using loops (iteration), so we have to use recursion. Recursion is slower than iteration, difficult to debug, and it uses up more of the stack. But recursion can also have simpler code, so in some cases, the benefits outweigh the problems.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
How-to
0

Take a look at a circuit board and chances are you’re going to find a resistor or two. Most boards today use surface-mount device (SMD) technology, so the components are almost too small to see sometimes, but they are on there, I promise. How do engineers decide which resistors to use in the design? Sometimes it depends on how you want that portion of the circuit to perform, as in the case of an op-amp. Other times it’s to prevent too much current from passing through a given point in a circuit, which is why they are often called current-limiting resistors. Maybe you want a simple way to divide the voltage or current. The reality is that there are numerous ways to use resistors, and oftentimes, the defining the resistor value is up to you.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
1

The acronym IP probably means a lot of things to a lot of different people. But to those of us in the world of FPGAs, it’s something special. IP stands for intellectual property. Intellectual property can be a lot of things, but when I say intellectual property I’m talking about the libraries of HDL (hardware design language) modules that are available for your use. Users and companies build IPs for use, so that designs are easier and faster to build.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Tutorial
0

If you’ve been around electronics for a while, you’ve probably noticed that components like resistors, capacitors, zener diodes and inductors come in some odd values. Looking at the chart above, there seems to be no clear rationale behind the values, but there is a pattern. 47kΩ resistors and 22μF capacitors are everywhere, but not 40kΩ or 50kΩ resistors, or 20μF or 30μF capacitors. So what’s the deal? It all has to do with preferred numbers.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

In previous blog posts, we’ve programmed mainly in C. But with a blog post about classes coming up, I figured a short post about how C++ works would be helpful for everybody.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
FPGA
1

As you probably know, one of Digilent’s major focuses is producing FPGA (field programmable gate array) boards and educating the public on FPGA design. One of the classes I was in last semester focused on FGPA design. This class is EE324 at WSU, which is taught by Digilent’s own Clint Cole. He gave a background lecture on the History of FPGA chips. Not only was it an extremely interesting lecture, but it also helped me understand the huge leaps in logic design that have been made since the 1960s. This is the history that led to the development of FPGA chips. The chips are the parts that Xilinx makes that we use on our FPGA boards.

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
Guide
0

Today, we are going to learn about number systems. A “number system” is defined here as “any notation for the representation of numerals or numbers.” We naturally use the decimal (base 10) system, meaning we use the numbers 0-9 to represent all the other numbers. The three types of number systems that we are going to talk about today are decimal, binary, and hexadecimal, but there are many more!

Share on FacebookTweet about this on TwitterShare on Google+Pin on PinterestShare on RedditShare on TumblrShare on LinkedInShare on StumbleUponEmail this to someone
1 7 8 9 10