Rev 1 Requirement Specification - hampussandberg/HexConnect GitHub Wiki
Requirement Specification
The serial monitor should be able to listen to and display these serial interfaces:
General things:
- All channels should be properly isolated with both power and communication isolation
- All channels should work independently and it should also be possible to remove channels (not populate them on the PCB) if one does not need CAN for example
- The device must fit inside a case to protect it from the environment it's used in
- Connectors should be located on the back of the device with respect to the screen in order to have easy access
- All channels should be able to disconnect via a relay and must do so when the device powers up
Power:
- It should be portable in the sense that no bulky power supply should be needed
- A USB port should be available to power the device from an USB external battery pack
- A pluggable terminal block for power should be available with input protection and with at least 24 Vin capability
- It should be possible to adjust the screen brightness if one wants to decrees the power consumption
- All channels should supply the isolated power and ground in the connector with the power limitations of the isolated DC/DC converter specified
UART:
- The UART channels should be able to switch between 3.3 V and 5 V (removed)
- The baud rate should be selectable
- Choose between different display modes (ASCII, Hex, Decimal, etc.)
RS232:
- Mostly the same specs. as for the UARTs
CAN:
- The CAN channels should have selectable bit rate
- A termination resistor should be able to be switched in if wanted by the user
- The termination resistor should be located after the disconnect relay so that it can be terminated without the channel being on
- Filtering of messages
- Sorting of messages
GPIO:
- Selectable between input, output and PWM
- Trigger for the different channels, e.g. start capturing CAN1 data when GPIO0 goes HIGH
- (Use the GPIO channels to listen to other serial interfaces, e.g. I2C. This will be done in software)
Extra features which are not as important:
- 2 x ADC channels with auto-ranging capability and 0-50 V input
- A real-time clock should display the time on the display
- A user should be able to set the clock via the touch interface
- An internal temperature sensor should be available to display the temperature on the screen
- An input for an external thermocouple temperature sensor
- Sound a signal on the piezo for certain triggers (certain message, when messages are (not) received, etc)
- Saving output to SD card
Storage:
- SD-card should be removable by the user in order to save/load data
- FLASH-memory
Wireless communication:
- Spark Core socket, optional part