Part number Component size (mm2) Number of I/O pins Extra built-in features Cost ($) JN5148 8 x 8 21 2.4GHz transceiver, 12-bit ADC, 4 wire audio interface 20 9 x 9 32 - 64 Sub 1GHz transceiver, 12-bit ADC, CC1101 5.00* MSP430F233 12 X12 48 12-bit ADC 2.50* MSP430F2616 12 x 12 or 14 x14 48 or 64 12-bit ADC, 12-bit DAC, DMA controller 5.85* MSP430FG437 14 x 14 48 12-bit ADC, 2x 12-bit DAC,3x Op Amps, Analog comparator, DMA, SVS, LCD driver 5.15* CC1110 6 x 6 21 Sub 1GHz transceiver, 12-bit ADC 4.85* Table 1 – MCU Comparison (*) designates that the samples are available for free or purchase The Jennic JN5148 is a great MCU that could be used due to its small size, adequate number of I/O pins as well as its many useful built-in features, but its cost prevents it from being usable in this design. The next best choice is Texas Instrument CC430. This chip is ideal for the same reasons as the Jennic JN5148. What it lacks in built-in features it makes up for in number of I/O pins. In addition, the sub-1GHz transceiver is the preferred frequency for the design. The CC430 integrates a full sub-1GHz transceiver in one chip, smaller than a standard MSP430. This chip is a very useful and relatively new part to the market place, which might make obtaining the chip difficult. If it is unobtainable then a MSP430 and CC1101 will be used to take its place. Since the Texas Instruments parts are similar, the design can be changed later, if needed, without significant changes to the software. The PCB layout will, of course,
gyroscopes. Figure 20 – Fall flowchart As mentioned before, the system will require the C programming language to program the various devices such as microcontrollers, the transceivers, the accelerometers, etc. The device that will require the majority of coding is the main component on the waist. The waist component will send out signals and also receive signals from the remaining devices of the system. This part of the system will be dealing with several functions concerning the thigh, chest, and hand components. The tables below show a list of each component of the system, the functions that correspond with that component, and the descriptions of those functions. Wireless input – The following table consists of the Chest function, which gathers data from the chest device and brings it into the main function. The main function consists of all the functions together. Chest Component Functions Description Chest(Chest_linear_acc, Chest_angular_acc) Thigh_linear_acc – The measurements of linear acceleration Thigh_angular_acc – The measurements of angular acceleration Table 8 – Chest component functions and descriptions Wireless input – The following table consists of the Thigh function, which gathers data from the thigh device and brings it into the main function. The main function consists of all the functions together. Thigh Component Functions Description Thigh(Thigh_linear_acc, Thigh_angular_acc) Thigh_linear_acc –The measurements of linear acceleration Thigh_angular_acc –The measurements of angular acceleration Table 9 – Thigh component functions and descriptions Wireless input – The following table consists of the Oximeter function, which gathers data from the oximeter and brings it into the main function. The main function consists of all the functions together. Oximeter Functions Description Pulse – is the heart rate
Oximeter(pulse, oxygenation) Oxygenation – Percentage of oxygen in the blood Table 10 – Oximeter component functions and descriptions The following table shows the function where the pulse is going to be checked. The Pseudo code for how the pulse is being check is in Figure 21. Waist Component – Check Pulse Functions Description Check_pulse(pulse) Pulse is described in Table 10 Table 11 – Check Pulse functions and descriptions The following table shows the function where the oxygenation is going to be checked. The Pseudo code for how the oxygenation percentage is going to be checked is in Figure 24. Waist Component – Check Oxygenation Functions Description Check_oxygenation(oxygenation) Oxygenation is described in 10 Table 12 – Check Pulse functions and descriptions The following table shows the function that will check whether a fall has occurred. The Pseudo code for how a fall is classified in Figure 25. Component – Check Fall Functions Description Check_Fall(Chest_linear_acc, Chest_angular_acc, Thigh_linear_acc, Thigh_angular_acc) Chest_linear_acc and Chest_angular_acc are described in Table 8. Thigh_linear_acc and Thigh_angular_acc are described in Table 9. Table 13 – Check Pulse functions and descriptions output – The following table consists of the LED function, which is called by the main function to output the correct color and turns on and/or flashes the LEDs that are needed.
Oxygenation levels Fall detected Table 16 – LEDs functions and descriptions output – The display like the LED Function will activate under certain conditions. The description of the conditions needed for the display to be activated are given in the following Table 17. Component - Display Functions Description display(type_emergency) Type_emergency – a number that will correspond to what type of emergency it is; this will help to determine the output of the system. The following will be displayed, when the condition below occur: Service – SERVICE Pulse out of range – HEART Oxygenation levels - OXYGEN Fall detected – FALL Table 17 The main component at the waist contains information to input and output to the system. Following the functions listed above, the main component of the system has several tasks to perform. In Figure 21, the pseudo code shows how the main component operates. The ‘Do While’ loop is the function that will work best with the requirements that need to be accomplished. This code is responsible for calling out to the other functions to gather the information needed. If there is an error, then the system will check for the different types of emergencies in order to alert the patient of the problem.