initialized to default settings. User input UIM is used to change settings Hardware interrupt is generated, software must handle interrupt while not losing any data All data in registers are pushed onto stack, data from interrupt is pulled and processed µGravity Flag Accelerometer detects a environment Software will keep track of how many times a microgravity flag is obtained. Variable FlagCount is incremented or zeroed depending on input Experiment Experiment has reached microgravity Software turns on all peripherals in a staged manner Data is prepared to be received via Ethernet Experiment End Experiment cut off time has been reached Shut down peripherals Close any files or variables Table 16.2.2 Shows the events that the software have to response to. Boot up: On startup of microcontroller, the CPU will load the IR register with the first line of code available in the EEPROM of the device. All data structures and variables will be initiated to their default values and displayed User The user will have the option to change the following options: Experiment start time, experiment duration, led turn on time, camera turn on time. The UIM will generate a hardware interrupt and all these values will be saved in one sweep. µGravity: Because the accelerometer will send false positives before is reached, whenever an interrupt from the accelerometer comes in, we will add that value to a counter which when it reaches its max specified value, we will then start the experiment. Start: When the counter for micro-gravity has reached is value and confirmed micro gravity, the Atmel ATMega328 must begin the process of powering on the LED array, sending the PWM signal to the Stepper motor, and send the signal to the camera to start
recording, all of this must occur at the times specified by the user, or default values already stored in memory. End: An experiment duration variable will dictate how long this experiment will last; this is so this AVM can be used on multiple experiments of varying length. When the end is reached, LED array must be turned off, Camera must be turned off, and any data being written to the SATA SDD must be finalized. Any file pointers must be properly closed and all active processes must be finalized. 16.3 Non-Functional Requirements: Non-Functional requirements represent a list of tasks that will be considered a supplement to the core requirements listed in the functional requirements; these are mostly for optimization and added features and for the sake of the software will be implemented once the Functional Requirements are fully operational. User Timing accuracy File Allocation Table To expand on the Non-Functional Requirements, the reason these tasks are considered non-functional is because they are deemed to be features in addition to the main point of this experiment, which is to record an experiment in space and save that data. User input can be achieved through reprogramming of the EEPROM with the new variables, Timing accuracy is not as critical as long as it happens within an acceptable boundary, and implementing a File allocation table might be to difficult to accomplish in the scope of this project. 17.0 Software management plan 17.1 Team Organization This team is comprised of 4 engineers – Walter Castellon, Tri Tran, Mohammad Amouri, and Josh Steele, of which in terms of software development will be split and given tasks according to each ones strengths and weakness. Since Tri and Josh have the most hardware experience they will focus on hardware
Test UIM Control Test Objective: To test AVM UIM correctly interfaces with microcontroller Test Description: The following actions will be tested: AVM UIM Control AVM UIM data structures Test Conditions: From the simulator, the UIM will be a series of HARD CODED test cases, for the physical test the UIM will be on board and present for the tester to interact with. Step Condition/Action Intended Results Fail Criteria 1. Software is initialized All functions are and all data structures are initialized. Any noticeable deviation of software, or failure to initialize 2. UIM Changes LED turn on/off time Microcontroller correctly receives new variables for LED Turn on/off time LED turn on/off time are not updated 3. UIM PWM turn on/off is changed Microcontroller correctly receives new variables for PWM turn on/off time Microcontroller turn on/off time are not updates 4. UIM Camera turn on/off is changed Microcontroller correctly receives new variables for PWM turn on/off time Microcontroller turn on/off time are not updated 18.5 Test Procedure Results
Data is transferred in eight bit sequences. The eight bit sequence is placed on the SDA line (the data line) starting with the most significant bit. Then the SCL line (the clock line) pulses high then low. The SCL line has to pulse nine times to send an eight bit data sequence (one for every bit and the ninth one to send back an acknowledge bit). See Figure 19.3.1 for a diagram of the SDA line and the SCL line. The receiver sends the acknowledge bit (ACK bit) to indicate it has receive the last bit of the byte and is ready to receive another eight bit sequence; however if the receiver does not send back an acknowledge bit then it means it is not ready for further data and the master should stop transferring. Figure 19.3.1. SDA line with 8 bits and one acknowledge bit (ACK). SCL line with 9 pulses, one for every bit and one for the ACK bit. The inter-integrated circuit software protocol, as previously mentioned, has a master and slave relationship between each component attached to the circuit bus. Transmissions always have a start and stop sequence at the beginning and at the end of each of them. Here are examples of the protocol for a master component writing to and reading from a slave component. Master Writing To Send a start sequence Send the inter-integrated circuit address of the slave with the read/write bit low Send the internal register number that needs to be written Send the eight bit date sequence If necessary send the rest of the eight bit sequences Send a stop sequence Master Reading From A Slave Send a start sequence Send 0xC0 Send 0x01 Send a start sequence again Send 0xC1 Read data byte from CMPS03 Send the stop sequence The standard clock speed for inter-integrated circuit is up to one hundred In fast mode the speed increases to four hundred kilo-hertz and then there is high speed mode which is up to three and a half mega-hertz.
Brand Crystalfontz Model # XES635BK-TMF-KU Operational Temperature (Minimum in Celsius) 0 Operational Temperature (Maximum in Celsius) 50 Non-Operational Temperature (Minimum in Celsius) -10 Non-Operational Temperature (Maximum in Celsius) 60 20.4.2 Shows the Crystalfontz XES635BK-TMF-KU operating and non operating temperatures. The voltage requirements are very similar as the CFA635 with the exception of fan specifications. The XES635BK-TMF-KU also uses its universal serial bus (USB) interface to draw power from the power source. Brand Crystalfontz Model # XES635BK-TMF-KU
discussing. The hardest milestone to meet is the start of the documentation. After the rough draft review, we plan on finishing up our final documentation and order parts for next semester to build. Our goals and milestones for Senior Design 2 is reasonable and doable. We must follow and abide by these dated milestones to finish our project. Our goals and milestones for Senior Design 1 on our Collide 3 AVM project were half real and half idea of what we would like to happen. Meeting our milestones, we were successful for the most part as far as meetings and keeping track of what we need to do. On the other hand, researching what we need to know about our senior design project and starting to write about our senior design project was not as easy as we thought it would be. In most of our meetings which we had to discuss our project progress, we were only able to complete a portion of our milestone. We were never able to finish one hundred percent of what we wanted to be done. There were some milestones that were pushed back such as our meeting with Dr. Josh Colwell, which pushed our research back a little further because we did not get the info we needed to continue our research. With that aside, we manage to still continue and pushed on to the next topic so we do not get too far behind. We eventually did meet with Dr. Josh Colwell in his lab and he was able to show us a sample of what he wants the Collide AVM to look like from previous models. It gave us a better understanding of what he wanted and how the project should look like, but it was quite different. The older Collide AVM used a whole motherboard with hard drives and all like a computer. Of course we are not allowed to use a motherboard or anything that is premade. Thus, we have a lot on our plate as to using a microcontroller or a FPGA board, but that is what we expected to happen. We expected our project to be hard and challenging. We have 6 meetings. meetings are for us to insure that we are on time. We have to check our research and writing progress from time to time. These meetings are also for us to discuss what we need to accomplish in the time frame that it needs to be done. Without meetings, we would probably not know our position and where we stand. Thus, meetings are also important for the milestones. 22.1 Senior Design 1
_Readouts_Indicators/Liquid_Crystal_Display_LCD_Modules [12] IDC Technologies, “Industrial Data Communications –RS-232/RS-485," 2010, http://www.idconline.com/technical_references/tutorials/data_communications /tutorial_2.pdf [13] Crystalfontz, LCD with keypad 1999-2011 http://www.crystalfontz.com