Rev 1 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
Homepage
Pictures
GUI Mockup
Contact
Version 2:
ui-processor-rtos
fpga-config-mcu
fpga-config-over-uart
Version 1:
freertos-serial-monitor
freertos-serial-monitor lcd test
Simple GUI:
General
GUIObject
GUIButton
GUILabel
GUIStaticTextBox
GUIAlertBox
GUIButtonGridBox
GUIButtonList
GUIInfoBox
Tasks:
LCD Task Message
LCD:
LCD ER-TFT070-4
LCD ER-TFTM070-5
LCD HY070CTP-HD
LCD HY101CTP-HD
LCD YL070MY01
Touch Controller
Measurements:
STM32 GPIO Speed
FT5206 Waveform Capture
Version 2:
Revision 2 Mockup
Module IDs
Boards:
Connection Board
UI Processor Board
Data Processor Board
Isolated Power Module
LCD Board
Modules:
1. GPIO Module
3. CAN Module
5. RS-232 Module
15. nRF24L01 Module
Future Module Ideas
FPGA:
FPGA Main Blocks
FPGA Communication
FPGA UART
FPGA GPIO
FPGA Timestamp
FPGA SDRAM
FPGA PLL
[FPGA ID Reader](https://github.com/hampussandberg/HexConnect/wiki/FPGA-ID Reader)
FPGA LVDS
FPGA Monitor
FPGA Tips and Tricks
Learning Quartus II
Version 1:
Requirement Specification
Hardware Design
Hardware Rev 1 Fixes