If you are an engineer or developer tasked with building embedded systems (or software, devices, networks, etc.), one of your highest priorities is—or should be—identifying and minimizing potential data security vulnerabilities. To effectively meet this goal, you need to understand how systems get hacked, and ultimately understand how to “think like a hacker.”
Hacking is all about exploiting vulnerabilities. These could be design flaws, weak access controls, misconfigurations, or many other issues. This article peeks into the mind of a hacker. As you’ll see, their process and mindset in finding and exploiting vulnerabilities are much different from how engineers approach system development.
What goes on inside a hacker’s mind? It’s an entertaining, chaotic, and extremely volatile place, so bring coffee (lots of it) and let's dive in.
The most striking difference between hackers and engineers is in how they address a challenge. Engineers (and scientists, for that matter) are systematic. Problems are first defined and analyzed, a plan (or hypothesis) is formulated, and the hypothesis is tested. Results are then analyzed, as to successes and failures, and conclusions are drawn.
This is the scientific method. It has served humanity well for hundreds of years. Hacking subverts this process. First, there is no plan, but rather a mission. Plans for a hacker are loose and flexible. Remember, a hacker is not building something that must stand the test of time. Rather, they are breaking in. They do not need to satisfy a manager or CEO; they only need to complete a mission.
Where engineers are systematic, hackers are pragmatic and “chain reaction” driven in their methodology. There are similarities, but the core difference is that hackers will go to almost any length to accomplish their mission. Moreover, they can discard results that do not help them, rather than having to explain it to others.
This is sometimes described as list vs path thinking:
In brief, engineers aim to be thorough; hackers aim to be effective. These may seem like minor nuances, but when put into action those nuances have significant implications.
When a hacker is breaking into an environment or system, they typically follow a common pattern, called a kill chain. As the hacker progresses through systems and networks, they will seek out higher degrees of access and authority within the environment (Figure 1). Eventually, when they have sufficient access, they can steal the data they want and/or plant malicious code.
Figure 1: If you can catch hackers early in the kill chain, you can prevent a hack from happening.
Hackers often dwell inside an environment for a long time: 100–140 days on average. The hack experienced by retail chain Target in 2013, for example, took more than 100 days for the hackers to fully execute the hack. If you can catch hackers early in the kill chain, you can prevent a hack from happening.
It is important to note that most hacking is automated using bots. While we may describe these steps in the context of an actual person performing them, bots are what truly do all the real work.
Hackers look at things differently. In particular, they:
It is easy to miss a glaring weakness when you are deep in development. Step back from the development to ask yourself some basic questions about your work. Use the “Five Whys Deep” assessment:
The point of this exercise is to identify obvious weaknesses. A hacker will notice them, much faster than you think.
What is the worst possible scenario? How likely is it to happen? Hackers do not have a moral compass. They will not feel compassion for you when your network or applications are struggling to recover from a disaster. As such, you need to make plans to handle those worse case scenarios.
However, be careful not to get entangled in so-called “zombie scenarios”—that is, disasters that arise due to a ludicrous sequence of events with no response. Most zombie movies are based on this premise.
You must know every possible way anybody or anything can access your system. A hacker will try all of them, many times. You might think your Bluetooth interface is super secure, but there are dozens of ways to specifically exploit Bluetooth that can render them completely insecure. Make sure you aggressively test every interface, regardless of how obscure you made it.
Hackers love data and some types more than others. Data storage is also one of the ways hackers gain persistence in an environment. You must analyze your system’s data:
Hackers understand that humans are the weak link in data security. Not only are we inconsistent and unreliable, but we are extremely susceptible to manipulation. If your system involves humans in any capacity (which it does), then it has weaknesses.
All information security problems generally boil down to human weaknesses. Whether we misconfigure or poorly code applications, humans produce the weakest link. Assume the users will make mistakes, and a lot of them, so give human touchpoints extra attention.
Hackers love obscure technical information and will dig up a random document you put in Pastebin years ago to use that document’s data against your system. This is part of the fun of hacking new systems.
Be cautious about what types of technical data you release into the public. Assume the hackers will get it and analyze it. If you have a product that is being developed in an open environment, then be extra diligent in designing components and features in a secure manner.
Many hackers got their first taste of hacking from the movie Wargames in the 1980s. There is a great scene midway through the movie where a computer scientist rebukes his nerdy colleague for thinking of backdoors to computer systems as secrets: “Mr. Potatohead! Back doors are not secrets!”
His words are just as true today as they were then. Backdoors into applications or devices are common, and hackers will look for them. It is one of the oldest and most reliable techniques to hacking into a system. It worked in Wargames, and it still works today.
While you might deeply care about the security of your system, do your suppliers or partners have the same level of concern? Hackers routinely target third-party components because they can attack a broad set of targets with a single technique. Heartbleed was a perfect example of the danger of insecure third-party components. Heartbleed was a flaw in the OpenSSL implementation. OpenSSL is inside millions of products. That means one vulnerability left millions (probably billions) of devices vulnerable to attack.
If you integrate a third-party component into your system, you inherit all the weaknesses of that component. While the product may belong to somebody else, you will be responsible for its security.
Legitimate user accounts are ultimately what hackers want. Once they have credentials, hackers can escalate their privileges and then move through your system. Moreover, use of legitimate credentials does not usually raise alarms.
While you may not be able to protect user credentials all the time (as they are in the hands of humans), you can still prevent those credentials from being used maliciously. This begins with implementing least privilege rights—that is, users must never have any more access than they need. Furthermore, you should aggressively test systems against privilege escalation attacks.
Is your system part of a larger whole? Could blinding one part of the system leave other parts open for attack? What about feeding your system false data? This was how the Stuxnet malware worked. It fed false information to industrial control systems and then overloaded them. If a hacker wants to steal data from you, or disrupt operations, it may be as easy as overloading your system with too much network traffic.
Denial of service attacks are difficult to stop. When designing your system, you must consider how it could potentially be overloaded and build in mechanisms to either stop or ignore overwhelming amounts of information. Moreover, it is important to always validate that data sent to your system is coming from a trusted source.
As a design engineer, identifying and minimizing potential data security vulnerabilities are primary goals. Hackers approach their work much differently than engineers do; rather than taking a systematic approach, they prefer a kill chain approach where they incrementally and persistently look for vulnerabilities to exploit.
“Thinking like a hacker” requires you to look at the systems you design differently. Part of this means understanding the technical aspects of vulnerabilities and solutions; however, a larger part requires observing the obvious, understanding human errors and indifference, and understanding what hackers seek and the clues they use.
Mouser is committed to helping engineers develop secure systems. Check out the Think Like a Hacker webinar—developed in partnership with Anitian—as well as our Data Security eZine. Also, stay tuned for part 2 of this blog, which examines techniques for building a secure system.
Check out Part 2 now!
In part 1, we explored the mind of a hacker, the kill chain approach he takes, and the many clues and vulnerabilities he uses to exploit systems. In part 2, we’ll look at tangible steps you can take to improve your development processes while minimizing risk in the systems you design. By the end of this article, you will be challenged to:
A comprehensive risk assessment of your entire environment, including development practices, is the first step. The NIST 800-53 documents outline a risk assessment approach that you can use. If NIST is too esoteric, you may try any number of industry approaches. At Anitian, we use our RiskNow® approach, which fuses interviews with technical assessments.
In general, use a risk assessment to guide your security efforts. The intent is to focus on the areas of your system(s) that have the most threats or highest risks.
You cannot wait to secure a system once it is designed or built. Instead, security must be integrated into every dimension of the development life cycle. To accomplish this, you should:
One of the more important items to integrate into your development is security testing. Test at every phase:
You will never build a wall high enough to stop all hackers, so focus on making your system(s) agile rather than tough. If your system underwent attack:
To turn potential weaknesses into strengths, take the following steps:
There is a reason that 97 percent of companies have some or all their infrastructure in the cloud. The cloud allows for agility, flexibility, and greater security. Use the cloud to gather logs, push updates, or publish APIs.
However, the greatest benefit of the cloud is automation. You can build entire environments as code, and destroy and re-create them at a whim. This allows for disposable infrastructure—that is, systems that can be destroyed and re-created from known good images. Automating this destruction and re-creation has huge security benefits. It is impossible for a hacker to establish persistence in an environment if the environment disappears every week. Disposable infrastructure is an ideal end state for any complex system.
Thinking like a hacker requires you to look at the systems you design differently, including observing the obvious, understanding human error and indifference, and understanding what a hacker seeks and the clues he uses (as discussed in part 1). Design engineers can and should take steps to improve development processes and minimize risk in systems design. Performing risk assessments, integrating security into the development process, testing, developing automated disposable infrastructure, and using the cloud are key steps that will improve your development processes and minimize risk in the systems you design.
Mouser is committed to helping engineers develop secure systems. Check out the Think Like a Hacker webinar (developed in partnership with Anitian) as well as our Data Security eZine.
Summer has been in full swing for some time now and this means sunshine, outdoor play, and no homework have filled kids’ days for the last couple of months! But just because the kids haven’t had to go to school for a few months doesn’t mean that learning can’t jumpstart before the school year begins again. In fact, this just might be the perfect season for mixing the outdoors with STEAM (short for Science, Technology, Engineering, Art, and Mathematics) education and do-it-yourself (DIY) maker projects. STEAM learning combined with DIY maker projects is a great way to do some hands-on, project-based learning that will be a great mental warmup for your kids’ just before heading back to school in the fall.
This STEAM-inspired three-article series will explore the available resources to assist you and your kids on a maker’s adventure and walk you through an embedded electronics project. We will cover the design, build, and code for the project as well as discuss how the data from the project can be useful to develop analytical and critical thinking skills. In this first segment, we will direct you to the resources that are available to get you started.
Someone once said “hardware is hard.” However, the reality is that hardware has never been more accessible, regardless of your technical background. Most major manufacturers of microcontrollers offer some sort of development board. These boards allow engineers to prototype concepts rapidly and test a hardware interface with a specific embedded platform. For the purpose of this series, development boards will serve as a shortcut. Instead of worrying about breadboarding a system from scratch (which is admittedly fun and should be tried at least once in your electronics education), starting with a development board ensures that we spend more time on the science involved in developing the bigger picture and less time troubleshooting the power or timing circuitry.
Perhaps the most popular maker-oriented microcontroller platform is Arduino. It is (of course) not the only platform that is available. In fact, if you or your kid already has some experience with Arduino boards, it might be worth using this time to expand your horizons and try a different platform. Check out Mouser’s Open Source Hardware site (Figure 1) for a list of great options, including product lines such as the STMicroelectronics Nucleo, TI LaunchPad, and BeagleBoard.
Figure 1: Mouser’s Open Source Hardware site lists great hardware for summer and year-round electronics projects. (Source: Mouser.com)
I recommend using a development board where the general-purpose input/output (GPIO) pins are at least 5V tolerant. While 3.3V are becoming increasingly popular (though even lower voltages for special applications with a significant need for energy efficiency are now required) for microcontroller platforms, many older, less expensive sensors and actuators popular among makers require 5V.
Speaking of sensors, for prototyping it is good to see if a desired sensor is offered as a so-called “breakout board” (BOB). Just like development boards give you functionality out of the box, a BOB lets you spend more time tinkering at the project level and less time troubleshooting to enable the sensor to work. Though you will pay a little extra money, you will ultimately save on time. Just be sure the microcontroller input/output (I/O) voltage and the BOB I/O voltage are the same; otherwise, an interfacing chip known as a level-shifter will be necessary.
The embedded platform you choose will dictate which development software and operating system you will need to use. Thankfully, Windows is pretty much the common denominator for most platforms, and chances are your computer is running either Windows 7 or Windows 10. Linux and Mac OS support is more abundant than a decade ago, but be aware that these two operating systems do not support all embedded platform development tools.
Here are two helpful hints to try if you plug a development board into your computer and nothing seems to happen: First, Windows machines, especially Windows 8 and prior versions of the operating system, will require Universal Serial Bus (USB) drivers. Check the documentation that comes with your board to get the link to download any necessary software. Second, not all USB cables are the same. Be sure to verify the mini-USB versus micro-USB connectors. Also, some USB cables are for charging only with no data transmission. If in doubt, swap the cable out for a different one to ensure you are using one that has data wires.
Crack open a notebook or fire up your favorite note-taking app, and start by sketching out the idea for your project and taking notes on potential parts. Personally, I like to download the datasheets into my note-taking app as well. One drawback to be aware of when using development and breakout boards is that sometimes they are hardwired in ways that make them incompatible with a specific type of integration. For example, once I was working on a project that involved two sensors that shared the same GPIO pins. It required me to cut the trace on one of the BOBs and solder a wire to a different pin. Checking out datasheets before buying any parts can help you detect these kinds of concerns.
KiCAD and EagleCAD are probably the two most popular platforms for circuit captures and printed circuit board (PCB) layouts. KiCAD is open source while EagleCAD, now a product of Autodesk, interfaces with tools like Fusion 360 for creating 3D-printable enclosures and mechanical components for your project. We will discuss this topic more in part 2 of this series.
I like to use Mouser's Saved Projects feature on their website to build my bill of materials (BOM). Not only does it help me check on parts availability and costs, but I can also easily share a prebuilt shopping cart with fellow engineers and makers who might have an interest in building a similar project. I also like that I get notifications when a part reaches its end of life (EOL), so I can keep my designs up to date. If you already have your BOM in a spreadsheet, you can also check out Mouser’s BOM import tool, which is another useful suite of tools in Mouser’s mobile website and iOS/Android apps. It is great for doing part research while on the go or if you’re out in the field and need the datasheet for a part that you’re troubleshooting. Check out the following resources for additional help with your parts:
Mouser’s Part Search Add-in feature is already installed in Outlook and Excel, allowing you to launch this feature with a single click and without opening any other program (Figure 2). The add-in feature also gives you the latest information, empowering you to make sound purchasing decisions. Each add-in displays the part number, the manufacturer’s name, the part’s description, and the latest pricing and availability at Mouser.com.
Figure 2: Mouser’s Microsoft Office Part-Search Add-in feature is launchable with a single click and without opening any other program. (Source: Mouser.com)
Look for project ideas throughout the school year and inspiration by browsing projects on Mouser’s Open Source Hardware site or others across the Internet. Many of these sites have projects as well as communities of makers and engineers who share news, reviews, and hardware tutorials.
That’s it for now, but remember to check back for when we jump into a step-by-step look at mixing together end of summer fun with hands-on making and STEAM learning in part 2 and part 3. Do you have comments or questions? If so, please be sure to let us know down below!
I was lucky enough, to attend the IoT and Connected Hardware Showcase in London at the end of last year. This was just one of a series of intense, highly rewarding and increasingly popular assemblies that have been organised by Hardware Pioneers, and which Mouser has given its support to. With over 700 people registering for it, and a busy, highly positive atmosphere evident throughout the evening, there seems little doubt that the industry needs more of this sort of activity.
It was great to see companies of all scales participating. Along with Mouser, other established international brands included Texas Instruments, Würth and IDT. These were side-by-side with numerous aspiring start-up ventures, which covered a diverse range of IoT-related application areas—wearable technology, smart agriculture, and advanced audio devices.
“Blaze” was one of the fledgling firms to be exhibiting its technology. It has developed laser-based lighting products for bikes to deliver maximum visibility and ensure rider safety. These lights have already been fitted to all of the 11,500 Santander-sponsored rental bikes that are dispersed around London. It is the IoT aspect that is being brought into the next generation products that is particularly interesting though. Through use of accelerometers, GPS tracking and a whole host of other sensing and connectivity functionality, bike rental operators will be given the diagnostic/logistical information they need to work out where they should place more capacity and make improvements to operational efficiency levels.
Nearby was “Beeline”, which has developed a smart compass for cyclists. Thanks to its intuitive HMI on this handlebar-mounted device, it minimises distractions and avoids the need for a smartphone or GPS unit to be consulted. The HMI displays a simple arrow for the rider to keep following and a distance to the next waypoint.
“Felcana” enables owners to monitor the condition of their pets (by acquiring data relating to their activity levels, behaviour, etc.). It is able to do this through advanced analytics plus an ecosystem of interconnected smart devices (which are attached to a dog or cat collar, as well as being located in key places around the home). Data is passed back to a smartphone app (which runs on iOS and Android) via Bluetooth 5.0 wireless connectivity.
“Trackner” has taken this idea and scaled it up to larger creatures. Sensors placed in a horse’s girth strap and bib can provide information on its fitness, as well as enabling health problems to be identified and dealt with at an earlier stage.
Continuing the heath/wellbeing theme, “LYS” is a light tracking wearable device which looks to address the rising number of people living in the urban environment who suffer with sleep issues or seasonable affective disorders. Through it, the user is able to make the most of the natural light during the day, while avoiding the impact of harmful blue light at night - thereby allowing healthier sleep/wake cycles to be adopted. The wearable unit (which is up on Kickstarter now) tracks light and its accompanying app supplies feedback on how the user can improve their habits so that their daily light intake is optimised.
“Kokoon” is tackling the problem of sleeplessness from a totally different angle - rather than light, it is using sound. With an engineering/executive team made up of former Cambridge Consultants, Apple, Cisco and Fitbit employees, the company has developed headphones with active noise cancellation technology, plus built-in EEG sensors. Via these sensors the wearer’s brain activity can be monitored in order to gain a better understanding of how they respond to audio and then automatically adjust the output in real-time to get the best results.
Other highlights included the “Micro Drone 2.0+” . This is the world’s smallest drone capable of carrying a HD camera. It maintains stability thanks to a 6-axis gyroscope and can quickly switch between normal flight mode and stunt mode. A pre-programmed algorithm allows it to carry out 360-degree mid-air flips, while attaching inverted blades means that it can fly upside down.
Helping makers to experiment with different connectivity options for their prototypes, so that they can maximise the effectiveness of their system layout, Harwin’s Spring Contact Development Kit comprises 16 different contact types. This gives instant access to a broad variety of contacts, rather than having to wait for different samples to arrive. These contacts can be replenished for free as required.
Using “Zio Health’s” MilkSafe device, mothers can analyse the molecular content of breast-milk so that the levels of Vitamin D, Vitamin B12, DHA and IgA are all accurately determined. “Bar Conductive’s” Electric Paint Lamp Kit gives artistically creative types the key elements they need to make imaginative paper lamp designs with customised touch sensitive buttons.
As co-founder of Hardware Pioneers, Fabiano Bellisario explains, “From the feedback we have had tonight it is clear that the Hardware Pioneers concept is continuing to gain ever greater momentum. There is a thriving, vibrant electronic engineering community out there and organising these events gives everyone a unique opportunity to learn about what other people are doing, discuss their own ideas and hopefully find new inspiration. The next stage for us,” he continues, “is to encourage more of the larger semiconductor companies to get involved and engage with the various starts-ups we are showcasing at these gatherings.”
Each year, the NXP Cup gives students a quick start in hardware and software development for autonomous model cars. Participants converge from various backgrounds across Europe, the Middle East, and Africa (EMEA) to build, program, and race their model cars against other teams, aiming for the fastest times and precise maneuvering. For partners, such as Mouser Electronics, the competition is an opportunity to make lasting impacts and foster lasting relationships with students. Rafik Mitry, Technical Marketing Engineer at Mouser Electronics EMEA, discusses the company’s involvement in the NXP Cup and how students can benefit from the competition.
NXP: What should students who are considering participating in the NXP Cup know about the competition?
Rafik Mitry: The NXP Cup has great learning opportunities and offers valuable insights into the “complex” engineering world. It’s an exceptional platform and starting point for students to embark on their engineering journey. Additionally, exercising teamwork throughout the event will strengthen participants’ soft skills. Furthermore, participants will receive credits for their course attendance, enhancing their overall educational experience. NXP Cup 2024 season starts in October this year. Interested students can register on the NXP Cup page.
NXP: Which skills do you think students need for a chance at succeeding in the NXP Cup?
RM: I’d say proficiency in the robot operating system (ROS) and machine vision programming are crucial requirements for successful participation. Practical skills in these areas are needed and the students must be willing to engage in hands-on work (Figure 1). They also need a good level of dedication throughout the competition. Regardless of the outcome, participating in the NXP Cup will enrich students in key ways.
Figure 1: Students competing at the NXP Cup (Source: NXP)
NXP: How long has Mouser Electronics been a sponsor of the competition and why is the partnership significant?
RM: We’ve been a sponsor of the NXP Cup since 2016. We recognized this as a significant opportunity to actively interact with students and to foster a lasting association with the Mouser brand throughout their academic journey. Moreover, this partnership is a testament to Mouser's commitment to supporting the next generation of engineers (Figure 2). Additionally, it offers a platform for productive collaboration with NXP as a valued partner. It allows us to make lasting impact.
Figure 2: Rafik Mitry (in the middle) with NXP team members at the NXP Cup (Source: NXP)
NXP: Can you describe Mouser’s involvement in the 2023 edition and how it benefited the company?
RM: We were involved in several activities around the 2023 NXP Cup, including social media and content creation. All those activities helped deepen the relationship between NXP and Mouser in EMEA. Also, the prospect of actively engaging with participants during the qualification and final event provided insights into their challenges. This information will inform and shape some of our marketing strategies, allowing us to support them better and meet their needs effectively.
NXP: Mouser and NXP have quite a history of collaboration. What do you like most about collaborating in the competition?
RM: We like NXP’s flexibility and openness to involve Electromaker in the digitization of the event and the generation and sharing of content around it on various channels. We also appreciate NXP’s commitment to excellence through the establishment of an efficient team that organizes student events and ensures a seamless experience for all participants.
The NXP Cup: A Partnership for Lasting Impact blog was first published on www.nxp.com and is republished here with permission.
Monica is currently Global Sales Communications Manager at NXP. Her role focuses on keeping the NXP Global Sales organization informed with compelling communications and co-leading the NXP Cup program.
Garance is Project Manager Experience at NXP and holds a Master's degree in Marketing and Innovation. She works in NXP's Experience team and co-leads the NXP Cup challenge. Her role is to bring new ideas and innovations that can enhance and improve the physical and digital experience.
USB4® has only been on the scene for the past few years, but in a short time, its introduction made an impact. The fifth modification of the Universal Serial Bus (USB) criteria meant increased bandwidth, opening possibilities for design engineers and everyday users.
The highlight of the USB4 standard has been its dual-lane 40Gbps speed. It's like a second fast lane has opened up on a freeway—and we all longed for that, didn't we?
USB4 doubled the speed of the USB 3.2 Gen 2x2, which is a data transfer level previously only available to those using Thunderbolt™ 3 technology. Data is transmitted in two sets of four bidirectional lanes. In contrast to USB 3.2, the new standard allows tunneling of DisplayPort 2.0™ (which supports 8K resolution at 60Hz) and PCI Express®. USB4 also uses the same USB Type-C® form factor connector and is backward compatible with USB 3.2, USB 2.0, and Thunderbolt 3.
Thunderbolt 3's 40Gbps transfer rate has been a boon for creative professionals and power users, allowing for streamlined video editing, animation, and modeling workflows. It also enabled the introduction of product categories such as external graphic processing units (GPUs).
Having Thunderbolt 3 as a universal connection brought these capabilities to consumers, making data backups and transfers a faster and easier experience. Suppose a video needs only 20 percent of the bandwidth to drive a 1080p monitor that's also a hub. In that case, the other 80 percent will be free for transferring files to an external SSD, which can operate over either USB protocol or PCIe.
In this week's New Tech Tuesdays, we'll look at USB4 products from JAE Electronics, NXP Semiconductors, TE Connectivity, and Amphenol Commercial.
TE Connectivity's (TE) USB 4.0 Gen 3 Receptacle Connectors are backward-compatible with Thunderbolt 3, USB 3.x, and USB 2.0 connectors. USB 4.0 receptacle connectors transfer data up to 40Gbps and are designed with an advanced insert molding process that helps avoid pin-warping. These durable connectors feature a liquid crystal polymer housing, stainless steel shell, and copper alloy contacts that allow strong signal integrity in harsh environments. They're built for optimal performance for next-generation applications that leverage artificial intelligence and Internet of Things (IoT) devices that require high data speeds. Designers will find the connectors customizable with specialized soldering pin lengths, shell leg lengths, and available plating materials.
JAE Electronics USB4 40Gbps DX07 Right Angle Connectors are USB Type-C compatible and can be used in various consumer and industrial devices that require power and serial data interface. Designers will find the connectors ideal for personal computers, tablets, augmented and virtual reality headsets, gaming consoles, docking stations, and solid-state drives. The connectors are compatible with the USB4 specification and a two-row surface-mount type receptacle connector that can support data rates of up to 40Gps.
NXP Semiconductors PTN38007 Multi-protocol USB4 20Gbps Linear Redriver is optimized for USB3.2, DisplayPort, and Thunderbolt3/USB4 applications on either the downstream facing port (DFP) or upstream facing port (UFP) application. The PTN38007 addresses high-speed signal quality enhancement requirements for USB Type-C interface implementation in platforms that support USB Type-C, VESA DisplayPort, and Thunderbolt Alternate Modes. In addition, this device snoops the sideband signals from DP mode (AUX) and Thunderbolt 3/USB4 mode (SBTX/RX) to optimize the configuration, power-saving mode, and performance.
Amphenol Commercial USB 4 Gen 3 Type C Connectors combine power charging, tunneling USB, PCIe® data transfer, DisplayPort video, and audio capability in a single Type C connector. The copper-alloy connectors, which have a power delivery of up to 100W, are also compatible with the Thunderbolt™ 4 interface and have data-transmission rates of up to 40Gbps. They're capable of driving multiple 4K ultra-high-definition 60Hz displays. A reversible plug and cable orientation allow for better product design.
USB4 doubles the speed of USB 3.2 Gen 2x2, which was previously only available to users of Thunderbolt 3 technology. USB4 enables faster speeds and better video bandwidth management, as well as Thunderbolt 3 compatibility. It's like getting on a freeway and discovering new fast lanes.
When I started this project, I understood FPGAs benefits enabled developers to integrate a wide variety of functions into a single circuit then modify these functions down the line—making them reconfigurable and future-proof. But this flexibility led me to wonder: How should I handle interfaces with external components, wiring to interfaces, and the like? With the average design cycle for FPGA being two to three years, and considering the life span of current communications technologies like USB 3.0 to USB Type-C, I was boggled at how an FPGA could really be a benefit.
As I do with most MCU projects, I planned to start with example code and then build my own project out from a variety of examples. But with each example, I found I was less and less familiar and ended up more and more confused. The code was organized into object definitions and function calls, which were recognizable to this MCU guy, but some definitions went into timed higher-order functions and others were just there. The functions, as always, handled performing a task; however, some functions were dependent on others and some were not. The ones that were not called directly were still pivotal to code functionality, as I discovered by attempting to comment them out.
I was befuddled.
By doing “Intel FPGA Setup Cyclone V” searches, I decided to look at examples and “Setup & Go” trainings available on YouTube. As I looked through these trainings, I began to see a common theme (see Figure 1):
With these observations, I went back to reviewing more sample designs and code, and I began to see where the Intel Cyclone V and the HPS FPGA architecture really came to prominence. Figure 1 shows the HDMI command set, which includes a bunch of uncalled portions of code. The code’s uncalled portions do not run in sequence but, rather, in parallel. They function much like callbacks activated by data from a higher-level controller in the HPS calling them. The compiler then adds the capability of passing information over to the MCU, and vice versa. All that’s needed to go between the controller and the MCU is coordinating definitions and a timing schedule.
Figure 1: The HDMI command set, which includes a bunch of uncalled portions of code.
I began to see the program flow was this:
This was a perfect example of using the strengths of both the HPS and the FPGA. The FPGA handled a lot of repetitive math and protocols, while the Linux and MCU portion handled the dynamic elements of the program. This really began to open my eyes to where an FPGA excels.
As I dug into similar MCU-only designs, I discovered the other advantages of an FPGA: It requires far fewer components, and it allows for a much less expensive and capable MCU to achieve very impressive results. For example, an MCU-only design would need a higher A52, or the like, to begin tackling image processing. A GPU would also be necessary to tackle graphics acceleration during processing and more RAM to achieve the entire design. Still, the end-result is a locked, limited upgradable module after the design is complete. With FPGA, the components reside in the same chip, so the production-level PCB design is simpler because it requires fewer component-to-component interfaces. The resulting module is still upgrade and flash capable.
The lightbulb going on over my head could probably be seen for miles around.
The benefits to using FPGA are more than just the ability to integrate a wide variety of functions into a single circuit, minimize interfaces, and modify functions down the line. The FPGA changed the way I think about adding external components to do a task to one that’s more efficient. Rather than thinking, “Perform step one, then two, then three,” I now think in terms of tasks: “Do A, B, C, and when B is done, do D.” Ahhh! The reasons for taking the time to go from MCU to FPGA development are now becoming more and more clear.
Stay tuned for Part 4 in this four-part series!
Privacy Centre |
Terms and Conditions
Copyright ©2024 Mouser Electronics, Inc.
Mouser® and Mouser Electronics® are trademarks of Mouser Electronics, Inc. in the U.S. and/or other countries.
All other trademarks are the property of their respective owners.
Corporate headquarters and logistics centre in Mansfield, Texas USA.