= Gateworks FCC/CE Certification = [[PageOutline]] FCC & CE testing must be done on the '''complete system''' which includes enclosure, cables, radios, antenna, power supply, etc. Because of this, we do not provide FCC/CE certifications on individual boards. Gateworks can however work with your certification house on getting your complete system through certification. All of our products have been designed to reduce both conducted and radiated emissions and most customers make it through the approval process with minimal effort, assuming they have an adequate enclosure solution. We can also work directly with your certification house to provide the necessary documents for the certification process. Below are some baseline scans for the standard Ventana SBC models in our metal indoor enclosures with a PoE powersupply. Note these are baseline scans and FCC certification must be performed on your specific system which includes any peripheral cards, cables, antenna, power supplies, etc so results will vary depending on your configuration. = FCC Testing Categories = Unintentional Radiators - Devices which don't transmit RF. As an example, a Gateworks SBC without Radio. Certification cost is considerably less than a system with an intentional radiator. Intentional Radiators - Devices which transmit RF as part of their standard operation. As an example, a Gateworks SBC with Radio installed in one of the Mini-PCIe sites (Wifi, Cellular, Bluetooth, etc.). Certification is more extensive and costly to make sure the transmitted RF is within allotted specifications. If a pre-certified radios is used (in same manner/setup as manufacturers certification) transmitter testing can sometimes be eliminated allowing testing as an unintentional radiator at reduced cost. Check with your certification house for details and requirements. = FCC Tips = Tips for passing emissions include, but not limited to: 1. Use a metal enclosure with minimal openings. Make sure if the enclosure is painted that the paint is removed/masked in areas that come in direct contact with the connector shields. For example, the Ethernet RJ45 shields should make direct contact with the enclosure metal. Any paint in the cutout hole should be removed/masked. 2. Use shielded cables for power, Ethernet, USB, etc. Make sure the shields are terminated at both ends during testing. 3. Proper grounding of the board, enclosure, cables and power supply. Gateworks boards typically have several mounting holes with options to tie these mounting holes to either digital or chassis ground. There are also options for tying chassis and digital ground together. Contact support for the various options for each board. 4. Use pre-certified wifi radios. By using a pre-certified radio you can avoid having to re-certify the radio which can be more expensive since it is classified as a transmitting device. Note you must use the radio in the same configuration and with same antenna (gain) as it was certified. Check with your certification house for exact rules and regulations. 5. A handy method to view the emitting clocks on a Ventana board is to use the command: {{{ cat /sys/kernel/debug/clk/clk_summary }}} {{{ root@OpenWrt:/# cat /sys/kernel/debug/clk/clk_summary clock enable_cnt prepare_cnt rate accuracy phase ---------------------------------------------------------------------------------------- anaclk2 0 0 0 0 0 lvds2_in 0 0 0 0 0 anaclk1 0 0 0 0 0 lvds1_in 0 0 0 0 0 dummy 3 3 0 0 0 lvds2_sel 0 0 0 0 0 lvds2_gate 0 0 0 0 0 usbphy2_gate 1 1 0 0 0 usbphy1_gate 1 1 0 0 0 osc 7 7 24000000 0 0 cko2_sel 1 1 24000000 0 0 cko2_podf 1 1 24000000 0 0 cko2 1 1 24000000 0 0 cko 1 1 24000000 0 0 periph_clk2_sel 0 0 24000000 0 0 periph_clk2 0 0 24000000 0 0 gpt_3m 1 1 3000000 0 0 pll7_bypass_src 1 1 24000000 0 0 pll7 1 1 480000000 0 0 pll7_bypass 1 1 480000000 0 0 pll7_usb_host 1 1 480000000 0 0 usbphy2 1 1 480000000 0 0 pll6_bypass_src 1 1 24000000 0 0 pll6 1 1 500000000 0 0 pll6_bypass 1 1 500000000 0 0 pll6_enet 3 3 500000000 0 0 enet_ref 1 1 50000000 0 0 pcie_ref 1 1 125000000 0 0 pcie_ref_125m 1 1 125000000 0 0 sata_ref 1 1 100000000 0 0 sata_ref_100m 1 1 100000000 0 0 lvds1_sel 1 1 100000000 0 0 lvds1_gate 1 1 100000000 0 0 pll5_bypass_src 0 0 24000000 0 0 pll5 0 0 288000000 0 0 pll5_bypass 0 0 288000000 0 0 pll5_video 0 0 288000000 0 0 pll5_post_div 0 0 72000000 0 0 pll5_video_div 0 0 72000000 0 0 ipu2_di1_pre_sel 0 0 72000000 0 0 ipu2_di1_pre 0 0 24000000 0 0 ipu2_di1_sel 0 0 24000000 0 0 ipu2_di1 0 0 24000000 0 0 ipu2_di0_pre_sel 0 0 72000000 0 0 ipu2_di0_pre 0 0 24000000 0 0 ipu2_di0_sel 0 0 24000000 0 0 ipu2_di0 0 0 24000000 0 0 ipu1_di1_pre_sel 0 0 72000000 0 0 ipu1_di1_pre 0 0 24000000 0 0 ipu1_di1_sel 0 0 24000000 0 0 ipu1_di1 0 0 24000000 0 0 ipu1_di0_pre_sel 0 0 72000000 0 0 ipu1_di0_pre 0 0 24000000 0 0 pll4_bypass_src 0 0 24000000 0 0 pll4 0 0 144000000 0 0 pll4_bypass 0 0 144000000 0 0 pll4_audio 0 0 144000000 0 0 pll4_post_div 0 0 36000000 0 0 pll4_audio_div 0 0 36000000 0 0 pll3_bypass_src 1 1 24000000 0 0 pll3 1 1 480000000 0 0 pll3_bypass 1 1 480000000 0 0 pll3_usb_otg 4 5 480000000 0 0 ldb_di1_sel 0 0 480000000 0 0 ldb_di1_div_3_5 0 0 137142857 0 0 ldb_di1_podf 0 0 68571429 0 0 ldb_di1 0 0 68571429 0 0 ldb_di0_sel 0 0 480000000 0 0 ldb_di0_div_3_5 0 0 137142857 0 0 ldb_di0_podf 0 0 68571429 0 0 ldb_di0 0 0 68571429 0 0 ipu1_di0_sel 0 0 68571429 0 0 ipu1_di0 0 0 68571429 0 0 asrc_sel 0 0 480000000 0 0 asrc_pred 0 0 240000000 0 0 asrc_podf 0 0 30000000 0 0 asrc 0 0 30000000 0 0 esai_sel 0 0 480000000 0 0 esai_pred 0 0 240000000 0 0 esai_podf 0 0 30000000 0 0 esai_extal 0 0 30000000 0 0 periph2_clk2_sel 0 0 480000000 0 0 periph2_clk2 0 0 480000000 0 0 pll3_60m 0 1 60000000 0 0 ecspi_root 0 1 60000000 0 0 ecspi5 0 0 60000000 0 0 ecspi4 0 0 60000000 0 0 ecspi3 0 0 60000000 0 0 ecspi2 0 2 60000000 0 0 ecspi1 0 0 60000000 0 0 can_root 0 0 30000000 0 0 can2_serial 0 0 30000000 0 0 can1_serial 0 0 30000000 0 0 pll3_80m 1 1 80000000 0 0 uart_serial_podf 1 1 80000000 0 0 uart_serial 1 2 80000000 0 0 pll3_120m 0 0 120000000 0 0 pll3_pfd3_454m 0 0 454736842 0 0 spdif_sel 0 0 454736842 0 0 spdif_pred 0 0 227368421 0 0 spdif_podf 0 0 28421053 0 0 spdif 0 0 28421053 0 0 pll3_pfd2_508m 0 0 508235294 0 0 ssi3_sel 0 0 508235294 0 0 ssi3_pred 0 0 127058824 0 0 ssi3_podf 0 0 63529412 0 0 ssi3 0 0 63529412 0 0 ssi2_sel 0 0 508235294 0 0 ssi2_pred 0 0 127058824 0 0 ssi2_podf 0 0 63529412 0 0 ssi2 0 0 63529412 0 0 ssi1_sel 0 0 508235294 0 0 ssi1_pred 0 0 127058824 0 0 ssi1_podf 0 0 63529412 0 0 ssi1 0 0 63529412 0 0 pll3_pfd1_540m 1 1 540000000 0 0 video_27m 1 1 27000000 0 0 mipi_core_cfg 0 0 27000000 0 0 hdmi_isfr 1 1 27000000 0 0 pll3_pfd0_720m 0 0 720000000 0 0 gpu3d_shader_sel 0 0 720000000 0 0 gpu3d_shader 0 0 720000000 0 0 usbphy1 1 1 480000000 0 0 pll2_bypass_src 1 1 24000000 0 0 pll2 1 1 528000000 0 0 pll2_bypass 1 1 528000000 0 0 pll2_bus 2 2 528000000 0 0 cko1_sel 0 0 528000000 0 0 cko1_podf 0 0 528000000 0 0 cko1 0 0 528000000 0 0 periph2_pre 0 0 528000000 0 0 periph2 0 0 528000000 0 0 mmdc_ch1_axi_podf 0 0 528000000 0 0 mmdc_ch1_axi 0 0 528000000 0 0 periph_pre 1 1 528000000 0 0 periph 3 3 528000000 0 0 ahb 8 8 132000000 0 0 sdma 12 2 132000000 0 0 sata 1 1 132000000 0 0 rom 1 1 132000000 0 0 ocram 1 1 132000000 0 0 hdmi_iahb 1 1 132000000 0 0 esai_mem 0 0 132000000 0 0 esai_ipg 0 0 132000000 0 0 caam_aclk 1 1 132000000 0 0 caam_mem 1 1 132000000 0 0 asrc_mem 0 0 132000000 0 0 asrc_ipg 0 0 132000000 0 0 ipg 6 8 66000000 0 0 usboh3 2 2 66000000 0 0 uart_ipg 1 2 66000000 0 0 ssi3_ipg 0 0 66000000 0 0 ssi2_ipg 0 1 66000000 0 0 ssi1_ipg 0 1 66000000 0 0 spdif_gclk 0 0 66000000 0 0 spba 0 0 66000000 0 0 mipi_ipg 0 0 66000000 0 0 iim 0 0 66000000 0 0 gpt_ipg 1 1 66000000 0 0 enet 2 2 66000000 0 0 can2_ipg 0 0 66000000 0 0 can1_ipg 0 0 66000000 0 0 caam_ipg 1 1 66000000 0 0 ipg_per 1 1 66000000 0 0 pwm4 1 1 66000000 0 0 pwm3 0 0 66000000 0 0 pwm2 0 0 66000000 0 0 pwm1 0 0 66000000 0 0 i2c3 0 0 66000000 0 0 i2c2 0 0 66000000 0 0 i2c1 0 0 66000000 0 0 gpt_ipg_per 0 0 66000000 0 0 mmdc_ch0_axi_podf 1 1 528000000 0 0 mmdc_ch0_axi 3 3 528000000 0 0 ipu1_sel 1 1 528000000 0 0 ipu1_podf 1 1 264000000 0 0 ipu1 1 1 264000000 0 0 ipu2_sel 1 1 528000000 0 0 ipu2_podf 1 1 264000000 0 0 ipu2 1 1 264000000 0 0 axi_sel 1 1 528000000 0 0 axi 2 2 264000000 0 0 openvg_axi 0 0 264000000 0 0 mlb 0 0 264000000 0 0 gpu2d_axi 0 0 264000000 0 0 gpu3d_axi 0 0 264000000 0 0 pcie_axi_sel 1 1 264000000 0 0 pcie_axi 1 1 264000000 0 0 eim_slow_sel 1 1 264000000 0 0 eim_slow_podf 1 1 132000000 0 0 eim_slow 1 1 132000000 0 0 vdo_axi_sel 0 0 264000000 0 0 vdo_axi 0 0 264000000 0 0 vdoa 0 0 264000000 0 0 vpu_axi_sel 0 0 264000000 0 0 vpu_axi_podf 0 0 264000000 0 0 vpu_axi 0 0 264000000 0 0 pll2_pfd2_396m 1 1 396000000 0 0 eim_sel 0 0 396000000 0 0 eim_podf 0 0 198000000 0 0 enfc_sel 0 0 396000000 0 0 enfc_pred 0 0 99000000 0 0 enfc_podf 0 0 99000000 0 0 enfc 0 0 99000000 0 0 gpmi_io 0 0 99000000 0 0 usdhc4_sel 0 0 396000000 0 0 usdhc4_podf 0 0 198000000 0 0 usdhc4 0 0 198000000 0 0 gpmi_bch 0 0 198000000 0 0 usdhc3_sel 1 1 396000000 0 0 usdhc3_podf 1 1 198000000 0 0 usdhc3 4 4 198000000 0 0 apbh_dma 1 1 198000000 0 0 per1_bch 0 0 198000000 0 0 gpmi_bch_apb 0 0 198000000 0 0 gpmi_apb 0 0 198000000 0 0 usdhc2_sel 0 0 396000000 0 0 usdhc2_podf 0 0 198000000 0 0 usdhc2 0 0 198000000 0 0 usdhc1_sel 0 0 396000000 0 0 usdhc1_podf 0 0 198000000 0 0 usdhc1 0 0 198000000 0 0 hsi_tx_sel 0 0 396000000 0 0 hsi_tx_podf 0 0 198000000 0 0 hsi_tx 0 0 198000000 0 0 step 0 0 396000000 0 0 pll2_198m 0 0 198000000 0 0 pll2_pfd1_594m 0 0 594000000 0 0 gpu3d_core_sel 0 0 594000000 0 0 gpu3d_core_podf 0 0 594000000 0 0 gpu3d_core 0 0 594000000 0 0 pll2_pfd0_352m 0 0 352000000 0 0 gpu2d_core_sel 0 0 352000000 0 0 gpu2d_core_podf 0 0 352000000 0 0 gpu2d_core 0 0 352000000 0 0 pll1_bypass_src 1 1 24000000 0 0 pll1 1 1 996000000 0 0 pll1_bypass 1 1 996000000 0 0 pll1_sys 1 1 996000000 0 0 pll1_sw 1 1 996000000 0 0 arm 2 2 996000000 0 0 twd 1 1 498000000 0 0 ckih1 0 0 0 0 0 ckil 0 0 32768 0 0 root@OpenWrt:/# }}} = Ventana SBCs = The Ventana SBCs contain many interfaces and use the following base clocks for these interfaces. Note that depending on the particular Ventana board model, not all of these interfaces may be present or loaded. * i.MX6 CPU * 24MHz Main clock * 32.768KHz RTC clock * Gateworks System Controller (GSC) * 32.768KHz RTC clock * USB Hub * 24.000MHz * Ethernet Phy * 25.000MHz * Analog Video Input * 28.63636MHz * PCIe Clock Generator * 25.000MHz * Gigabit Ethernet Controller * 25.000MHz * HDMI Video Input * 27.000MHz * DC/DC Converter * 280KHz The following preliminary scans are for: FCC EN55022 Class: B [[Image(gw5100emienclosure.png​)]] [[Image(gw5200emibare.png​)]] [[Image(gw5200emienclosure.png​)]] [[Image(gw5300emienclosure.png​)]] [[Image(gw5400emienclosure.png​)]] = Conducted Emissions = Conducted emissions are those that are on a conductor, such as a power or ethernet cable . In the case of using an AC to DC converted connected to a wall, the converter will provide protection. Common solutions include: * Install a ferrite around the power cable * Typically a large in-line inductor (around 22uH on +VCC input) will provide enough filtering. Note that this inductor has to be sized to handle the amount of current the board is drawing under load. Locate it as close as possible to the board. Note that the inductor will slow the rise/fall time of the input voltage so test with a particular configuration to make sure there are no start-up issues. These inductors can be quite large, especially for high current applications. * Here would be a suggested example part: [http://www.digikey.com/product-detail/en/abracon-llc/AIAP-02-180K/AIAP-02-180K-ND/3059868] * Put a Pi filter inline with the power cable, such example is below: * [[Image(pifilter.png)]]