Designing a M-Bus Master up to 10 slaves
I was involved in designing a M-Bus level converter for up to 100 devices. Since it is a commercial product of the company I work for, I can't share any specific information. It has been a while, so I don't remember all the details but maybe a few directions help you. I assume you already know the specification of the M-Bus physical layer.

We went for a micro controller based approach (ATMEGA), because it just provides a great deal of control and allowed us to implement some user interface specific things and "under the hood" functions. Overall it just seemed easier to realize that a purely analog approach.

Receiving:
The controller continuously measures the load current on the bus (shunt resistor) to determine how many devices are connected (idle current). Knowing the nominal current, the controller can detect any device communication (current is increased by one or more of the clients). The idle current has to be adjusted accordingly when devices are added/removed to/from the bus. The individual bits are then sampled and the resulting byte is output to one of the UARTS, which interfaces with either RS232 or LAN (the LAN module is optional for our converter).

Transmitting:
As you may already know, the master transmits data by modulating the voltage level on the bus between 24-36V. Thus, the controller must be able to switch between these voltages in a sufficiently fast manner. In a nutshell, we realized this using a linear regulator where we have a Z-diode at the GND pin, which can be switched "on and off", effectively changing the output voltage of the regulator.

There is actually a lot more involved as it may sound from the short description, but those are more or less the thoughts on our approach when we started engineering.  Especially when designing for a lot of M-Bus clients, you required components with sufficient power ratings / switching capability like darlingtons and maybe even a small heat sink for the regulator. Idle current for 100 devices is 100 x 1.5mA, assuming one unit load per device, but worst case current during a search collision is 20mA per device which then result in 2A.