Contact us
My MEN
You are logged off
Log in



MEN general licensing conditions
This article is not free of charge. Please contact us for pricing and ordering options.

Supported Operating System
Windows® 2000 (MDIS4™/2004 only)
Windows® XP
Windows® Vista™ 32-bit
Windows® 7 32-bit (MDIS5™ only)
Supported MEN IP Cores
Supported MEN Boards
EM7, EM7N
EK5N
F8, F11N
F215
P506
MM1
Features
Support of CANopen Master, Slave, Configuration Manager, NMT Startup, Request NMT, Node Guarding, Heartbeat
Node ID Software definable
Number of PDOs: 512 Rx and 512 Tx
PDO modes: Event-Triggered, Time-Triggered, Sync (cyclic)
CANopen version: CiA Draft Standard 301 V. 3.0 and 4.0, Communication Profile for Industrial Systems Draft Standard Proposal 405 V. 1.0, Device Profile for IEC1131 Programmable Devices
Framework: CiA Draft Standard Proposal 302 V. 2.0, Framework for Programmable CANopen Devices
Device Profile: Draft Standard Proposal 401 V. 2.0, Device Profile for I/O Modules
Included Documentation
PDF user manual available as separate download
Notes
Requires MDIS4™ or MDIS5™ system package
This driver is not available in source code. Please contact MEN's sales staff for the object code of your application-specific driver for any operating system other than Microsoft® Windows®.
================================================================================
===== History of MDIS5 Windows Driver Package 13Z016-70 rev. 1.21.2.17
===== 2012-08-10 built from - MDIS5 LL-Driver 13Z016-06 rev. 1.21 (=Release-1.20)
===== - MDIS5 Windows references rev. 2.17
================================================================================
-----[ 2012-08-08 : references Revision 2.17 ]-----
=== Libraries ===
R:1. USR_OSS: UOS_KeyWait consumes too much CPU time
2. MK: BSOD 0x8E with EXCEPTION_CODE 0xc0000047 (semaphore max count exceeded)
3. MK: must not call BBIS driver's IrqEnable with masked IRQ
4. MK: prevent concurrent BBIS/LL-Drv. IrqEnable calls
5. MK: support required for chameleon FPGAs with mixed i/o and mem mapped units
6. MK: sub device list not save for concurrent execution
7. MK: M_read/M_write calls from MDIS4 applications not suppported by mistake
8. OSS: workaround in OSS_SemWait() required for SMB2 lib
9. OSS: prevent spin-lock dead-looks
M:1. USR_OSS: delay added to provide CPU time to other threads
2. MK: error handling improved to prevent release of not claimed semaphore
3.a) MK: disabling BBIS IRQ no longer with masked IRQ
b) MK: MK_REVISION set to MDIS_MKREV_2
4. MK: enable BBIS IRQ with claimed semaphore
5. MK: use newer BBIS_CFGINFO_ADDRSPACE prior BBIS_BRDINFO_ADDRSPACE
6. MK: sub device list protected with semaphore
7. MK: support MDIS4 IOCTLs for MDIS4 applications
8.a) OSS: OSS_SemWait: IRQL = DISPATCH_LEVEL: skip waiting
b) OSS: OSS_SemWait: IRQL > DISPATCH_LEVEL: skip KeWaitForSingleObject(), return ERR_OSS
9. OSS: use WDF spin-locks and restrict usage to IRQL <= DISPATCH_LEVEL
-----[ 2012-02-13 : 13Z016-06 Release-1.20 ]-----
R: Name of the CAN odin driver identical in driver.mak & driver_odin.mak
creating deadloks situation under Windows.
M: Change name of the CAN odin driver to z16_odin.
-----[ 2011-10-03 : 13Z016-06 Release-1.19 ]-----
R: 1) Driver variant CAN Odin (MPC5x00 CAN controller) was not fully supported.
2) No support of PCI domains.
M: 1) a) Enable the physical layer on GPIOPCR of the MPC5x00
b) Set the baudrate table.
c) Add Makefile for this variant.
d) Add CAN Odin model in the package descriptor.
2) Add support of PCI domains :
a) update of maccess.h
b) update of oss.h
-----[ 2010-12-13 : 13Z016-06 Release-1.18 ]-----
R: Compiler error without extern on apb but no warning on VxWorks
M: Fixed by splitting sODConstData into declaration and definition
-----[ 2010-12-10 : 13Z016-06 Release-1.17 ]-----
R:1. Porting to MDIS5 (according porting guide rev. 0.9)
2. Compiler warning for different data types
3. BTR0 register shall not set the upper Synchronization Jump Width,
Error check in IP core won't send any message
4. Invalid calling convention for Signal Handler
5. No support for chamv2id
M:1. Added support for MDIS5
2. Fixed by cast
3. Fixed upper Synchronization Jump Width bit set to low
4. Fixed calling convention for SigHandler
5. Added chamv2id in XML file
-----[ 2010-12-08 : references Revision 2.16 ]-----
====== Based on Windows MDIS5 System Package 13MD05-70 Rev. 1.3 ======
--- Libraries ---
R:1. Power Management support
2. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
3. MDIS_API: revision string is empty for M_MK_BLK_REV_ID
4. USR_OSS: signal handling update
5. OSS: signal events stay in signal list after exit on XP SP3
6. OSS: spin lock support functions required for Chameleon BBIS
7. SMB2: DBGWRT failed with zero data pointer
M:1.a) USR_SLEEP library added
b) MK: adapted for Power Management
2. MDIS_API: supports new error code description
3. MDIS_API: string generation fixed
4.a) USR_OSS: SigUnMask removed in UOS_SigWait
b) USR_OSS: terminates no longer signal thread on queue overrun
c) USR_OSS: queue size increased
5. OSS: added close of event for XP SP3
6. OSS: OSS_SpinLockXxx functions added
7. SMB2: fixed debug message
-----[ 2010-11-05 : references Revision 2.15 ]-----
APB5:
R: 1. prevent native file check-in if win-pkg fileset was already checked-in
2. bug: building internal win-pkg if swmodule attribut internal=false set
3. APB5 script error if xml specifies os/notos tag or one sw module is
specified multiple times
4. sometimes, win-pkg zip was checked-in as ascii file
M: 1. dont't ask to check-in native files if win-pkg fileset was checked-in
2. bug fixed: building internal win-pkg only if internal=true set
3. script fixed
4. win-pkg zip check-in fixed
BUILD:
R: missing libraries for executables with the use of API DLLs
M: added libraries to TMPL_TARGETLIBS for API DLLs version
-----[ 2010-11-03 : references Revision 2.14 ]-----
Windows driver package generation (BUILD, APB5):
R:1. new mdiswiz.exe version available
2. internal files not needed for public distribution
M:1. using mdiswiz.exe rev. 1.3
2. removed category public from internal files
SW Modules:
R:1. MDIS_API: new MK error codes ERR_MK_SLEEP_ILLHDL, ERR_MK_SLEEP_LOCKED
2. MK: IRP processing must be synchronized with power management
3. OSS: signal events stay in signal list after exit on XP SP3
4. USR_OSS: SigUnMask at the end of UOS_SigWait incorrect
5. USR_OSS: Queue overrun leads to exit thread, no further signals delivered
M:1. MDIS_API: new built to support new error code description
2.a) MK: block sleep until all IRPs in progress are finished
b) MK: begin no new IRP after system indicates to enter a sleep state
3. OSS: added close of event for XP SP3
4. USR_OSS: SigUnMask removed in UOS_SigWait
5.a) USR_OSS: removed closing thread on queue overrun
b) USR_OSS: queue size increased
-----[ 2010-09-27 : references Revision 2.13 ]-----
R:1. MK: MkDevListGet/SetCtxt() declared for paged segment but PAGED_CODE
missing
2. MK: PREfast warnings for some DBGTRC
3. MK: preventing power state change in kernel mode not supported any more,
user mode application is responsible for
4. MK: support for power management
5. MDIS_API: Revision string is empty for M_MK_BLK_REV_ID
6. SMB2: DBGWRT failed with zero data pointer
M:1. MK: PAGED_CODE added
2. MK: some DBGTRC fixed
3. MK: removed preventing system state change while path opened
4.a) close open ll handle when power state change to sleep mode
b) changed return code for illegal handle
5. MDIS_API: Fixed string generation
6. SMB2: fixed debug message
-----[ 2010-07-26 : references Revision 2.12 ]-----
Windows driver package generation (APB5):
R: WEBART logging doesn't work
M: WEBART logging fixed
-----[ 2010-07-23 : references Revision 2.11 ]-----
Windows driver package generation (APB5):
M:1. 13MD05-70 released
2. new mdiswiz version with fixes in pkg2inf5
3. build environment changed
R:1. use revision from 13MD05-70 as major PRODUCTVERSION
2.a) inf files: mcvs date/revision info in inf header replaced with creation
date and mdiswiz pkg2inf revision
b) inf files: ExcludeFromSelect removed
c) inf files: models without autoid use 'XXX[_SW]&NO_AUTOID'
3. create embedded signature in 64-bit free and checked drivers
SW Modules:
R:1. smb2.lib - 16Z001_SMB: terminate bit could be set if status is polled
before an abort operation finishes
2. smb2_io.lib - ICH SMB: sometimes wasting time during transfer
M:1. smb2.lib - 16Z001_SMB: add max. 500 ms wait time after starting an abort
operation
2. smb2_io.lib - ICH SMB: LocWaitBusyReady function fixed
-----[ 2010-06-11 : references Revision 2.10 ]-----
R:1. mk.lib: check for invalid interrupt object was buggy
2. mk.lib: new address mode MDIS_MA_BB_INFO_PTR
M:1. mk.lib: check for invalid interrupt object removed
2. mk.lib: support for new address mode MDIS_MA_BB_INFO_PTR
-----[ 2010-05-07 : references Revision 2.9 ]-----
R:1. low-level drivers that use new MDIS_MA_BB_INFO_PTR feature
requires chameleon.h (e.g. Z88 driver)
2. support embedded signature for 64-bit free and checked drivers
M:1.a) chameleon.h added
b) chameleon lib documentation added
2. sign all built 64-bit .sys files
-----[ 2010-04-14 : references Revision 2.8 ]-----
R: swapping variant of PLD library required for M72 driver
M: pld_sw.lib added
-----[ 2010-04-14 : references Revision 2.7 ]-----
R:1. VME4WIN for MDIS5 supported
2. mdiswiz support for new busif SMBus required
M:1.a) mk : added check for invalid interrupt object
b) oss: adapted VME KM interface access
2. replaced Qt3 based mdiswiz by Qt4 based mdiswiz
-----[ 2009-11-09 : references Revision 2.6 ]-----
R:1. APB5: missing check for unsupported setup/build options
2. APB5: .cat file was not timestamped
3. OSS_IrqRestore decreases IRQL that was not increased by current context
4. OSS_SigRemove ZwClose leads to BSOD at Windows XP
M:1. setup/build option check improved
2. /t added to signtool sign
3. Changed order to reset irqmasked
4. Added check for os version
-----[ 2009-10-30 : references Revision 2.5 ]-----
R: OSS lib: Mapped io address is zero
M: OSS lib: Fixed set virtAddr to physAddr at IO addr space
-----[ 2009-10-28 : references Revision 2.4 ]-----
R:1. MK lib: new BBIS bus type OSS_BUSTYPE_SMB handled as error
2. OSS lib: no interrupt spinlock release at last call of OSS_IrqRestore
M:1. MK: BBIS bus type check removed (to be open minded for future bus types)
2. OSS: Removed restting irqmasked at OSS_IrqMaskR
-----[ 2009-10-23 : references Revision 2.3 ]-----
R:1. MkInitExit and MkEvtDeviceD0EntryPostInterruptsEnabled must be nonpageable
2. OSS lib: irqmasked bit not cleared after releasing interrupt spinlock
M:1. MK lib: Fixed to be nonpageable
2. OSS lib: Fixed to reset irqmasked at OSS_IrqRestore
-----[ 2009-10-20 : references Revision 2.2 ]-----
R:1. Releasing interrupt spinlock that had not been masked by OSS_IrqMaskR leads
to lowering IRQL in ISR
2. Fixed OSS Libraray OSS_IRQ_HANDLE
M:1. Fixed releasing interrupt spinlock just when masked before in OSS library
2. Recompilation of MK library
-----[ 2009-10-12 : references Revision 2.1 ]-----
Initial Revision
-----[ 2008-03-07 : 13Z016-06 Release-1.16 ]-----
ll_entry.h
changed
- prepared for 64bit OS
- setStat arg INT32_OR_64 now
mdis_api.h
added
+ prepared for 64bit OS
+ added INT32_OR_64 to M_setstat argument
men_typs.h
- INT32_OR_64 and __MAPILIB for Windows 64bit defined
- set WINNT switch if _WIN32 switch is set
added
+ type define INT32_OR_64 for 32bit OS
-----[ 2007-10-23 : 13Z016-06 Release-1.15 ]-----
z16_em09_ec06.dsc
added
z16_mscan.c
removed DGBCMD from last checkin
bugfix
/modcom.h RCS
added usm functions for USM EEPROM read/write
-----[ 2007-04-27 : 13Z016-06 Release-1.14 ]-----
added:
- support for MSCAN filters (setstat CANOPEN_FILTERS_SET)
fixed:
- z16_drv.h: driver can be compiled without ONE_NAMESPACE_PER_DRIVER
- Mscan_CntrlInit(): check return value of Mscan_Activate()
changed:
- changed model name and description in XML file to make it more common
- all Mscan_***() functions now static, only Mscan_InitDevoptab() exported
-----[ 2006-12-22 : 13Z016-06 Release-1.13 ]-----
d
- Full support of network variables
INT8/UINT8 0xA000-0xA03F/0xA040-0xA07F
INT16/UINT16 0xA0C0-0xA0FF/0xA100-0xA13F
INT32/UINT32 0xA1C0-0xA1FF/0xA200-0xA23F FLOAT 0xA240-0xA27F
INT8/UINT8 0xA480-0xA4BF/0xA4C0-0xA4FF
INT16/UINT16 0xA540-0xA57F/0xA580-0xA5BF
INT32/UINT32 0xA640-0xA67F/0xA680-0xA6BF FLOAT 0xA6C0-0xA6FF
- Number of RPDOs and TPDOs increased to 512
- Change of object 1F80: No automatic change to state 'Operational'
- Correction of Guarding behaviour patch from VECTOR)
- Queue sizes increased:
- GUARD_MSG_NUM auf 25 setzen
- QUE_LOOP_LIMIT increased
- Size of command queue and event queue increased to 128
-----[ 2006-09-09 : 13Z016-06 Release-1.12 ]-----
MSCAN rx fifo is cleared now if an overrun happens
-----[ 2006-07-27 : 13Z016-06 Release-1.11 ]-----
Added 'Quick PDO' patch from VECTOR --> new variant Z16_VARIANT_QPDO.
-----[ 2006-05-17 : 13Z016-06 Release-1.10 ]-----
- adapted to work under OS-9
- number of RX and TX PDOs increased to 512
- PDO events are put into event queue
-----[ 2005-08-02 : 13Z016-06 Release-1.9 ]-----
added: z16_em05_max.dsc, z16_em05_min.dsc, z16_f8_min.dsc
-----[ 2005-07-28 : 13Z016-06 Release-1.8 ]-----
CANopen Master sources: category changed from public to public_all
due to Windows driver package requirement
-----[ 2005-07-27 : 13Z016-06 Release-1.7 ]-----
cosmetics
-----[ 2005-07-27 : 13Z016-06 Release-1.6 ]-----
13z01606.xml: using now 16Z029_CAN_EM05 as
-----[ 2005-07-27 : 13Z016-06 Release-1.5 ]-----
13z01606.xml: using now chameleon unit name 16Z029_CAN as
-----[ 2005-05-25 : 13Z016-06 Release-1.4 ]-----
fixed compilation errors with Visual C compiler
-----[ 2005-05-25 : 13Z016-06 Release-1.3 ]-----
- added Get/SetStat calls and descriptor keys for objects 0x1008..0x100A
- added Get/SetStat calls for identity object 0x1018
-----[ 2005-04-27 : 13Z016-06 Release-1.2 ]-----
Ü
Fixed: TimeStamp message now built correctly
-----[ 2004-12-20 : 13Z016-06 Release-1.1 ]-----
- added functionality for application watchdog
- identity object now settable by descriptor entries
- VECTOR time master patches included
- fixed a bug in interrupt deinit which caused system to hang
on driver exit
-----[ 2004-06-16 : 13Z016-06 Release-1.0 ]-----
Initial Revision

| Article No. | Description | More |
| 13MD05-70 | MDIS5™ System Package (MEN) for Windows® | Download Details |
| 13M000-06 | MDIS4™/2004 System Package (MEN) for Windows® 2000/XP/Embedded XP and Vista 32-bit This product has been discontinued and is no longer maintained. |
Download Details |
| 13Z016-70 | MDIS5™ Windows® driver (MEN) for 16Z029_CAN (CANopen master) Requires an MDIS4™/2004 or MDIS5™ system package |
Download Details |

| Article No. | Description | More |
| 21Z016-00 | Z16 MDIS5™ CANopen User Manual (PDF) | Download |
