FREMO Interlocking
Development & Test systems -> Bus Monitoring Computer

BMC: Software First Step

In a first step, we will implement only pure raw read from LN with direct sending to PC on a PROTO_128 board with the Atmel AVR mega128..

Please feel free to comment these ideas! [BA050819]

Used hardware of mega128

  • USART0: Serial port for data stream to PC with 115kBaud.
  • USART1: Serial port for LN-data stream.
  • TIMER0: Timer for use with Stefan's software timer.
  • TIMER1: Timer for generating the time tag.
  • 256*4 bytes of RAM as buffer for the LN data packed into PC-telegrams

PC Telegram

Some ideas are present, but a lot of items are missing up to now.

Structure of PC telegram

Every telegram to the PC shall consist of 4 bytes of information.

  • Byte0: Status
  • Byte1: Data from LN
  • Byte2: Time tag high
  • Byte3: Time tag low

Status byte Bit7=0

If the most significant bit of the status byte is equal to 0, on the PC we receive a "normal" data byte from the LN with a time tag and the status and error bits.

  • Bit6: reserved for future use
  • Bit5: reserved for future use
  • Bit4: reserved for future use
  • Bit3: reserved for future use
  • Bit2: reserved for future use
  • Bit1: reserved for future use
  • Bit0: reserved for future use

Status byte Bit7=1

With the MSB=1 we receive a command or an extra information.


Here we'll find all commands.

  • 4 Bytes of 10101010: Synchronization at every time tag timer rollover
  • 10101011: Timer rollover information with 2 or 3 bytes of timer high information


Here we'll find all extra information.