MFC242 RFID Card Reader Programmer’s Manual Revision 1.0 Aug.
MFC242Programmer’s Manual Rev. 1.0 NOTICE The issuer of this manual has made every effort to provide accurate information. The issuer will not be held liable for any technical and editorial omission or errors made herein; nor for incidental consequential damages resulting from the furnishing, performance or use of this material. This document contains proprietary information that is protected by copyright. All rights are reserved.
MFC242Programmer’s Manual Rev. 1.0 General Description This section presents general information about the basic characters of the MFC242. 1.1 Features The MFC242 provides the following features: 1 Read Type A 13.56Mhz RFID Mifare card 2 Programmable illuminated color bezel 3 Support GDS protocol 4 Firmware upgradeable 5 USB interface, no external power supply required 6 Light weight:130g 7 Compact size:108.0 L x 75 W x 32 H mm 1.
MFC242Programmer’s Manual Rev. 1.0 1.4 Dimensions of MFC242 2 Technical Specifications 2.1 Magnetic Card Specifications 2.1.1 Card Type Mifare Ultralight C and 4K Mifare DESFire EV1 2.1.2 Card Format Mifare format 2.1.3 Card Operation Test Card Mifare Ultralight C Mifare Ultralight C Mifare Ultralight C Card reading distance from Bezel 0 cm 1 cm 2 cm 2.2 Mechanical Specifications 2.2.1 Body Material PC SABIC 945A 2.2.
MFC242Programmer’s Manual Rev. 1.0 2.2.3 Weight Approx. 130g 2.3 Electrical Specifications 2.3.1 Power Required DC 5V 5% 2.3.2 Power Consumption Stand-by current <50mA Max operating current <300mA 2.3.3 Communication GDS Card Reader Communication Protocol Standard V1.04 2.3.4 Ripple 250mVp-p Max. 2.3.5 Dielectric Strength 250VDC for 1 minute 2.3.6 Insulation Resistance 10MΩ min.
MFC242Programmer’s Manual Rev. 1.0 2.4 Environmental Specifications 2.4.1 Temperature Operating: Storage: -10-55°C -30-70°C 2.4.
MFC242Programmer’s Manual Rev. 1.0 2.5 Pin Assignment PIN NO. DESCRIPTION 1 Power 2 Data ‐ 3 Data + 4 NC 5 Ground 2.6 Software Specification GDS® Card Reader: Communication Protocol v1.0.4 Universal Serial Bus (USB) Specification, v2.0 Device Class Definition for USB HID, v1.12 USB Engineering Change Notice – UNICODE UTF-16LE for String Descriptors RFC 2781 (Unicode standard version 3.0) new REV 5.
MFC242Programmer’s Manual Rev. 1.0 2.6.1 Boot Loader Block The first 12Kbyte of memory is factory programmed with a boot loader. The boot loader is designed to update application program through USB communication per HID V1.12 with a predefined communication protocol. Please refer to the appendix section for more information.
MFC242Programmer’s Manual Command Length: 1 byte Response Data: = [Version], if success. Length is 8 bytes. = 15h, if failure. Length is 1 byte. 0x7F - Warm Reset Command Length: Response Data: 1 byte = 06h, = 15h, Rev. 1.0 if success. Length is 1 byte. Warm Reset will perform. if failure. Length is 1 byte. Warm Reset not allowed 2.6.2 Application Program Block The 46Kbyte from 0x3000 to 0xE7FF is Application Program. It is the main application code held in the microprocessor.
MFC242Programmer’s Manual 0x5F 0x0615 Light Control This command is used to control the LEDs of a reader. Bit 7 6 5 Rev. 1.
MFC242Programmer’s Manual TX: Rev. 1.
MFC242Programmer’s Manual 7 - Rev. 1.0 6 5 4 3 Byte 0 0x63 Byte 1 Error Code 2 1 0 2 1 0 0x67 0x061D Count Status 7 6 5 4 3 Byte 0 0x65 Byte 1 Index (LSB) Byte 2 Index (MSB) Byte 3 Size Byte 4 Type Byte 5 Data 1 … … Byte 63 Data 59 2.7 Device Properties The final 6Kbyte of memory is called Device Properties block and contains a group of option bytes that allow the user to configure some device settings such as Serial Number, prefix, suffix and Preamble.
MFC242Programmer’s Manual Rev. 1.0 3 Appendix A. Application Program Block Related Information 3.
MFC242Programmer’s Manual Rev. 1.0 3.
MFC242Programmer’s Manual Rev. 1.0 3.3 Report STRING Descriptor Manufacturer index of string descriptor Interface index of string descriptor SerialNumber index of string descriptor Manufacturer - May be used to give a Unicode representation of the idVendor. This is assigned by each manufacturer and kept consistent with regards to case and spelling.
MFC242Programmer’s Manual Rev. 1.0 3.
MFC242Programmer’s Manual 0x95, 0x01, // REPORT_COUNT (1) 0x09, 0x61, // USAGE (Index) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x25, 0x3d, // LOGICAL_MAXIMUM (61) 0x09, 0x62, // USAGE (Length) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255) 0x95, 0x3d, // REPORT_COUNT (61) 0x09, 0xb0, // USAGE (Miscellaneous data) 0x81, 0x02, // INPUT (Data, Var, Abs) 0xc0, // END_COLLECTION // Calculate CRC 0x09, 0x47, // USAGE (Calculate CRC) 0x85, 0x08, // REPORT_ID (8) 0xa1, 0x02, // COLLE
MFC242Programmer’s Manual 0x0a, 0x60, 0x06, // USAGE (Track1) 0xb1, 0x02, // FEATURE (Data, Var, Abs) 0x0a, 0x61, 0x06, // USAGE (Track2) 0xb1, 0x02, // FEATURE (Data, Var, Abs) 0x0a, 0x62, 0x06, // USAGE (Track3) 0xb1, 0x02, // FEATURE (Data, Var, Abs) 0x95, 0x05, // REPORT_COUNT (5) 0xb1, 0x03, // FEATURE (Cnst, Var, Abs) 0xc0, // END_COLLECTION // Get ATR ;not implemented 0x0a, 0x12, 0x06, // USAGE (Get ATR) 0x85, 0x5c, // REPORT_ID (92) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x01, // REPORT_COUNT (1) 0xb1
MFC242Programmer’s Manual 0xb1, 0x02, // FEATURE (Data, Var, Abs) 0xc0, // END_COLLECTION // Clear Buffer 0x0a, 0x16, 0x06, // USAGE (Clear Buffer) 0x85, 0x60, // REPORT_ID (96) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x01, // REPORT_COUNT (1) 0xb1, 0x03, // FEATURE (Cnst, Var, Abs) // Get Count Status 0x0a, 0x17, 0x06, // USAGE (Get Count Status) 0x85, 0x61, // REPORT_ID (97) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x01, // REPORT_COUNT (1) 0xb1, 0x03, // FEATURE (Cnst, Var, Abs) // Failure Status 0x0a, 0x18, 0x
MFC242Programmer’s Manual 0x75, 0x01, // REPORT_SIZE (1) 0x95, 0x01, // REPORT_COUNT (1) 0x0a, 0x6a, 0x06, // USAGE (Inserted) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x6b, 0x06, // USAGE (Removed) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x6c, 0x06, // USAGE (Card Present) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x6d, 0x06, // USAGE (Partially Inserted) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x95, 0x04, // REPORT_COUNT (4) 0x81, 0x03, // INPUT (Cnst,Var,Abs) 0x95, 0x01, // REPORT_COUNT (1) 0x0a,
MFC242Programmer’s Manual 0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255) 0x75, 0x08, // REPORT_SIZE (8) 0x95, 0x03, // REPORT_COUNT (3) 0x0a, 0x36, 0x06, // USAGE (Mag. Pass Count) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x37, 0x06, // USAGE (Mag. Error Count Track1) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x38, 0x06, // USAGE (Mag. Error Count Track2) 0x81, 0x02, // INPUT (Data, Var, Abs) 0x0a, 0x39, 0x06, // USAGE (Mag.
MFC242Programmer’s Manual Rev. 1.0 4 Appendix B. Boot Loader Block Related Information - Go-Into-Bootloader mode command: <7E><00><05><09><00><02><42><4C> 4.
MFC242Programmer’s Manual Rev. 1.0 4.
MFC242Programmer’s Manual Rev. 1.0 4.3 Report STRING Descriptor Manufacturer index of string descriptor Interface index of string descriptor SerialNumber index of string descriptor Manufacturer - May be used to give a Unicode representation of the idVendor. This is assigned by each manufacturer and kept consistent with regards to case and spelling.
MFC242Programmer’s Manual Rev. 1.0 4.