We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X

Modern home appliances have made once tedious tasks simple to accomplish. What once took hours of exertion can now be accomplished with a few presses of a button. Modern appliances are in large part electronically controlled. Electronic controls enable higher efficiencies, additional functionality and an improved user experience. But what happens if something goes wrong? Safety specifications, such as IEC 60335, are used to ensure manufactures have designed their products to operate safely. IEC 60335 defines safety standards at a system level. IEC 60730, which is referenced by IEC 60335, addresses safety of electronic controls in appliances. Currently IEC 60730 is mandatory for appliances sold in Europe and widespread adoption is likely. IEC 60730 Annex H defines safety requirements for electronic controls and acceptable measures to address faults/errors are defined in Table H.1 (H.11.12.7 in edition 3).

We have developed a library of low-level software routines and hardware peripherals that simplify meeting IEC 60730 requirements for Class B Safety. Each product family (PIC16, PIC18, PIC24, dsPIC® DSC and PIC32) has functions specifically designed to work efficiently with the available resources. Application Note AN1229 describes the Application Programming Interface (API) functions that are available in the Class B Safety Software Library and how to incorporate them in your project.

Our Arm® Cortex® M0+ based devices are supported by the free Hitex Class-B Library. Download is available from the Hitex site at the following link: Microchip Hitex ARM Class-B Library. VDE Certificates are available in the Documentation section below.

There are several advantages to using the Class B Safety Software Library. First, it reduces development time. Each function has been optimized and thoroughly tested based on each architecture and available resources. Second, it reduces the time and cost required to certify the end appliance. By providing a test certificate to the testing agency, the requirements covered by the Class B Safety Software Library do not have to be retested. Finally, our application engineers can provide guidance on how to implement software safety efficiently.

For more information, please email class-b@microchip.com.

Key Features


  • CPU register test
  • Program counter test
  • Variable memory test
  • EEPROM/Flash memory test
  • Clock test

Components Covered by the Class B Safety Software Library

  MCU Circuit Component Fault/Error
1 CPU Registers Stuck
2 Program Counter Stuck
3 Interrupt handling and execution No interrupts or too many interrupts
4 Clock Frequency Clock failure or incorrect frequency
5 Memory testing (Flash/EEPROM) All single bit faults
6 Memory testing (RAM) DC fault

Class B Libraries


Notes

  1. The IEC 60730 Class B library for Microchip’s Arm® Cortex®-M0+-based devices is supported by Hitex, and the library is also available from the Hitex website.

Note

  1. The VDE test report is included in the zip file with the Class B library

Products Supporting Class B


