Een belangrijk en in bijna elk project terugkerend fenomeen is de benodigde communicatie. Deze communicatie vindt altijd plaats over een of andere communicatiebus en met behulp van een protocol. Deze bussen en protocollen bestaan er in velerlei uitvoeringen voor de meest uiteenlopende toepassingen, variŰrend van zeer eenvoudig tot buitengewoon complex.

De volgende tabel geeft een opsomming van het werkgebied van White Bream op dit gebied.
Natuurlijk gaat White Bream de uitdaging van nieuwe protocollen of communicatiebussen zeker niet uit de weg.



RS232 RS485 I²C SPI
IrDA USB HID TCP/IP Ethernet
GSM GPRS UMTS/HSDPA GPS
WiFi MDB 1-Wire Smartcard (ISO7816)
CAN LIN JTAG RC5
Bluetooth USB PTP/MTP RFID, NFC ZigBee
WiFi Pelco-D USB Host



Ontwikkelde functionaliteit:

9-bit UART voor RS485 [VHDL],
Infrared protocol stack [ANSI C],
1-Wire controller [VHDL],
RC5 Decoder [VHDL],
Smartcard controllers [VHDL],
USB [C]

Encryptie

Encryption

Steeds vaker wordt er een zekere mate van beveiliging gevraagd in embedded systemen. Bijvoorbeeld om de code (intellectueel eigendom) te beschermen tegen klonen van het product. Of om te voorkomen dat bepaalde data ingezien of gemodificeerd kan worden.

Op het gebied van code bescherming hebben we veel ontwikkelingen ge´nvesteerd in een beveiligde bootloader en bijbehorende tools voor de STM32 microcontroller. Deze bootloader kan de nieuwe encrypted applicatie bijvoorbeeld ontvangen via USB, of via een voorgeinstalleerde binary image, of vanaf een filesystem - bijvoorbeeld ezFat of fsfat - op micro-SD kaart of embedded SPI flash geheugen.

Qua data beveiliging hebben we de nodige ervaring opgedaan met het tweaklite project. Daarbij wordt er in een PHP+ JavaScript omgeving een tweetraps encryptie gedaan van zogenaamde behandelprotocollen. Deze protocollen zijn gelocked aan een bepaald serienummer en een gelimiteerd aantal activaties. De firmware in het apparaat voert de omgekeerde encryptie uit van die AES 256-bits coderingen. Uiteraard is die firmware ook voorzien van de eerder genoemde bootloader encryptie, om reverse engineering van de precieze encryptie algoritme en achterhalen van de sleutels te voorkomen.