Rabiya hylkuahi
About
-
Posted Answers
Answer
A System-on-Module, or SoM for short, is an electronic circuit that integrates all needed system functions into a single module including a processor, memory, and I/O controllers. However, unlike an SoC which combines many of these functions onto a single chip, an SoM typically only requires a source of power to operate.
SoMs are often built on top of a PCB and can either be enclosed in a metal housing (for EMC compliance), or left exposed with all components showing. Furthermore, SoMs always have a method for connecting to external boards in the form of pins, edge connectors, or solder tabs.
While the Raspberry Pi and Arduino range of boards could be considered SoMs, they fall into different categories. A Raspberry Pi is a single-board computer that has no specific purpose, and the Arduino range of boards are prototyping environments that break out the pins to a microcontroller.
SoMs are not as common as SoCs, but as semiconductors approach their physical limits, the role of SoMs will become increasingly important. SoCs are chips that integrate multiple system components into a single device such as a CPU, GPU, and MMU. However, an SoC still requires external circuitry to enable the device to operate, and this can include memory, I/O controllers, and various other supporting components.
As such, using SoCs in designs can make the design process complex and tedious. A designer needs to fully understand how to properly use an SoC, including each pin's function, thermal properties of the SoC, and pad design. An SoM, however, creates a module that handles these complexities to produce a device that a designer can essentially drop into a circuit.
Like the Arduino, the pins of an SoM can be directly connected to whatever hardware the designer wants to use (assuming they are not drawing too much current or using incompatible voltage levels). However, where an Arduino is a prototyping platform, an SoM can be used in the final product with a high degree of reliability (enough for commercial products).
Another major advantage of using an SoM is interchangeability. Assuming that a manufacturer of an SoM keeps the form factor of the module, improvements in technology can be incorporated into updated SoMs which can easily be interchanged with older units. As such, expensive complex systems (such as data centres and cellular networks) can be upgraded without completely changing the underlying hardware. Furthermore, the older SoMs can be recycled by using them in older designs at a discount price (assuming that the SoM itself is generic enough to allow for use in another application).
If we go with the definition of an SoM as being a device that allows for use in an end-product and combines multiple system functionality into a single PCB, the answer is that System-on-Modules are very common in the industry.
One area of electronics that sees heavy use of SoMs is radio communication, specifically the 2.4GHz band. The ESP32-WROOM-32 is an example of an SoM that integrates a microcontroller, TCP/IP stack, radio circuitry, radio antenna, and memory all onto a single PCB with a metal enclosure. While there are versions of this module attached to a board with pins for prototyping, the module itself is available for purchase and can be soldered directly onto PCBs in a final product to either act as a Wi-Fi adaptor or to operate as the sole controller.
Another example of an SoM is the SAMA5D27 by Microchip. This SoM integrates an Arm Cortext A5 processor with 1Gb DDR2 DRAM, integrates an onboard power management unit, and requires a single 3.3V input. A variation of this SoM is the SAMA5D27 Wireless SOM that integrates Wi-Fi and Bluetooth connectivity while also offering a larger memory size of 2Gb (256MB). These SoMs are designed to provide designers with an entire ARM platform that can be directly added to a final product and removes the need for the designer to search for appropriate components, correctly route PCBs, and debug hardware.
Answer is posted for the following question.
Answer
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
Source: Geeks For Geeks
Answer is posted for the following question.
How to Node.JS gitignore (Javascript Scripting Language)