View All Parametrics
Product Status Automotive Recommended Functional Safety Ready 5K Pricing Family CPU Type Max CPU Speed (MHz) CPU Speed (MIPS/DMIPS) Part Family ARM Neon FPU Math Accelerator Operation Voltage Min (V) Operation Voltage Max (V) Temp Range Min Temp Range Max Max I/O Pins Pin count Program Memory Size (KB) Program Memory Size (KWords) Auxiliary Flash (KB) Multiple Flash Panels Error Correction Code Program Flash SRAM (Bytes) L1 Cache Memory (Instructions) (KB) L1 Cache Memory (Data) (KB) Data EEPROM/HEF (Bytes) Emulated EEPROM in Flash Internal DRAM Type Internal DRAM Amount (MB) DRAM Bus Size (Bits) Boot Memory (KB) Direct Memory Access Channels External Memory Bus Interface Number of EBIs NAND Interface ECC Bits on NAND Interface DRAM Interface Low Power QSPI XLP SDIO/SD-CARD/eMMC Vbat/Vddbu battery backup ADC Input Number of ADCs Max ADC Resolution (Bits) Max ADC Sampling Rate (ksps) Max ADC Sample/Hold Diff ADC Inputs ADC with Computation Temp Sensor Resistive Touch Controller DAC Outputs Number of DACs Max DAC Resolution (Bits) Number of Comparators Comparator max speed (ns) Number of Op Amps Programmable Gain Amp CTMU Slope Compensation / Programmable Ramp Generator Zero Cross detect Hardware Touch Peripheral Hardware Direct Touch Channel Buttons Hardware Touch Matrix Nodes Hardware Cap Voltage Divider Touch Library Support UART LIN SENT IrDA ISO 7816 SPI I2C I2S SSC Number of USB Modules USB Interface USB Active Clock Tuning Number of CAN Modules Type of CAN module CAN Transmit Buffers CAN Receive Buffers MediaLB Ethernet Number of Ethernet Ports Max 8-Bit Digital Timers Max 16-Bit Digital Timers Max 32-Bit Digital Timers Hardware RTCC/RTC Watch Dog Timer Angular Timer Max PWM outputs (including complementary) Number of PWM Time Bases PWM Max Resolution (Bits) PWM Resolution (ns) Capture / Compare/PWM (CCP) Enhanced Capture/Compare/PWM (ECCP) Complementary Waveform Generator / Complementary Output Generator Single output CCP (SCCP) Multiple output CCP (MCCP) Motor Control PWM Outputs Quadrature Encoder Interface SMPS PWM Outputs Stand alone PWMs Standalone Output Compare/ Standard PWM Output Compare Channels Input Capture Data Signal Modulator Numerically Controlled Oscillator Signal Measurement Timer Hardware Limit Timer Programmable Switched Mode Controller Class B Support CRC Crypto Engine ARM Trust Zone® Anti-Tamper Pins Segmented LCD Graphics Controller/GPU Video Decoder Camera Interface Audio Fractional PLL Number of PDM Microphone Inputs Class D Amplifier Outputs Configurable Logic Cell (CLC/CCL) Configurable Logic Cell Type Peripheral Trigger Generator Peripheral Pin Select / Pin Muxing Parallel Port Internal Oscillator Internal Osc better than 1% accuracy Brown-Out Reset Low Voltage Detection Power On Reset Internal Voltage Reference (Bandgap) Supported in MPLAB Code Configurator JTAG Debug Interface Number of Cores Secure Boot with Flash OTP Packages
PIC24F16KM102 In Production $1.88 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24F16KM204 No No No 1.8 5.5 -40 125 24 28 16 5 0 False 1024 512 / True True 0 No No No Yes 0 Yes 0 No 19 1 12 200 1 No No No 0 0 0 1 150 0 0 Yes 0 No No 1 Yes Yes 1 1 0 0 0 None No 0 None 0 0 No None No 0 5 2 No Yes No 7 2 16 62 0 0 0 1 1 0 0 0 0 2 2 2 0 0 0 0 Yes Yes No No 0 0 No No No 1 CLC No No GPIO 8 MHz, 32 kHz No BOR LVD Yes Yes Yes None ICSP 28/QFN, 28/SOIC, 28/SPDIP, 28/SSOP
dsPIC33FJ06GS101 In Production Consider: dsPIC33FJ06GS101A No $2.06 16-bit MCU/DSC 16-bit dsPIC DSC 80 40 dsPIC33FJ64GS610 No No No 3 3.6 -40 125 13 18 6 2 0 False 256 0 / True True 0 No No No No 0 No 0 No 6 1 10 2000 1 No No No 0 0 0 0 0 0 0 No 0 No No 1 Yes Yes 1 1 0 0 0 None No 0 None 0 0 No None No 0 2 0 No Yes No 5 3 16 1 0 0 0 0 0 4 0 4 0 1 0 0 0 0 0 0 Yes No No No 0 0 No No No 0 No Yes GPIO 7.37 MHz, 32.768 kHz No BOR None Yes Yes Program/Boundary Scan ICSP 18/SOIC
dsPIC33FJ06GS102 In Production Consider: dsPIC33FJ06GS102A No $2.31 16-bit MCU/DSC 16-bit dsPIC DSC 80 40 dsPIC33FJ64GS610 No No No 3 3.6 -40 125 21 28 6 2 0 False 256 0 / True True 0 No No No No 0 No 0 No 6 1 10 2000 1 No No No 0 0 0 0 0 0 0 No 0 No No 1 Yes Yes 1 1 0 0 0 None No 0 None 0 0 No None No 0 2 0 No Yes No 5 3 16 1 0 0 0 0 0 4 0 4 0 1 0 0 0 0 0 0 Yes No No No 0 0 No No No 0 No Yes GPIO 7.37 MHz, 32.768 kHz No BOR None Yes Yes Program/Boundary Scan ICSP 28/QFN-S, 28/SOIC, 28/SPDIP
dsPIC33FJ06GS202 In Production Consider: dsPIC33FJ06GS202A No $2.50 16-bit MCU/DSC 16-bit dsPIC DSC 80 40 dsPIC33FJ64GS610 No No No 3 3.6 -40 125 21 28 6 2 0 False 1028 0 / True True 0 No No No No 0 No 0 No 6 1 10 2000 1 No No No 1 2 10 2 30 0 0 No 0 No No 1 Yes Yes 1 1 0 0 0 None No 0 None 0 0 No None No 0 2 0 No Yes No 5 3 16 1 0 0 0 0 0 4 0 4 0 1 1 1 0 0 0 0 Yes No No No 0 0 No No No 0 No Yes GPIO 7.37 MHz, 32.768 kHz No BOR None Yes Yes Program/Boundary Scan ICSP 28/QFN-S, 28/SOIC, 28/SPDIP
PIC24FJ128DA106 In Production No $4.56 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256DA210 No No No 2.2 3.6 -40 85 52 64 128 42 0 False No 24576 0 / True True 2 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No 0 0 No 4 Yes Yes 3 3 0 0 1 FS Device/Host/OTG No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 Yes No No 0 0 No Yes EPMP 8 MHz, 32 kHz Yes BOR LVD Yes No Yes Boundary Scan ICSP 64/QFN, 64/TQFP
PIC24FJ128DA110 In Production No $5.07 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256DA210 No No No 2.2 3.6 -40 85 84 100 128 42 0 False No 24576 0 / True True 2 No No No No 0 No 0 No 24 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No 0 0 No 4 Yes Yes 3 3 0 0 1 FS Device/Host/OTG No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 Yes No No 0 0 No Yes EPMP 8 MHz, 32 kHz Yes BOR LVD Yes No Yes Boundary Scan ICSP 100/TQFP, 121/TFBGA
PIC24FJ128DA206 In Production No $5.00 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256DA210 No No No 2.2 3.6 -40 85 52 64 128 42 0 False No 98304 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No 0 0 No 4 Yes Yes 3 3 0 0 1 FS Device/Host/OTG No 0 None 0 0 No None No 0 5 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 Yes No No 0 0 No Yes EPMP 8 MHz, 32 kHz Yes BOR LVD Yes No Yes Boundary Scan ICSP 64/QFN, 64/TQFP
PIC24FJ128DA210 In Production No $5.51 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256DA210 No No No 2.2 3.6 -40 85 84 100 128 42 0 False No 98304 0 / True True 2 No No No No 0 No 0 No 24 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No 0 0 No 4 Yes Yes 3 3 0 0 1 FS Device/Host/OTG No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 Yes No No 0 0 No Yes EPMP 8 MHz, 32 kHz Yes BOR LVD Yes No Yes Boundary Scan ICSP 100/TQFP, 121/TFBGA
PIC24FJ128GA006 In Production No $2.71 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ128GA010 No No No 2 3.6 -40 85 53 64 128 42 0 False 8192 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 2 150 0 0 No 0 No No 2 Yes Yes 2 2 0 0 0 None No 0 None 0 0 No None No 0 5 2 Yes Yes No 5 2 16 62 0 0 0 0 0 0 0 0 0 5 5 5 0 0 0 0 Yes Yes No No 0 0 No No No 0 No No PMP 8 MHz, 32 kHz No BOR None Yes No Yes Boundary Scan ICSP 64/QFN, 64/TQFP
PIC24FJ128GA010 In Production No $3.22 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ128GA010 No No No 2 3.6 -40 85 85 100 128 42 0 False 8192 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 2 150 0 0 No 0 No No 2 Yes Yes 2 2 0 0 0 None No 0 None 0 0 No None No 0 5 2 Yes Yes No 5 2 16 62 0 0 0 0 0 0 0 0 0 5 5 5 0 0 0 0 Yes Yes No No 0 0 No No No 0 No No PMP 8 MHz, 32 kHz No BOR None Yes No Yes Boundary Scan ICSP 100/TQFP
PIC24FJ128GA106 In Production No $3.52 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256GB110 No No No 2 3.6 -40 125 53 64 128 42 0 False 16384 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No No 4 Yes Yes 3 3 0 0 0 None No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 No No No 0 No Yes PMP 8 MHz, 31 kHz No BOR LVD Yes No Yes Boundary Scan ICSP 64/QFN, 64/TQFP
PIC24FJ128GA108 In Production No $3.79 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256GB110 No No No 2 3.6 -40 125 69 80 128 42 0 False 16384 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No No 4 Yes Yes 3 3 0 0 0 None No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 No No No 0 No Yes PMP 8 MHz, 31 kHz No BOR LVD Yes No Yes Boundary Scan ICSP 80/TQFP
PIC24FJ128GA110 In Production No $4.01 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256GB110 No No No 2 3.6 -40 125 85 100 128 42 0 False 16384 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No No 4 Yes Yes 3 3 0 0 0 None No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 No No No 0 No Yes PMP 8 MHz, 31 kHz No BOR LVD Yes No Yes Boundary Scan ICSP 100/TQFP
PIC24FJ128GB106 In Production No $3.71 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256GB110 No No No 2 3.6 -40 85 52 64 128 42 0 False 16384 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No No 4 Yes Yes 3 3 0 0 1 FS Device/Host/OTG No 0 None 0 0 No None No 0 23 11 No Yes No 9 9 16 15 0 0 0 0 0 0 0 0 0 9 9 9 0 0 0 0 Yes Yes No No 0 0 No No No 0 No Yes PMP 8 MHz, 31 kHz No BOR LVD Yes No Yes Boundary Scan ICSP 64/QFN, 64/TQFP
PIC24FJ128GB108 In Production No $3.98 16-bit MCU/DSC 16-bit PIC MCU 32 16 PIC24FJ256GB110 No No No 2 3.6 -40 85 68 80 128 42 0 False 16384 0 / True True 0 No No No No 0 No 0 No 16 1 10 500 1 No No No 0 0 0 3 150 0 0 Yes 0 No No